C語(yǔ)言常見(jiàn)幾種流程控制語(yǔ)句_第1頁(yè)
C語(yǔ)言常見(jiàn)幾種流程控制語(yǔ)句_第2頁(yè)
C語(yǔ)言常見(jiàn)幾種流程控制語(yǔ)句_第3頁(yè)
C語(yǔ)言常見(jiàn)幾種流程控制語(yǔ)句_第4頁(yè)
C語(yǔ)言常見(jiàn)幾種流程控制語(yǔ)句_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、C語(yǔ)言中的常見(jiàn)幾種流程語(yǔ)言中的常見(jiàn)幾種流程控制語(yǔ)句控制語(yǔ)句目錄(category)條件語(yǔ)句分支語(yǔ)句循環(huán)語(yǔ)句其他語(yǔ)句if(表達(dá)式) 語(yǔ)句1; else 語(yǔ)句2; 上述結(jié)構(gòu)表示: 如果表達(dá)式的值為非0(TURE)即真, 則執(zhí)行語(yǔ)句1, 執(zhí)行完語(yǔ) 句1從語(yǔ)句2后開(kāi)始繼續(xù)向下執(zhí)行; 如果表達(dá)式的值為0(FALSE)即假, 則跳過(guò)語(yǔ)句1而執(zhí)行語(yǔ)句2。注意事項(xiàng):1. 條件執(zhí)行語(yǔ)句中else 語(yǔ)句2;部分是選擇項(xiàng), 可以缺省, 此時(shí)條件語(yǔ)句變成: if(表達(dá)式) 語(yǔ)句1; 表示若表達(dá)式的值為非0則執(zhí)行語(yǔ)句1 , 否則跳過(guò)語(yǔ)句1繼續(xù)執(zhí)行。 2. 如果語(yǔ)句1或語(yǔ)句2有多于一條語(yǔ)句要執(zhí)行時(shí), 必須使用和 把這些語(yǔ)

2、句包括在其中, 此時(shí)條件語(yǔ)句形式為: if(表達(dá)式) 語(yǔ)句體1; else 語(yǔ)句體2; 注意事項(xiàng):3. 條件語(yǔ)句可以嵌套, 這種情況經(jīng)常碰到, 但條件嵌套語(yǔ)句容易出錯(cuò), 其原因主要是不知道哪個(gè)if對(duì)應(yīng)哪else。 例如: if(x20|x-10) if(yx) printf(Good); else printf(Bad); 規(guī)定規(guī)定: else語(yǔ)句與最近的一個(gè)if語(yǔ)句匹配, 上例中的else與if(yx)相匹配。為了使else與if(x20|x20|x-10) if(yx) printf(Good); else printf(Bad); 注意事項(xiàng):4. 可用階梯式if-else-if結(jié)構(gòu)。 階

3、梯式結(jié)構(gòu)的一般形式為: if(表達(dá)式1) 語(yǔ)句1; else if(表達(dá)式2) 語(yǔ)句2; else if(表達(dá)式3) 語(yǔ)句3; else 語(yǔ)句n; 這種結(jié)構(gòu)是從上到下逐個(gè)對(duì)條件進(jìn)行判斷, 一旦發(fā)現(xiàn)條件滿點(diǎn)足就執(zhí)行與它有關(guān)的語(yǔ)句, 并跳過(guò)其它剩余階梯; 若沒(méi)有一個(gè)條件滿足, 則執(zhí)行最后一個(gè)else語(yǔ)句n。最后這個(gè)最后這個(gè)else常起著常起著缺省條件缺省條件的作用的作用。 同樣, 如果每一個(gè)條件中有多于一條語(yǔ)句要執(zhí)行時(shí), 必須使用和把這 些語(yǔ)句包括在其中。 語(yǔ)句:在編寫(xiě)程序時(shí), 經(jīng)常會(huì)碰到按不同情況分轉(zhuǎn)的多路問(wèn)題, 這時(shí)可用嵌套if-else-fi語(yǔ)句來(lái)實(shí)現(xiàn), 但if-else-if語(yǔ)句使用不方便

4、, 并且容易出錯(cuò)。開(kāi)關(guān)語(yǔ)句格式為: switch(變量) case 常量1: 語(yǔ)句1或空; case 常量2: 語(yǔ)句2或空; . . . case 常量n; 語(yǔ)句n或空; default: 語(yǔ)句n+1或空; 執(zhí)行switch開(kāi)關(guān)語(yǔ)句時(shí), 將變量逐個(gè)與case后的常量進(jìn)行比較, 若與其中一個(gè)相等, 則執(zhí)行該常量下的語(yǔ)句, 若不與任何一個(gè)常量相等, 則執(zhí)行default 后面的語(yǔ)句。注意事項(xiàng):1. switch中變量可以是數(shù)值, 也可以是字符。 2. 可以省略一些case和default。 3. 每個(gè)case或default后的語(yǔ)句可以是語(yǔ)句體, 但不需要使用和括起來(lái)。 下例的switch中變量為

5、整數(shù)型。 main() int test; for(test=0; test=10; test+) switch(test) /*變量為整型數(shù)的開(kāi)關(guān)語(yǔ)句*/ case 1: printf(%dn, test); break; /*退出開(kāi)關(guān)語(yǔ)句*/ case 2: printf(%dn, test); break; case 3: printf(%dn, test); break; default: puts(Error); break; 下例的switch中變量為字符型。 #include main() char c; while(c!=27) /*循環(huán)直到按Esc鍵結(jié)束*/ c=getch(

6、); /*從鍵盤(pán)不回顯接收一個(gè)字符*/ switch(c) case A: /*接收的字符為A*/ putchar(c); break; /*退出開(kāi)關(guān)語(yǔ)句*/ case B: putchar(c); break; default: /*接收的字符非A和B*/ puts(Error); break; 語(yǔ)句for(; ; (1)初始化總是一個(gè)賦值語(yǔ)句, 它用來(lái)給循環(huán)控制變量賦初值;(2) 條件表達(dá)式是一個(gè)關(guān)系表達(dá)式, 它決定什么時(shí)候退出循環(huán); (3) 增量定義循環(huán)控制變量每循環(huán)一次后按什么方式變化。這三個(gè)部分之間用;分開(kāi)。 例如: for(i=1; i10時(shí), 結(jié)束循環(huán)。 注意事項(xiàng):1. for循

7、環(huán)中語(yǔ)句可以為語(yǔ)句體, 但要用和將參加循環(huán)的語(yǔ)句括起來(lái)。 2. for循環(huán)中的初始化、條件表達(dá)式和增量都是選擇項(xiàng), 即可以缺省, 但;不能缺省。省略了初始化, 表示不對(duì)循環(huán)控制變量賦初值。 省略了條件表達(dá)式, 則不做其它處理時(shí)便成為死循環(huán)。省略了增量, 則不對(duì)循環(huán)控制變量進(jìn)行操作, 這時(shí)可在語(yǔ)句體中加入修改循環(huán)控制變量的語(yǔ)句。 3. for循環(huán)可以有多層嵌套。 main() int i, j, k; printf(i j kn); for (i=0; i2; i+) for(j=0; j2; j+) for(k=0; k2; k+) printf(%d %d %dn, i, j, k); wh

8、ile循環(huán)與循環(huán)與do-while 循環(huán)循環(huán) while循環(huán)的一般形式為: while(條件) 語(yǔ)句; while循環(huán)表示當(dāng)條件為真時(shí), 便執(zhí)行語(yǔ)句。直到條件為假才結(jié)束循環(huán)。并繼續(xù)執(zhí)行循環(huán)程序外的后續(xù)語(yǔ)句.#include main() char c; c=0; /*初始化c*/ while(c!=X0D) /*回車(chē)結(jié)束循環(huán)*/ c=getche(); /*帶回顯的從鍵盤(pán)接收字符*/ 上例中, while循環(huán)是以檢查c是否為回車(chē)符開(kāi)始, 因其事先被初始化為空,所以條件為真, 進(jìn)入循環(huán)等待鍵盤(pán)輸入字符; 一旦輸入回車(chē), 則c=X0D, 條件為假, 循環(huán)便告結(jié)束。 與for循環(huán)一樣, while循

9、環(huán)總是在循環(huán)的頭部檢驗(yàn)條件, 這就意味著循環(huán)可能什么也不執(zhí)行就退出。 while循環(huán)與循環(huán)與do-while 循環(huán)循環(huán) do-while 循環(huán)的一般格式為: do 語(yǔ)句; while(條件); 這個(gè)循環(huán)與while循環(huán)的不同在于: 它先執(zhí)行循環(huán)中的語(yǔ)句, 然后再判斷條件是否為真, 如果為真則繼續(xù)循環(huán); 如果為假, 則終止循環(huán)。因此, do-while循環(huán)至少要執(zhí)行一次循環(huán)語(yǔ)句。同樣當(dāng)有許多語(yǔ)句參加循環(huán)時(shí), 要用和把它們括起來(lái)。 注意事項(xiàng):1. 在while循環(huán)體內(nèi)也允許空語(yǔ)句。 例如: while(c=getche()!=X0D); 這個(gè)循環(huán)直到鍵入回車(chē)為止。 2. 可以有多層循環(huán)嵌套。 3.

10、 語(yǔ)句可以是語(yǔ)句體, 此時(shí)必須用和括起來(lái)。#include main() char c, fname13; FILE *fp; /*定義文件指針*/ printf(File name:); /*提示輸入文件名*/ scanf(%s, fname); /*等待輸入文件名*/ fp=fopen(fname, r); /*打開(kāi)文件只讀*/ while(c=fgetc(fp)!=EOF) /*讀取一個(gè)字符并判斷是否到文件結(jié)束*/ putchar(c); /*文件未結(jié)束時(shí)顯示該字符*/ continue 語(yǔ)句語(yǔ)句 continue語(yǔ)句的作用是跳過(guò)循環(huán)本中剩余的語(yǔ)句而強(qiáng)行執(zhí)行下一次循環(huán)。 continue

11、語(yǔ)句只用在for、while、do-while等循環(huán)體中, 常與if條件語(yǔ)句一起使用, 用來(lái)加速循環(huán)。 main() char c; while(c!=0X0D) /*不是回車(chē)符則循環(huán)*/ c=getch(); if(c=0X1B) continue; /*若按Esc鍵不輸出便進(jìn)行下次循環(huán)*/ printf(%cn, c); 語(yǔ)句語(yǔ)句 break語(yǔ)句通常用在循環(huán)語(yǔ)句和開(kāi)關(guān)語(yǔ)句中。當(dāng)break用于開(kāi)關(guān)語(yǔ)句switch中時(shí), 可使程序跳出switch而執(zhí)行switch以后的語(yǔ)句; 如果沒(méi)有break語(yǔ)句, 則將成為一個(gè)死循環(huán)而無(wú)法退出。當(dāng)break語(yǔ)句用于do-while、for、while循環(huán)語(yǔ)

12、句中時(shí), 可使程序終止循環(huán)而執(zhí)行循環(huán)后面的語(yǔ)句, 通常break語(yǔ)句總是與if語(yǔ)句聯(lián)在一起。 即滿足條件時(shí)便跳出循環(huán)。 main() int i=0; char c; while(1) /*設(shè)置循環(huán)*/ c=0; /*變量賦初值*/ while(c!=13&c!=27) /*鍵盤(pán)接收字符直到按回車(chē)或Esc鍵*/ c=getch(); printf(%cn, c); if(c=27) break; /*判斷若按Esc鍵則退出循環(huán)*/ i+; printf(The No. is %dn, i); printf(The end); 注意: 1. break語(yǔ)句對(duì)if-else的條件語(yǔ)句不起作用。 2. 在多層循環(huán)中, 一個(gè)break語(yǔ)句只向外跳一層。 語(yǔ)句語(yǔ)句 return語(yǔ)句的一般格式為:return表達(dá)式;表達(dá)式;函數(shù)的返回

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論