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