switch语句
switch语句是一种常用的选择结构语句,与if条件语句不同的是,他针对某个表达式的值做出判断,从而决定执行哪一段代码。
在switch语句中,switch关键字后面有一个表达式,case关键字后面有目标值,当表达式的值与某个目标值匹配时,会执行相应case后的语句。
switch语句的基本语法格式:
switch(表达式)
{
case目标值1:
执行语句1;
break;
case目标值2:
执行语句2;
break;
...
case目标值n:
执行语句n;
break;
default:
执行语句n+1;
break;
注意:
1.case的值要与表达式的值完全一样,才是匹配成功。
2.break的作用:跳出。
3.default是默认值。
4.case穿透:有多个case值匹配成功之后的逻辑是一样的,则可以把它们写在一起。
switch case default的执行流程:
- 按照代码的书写顺序,依次比较case后边的值;如果匹配成功,就执行对应的代码,直到遇到break为止。
- 所有的case都不匹配,则执行default。
示例代码如下:
#include <stdio.h>
int main(){
int day = 1;
printf("输入1-7的数字,获取我的工作日历");
scanf("%d",&day);
switch (day){
case 1:
case 2:
case 3:
case 5:
printf("上6节课");
break;
case 4:
printf("上3节课");
break;
case 6:
printf("吃饭,睡觉,上厕所");
break;
case 7:
printf("吃饭,睡觉,上厕所");
break;
default:
printf("输入有误,没有这个日历");
break;
}
}
#include <stdio.h>
int main18(){
// printf("switch");
// 考试分数
int score = 61;
// case 的值要与表达式的值完全一样,才是匹配成功!
// if(score >= 60 && score <= 70)
switch(score){
case 60:
printf("额外做1张试卷");
break;
case 61:
printf("额外做1张试卷");
break;
case 70:
printf("额外做半张试卷");
break;
case 90:
printf("出去玩");
break;
default:
printf("你考的分数不在处理范围");
break;
}
}