C 語言中的分支嵌套結構
要想實現(xiàn)一些復雜的功能,依靠簡單的分支結構和多重分支結構等等是遠遠不夠的。所以我們還需要分支嵌套結構。
1. 分支嵌套結構的語法
if (條件 1)
{
if (條件 2)
{
執(zhí)行語句 1
}
else
{
執(zhí)行語句 2
}
}
else
{
if (條件 3)
{
執(zhí)行語句 3
}
}
執(zhí)行過程
2. 場景
當程序中需要多層條件判斷的時候,會使用嵌套的分支結構,用來根據(jù)不同的條件組合,來跳轉(zhuǎn)執(zhí)行不同的處理語句。這在程序中是非常常見的,分支嵌套結構就如同我們?nèi)粘I钪械暮芏嘤媱潈?nèi)容。
比如,我們有這樣一個場景:如果今天天氣好,我們就去郊游,如果天氣不好我們待在家里。打開天氣預報發(fā)現(xiàn)今天的天氣不錯,誒,這個時候我們級就可以去郊游。換算到程序中也就是相當于滿足了“天氣好”這樣一個條件,執(zhí)行了“去郊游”這樣的語句。我們?nèi)ソ加蔚脑捒隙ㄒ獛蕵返臇|西,比如說撲克牌或者圍棋等等,那么到底帶什么呢?我們決定如果去郊游的人數(shù)大于 2 人就帶撲克牌,如果只有 2 人,那么只能帶圍棋了。也就是說滿足“郊游人數(shù)大于 2 人”的條件就會執(zhí)行“帶撲克牌”語句,如果不滿足的話執(zhí)行“帶圍棋”語句。
實例
#include <stdio.h>
int main()
{
int x = 1, y = 2, z = 3;
if (x > 0)
{
if (y > z)
{
printf("語句1\n");
}
else
{
printf("語句2\n");
}
}
else
{
if (z > 1)
{
printf("語句3\n");
}
}
return 0;
}
運行結果
語句2
由于 x > 0 條件成立,所以會執(zhí)行 if 語句后面的程序,緊接著就要下一個判斷, y > z ,顯然這個是不成立的,所以執(zhí)行了 else 里面的語句。
大家可以嘗試修改上面的程序,修改片段條件,或者增加新的分支。
3. 小結
對于 C 語言中的嵌套分支,是解決多個條件同時要成立的問題。比如既要高效,又要省錢,又要質(zhì)量好。那么這三個條件的同時成立和部分成立的判斷就可以使用嵌套分支。說句實話,這三點在現(xiàn)實生活中是沒有辦法同時成立的,尤其是在軟件開發(fā)過程中。大家要有所權衡。