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");
  
    }
}


最终输出结果就是这样,而我们加上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里面的语句。

相关推荐

  1. C语言switch语句case后()

    2023-12-28 17:48:03       59 阅读
  2. C语言关于函数和数组理解

    2023-12-28 17:48:03       64 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-28 17:48:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-28 17:48:03       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-28 17:48:03       82 阅读
  4. Python语言-面向对象

    2023-12-28 17:48:03       91 阅读

热门阅读

  1. shell脚本调试技巧

    2023-12-28 17:48:03       56 阅读
  2. 群晖Nas Docker镜像自动部署

    2023-12-28 17:48:03       52 阅读
  3. django调用矩阵分解推荐算法模型做推荐系统

    2023-12-28 17:48:03       53 阅读
  4. 计算机专业校招常见面试题目总结

    2023-12-28 17:48:03       63 阅读
  5. 在 docker 中安装 GLEE

    2023-12-28 17:48:03       62 阅读
  6. Thinkphp5钩子和触发钩子

    2023-12-28 17:48:03       55 阅读
  7. Spring Boot整合RocketMQ

    2023-12-28 17:48:03       61 阅读
  8. CentOS:Nginx 413 Request Entity Too Large

    2023-12-28 17:48:03       57 阅读
  9. PHP cookie和Sessions

    2023-12-28 17:48:03       60 阅读
  10. CSRF和SSRF原理、区别、防御方法

    2023-12-28 17:48:03       57 阅读
  11. el-table 纵向垂直表头

    2023-12-28 17:48:03       59 阅读
  12. Linux:Vim

    2023-12-28 17:48:03       56 阅读
  13. K8s 之动态编排

    2023-12-28 17:48:03       60 阅读
  14. RivaGAN 水印项目

    2023-12-28 17:48:03       55 阅读
  15. [spark] RDD, DataFrame和DataSet是什么?如何相互转化

    2023-12-28 17:48:03       57 阅读