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