if語句的嵌套
當(dāng)if語句中的執(zhí)行語句又是if語句時,則構(gòu)成了if 語句嵌套的情形。其一般形式可表示如下:
if(表達(dá)式)
if語句;
或者為
if(表達(dá)式)
if語句;
else
if語句;
在嵌套內(nèi)的 if語句可能又是 if-else型的,這將會出現(xiàn)多個 if和多個else重疊的情況,這時要特別注意 if和 else
的配對問題。例如:
if(表達(dá)式1)
if(表達(dá)式2)
語句1;
else
語句2;
其中的else究竟是與哪一個 if配對呢?
應(yīng)該理解為: 還是應(yīng)理解為:
if(表達(dá)式1)if(表達(dá)式1)
if(表達(dá)式2) if(表達(dá)式2)
語句1; 語句1;
else else
語句2; 語句2;
為了避免這種二義性,C語言規(guī)定,else 總是與它前面最近的 if配對,因此對上述例子應(yīng)按前一種情況理解。
void main(){
int a,b;
printf("please input A,B: ");
scanf("%d%d",&a,&b);
if(a!=b)
if(a>b) printf("A>B\n");
else printf("A
else printf("A=B\n");
}
比較兩個數(shù)的大小關(guān)系。
printf("please input A,B: ");
scanf("%d%d",&a,&b);
if(a!=b)
if(a>b) printf("A>B\n");
else printf("A
else printf("A=B\n");
本例中用了 if語句的嵌套結(jié)構(gòu)。 采用嵌套結(jié)構(gòu)實質(zhì)上是為了進(jìn)行多分支選擇,例 3.16實際上有三種選擇即A>B、A
或A=B。這種問題用 if-else-if語句也可以完成。而且程序更加清晰。因此, 在一般情況下較少使用 if語句的嵌套
結(jié)構(gòu)。 以使程序更便于閱讀理解。
void main(){
int a,b;
printf("please input A,B: ");
scanf("%d%d",&a,&b);
if(a==b) printf("A=B\n");
else if(a>b) printf("A>B\n");
else printf("A
}
2015職稱計算機考試書PowerPoint2007中 .. 定價:¥45 優(yōu)惠價:¥42 更多書籍 | |
2015年全國職稱計算機考試教材(2007模 .. 定價:¥225 優(yōu)惠價:¥213 更多書籍 |