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

 首先我们来看一下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");
  
    }
}

de19573e2dc646c196e319fbeea66166.png


最终输出结果就是这样,而我们加上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;
    }
}

37bc04635ded4d53a4568fde04f1402a.png


那么我们想要输入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;
    }
}

de02445256fb45ab892120a1e6708cbf.png

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

 

 

如果觉得这篇文章对你有用的话,可以支持一下博主,b站搜索:夜临ね   即可搜索到我,本人现在制作火影视频,如果要打段位也可以私聊我

e9223f45bc314b32b3e53f1b5e6d7731.jpg

 

  • 27
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值