C語言switch語句
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語句中使用表達式(expression )必須是整型或枚舉類型,或者作為類,其中所述類有一個單一的轉換功能以一個整體或枚舉類型
-
在switch語句中可以有任意數量的case語句。每一個case後跟的值進行比較,並跟著一個冒號
-
恒定表達(constant-expression) 的case語句,必須是相同的數據類型,在switch變量,它必須是一個常量或文字
-
當被swith變量上等於case語句中的值,case下麵將執行,直到break語句為止
-
當到達一個break語句,switch終止,並且控製流跳轉到下switch語句的下一行
-
不是每一個case需要包含一個breal。如果未出現break,控製流都將落空到後續case,直到 break 為止
-
switch語句可以有一個可選默認case,它必須出現在switch結束。在默認情況下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