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
廣告