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