C++ switch語句
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語句。每一種情況後的值進行比較,以及一個冒號。
-
常量表達的情況下,必須是相同的數據類型,在switch的變量,它必須是一個常量或文字。
-
當進行切換的變量上等於的情況下,以下這種情況下,語句將執行,直到break語句為止。
-
當達到一個break語句,開關終止,並且控製流跳轉到下switch語句的下一行。
-
不是每個case需要包含一個break。如果未出現break,控製流都將落空後續case語句,直到break為止。
-
switch語句可以有一個可選默認case,它必須出現在switch結束。缺省情況下,可用於執行任務時冇有的情況下是true。需要在默認情況下不用break。
流程圖:
例如:
#include <iostream> using namespace std; int main () { // local variable declaration: char grade = 'D'; switch(grade) { case 'A' : cout << "Excellent!" << endl; break; case 'B' : case 'C' : cout << "Well done" << endl; break; case 'D' : cout << "You passed" << endl; break; case 'F' : cout << "Better try again" << endl; break; default : cout << "Invalid grade" << endl; } cout << "Your grade is " << grade << endl; return 0; }
這將產生以下結果:
You passed Your grade is D