switch 是多分支选择语句
它的用法跟if语句不太一样,我们先来看一下它的基本代码框架
switch (A)//A代表着想要选择判断的变量
{
case # : 语句; //# 代表变量A的值
break;//break表示结束switch选择
case # : 语句;
break;
default : 语句;//default 当以上case 后面 # 都不是 A的值的时候 默认执行default后面的语句
}
我们举一个例子:
Jun冕被老师叫去帮忙写一个小程序来进行考试分数等级的转换
90 - 100 A
80 - 90 B
70 - 80 C
60 - 70 D
小于60 E
#include
int main()
{
int n;
scanf("%d", &n);
printf("请输入分数
");
switch(n/10)
{
case 10:
case 9: printf("A
");
break;
case 8: printf("B
");
break;
case 7: printf("C
");
break;
case 6: printf("D
");
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0: printf("E
");
break;
default: printf("Error
");
}
return 0;
}
下面我们就这个例子来讲解运行switch的注意事项
1.switch是顺序执行语句,如果不遇到break会一直执行下去直到默认的default结束
下面来示范一下不加break的代码运行结果
#include
int main()
{
int n;
scanf("%d", &n);
printf("请输入分数
");
switch(n/10)
{
case 10:
case 9: printf("A
");
case 8: printf("B
");
case 7: printf("C
");
case 6: printf("D
");
case 5:
case 4:
case 3:
case 2:
case 1:
case 0: printf("E
");
default: printf("Error
");
}
return 0;
}
我们发现当我们输入90的时候下面每一个分枝结果都输出的一遍
这就是不加break后,不能有效地筛选自己想要的结果
2.switch(A) A的数据类型只能说整型 字符型 枚举型
当时浮点型数据的时候程序就会报错
这就是switch大概需要注意的事项了 感谢大家的支持