switch语句是一种多分支选择结构,用于根据表达式的值执行不同的代码块。它常用于需要对某个变量进行多条件判断的场景。
switch无法表示区间 只能完全相等 ,switch语句可以和if语句一起使用
case:穿透 , break:跳出 , default:默认值
流程:按顺序依次运行switch,case,直到运行至break为止,default是默认值输入错误时才运行
例子:
int score = 80;
switch(score){
case 60:
printf("及格");
break;
case 80:
printf("高分");
break;
case 100:
printf("满分");
break;
default:
printf("不在处理范围内");
break;
}
运行结果:(如果输入除60,80,100以外的数字则会输出“不在处理范围内”)
最后出一题: 输入年月份打印出每个月的天数,判断2月份是否为闰年,是29天还是28天。
代码如下:
int a = 0;
printf("请输入年份:");
scanf("%d", &a);
int b = 0;
printf("请输入月份:");
scanf("%d", &b);
switch(b){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("31天");
break;
case 2:
if ((a % 4 == 0 && a % 100 != 0 ) || (a % 400 == 0))
printf("29天");
else
printf("28天");
break;
case 4:
case 6:
case 9:
case 11:
printf("30天");
break;
default:
printf("输入有误");
break;
}
演示: