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