前文中,我們已經講到了選擇結構的使用語法。在多重條件選擇應用場景中,有表示等值判斷的,也有表示區間範圍的應用。本文,就來分享另外一種簡潔又經典的選擇結構。
關鍵單詞
switch ([swit] 轉變, 改變)break ([breik] 終止, 中斷)case ([keis] 實情, 情況)default ([di'f:lt] 默認;預設;預置)
基本語法
儘管多重條件結構可以滿足我們實際的需求。但在實際應用中,特殊是在可選擇的條件特別多的情況下,書寫if-else if結構就顯得特別的繁瑣和麻煩。
因此,C語言又提供了一個專門用於處理多分支結構的條件選擇語句。稱為switch語句,又稱開關語句。使用switch語句直接處理多個分支(當然也包括兩個分支的選擇問題)。其語法結構如下:
switch(表達式){case 常量表達式1: //執行代碼塊1 [break;] case 常量表達式2: //執行代碼塊2 case 常量表達式n: //執行代碼塊n [default:] //執行代碼塊n+1 [ break;]}
中括號【】表示該項是可選的,可以省略不寫。也就是break、default等關鍵詞,根據實際情況書寫,可有可無。
基礎語法:從C語言開始學編程,為什麼使用switch結構及其語法
控制機制
其語句控制機制是:
首先,計算switch小括號內表達式的值;
然後,與case的值相比較;匹配成功則執行case內的語言;當所有case都匹配不上,則執行default內的語句。過程中,如果語句break,則終止switch語句的執行,即跳出整個的switch結構。
案例演示:從C語言開始學編程,通過經典案例掌握switch結構的基本用法
特別強調
1、break在switch-case語句中充當「終結者」的角色,也就是說,只要在switch-case語句中遇到了break,程序就會馬上結束switch-case語句,而執行後面的語句。
2、如果沒有break,則從匹配的標籤開始,直到遇見break或者switch語句結束前的所有語句都會被執行。
3、在C中switch後面括號內的表達式必須是整形、字符型、或者枚舉類型。
4、每一個case的常量表達式的值必須不同,否則就會出現互相矛盾的現象。
5、default是可選的,類似於條件語句if-else中的else,default可以在switch中的任何位置出現,不會影響程序運行。
6、除了空語句序列外,其他的case語句或者default語句執行後,最好通過break來結束當前switch語句。
綜合案例
猜拳遊戲,是一個很經典的互動遊戲。在日常生活的各種娛樂場合,無論大人小孩都玩的不亦樂乎。
那麼,如何與機器對決呢?用之前的多重條件結構其實是可以實現的,但使用switch結構,會讓程序更簡潔。不同的場景使用哪種條件結構更合適,這需要各位朋友在大量的練習後,自然而然就會明白了。
猜拳遊戲具體實現,可分如下幾步,具體參考視頻講解。
1、用戶出拳2、電腦隨機出拳3、判斷勝負
項目分析:從C語言開始學編程,已知年月,判斷該年該月有多少天?
至此,有關C語言中條件結構的內容就全部分享完畢。