if语句输⼊⽉份判断季节_c语⾔⼊门第⼋章switch语句
在c语⾔当中还有另外⼀条语句也可以实现程序的分⽀结构
switch语句
switch(数据){
case 值1:
语句1
case 值2:
语句2
...
default:
语句n
}
在switch后⾯的括号当中会出现⼀个表达式或者具体的数值,根据然后匹配相等的数值的 case 开始执⾏,⼀直执⾏到switch结构的最后,如果值都不相等,那么会执⾏default后⾯的内容
⽐如说,我们希望使⽤ 1~4 来代表四个季节,输⼊季节的代号,打印出季节的名字,我们的程序可能会这样写
#include <stdio.h>
int main(){
int month;
scanf("%d",&month);
switch(month){
case 1:
printf("春季");
case 2:
printf("夏季");
case 3:
printf("秋季");
case 4:
printf("冬季");
default:
printf("输⼊有误");
}
}
但是这样会出现问题
这⾥⼀定要注意,switch 语句是从case 之后⼀直执⾏到 switch 结束,⽽不是只执⾏匹配的case后⾯的部分,如果需要只执⾏匹配的 case,可以加上break
break 的作⽤就是,程序执⾏到 break ,就会结束switch结构
把程序修改⼀下
switch(month){
case 1:
printf("春季");
break;
case 2:
printf("夏季");
break;
case 3:
printf("秋季");
break;
case 4:
printf("冬季");
break;
default:
printf("输⼊有误");
}
}
这样执⾏的结果就满⾜要求了
⽽有的时候,并不是所有的case后⾯都需要加上break,
⽐如我们 把1~3⽉称为第⼀季度,4~6⽉称为第⼆季度,7~9⽉称为第三季度,10~12⽉称为第四季度,然后需要我们输⼊⽉份输出是第⼏季度
switch(month){
case 1:
case 2:
case 3:
printf("第⼀季度季");
break;
case 4:
case 5:
case 6:
printf("第⼆季度季");
break;
case 7:
case 8:
case 9:
printf("第三季度季");
break;
case 10:
case 11:
case 12:
printf("第四季度季");
break;
switch语句表示范围default:
printf("输⼊有误");
}
}
在这个程序⾥,多个 case 共享⼀个break,
switch 语句和 if 语句都可以实现程序的分⽀结构,但是使⽤的具体情形有所不同
if语句基本上在任何情况下都可以使⽤;
switch语句只有在判断条件是具体值的时候才可以使⽤,也就是说switch不能进⾏范围判断,但是再某些情况下,使⽤switch可以更容易的实现功能

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。