C语言中关于switch语句的理解

发布时间:2023年12月28日

?首先我们来看一下switch的定义

switch(整型表达式)

{

? ? ? ? case??整型常量表达式:

? ? ? ? ? ? ? ? ???语句;

}

?我们在书写时要注意一下,无论是在switch还是case,后面跟着的都一定要是整型,而且case这一行写完时,最后要用"?"而非" "

另外,当我们写完一条case语句时,要在后面加上break;不然系统就会把这条case以及它后面的case语句全部输出,就像这样

#include <stdio.h>
int main() {
    int i = 0;
    scanf("%d", &i);
    switch (i) {
        case 1:
            printf("大学\n");
        case 2:
            printf("大专\n");
        case 3:
            printf("高中\n");
        case 4:
            printf("职高\n");
        case 5:
            printf("中专\n");
        case 6:
            printf("初中\n");
        case 7:
            printf("小学\n");
  
    }
}


最终输出结果就是这样,而我们加上break之后输入的是哪个case出来的也就是那个case?

#include <stdio.h>
int main() {
    int i = 0;
    scanf("%d", &i);
    switch (i) {
        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;
    }
}


那么我们想要输入1,2时显示的是成年人,输入3到7时显示的是未成年人应该怎么办呢?

因为case有一个不加break就会向下执行的特性,所以我们可以这样

#include <stdio.h>
int main() {
    int i = 0;
    scanf("%d", &i);
    switch (i) {
        case 1:
        case 2:
            printf("成年人\n");
            break;
        case 3:
        case 4:
        case 5:
        case 6:
        case 7:
            printf("未成年人\n");
            break;
    }
}

那么我们这里只有7个case,如果输入的是比7大的数字时,我们就需要default这条语句了

default:默认其他选项,当case里面的值都不匹配时,就会跳入default

#include <stdio.h>
int main() {
    int i = 0;
    scanf("%d", &i);
    switch (i) {
        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;
    }
}

这个时候我们输入8,系统就会跳到default里面,输入default里面的语句。

文章来源:https://blog.csdn.net/lzcandhyandcg/article/details/135255558
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。