C语言的switch语句和if语句一样是分支语句,switch语句的格式为:
switch(表达式)
{
case 常量表达式1:
语句;
break;
case 常量表达式2:
语句;
break;
………………
case 常量表达式n:
语句;
break;
default:
语句;
}这个switch语句的语法是将switch后面的表达式的值与case后面的常量表达式相比较,若相等,则执行case后面的语句,遇到break跳出switch分支,若语句后无break,则执行下一条的case语句,直到有break或整个语句都执行完为止;若switch后面的表达式的值与case后面的常量表达式相比较都不相等,则执行default语句。在switch语句最后的break可以省略,其他地方的break不要省略。要注意几点:1、表达式结果不能是浮点数;2、case后的值不能一样;3、case后的值必须是常量或者常量表达式。看下面一个例子:
include <stdio.h>
int main()
{
int score,b;
printf("输入");
scanf("%d", &score);
/b = score / 10;/
switch (score/10)
{
case 9:
printf("A\n");
break;
case 8:
printf("B\n");
break;
case 7:
printf("C\n");
break;
case 6:
printf("D\n");
break;
default:
if (score < 60 && score > 0)
{
printf("E\n");
}
else if (score == 100)
printf("manfen\n");
else
printf("erro\n");
}
}- break则跳过下面所有case语句,如果没有break则case1执行完之后继续执行下面的case语句
- default语句可以放在switch的任意位置,不影响执行,一般我们是放在最后的。
- switch语句与if…else语句的区别:
- switch结构只进行等值判断,而if…else可以进行区间判断;
- switch结构的执行效率远远高于if…else,在分支条件比较多的情况下这种趋势愈发明显。
最后修改:2022 年 06 月 28 日
© 允许规范转载