if語句:也可稱條件語句,是根據所給定條件的值是真還是假決定執行不同的分支。
if語句有單分支、雙分支、多分支以及if語句的嵌套等多種形式。
單分支if語句:
if (條件表達式)
{
語句組1;
}
例1:
if (a)
{
...
}
當條件表達式的值為“真”時,執行語句組;當值為“假”時,跳過語句,直接執行if語句后面的其他語句。
注意:
(1)if后面的“表達式”,除了可以是關系表達式或邏輯表達式外,也可以是其他類型的數據,如普通的整型、實型、字符型的常量或變量,但這些數據都看作邏輯值。如例1中,如果a不為0,執行語句。否則執行if語句后面的語句。
(2)if語句中的“表達式”必須用“(”和“)”括起來。
(3)當if下面的語句組只有一條語句時,可以不適用復合語句的形式,即花括號去掉,但多條語句必須使用復合語句形式。
雙分支if語句:
if (條件表達式)
{
語句組1;
}
else
{
語句組2;
}
雙分支if語句的執行過程
當條件表達式的值為“真”時,執行語句組1;當條件表達式的值為“假”時,執行語句組2;兩組語句只能執行其中一個,執行完畢后,執行if語句后面的語句。
注意:
在雙分支if結構中,else子句是if語句的一部分,必須與if配對使用,不能單獨使用。
多分支選擇結構:
一般用於某一事件可能出現的多種情況的處理。通常表現為“如果滿足某種條件,就進行某種處理,否則判斷是否滿足另一種條件,執行另一種處理等”。
if (表達式1)
{
語句組1;
}
else if (表達式2)
{
語句組2;
}
else if (表達式3)
{
語句組3;
}
...
else
{
語句組n;
}
多分支if語句的執行過程:
if語句的嵌套:
如果在if語句中又包含一個或多個if語句,則稱為if語句的嵌套。
格式1:
if (表達式1)
{
if (表達式2)
{
語句組1;
}
else
{
語句組2;
}
}
else
{
語句組3;
}
格式2:
if (表達式1)
{
語句組1;
}
else
{
if (表達式2)
{
語句組2;
}
else
{
語句組3;
}
}
注意:
- C語言規定,在if語句的嵌套結構中,else子句總是和在它上面、據它最近、且尚未匹配的if配對。
- 內嵌的if語句,一律用花括號括起來。
- 書寫時,可以采用縮進形式以清楚地表達層次關系。
- if語句中嵌套層數不宜太多(2~3層)。