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