switch语句的一般形式如下:
switch(表达式)
{
case 常量 1:语句 1
case 常量 2:语句 2
case 常量 3:语句 3
...
case 常量 n:语句 n
default:语句 n+1
}
说明:
switch
括号内的“表达式”,其值的类型应为整数类型或者字符类型,不可以是其他数据类型。default
语句为选择项,可有可无。另外,default
后面可以不加break
语句。
举例:
输入学生的成绩并分类(要求:85 分以上为 A,70-85 为 B,60-69 为 C 等)
#include<stdio.h>
int main(){
char grade;
scanf("%c",&grade);
printf("you score:");
switch(grade){
case 'a':printf("85~100\n");break;
case 'b':printf("70~84\n");break;
case 'c':printf("60~69\n");break;
case 'd':printf("<60\n");break;
default:printf("error!\n");
}
return 0;
}
运行结果:
注意:
break语句:当switch语句运行时遇到break关键字时会跳出,意思就是当语句运行到break时就不再运行了,接下来剩下的case语句也不会再执行,switch语句结束。
default的作用就是当表达式的值和常量值全部对比过之后,如果没有匹配的就会输出default后的语句。
假如去掉程序中所有 break
语句,用户从键盘输入 b 以后,输出 70 ~ 84 并换行以后,程序将执行 case 'c':printf("60~69\n");
语句,并且还要执行下去,结果如下: