C语言switch语句详解

C语言switch语句详解

简介

在C语言中,switch语句是一种多分支的选择结构,可以用来比对多个值,根据不同的值来执行对应的代码块。

语法

switch语句的基本语法如下:

switch(expression){
    case constant-expression1:
        statement(s);
        break;
    case constant-expression2:
        statement(s);
        break;
    ...
    default:
        statement(s);
        break;
}
  • expression:需要比对的表达式。
  • case constant-expression1 :需要比对的常量表达式。
  • statement(s):如果表达式与常量表达式相等,则执行的语句块。
  • break:用于结束所执行的语句块,并跳出switchSwitch语句,继续执行后面的语句。
  • default:当表达式与所有的 case 常量表达式都不相等时,执行的语句块。

示例

示例 1

以下是一个简单的 switch 语句的示例,根据变量 day 的值来判断星期几:

#include <stdio.h>
int main(){
    int day = 3;
    switch(day){
        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;
}

输出为:

星期三

示例 2

以下是一个选项菜单的示例,根据用户输入的选项执行相应的操作:

#include <stdio.h>
int main(){
    int choice;
    printf("========选项菜单========\n");
    printf("1. 添加\n");
    printf("2. 删除\n");
    printf("3. 修改\n");
    printf("4. 查询\n");
    printf("========================\n");
    printf("请输入选项:");
    scanf("%d", &choice);
    switch(choice){
        case 1:
            printf("执行添加操作\n");
            break;
        case 2:
            printf("执行删除操作\n");
            break;
        case 3:
            printf("执行修改操作\n");
            break;
        case 4:
            printf("执行查询操作\n");
            break;
        default:
            printf("输入的选项无效\n");
            break;
    }
    return 0;
}

输出为:

========选项菜单========
1. 添加
2. 删除
3. 修改
4. 查询
========================
请输入选项:2
执行删除操作

通过以上两个示例,我们可以看到 switch 语句比较适合用于多分支的选择结构,代码更加简洁易读。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言switch语句详解 - Python技术站

(0)
上一篇 2023年5月24日
下一篇 2023年5月24日

相关文章

  • Go 使用Unmarshal将json赋给struct出错的原因及解决

    问题描述 在使用Go语言的Unmarshal函数将json数据赋给struct时,可能会遇到一些出错的情况。 下面是一个例子: package main import ( "encoding/json" "fmt" ) type Person struct { Name string Age int } func ma…

    C 2023年5月23日
    00
  • c++实现LinkBlockedQueue的问题

    让我们来详细讲解“c++实现LinkBlockedQueue的问题”该如何解决。 首先,我们需要阅读题目并理解其中所涉及的术语。“LinkBlockedQueue”是一个队列类,其中“Link”指的是链表,“Blocked”指的是阻塞,即队列为空时,出队操作会一直阻塞等待直到队列中有元素可出队。 接下来,我们可以通过以下步骤实现LinkBlockedQueu…

    C 2023年5月23日
    00
  • VS2019中CMake项目如何指定c++语言标准

    对于VS2019中的CMake项目,指定C++语言标准分为以下两种情况: 针对某个特定的C++源文件指定语言标准 针对整个项目指定C++语言标准 以下是详细的操作步骤: 针对某个特定的C++源文件指定语言标准: (1) 在该C++源文件中添加以下语句: #SET(CMAKE_CXX_STANDARD 17) 以上语句的含义就是将这个C++源文件设为使用C++…

    C 2023年5月23日
    00
  • php post json参数的传递和接收处理方法

    如果我们需要通过POST方式传递JSON参数,可以使用PHP的file_get_contents()函数和json_decode()函数来处理接收到的参数。下面是具体的步骤和示例代码: 传递JSON参数 首先,需要在前端将JSON对象转换成JSON字符串,并使用AJAX请求将JSON字符串发送到后台。 示例代码: var data = {name: ‘tom…

    C 2023年5月23日
    00
  • C++强制类型转换(static_cast、dynamic_cast、const_cast、reinterpret_cast)

    下面是关于C++中四种强制类型转换的攻略。 1. static_cast static_cast是安全的类型转换,主要用于基本数据类型之间的转换,还可以在继承类之间进行类型转换。它可以将一个值从一种数值类型转换为另一种数值类型或提升或降低算术类型的类型。在用于指针时,可以将任何类型的指针转换为void指针,也可以将void指针转换为任何类型的指针。但是,它不…

    C 2023年5月23日
    00
  • Json对象与Json字符串互转(4种转换方式)

    Json对象与Json字符串的互转是前端开发中经常遇到的问题,本文将介绍4种不同的转换方式。 1. 通过JSON.stringify()将JSON对象转换为JSON字符串 使用 JSON.stringify() 方法可以将一个 JSON 对象转换成 JSON 字符串。这种转换方式可以将一个 JavaScript 对象转换为 JSON 字符串,并可以对该字符串…

    C 2023年5月22日
    00
  • 解决@Transactional注解事务不回滚不起作用的问题

    解决@Transactional注解事务不回滚不起作用的问题的详细攻略如下: 问题描述 在进行数据库操作时,我们通常会使用@Transactional注解来保证事务的原子性,但在使用过程中可能会出现事务不回滚不起作用的问题,导致数据一旦出现异常就无法恢复。这种情况通常是因为注解失效或者配置不正确导致的。 解决方案 1. 配置文件中开启事务管理器 我们可以在配…

    C 2023年5月23日
    00
  • C指针地址操作

    C语言中的指针是程序中最重要的基础数据类型,常用来操作变量所在的内存地址。指针的值是一个地址,指向内存中存储的某个值。通过C指针地址操作,我们可以对这些内存地址进行增、减、赋值等操作。 取地址运算符& 我们使用取地址运算符&可以获取变量在内存中的地址,例如: int a = 10; // 先定义一个整型变量a int *p = &a;…

    C 2023年5月9日
    00
合作推广
合作推广
分享本页
返回顶部