在switch語句中,case後面的標號只能是常數表達式。在一個特定的switch語句中,每個case常數都必須具有獨一無二的值,不可以重複。但是switch語句可以包含多個case標籤。
switch語句用於基於不同條件執行不同動作。
語法格式:
switch (变量表达式) { case 常量1: 语句;break; case 常量2: 语句;break; case 常量3: 语句;break; ... case 常量n: 语句;break; default: 语句;break; }
switch語句是條件選擇語句,找到相同的case值做為執行後面的程式入口;若所有的case都不滿足,則找default入口;若未找到default入口則退出整個switch語句。
case 後的常數指的是常數表達式。在一個特定的 switch 語句中,每個 case 常數必須具有獨一無二的值,不可以重複。但是 switch 語句可以包含多個 case 標籤。
default 標籤是可選的,可以放在 switch 語句體內任何位置。如果沒有 default 標籤,且沒有任何 case 常數符合 switch 語句控製表達式的計算結果,那麼 switch 語句體中的語句都不會執行。在這種情況下,程式流程會轉而執行 switch 語句體後面的語句。
switch 語句體通常是從 case 標籤開始的語句區塊。如果在第一個 case 標籤之前有語句,這些語句並不會被執行。
C 語言的標籤只用於標識程式流程可能跳到的目的地。這些標籤本身對程式沒有影響。因此,從 switch 跳到第一個符合條件的 case 標籤之後,程式會繼續依序執行,不受其他標籤的影響。
如果在這個符合條件的case 標籤之後,其他case 標籤中的語句應該被忽略,就應該在所執行的最後一條語句後,加上break 語句,使得程式流直接跳到switch語句體的後面。
如果需要在switch 語句內宣告變量,那麼這些變數應該被宣告在巢狀的內部語句區塊中,如下所示:
switch ( x ) { case C1: { int temp = 10; // 声明temp,仅为该case使用 /* ... */ } break; case C2: /* ... */ }
在switch 表達式中,應用了整數提升。 case 常數轉換為符合 switch 表達式計算結果的型別。
也可改用 else if 語句來實現 switch/case 語句效果。但如果依據一個整數表達式的值來判斷程式流程,則應該使用 switch/case 語句,這種方式可以提高程式碼的可閱讀性。
推薦:《c語言教學》
以上是在switch語句中,case後面的標號只能是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!