C语言 | switch和break语句 | 案例

85 阅读2分钟

switch和break语句案例

case的值要与 表达式 的值完全一样,才是匹配成功! if(score >= 60 && score <= 70) break的作用:跳出,如果匹配成功,就执行对应的代码,直到遇到break为止!

1.代码

#include <stdio.h>
int main(){
	int score = 80;
	switch(score){
			case 60:
				printf("额外做1张试卷"); 
				break; 
			case 70:
				printf("额外做半张试卷");
				break; 
			case 90:
				printf("出去玩");
				break; 	
			default:
				printf("你考的分数不在处理范围");
				break; 
	}
}  

2.结果

image.png

3.switchif-else的区别:

switch 更适合单变量的多值判断,结构清晰; if-else 更灵活,可处理复杂条件(如范围判断)。

4去掉break时的结果

image.png

5.用switch和break语句汇报我的工作日常

#include <stdio.h>
int main(){
	int day = 1;
	printf("从一至七中选择一个阿拉伯数字:\n");
	scanf("%d",&day);
	
	switch(day){
			case 1:
				printf("上六节课并且检查卫生\n"); 
				break; 
			case 2:
				printf("上八节课晚上有晚自习\n"); 
				break; 
			case 3:
				printf("上六节课打扫卫生\n"); 
				break; 	
			case 4:
				printf("上五节课\n"); 
				break; 
			case 5:
				printf("上六节课\n"); 
				break; 
			case 6:
				printf("放假\n"); 
				break; 
			case 7:
				printf("放假\n"); 
				break;
			default:
				printf("输入的数字不在其中\n");
				break; 
	}
}  

case穿透以及最后作业:

1.要求

输入月份,输出当天的天数。
例如: 1、3、5、7、8、10、12(月)有31天;
      4、6、9、11(月)有30天;
      而2月根据是否是闰年有28/29天之分。
      当输入1月时输出当月的天数(31天),然而输入2月后要求继续询问年份,以此再判断是否为闰年。

2.展示

#include <stdio.h>

int main() {
    int month, year;
    printf("请输入月份:");
    scanf("%d", &month);

    switch (month) {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            printf("该月有31天\n");
            break;
        case 4:
        case 6:
        case 9:
        case 11:
            printf("该月有30天\n");
            break;
        case 2:
            printf("请输入年份:");
            scanf("%d", &year);
            // 判断闰年:能被4整除但不能被100整除,或能被400整除
            if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
                printf("该月有29天(闰年)\n");
            } else {
                printf("该月有28天(平年)\n");
            }
            break;
        default:
            printf("输入的月份无效,请输入1-12之间的数字\n");
    }

    return 0;
}

3.二月的结果

image.png