c语言 switch函数

C语言中的switch语句是一种多分支选择结构,它根据一个表达式的值来选择执行相应的代码块,switch语句的语法如下:

c语言 switch函数
(图片来源网络,侵删)
switch (表达式) {
    case 常量1:
        // 当表达式的值等于常量1时,执行这里的代码
        break;
    case 常量2:
        // 当表达式的值等于常量2时,执行这里的代码
        break;
    // ... 更多的case分支
    default:
        // 当表达式的值不匹配任何case常量时,执行这里的代码
}

下面详细介绍如何使用switch语句:

1、声明并初始化变量

在switch语句中,我们需要一个表达式来作为判断条件,这个表达式可以是整型、字符型或枚举类型,我们可以声明一个整数变量num,并根据它的值来执行不同的操作。

int num = 3;

2、使用switch语句进行多分支选择

接下来,我们使用switch语句来判断num的值,并根据不同的情况执行不同的代码块,每个case后面跟着一个常量,表示当表达式的值等于这个常量时,执行对应的代码块,如果表达式的值不匹配任何case常量,那么将执行default后面的代码块,注意,每个case和default后面都需要加上break语句,用于跳出switch结构。

switch (num) {
    case 1:
        printf("数字是1
");
        break;
    case 2:
        printf("数字是2
");
        break;
    case 3:
        printf("数字是3
");
        break;
    default:
        printf("数字不是1、2、3
");
}

3、多个case可以共用同一个常量值

在switch语句中,多个case可以共用同一个常量值,在这种情况下,程序会从上到下依次执行这些case后面的代码块,直到遇到break语句或者switch结构结束。

switch (num) {
    case 1:
    case 3:
        printf("数字是1或3
");
        break;
    case 2:
        printf("数字是2
");
        break;
    default:
        printf("数字不是1、2、3
");
}

4、省略default分支

在某些情况下,我们可以省略default分支,当表达式的值不匹配任何case常量时,程序不会执行任何操作,为了避免潜在的错误,建议总是包含一个default分支。

switch (num) {
    case 1:
        printf("数字是1
");
        break;
    case 2:
        printf("数字是2
");
        break;
    case 3:
        printf("数字是3
");
        break;
}

5、switch语句中的变量声明和赋值可以在不同的地方进行,但必须在switch语句之前完成。

int num; // 声明变量num,但不赋值
scanf("%d", &num); // 从用户输入中读取num的值并赋值给num变量
switch (num) { // 使用已经赋值的num变量作为switch语句的判断条件
    // ... switch语句的内容 ...
}

6、switch语句中的表达式可以是字符型或枚举类型,但必须是整数类型(char、short、int、long)。

char ch = 'A'; // 声明并初始化字符变量ch为'A'(ASCII码为65)
switch (ch) { // 使用字符变量ch作为switch语句的判断条件(实际上比较的是ASCII码)
    // ... switch语句的内容 ...
}

“`ctypedef enum {RED, GREEN, BLUE} Color; // 定义枚举类型Color表示颜色,包括红色、绿色和蓝色三个值

Color color = RED; // 声明并初始化枚举变量color为红色(其值为0)

switch (color) { // 使用枚举变量color作为switch语句的判断条件(实际上比较的是枚举值)

// … switch语句的内容 …

 

原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/376851.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
酷盾叔订阅
上一篇 2024-03-23 08:29
下一篇 2024-03-23 08:30

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入