#include<stdio.h>
#include <stdlib.h>
int main(){
printf("switch");//打印一遍switch看是否能使用
int score = 60;
switch(score){
case 60:
printf("额外做一张试卷");
break;
case 70:
printf("额外做半张试卷");
break;
case 90:
printf("出去玩");
break;
default:
printf("你考的分数不在处理范围");
break;
}
}
运行结果如下:
switch和if同样为选择语句,但与if不同的是switch的范围更加的小必须精确到某一个值,而if可以精确到值与值之间的一整个区间 例如上代码中,若将int score的值改为61-69,71-89.....等case值以外的数值,就会直接运行default
演示如下:
break的作用是跳出。
还有另一种情况:如果将break无效化或者消除,则在匹配成功的情况下,执行对应的代码,直到遇到break为止。
演示如下:
运用switch制作周期工作日历表:
#include<stdio.h>
#include <stdlib.h>
int main(){
int day;
printf("输入1-7的数字,获取我的工作日历:");
scanf("%d", &day);
switch (day){
case 1:
printf("满课,上六节");
break;
case 2:
printf("满课,上六节,还有晚自习");
break;
case 3:
printf("满课,上六节");
break;
case 4:
printf("少课,上三节");
break;
case 5:
printf("满课,上六节");
break;
case 6:
printf("睡到大中午,下午2-5点学习,晚上游戏时间");
break;
case 7:
printf("睡到大中午,下午2-5点复习和写作业,晚上游戏时间");
break;
}
}
演示如下:
case的后传
遇到相同的case后值可以运用case的后传,例如周一和周三和周五
代码如下:
#include<stdio.h>
#include <stdlib.h>
int main(){
int day;
printf("输入1-7的数字,获取我的工作日历:");
scanf("%d", &day);
switch (day){
case 1:
case 3:
case 5: //因为case1,3,5内容一样,所以可以用后传来省略1和3之中的代码
printf("满课,上六节");
break;
case 2:
printf("满课,上六节,还有晚自习");
break;
case 4:
printf("少课,上三节");
break;
case 6:
printf("睡到大中午,下午2-5点学习,晚上游戏时间");
break;
case 7:
printf("睡到大中午,下午2-5点复习和写作业,晚上游戏时间");
break;
}
}
演示如下: