本節書摘來自華章出版社《c語言程式設計與實踐(第2版)》一書中的第2章,第2.2節,作者:淩雲等著,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視
2.2.1 if語句
例2-2中程式的功能是統計c語言程式設計課程期末考試各分數段的人數。按照五級制統計可分成以下幾檔:
90~100 a
80~89 b
70~79 c
60~69 d
0~59 e
要求輸出各分數段的具體人數。
例2-2 用if語句統計各分數段的人數。
在程式的控制過程中,我們通常會對滿足不同條件的資料進行不同的處理,在例2-2中,程式要求根據不同的輸入進行資料的統計,其中用于成績人數分布統計的語句就是一組if語句。
在c語言程式中經常會采用如下模式來表示多路判定:
這就是c語言中的if語句。在if語句中,各個條件從前往後依次求值,直到滿足某個條件,這時執行對應的語句部分,執行完畢後,整個if結構結束。注意:其中語句1~n中的任何語句都可以是括在花括号中的若幹條語句。如果其中沒有一個條件滿足,那麼就執行位于最後一個else之後的語句。如果沒有最後一個else及對應的語句,那麼這個if結構就不執行任何動作。在第一個if與最後一個else之間可以有0個或多個
<code>else if (條件)</code>
就風格而言,我們建議讀者采用縮進格式。
2.2.2 switch語句
c語言中的多路分支,也可以用switch語句完成。例2-2中的if語句完全可以用switch語句替換,替換後的程式如例2-3所示。
例2-3 用switch語句統計各分數段的人數。
其中加粗斜體顯示的switch語句完成了例2-2中的if…else…語句的功能。switch語句的通用用法如下:
執行switch語句時,先計算表達式的值,然後依次與表達式1~表達式n的值進行比較。如果與某一個表達式的值比對,就執行其後的所有語句,如果沒有與任何一個表達式比對成功,則執行default後面的語句n+1。default語句也可以不出現,如果不出現,則語句不執行任何動作。