C語言中的switch case語句


switch 語句允許測試一個變數是否與一系列值相等。每個值稱為一個 case,被切換的變數將針對每個switch case進行檢查。

C 程式語言中 switch 語句的語法如下:

switch(expression) {
   case constant-expression :
      statement(s);
      break; /* optional */
   case constant-expression :
      statement(s);
      break; /* optional */
      /* you can have any number of case statements */
   default : /* Optional */
      statement(s);
}

switch 語句適用以下規則:

  • switch 語句中使用的表示式必須是整數型別或列舉型別,或者是一個類型別,該類具有單個到整數或列舉型別的轉換函式。

  • 可以在一個 switch 中包含任意數量的 case 語句。每個 case 後面跟著要比較的值和一個冒號。

  • case 的常量表達式必須與 switch 中變數的資料型別相同,並且必須是常量或字面量。

  • 當被切換的變數等於某個 case 時,該 case 後面的語句將執行,直到遇到break語句。

  • 遇到break語句時,switch 將終止,控制流跳轉到 switch 語句後面的下一行。

  • 並非每個 case 都需要包含break。如果沒有break,控制流將貫穿到後續的 case,直到遇到 break。

  • switch 語句可以有一個可選的default case,它必須出現在 switch 的末尾。當沒有一個 case 為真時,可以使用 default case 執行任務。default case 不需要break

示例程式碼

線上演示

#include <stdio.h>
int main () {
   /* local variable definition */
   char grade = 'B';
   switch(grade) {
      case 'A' :
         printf("Excellent!
" );          break;       case 'B' :       case 'C' :          printf("Well done
" );          break;       case 'D' :          printf("You passed
" );          break;       case 'F' :          printf("Better try again
" );          break;       default :          printf("Invalid grade
" );    }    printf("Your grade is %c
", grade );    return 0; }

輸出

Well done
Your grade is B

更新於:2019年7月30日

1K+ 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告