資源描述:
《HLPL-07-control-flow-note》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、語句和塊條件循環(huán)其他控制流.控制流語句、塊、條件、循環(huán)、Goto.北京航空航天大學(xué)數(shù)學(xué)與系統(tǒng)科學(xué)學(xué)院單寶松shanbs@buaa.edu.cnMarch14,2012......北京航空航天大學(xué)數(shù)學(xué)與系統(tǒng)科學(xué)學(xué)院控制流語句和塊條件循環(huán)其他控制流目錄.1.語句和塊2.條件3.循環(huán)4.其他控制流......北京航空航天大學(xué)數(shù)學(xué)與系統(tǒng)科學(xué)學(xué)院控制流語句和塊條件循環(huán)其他控制流Outline.1.語句和塊2.條件3.循環(huán)4.其他控制流......北京航空航天大學(xué)數(shù)學(xué)與系統(tǒng)科學(xué)學(xué)院控制流語句和塊條件循環(huán)其他控制流語
2、句.表達(dá)式后面加上分號即構(gòu)成語句C中的分號是語句結(jié)束符(對比,Pascal中的分號為語句分隔符)......北京航空航天大學(xué)數(shù)學(xué)與系統(tǒng)科學(xué)學(xué)院控制流語句和塊條件循環(huán)其他控制流組合語句塊.大括號可以把聲明和語句分組,形成組合語句,也稱為塊函數(shù)體就是一種組合語句if,else,while,for等后面也可以跟組合語句右大括號后面沒有分號(思考:如果有,意味著什么?)......北京航空航天大學(xué)數(shù)學(xué)與系統(tǒng)科學(xué)學(xué)院控制流語句和塊條件循環(huán)其他控制流Outline.1.語句和塊2.條件3.循環(huán)4.其他控制流....
3、..北京航空航天大學(xué)數(shù)學(xué)與系統(tǒng)科學(xué)學(xué)院控制流語句和塊條件循環(huán)其他控制流if-else.if(expression)statement1elsestatement2其中else部分可以省略首先計算expression,如果為真,則執(zhí)行statement1,否則,如果有else部分,執(zhí)行statement2由于if只是測試表達(dá)式的數(shù)值,因此if(expression)和if(expression!=0)是等效的有時候前者顯得更加自然和清晰,有時候則會顯得晦澀難懂......北京航空航天大學(xué)數(shù)學(xué)與系統(tǒng)科學(xué)學(xué)院
4、控制流語句和塊條件循環(huán)其他控制流if-else的嵌套.當(dāng)if-else嵌套時,解析的方法是else與距離最近的沒有else的if配對if(n>0)if(a>b)z=a;elsez=b;else與距離最近的if配對,如果你希望else與另外的if配對,應(yīng)該寫成下面的格式if(n>0){if(a>b)z=a;}elsez=b;......北京航空航天大學(xué)數(shù)學(xué)與系統(tǒng)科學(xué)學(xué)院控制流語句和塊條件循環(huán)其他控制流看看下面的程序是否有問題.if(n>0)for(i=0;i0){printf
5、("...");returni;}else/*WRONG*/printf("error--nisnegative");編譯器是不會像我們縮進(jìn)的這種方式來解析的,else會和最近的if配對實(shí)際程序設(shè)計中,這種錯誤很難被發(fā)現(xiàn)因此,使用大括號顯式地分隔是好的編程習(xí)慣......北京航空航天大學(xué)數(shù)學(xué)與系統(tǒng)科學(xué)學(xué)院控制流語句和塊條件循環(huán)其他控制流C和Pascal中if語句的不同.Pascal中if的格式與C中很顯著的不同是,if后面的語句沒有分號,而C有為什么?......北京航空航天大學(xué)數(shù)學(xué)與系統(tǒng)科學(xué)學(xué)院控
6、制流語句和塊條件循環(huán)其他控制流else-if.if(expression)statementelseif(expression)statementelseif(expression)statementelseif(expression)statementelsestatement多路條件判斷語句按照順序執(zhí)行條件判斷一旦表達(dá)式為真,則執(zhí)行其關(guān)聯(lián)的語句,并且結(jié)束語句既可以是一條語句,也是可以是大括號內(nèi)的一組語句......北京航空航天大學(xué)數(shù)學(xué)與系統(tǒng)科學(xué)學(xué)院控制流語句和塊條件循環(huán)其他控制流else語句.els
7、e語句是可以省略的如果不省略,上面所有條件皆不滿足情況下執(zhí)行else后面的語句很多時候,else用來檢查并捕獲一些“不可能”的條件......北京航空航天大學(xué)數(shù)學(xué)與系統(tǒng)科學(xué)學(xué)院控制流語句和塊條件循環(huán)其他控制流二分查找.函數(shù)查找x是否出現(xiàn)在已排序(升序)數(shù)組v中函數(shù)返回x在數(shù)組中的位置(0到n-1之間的一個數(shù)字),或者如果不存在,返回-1二分查找將輸入值x與數(shù)組v的中間元素比較如果x小于中間值,則集中在較低的一半繼續(xù)查找如果x大于中間值,則集中在較高的一半繼續(xù)查找如果等于,則返回x的位置......北京航
8、空航天大學(xué)數(shù)學(xué)與系統(tǒng)科學(xué)學(xué)院控制流語句和塊條件循環(huán)其他控制流二分查找的代碼./*binsearch:findxinv[0]<=v[1]<=...<=v[n-1]*/intbinsearch(intx,intv[],intn){intlow,high,mid;low=0;high=n-1;while(low<=high){mid=(low+high)/2;if(xv[mid])low=m