C語言中if(
*語句的一般格式if(表達式) [else](1)if語句中的“表達式”必須用“(”和“)”括起來.(2)else子句(可選)是if語句的一部分,必須與if配對使用,不能單獨使用.(3)當if和else下面的語句組,僅由一條語句構成時,也可不使用復合語句形式(即去掉花括號).*語句的執行過程(1)缺省else子句時當“表達式”的值不等于0(即判定為“邏輯真”)時,則執行語句組1,否則直接轉向執行下一條.(2)指定else子句時當“表達式”的值不等于0(即判定為“邏輯真”)時,則執行語句組1,然后轉向下一條語句;否則,執行語句組2.如圖4-1(b)所示.*語句的嵌套與嵌套匹配原則if語句允許嵌套.所謂if語句的嵌套是指,在“語句組1”或(和)“語句組2”中,又包含有if語句的情況.if語句嵌套時,else子句與if的匹配原則:與在它上面、距它最近、且尚未匹配的if配對.為明確匹配關系,避免匹配錯誤,強烈建議:將內嵌的if語句,一律用花括號括起來.。
C語言中if語句的三種形式到底是怎樣的
1)簡化形式 if(表達式) 語句塊 如: if(x>y) printf(“%d”,x); 2)一般形式 if (表達式) 語句塊1 else 語句塊2 例如: if (x>y) printf(“max=%d”,x); else printf(“max=%d”,y); 3)嵌套形式含義:一條if語句重又包含另一個if語句稱為if語句的嵌套.格式:if( ) if( ) 語句塊1 else 語句塊2else if( ) 語句塊3 else 語句塊4例如:if (score>90) printf(“very good”);else if(score>80) printf(“good”); else if(score>60) printf(“ok”); else printf(“bad”); 如果語句塊包含多個語句,用{}就行了例如:if(n>0){ printf("%d",n); printf("是正數\n");}。
C語言 if嵌套if
printf("請輸入a的值"); scanf("%d",&a); if(a<10)//a=0的時候,明顯符合a<10條件,但是不符合里面嵌套的a>1條件,不做任何操作。
{ if(a>1) t=1; } else t=2; printf("請輸入a的值"); scanf("%d",&a); if(a<10)//a=100,第一步驗證就不符合條件,又沒有else語句對應,也是什么都不做 { if(a>1) t=1; else t=2; } 我還是加上第二題的實戰圖吧: 我初始化t為99999了,防止輸出未初始化的變量。可以看到99999并沒有改變。
也就是說a=100的時候,沒有影響到t。不要看死書了,按自己的邏輯理解吧。
總之看if 的嵌套,else總是與最近的if成對。然后自己加大括號對好格式,用手寫在紙上畫明了一點。
希望能幫到你!。