之前 我们讲了 if 和 嵌套的if分支语句

但其实 多分支语句 我们还可以用 switch
有时 switch 语句可以简化逻辑代码

switch语句也称之为开关语句,其像多路开关一样,使程序控制流程形成多个分支,根据一个表达式的不同取值,选择其中的一个或多个分支执行。

我们先来看一个案例
要求
用户从键盘输入一个数字(范围是1~12),输出对应的月份的英文名称。

我们用 if 多分支语句 思路如下图
C语言 switch语句-LMLPHP
不得不说 还是相当麻烦的

switch 语句如下
C语言 switch语句-LMLPHP
switch语句 由3部分组成

1 控制表达式: switch后的用圆括号括起来的整数表达式,只能是整值类型(包括char),不能用浮点数和字符串。

2 情况标号:每个分支的开头都有一个情况标号,格式为:“case 常量表达式:”,常量表达式的值必须是整数或者字符。

3 语句:每个分支情况标号的后边是一个语句序列,可以包含任意数量的语句,不需要用花括号括起来,每组语句的最后一条通常是break语句,当然,如果没有break语句,编译也不会出错,但是含义会有所改变,后面会详细讲解它们的区别。

switch 语句流程图如下
C语言 switch语句-LMLPHP
多分支代码如下

#define _CRT_SECURE_NO_WARNINGS//禁用安全函数警告
#pragma warning(disable:6031)//禁用 6031 的安全警告
#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n);
    switch (n) {
        case 1:
            printf("输入的1!");
            break;
        case 2:
            printf("输入的2!");
            break;
        default:
            printf("输入的不是1  也不是2");
            break;
    }
    return 0;
}

这里 我们定义一个 n 整数类型
用户输入 赋值给n
然后 switch 逻辑根据n的值进行

如果是1 输出 输入的1!
2 输出 输入的2!
否则输出 输入的不是1 也不是2

我们运行代码

刚进来 它会要求我们输入内容
C语言 switch语句-LMLPHP
我们输入 1
C语言 switch语句-LMLPHP
输入2
C语言 switch语句-LMLPHP
除了 1 和 2 我们这样输入
来个 25

走进了 否则 default
C语言 switch语句-LMLPHP

04-27 15:31