c语言编程笔录

首页 >   > 笔记大全

笔记大全

c语言中switch的用法是什么

更新时间:2023-12-21

第一段落:Switch语句基本用法

在C语言中,switch语句用于根据不同的条件值执行不同的代码块。其基本用法如下:

switch (expression) {
    case value1:
        // 执行代码块 1
        break;
    case value2:
        // 执行代码块 2
        break;
    ...
    default:
        // 执行默认代码块
}

其中,expression是一个表达式,value1、value2等是可选的case值,default是可选的默认情况。当expression的值与某个case值匹配时,执行对应的代码块,并跳出switch语句。

第二段落:Switch穿透现象

在C语言中,switch语句存在穿透现象。即当某个case的代码块执行完毕后,如果没有使用break语句,程序会继续执行下一个case的代码块,直到遇到break或switch结尾。

switch (expression) {
    case value1:
        // 执行代码块 1
    case value2:
        // 执行代码块 1和2
    ...
    default:
        // 执行默认代码块
}

为了避免穿透现象,通常在每个case的最后都会添加break语句。这样可以确保匹配的代码块执行后,程序跳出switch语句。

第三段落:Switch与枚举类型

在C语言中,switch语句常常与枚举类型一起使用。枚举类型是一种用户定义的类型,通过枚举常量进行编码。下面是一个使用switch和枚举类型的示例:

#include 

enum Day {
    MON,
    TUE,
    ...
    SUN
};

int main() {
    enum Day today=TUE;
    
    switch (today) {
        case MON:
            printf("今天是星期一\n");
            break;
        case TUE:
            printf("今天是星期二\n");
            break;
        ...
        case SUN:
            printf("今天是星期天\n");
            break;
    }
    
    return 0;
}

在上面的代码中,我们使用了枚举类型Day来表示星期几。根据today变量的值,输出对应的星期几信息。

第四段落:Switch与字符型变量

除了整数和枚举类型外,switch语句也可以用于字符型变量。在C语言中,字符型变量是以ASCII值进行存储和操作的。

#include 

int main() {
    char grade='A';
    
    switch (grade) {
        case 'A':
            printf("优秀\n");
            break;
        case 'B':
            printf("良好\n");
            break;
        ...
        default:
            printf("未知成绩\n");
    }
    
    return 0;
}

上面的代码中,我们使用字符型变量grade表示学生成绩等级。根据grade的值,输出对应的评价信息。