C语言中的switch case语句
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 语句中使用的表达式必须是整数类型或枚举类型,或者是一个类类型,该类具有单个到整数或枚举类型的转换函数。
可以在一个 switch 中包含任意数量的 case 语句。每个 case 后面跟着要比较的值和一个冒号。
case 的常量表达式必须与 switch 中变量的数据类型相同,并且必须是常量或字面量。
当被切换的变量等于某个 case 时,该 case 后面的语句将执行,直到遇到break语句。
遇到break语句时,switch 将终止,控制流跳转到 switch 语句后面的下一行。
并非每个 case 都需要包含break。如果没有break,控制流将贯穿到后续的 case,直到遇到 break。
switch 语句可以有一个可选的default case,它必须出现在 switch 的末尾。当没有一个 case 为真时,可以使用 default case 执行任务。default case 不需要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
广告