if 敘述的使用
◎も使用時機:當程式流程進行中,需要根據某種條件來決定接下來的動作時,就是使用 if 敘述的時機。例如根據讀取的成績數值來判斷是否及格等。
◎も語法:
(1) if (條件式)
(例) if (x >= 60)
{
{
敘述1 ;
printf("及格,再加油!\n");
............
}
敘述n ;
(例) if (x >= 60)
ð
此例與上例完全相同(大括號可省略)
}
printf("及格,再加油!\n");
此敘述需先檢視「條件式」是否成立。如果成立則執行大括號內的敘述群1~n,不成立則不做任何動作。需要注意的是:(a)「條件式」之後不要加上分號(;),
(b) 如果敘述群只有1個(n =1),則大括號 { } 可以省略掉。為方便起見,下面語法敘述就用『敘述群』來代替大括號及內部的
1個或多個敘述。
(2) if (條件式)
(例) if (x >= 60)
敘述群A;
printf("及格,再加油!\n");
else
else
敘述群B;
{
printf("被當啦!\n");
printf("真差勁!\n");
}
此敘述一樣需先檢視「條件式」是否成立。如果成立則執行敘述群A,不成立則執行敘述群B,亦即是『二選一』模式。需要注意的是:(a)「條件式」之後不要加上分號(;),
(b) else 之後不要特意加上相反的條件。
(3) if (條件式A)
(例) if (x >= 90)
敘述群A;
printf("非常棒!\n");
else if (條件式B)
else if (x >= 80)
敘述群B;
printf("很好!\n");
else if (條件式C)
else if (x >= 60)
敘述群C;
printf("馬馬虎虎!\n");
...............................
else
else
printf("被當啦!傻瓜!\n");
備用敘述群;
此敘述先檢視「條件式A」是否成立,如果成立則執行敘述群A,不成立則再檢視「條件式B」;若條件式B成立則執行敘述群B,否則依次再檢視「條件式C」,以下仿此類推,亦即是『多選一』模式。其中最後的『else
備用敘述群;』部分,是用在如果沒有任一個條件式成立時,則執行「備用敘述群」部分。不過『else
備用敘述群;』如果不需要也可以省略不加進去。需要注意的是:(a)
任一個「條件式」之後不要加上分號(;), (b) else
之後不要特意加上任何條件。
※ 最後補充說明如果 if (條件式)後面加分號會有怎樣的情況,例如下例:
if ( x > 5);
printf("OK");
此例在執行時,不論 x > 5 是否成立,電腦都會印出「OK」。因為這個分號(;)會被視為是『空敘述』,也就是說電腦會將上例視為
if ( x > 5)
{ }
printf("OK");
所以 printf("OK"); 已經跟上面的 if 敘述沒有任何關係,這在使用上要多加小心!