|
}
上例中, while循環(huán)是以檢查c是否為回車符開始, 因其事先被初始化為空, 所以條件為真, 進(jìn)入循環(huán)等待鍵盤輸入字符; 一旦 輸入回車, 則c='\X0D', 條件為假, 循環(huán)便告結(jié)束。 與for循環(huán)一樣,while循環(huán)總是在循環(huán)的頭部檢驗(yàn)條件,這就意味著循環(huán)可能什么也不執(zhí)行就退出。 注意: 1. 在while循環(huán)體內(nèi)也允許空語(yǔ)句。 例如: while((c=getche())!='\X0D'); 這個(gè)循環(huán)直到鍵入回車為止。 2. 可以有多層循環(huán)嵌套。 3. 語(yǔ)句可以是語(yǔ)句體, 此時(shí)必須用"{"和"}"括起來(lái)。
例18:
#include<stdio.h> main() { char c, fname[13]; FILE *fp; /*定義文件指針*/ printf("File name:"); /*提示輸入文件名*/ scanf("%s", fname); /*等待輸入文件名*/ fp=fopen(fname, "r"); /*打開文件只讀*/ while((c=fgetc(fp)!=EOF) /*讀取一個(gè)字符并判斷是否到文件結(jié)束*/ putchar(c); /*文件未結(jié)束時(shí)顯示該字符*/ }
1.3.2.3 do-while 循環(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)。
1.3.3 開關(guān)語(yǔ)句 在編寫程序時(shí), 經(jīng)常會(huì)碰到按不同情況分轉(zhuǎn)的多路問(wèn)題, 這時(shí)可用嵌套 if-else-if 語(yǔ)句來(lái)實(shí)現(xiàn), 但if-else-if語(yǔ)句使用不方 便, 并且容易出錯(cuò)。對(duì)這種情況, Turbo C2.0提供了一個(gè)開關(guān)語(yǔ)句。開關(guān)語(yǔ)句格式為:
switch(變量) { case 常量1: 語(yǔ)句1或空; case 常量2: 語(yǔ)句2或空; . .
|