首页 > 编程笔记 > C语言笔记

C语言switch case语句的用法(小白必读)

虽然 C语言没有限制 if else 语句能够处理的分支数量,但当分支过多时,用 if else 语句处理会不太方便,而且容易出现 if 和 else 配对出错的情况。

相对而言,switch case 语句的语法更容易读写。

switch case 语句的格式如下:
switch(expression) {
    case constant1: //分支
        语句;
        break;
    case constant2: //分支
        语句;
        break;
    ...
    default: //默认语句
        语句;
}
switch case 的具体工作原理如下:
【实例】简易计算器,先输入 +、−、*、/ 4个运算符中的一个,然后输入两个浮点数,最后输出计算结果。代码如下:
#include <stdio.h>
 
int main()
{
    char operator;
    double n1, n2;
 
    printf("输入一个运算符 (+, -, *, /): ");
    scanf("%c", &operator);
    printf("输入两个操作数: ");
    scanf("%lf %lf", &n1, &n2);
 
    switch (operator)
    {
        case '+':
            printf("%.1lf + %.1lf = %.1lf", n1, n2, n1 + n2);
            break;
 
        case '-':
            printf("%.1lf - %.1lf = %.1lf", n1, n2, n1 - n2);
            break;
 
        case '*':
            printf("%.1lf * %.1lf = %.1lf", n1, n2, n1 * n2);
            break;
 
        case '/':
            printf("%.1lf / %.1lf = %.1lf", n1, n2, n1 / n2);
            break;
 
        // 没有匹配到任何运算符( +, -, *, /)
        default:
        printf("错误! 运算符不正确");
    }
 
    return 0;
}
编译运行,可得到以下类似结果:

输入一个运算符(+, -, *,/): +
输入两个操作数:10 20
10.0+20.0=30.0

程序的执行流程如下图所示:

图 1 程序的执行流程

声明:《C语言系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。