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日

相关文章

  • 详解javascript对数组和json数组的操作

    下面是详解 JavaScript 对数组和 JSON 数组的操作的完整攻略。 JavaScript 数组操作 声明和初始化数组 JavaScript 中声明和初始化一个数组可以使用以下方式: // 声明空数组 var arr = []; // 声明同时初始化数组 var arr = [1, 2, 3]; // 使用 Array 构造函数声明和初始化数组 va…

    C 2023年5月23日
    00
  • 逍遥自在学C语言 | 位运算符^的高级用法

    前言 在上一篇文章中,我们介绍了|运算符的高级用法,本篇文章,我们将介绍^ 运算符的一些高级用法。 一、人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。 二、交换两个变量的值 #include <stdio.h> int main() { int a = 10; in…

    C语言 2023年4月17日
    00
  • C/C++中退出线程的四种解决方法

    下面是关于C/C++中退出线程的四种解决方法的详细攻略: 1. 线程函数自行退出 最常用的方法是让线程函数自行退出,这可以通过return语句或pthread_exit函数来实现。在函数执行完毕后,线程会自动退出并等待被回收。示例代码如下: #include <stdio.h> #include <pthread.h> void *t…

    C 2023年5月22日
    00
  • c++如何实现归并两个有序链表

    当需要将两个有序链表归并为一个有序链表时,最有效的算法是使用一个指针从头到尾遍历两个链表,并按顺序选择节点,将其添加到新链表。我们可以使用递归或迭代方式实现。 以下是使用c++迭代的实现方法: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { // 判断两个链表是否为空 if(l1 == nullpt…

    C 2023年5月23日
    00
  • 浅析操作系统中的虚拟地址与物理地址

    浅析操作系统中的虚拟地址与物理地址 什么是虚拟地址与物理地址 在操作系统中,虚拟地址与物理地址是指计算机在执行程序时,CPU所看到的地址与实际存在于内存中的地址。 虚拟地址是程序使用的地址空间,是指编译器在编译程序的时候生成的地址空间,每个程序都有自己的虚拟地址空间。 物理地址则是实际在内存中的地址空间,是指计算机硬件所使用的地址空间,操作系统运行时,使用虚…

    C 2023年5月23日
    00
  • C++ 中lambda表达式的编译器实现原理

    我来详细讲解一下”C++中lambda表达式的编译器实现原理”的攻略。 什么是Lambda表达式 首先你需要了解什么是Lambda表达式。Lambda表达式是C++11引入的一个新特性,它可以用来创建匿名函数对象。Lambda表达式可以在任何需要函数对象的地方调用,如STL中的算法函数、标准库函数、GUI程序中的事件处理函数等等。 C++11引入Lambda…

    C 2023年5月23日
    00
  • Win8.1系统打开应用程序提示错误代码0xc000007b的解决方法

    针对Win8.1系统打开应用程序提示错误代码0xc000007b的问题,以下是完整攻略的步骤说明: 步骤一:检查系统文件 打开电脑的命令提示符:在桌面空白处单击鼠标右键,选择“新建”-“快捷方式”; 在快捷方式的文本框中输入“cmd.exe”,点击“下一步”; 输入“命令提示符”作为快捷方式的名称,点击“完成”; 右键单击刚刚创建的“命令提示符”快捷方式,选…

    C 2023年5月24日
    00
  • C语言模拟实现扫雷游戏

    C语言模拟实现扫雷游戏攻略 准备工作 在开始写代码之前,需要明确目标,并安装相关的开发环境。 目标 扫雷游戏是一个简单的窗口小程序,目标是在游戏窗口中展示一张地图,其中地图上有若干个格子,有些格子下面有地雷,有些格子是安全的。玩家需要用鼠标找出所有安全的格子,同时躲避所有的地雷。玩家在找到所有的安全格子之前不允许触碰到地雷,否则游戏结束。 开发环境 为了实现…

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