C 語(yǔ)言中的分支結(jié)構(gòu)
C 語(yǔ)言與大多數(shù)計(jì)算機(jī)語(yǔ)言一樣是按照語(yǔ)句的順序逐條執(zhí)行的。如同流水一樣,從上到下順序執(zhí)行。這就如同我們每天的日常生活,對(duì)于上班族來(lái)說(shuō),就是起床,洗漱,吃早飯,上班,午飯。下班,晚飯,睡覺(jué)。感覺(jué)一切都平淡無(wú)奇。但是如果你想去購(gòu)買(mǎi)一臺(tái)電腦怎么辦?這不是一件每天都發(fā)生的流水事件,而且你需要在有足夠的錢(qián)的情況下才能購(gòu)買(mǎi)。這個(gè)時(shí)候,你就要在滿(mǎn)足有錢(qián)的條件下打破原有的生活順序,去賣(mài)場(chǎng)購(gòu)買(mǎi)一臺(tái)電腦。這就是生活中的分支。在程序設(shè)計(jì)中同樣存在這樣的分支。
1. 為什么需要分支結(jié)構(gòu)
分支結(jié)構(gòu)作為 C 語(yǔ)言結(jié)構(gòu)中流控制的一種結(jié)構(gòu),應(yīng)用極其廣泛。C 語(yǔ)言中的分支主要由 if 語(yǔ)句組成,這是一個(gè)大類(lèi),除此之外還有 switch 語(yǔ)句。分支語(yǔ)句控制著程序在遇到不同條件的時(shí)候,可以根據(jù)條件判斷來(lái)執(zhí)行不同的語(yǔ)句。使得程序不再是從頭到尾的順序執(zhí)行。這就如同人類(lèi)在面對(duì)不同問(wèn)題需要做出不同的選擇一樣,你的選擇決定了接下來(lái)要進(jìn)行的行動(dòng)。
2. 分支結(jié)構(gòu)分類(lèi)
分支結(jié)構(gòu)根據(jù)使用的語(yǔ)句與結(jié)構(gòu)不同分為以下幾類(lèi):
- 單一使用 if 語(yǔ)句;
- 嵌套的 if 語(yǔ)句;
- if … else … 語(yǔ)句;
- else if 語(yǔ)句構(gòu)成的階梯判斷;
- switch 語(yǔ)句。
其中的 if 語(yǔ)句, if else 語(yǔ)句與 switch 語(yǔ)句為單條語(yǔ)句,而剩余的嵌套的 if 語(yǔ)句與 else if 語(yǔ)句的階梯判斷是由前面的 if 語(yǔ)句和 if else 語(yǔ)句構(gòu)成的復(fù)合結(jié)構(gòu)。使用符合結(jié)構(gòu)是為了更好地完成單一語(yǔ)句無(wú)法完成的功能實(shí)現(xiàn)。
3. 小結(jié)
構(gòu)成 C 語(yǔ)言分支結(jié)構(gòu)的語(yǔ)句有兩大類(lèi)。一類(lèi)是 if 語(yǔ)句類(lèi),另外一類(lèi)就是 switch 語(yǔ)句。其中 if 語(yǔ)句類(lèi)中情況最為復(fù)雜,也最常使用。里面又由 4 個(gè)詳細(xì)的小類(lèi)別構(gòu)成。由于單一的語(yǔ)句構(gòu)成的問(wèn)分機(jī)構(gòu)功能相對(duì)單一,所以在應(yīng)用的時(shí)候還會(huì)引入分支結(jié)構(gòu)的組合和嵌套來(lái)完成更為復(fù)雜的功能。這其中一些還比較容易混淆。大家在使用過(guò)程中要注意。分支結(jié)構(gòu)作為編程語(yǔ)言中極其重要的組成部分,需要大家能夠熟練地掌握。通過(guò)不斷的應(yīng)用來(lái)增強(qiáng)這方面的技能。