C語言 if語句的嵌套
在if語句中又包含一個(gè)或多個(gè)if語句,稱為if語句的嵌套。
1.語法格式
嵌套的if語句既可以嵌入到if后面的語句組中,也可以嵌入到else后面的語句組中。所以有如下兩種形式:
(1)格式1
if (表達(dá)式1)
{
if (表達(dá)式2)
(語句組1;)
else
[語句組2;)
}
else
{語句組3;}
(2)格式2
if (表達(dá)式1)
{語句組1;)
else
{
if(表達(dá)式2)
{語句組2;}
else
{語句組3;}
}
2.說明
(1 )在if語句的嵌套結(jié)構(gòu)中,一定要注意else與if的匹配關(guān)系。C語言規(guī)定,在if語句的嵌套結(jié)構(gòu)中,else子句總是與在它上面、距它最近、且尚未匹配的i配對(duì)。
(2)為明確匹配關(guān)系,避免匹配錯(cuò)誤,建議將內(nèi)嵌的if語句一律用花括號(hào)括起來。
(3)不管是格式1還是格式2出現(xiàn)的嵌套語句,其本質(zhì)并無差別,一個(gè)算法往往既可以使用格式1的形式實(shí)現(xiàn),也可以使用格式2的形式實(shí)現(xiàn)。
(4)書寫時(shí),可以采用縮進(jìn)形式以清楚地表達(dá)層次關(guān)系。例如:
if()
if()
if()語句1;
else語句2;
else
語句3;
else
語句4;
(5)if語句允許嵌套,但嵌套的層數(shù)不宜太多。在實(shí)際編程時(shí),應(yīng)適當(dāng)控制嵌套層數(shù)(2?3層)。其實(shí)多分支if語句可以認(rèn)為是if嵌套的一個(gè)特例。
點(diǎn)擊加載更多評(píng)論>>