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