case 的值要与表达式的值完全一样,才是匹配成功!
如果匹配成功,就执行对应代码,直到遇到break为止
案例1
#include <stdio.h>
int main(){
printf("switch");
//考试分数
int score = 60;
//case 的值要与表达式的值完全一样,才是匹配成功!
//if(score >= 60 && score <= 70)
switch(score){
case 60:
printf("额外做一张试卷");
break;
case 70:
printf("额外做半张试卷");
break;
case 90:
printf("出去玩");
break;
default:
printf("你考的分数不在处理范围");
break;
}
}
案例2
//写程序,汇报我的工作日常
//提示用户输入,1~7的数字,分别获取我周一~周二的工作
int day = 1;
printf("输入1~7的数字,获取我的工作日历:");
scanf("%d", &day);
//printf("%d", day);
switch(day){
case 1:
printf("上6节课\n");
break;
case 2:
printf("上6节课\n");
break;
case 3:
printf("上6节课\n");
break;
case 4:
printf("上6节课\n");
break;
case 5:
printf("上6节课\n");
break;
case 6:
printf("休息一天\n");
break;
case 7:
printf("出去玩\n");
break;
default:
printf("输入有误,没有这个日历");
break;
}
case 穿透
有多个case值匹配成功之后的逻辑是一样的,则可以把它们写在一起。
int day = 1;
printf("输入1~7的数字,获取我的工作日历:");
scanf("%d", &day);
switch(day){
case 1:
case 2:
case 3:
printf("上6节课\n");
break;
case 4:
printf("上6节课\n");
break;
case 5:
printf("上6节课\n");
break;
case 6:
printf("休息一天\n");
break;
case 7:
printf("出去玩\n");
break;
default:
printf("输入有误,没有这个日历");
break;
}