章节索引 :

C 语言中的 switch/case 语句

很多时候 if 语句可以很好的满足我们对于分支控制的需求,但是当你要对于一系列有着相同表达式不同内容的东西分类的时应该怎么办?这正式今天要介绍的内容。

1. 语法

switch (表达式)
{
    case 常量1:
      语句1
      break;

    case 常量2:
      语句2
      break;

    .
    .
    .

    default:
      语句n
}

2. 执行过程

图片描述

3. 应用场景

当一个变量有很多种可能,而每种情况下都要进行不同的处理的时候就需要使用 switch-case 语句了。当你要翻译数字到英文的时候怎么办?你会从大脑中迅速的匹配每个数字所对应的英文。找到后通过你笔写出来或者用嘴发声说出来。每次都会进行一个匹配和处理的行为。这就是一个 switch-case 过程。

4. 实例

#include <stdio.h>

int main()
{
    int x = 5;

    switch (x)
    {
    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;
    }
    return 0;
}

运行结果:

星期五

程序中会匹配变量 x 的值。当与条件一致时就会执行相应的语句,然后停止执行后面的语句。可以尝试修改里面的条件。如果将变量 x 的数值改为 10 请大家尝试会输出什么。

5. 小结

如果没有 switch-case 语句,要想实现实例中程序要写 7 个 if 语句才能实现,而使用 switch-case 则简化很多。很容易看到判断条件以及相应的处理语句。需要值得注意的是, switch-case 语句是顺序执行的,所以请注意不要忘记每条语句中的 break 语句。否则,这个语句会从头执行到尾,执行全部的语句。这样就失去了 switch-case 语句的作用。