1.3 控制流程語(yǔ)句 Turbo C2.0提供了豐富、靈活的控制流程語(yǔ)句, 主要有:條件語(yǔ)句、循環(huán)語(yǔ)句和開(kāi)關(guān)語(yǔ)句。下面將對(duì)這些語(yǔ)句作詳細(xì)介紹。
1.3.1 條件語(yǔ)句 象其它語(yǔ)言一樣Turbo C2.0也提供條件語(yǔ)句。在Turbo C2.0中條件語(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。所謂表達(dá)式是指關(guān)系表達(dá)式和邏輯表達(dá)式的結(jié)合式, 關(guān)于表達(dá)式前面已作過(guò)介紹, 這是不再重復(fù)。 注意: 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ǔ)句包括在其中, 此時(shí)條件語(yǔ)句形式為:
if(表達(dá)式) { 語(yǔ)句體1; } else { 語(yǔ)句體2; }
3. 條件語(yǔ)句可以嵌套, 這種情況經(jīng)常碰到, 但條件嵌套語(yǔ)句容易出錯(cuò), 其原因主要是不知道哪個(gè)if對(duì)應(yīng)哪個(gè)else。例如:
if(x>20 x<-10) if(y<=100&&y>x) printf("Good"); else printf("Bad");
對(duì)于上述情況, Turbo C2.0規(guī)定: else 語(yǔ)句與最近的一個(gè)if語(yǔ)句匹配, 上例中的 else 與 if(y<=100&&y>x) 相匹配。為了 使 else與if(x>20 x<-10) 相匹配, 必須用花括號(hào)。如下所示:
if(x>20 x<-10) { if(y<=100&&y>x) printf("Good"); } else printf("Bad");
4. 可用階梯式if-else-if結(jié)構(gòu)。 階梯式結(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)條件滿(mǎn)點(diǎn)足就執(zhí)行與它有關(guān)的語(yǔ)句, 并跳過(guò)其它剩余階梯; 若沒(méi)有一個(gè)條 件滿(mǎn)足, 則執(zhí)行最后一個(gè)else語(yǔ)句n。最后這個(gè)else常起著"缺省條件"的作用。同樣, 如果每一個(gè)條件中有多于一條語(yǔ)句要執(zhí)行時(shí), |