C语言switch 语句的用法详解

C语言switch语句的用法详解

什么是switch语句?

switch语句是一种用于对变量或表达式进行多路分支的语句,它会根据指定的表达式的值来执行相应的语句代码块。

switch语句通常被用于与if语句类似的场合,但是switch语句通常更加简洁明了。其基本格式如下:

switch(expression)
{
    case constant1:
        /* statement(s) */
        break;
    case constant2:
        /* statement(s) */
        break;
    case constant3:
        /* statement(s) */
        break;
    /* 以此类推,可以有任意多个case */
    default:
        /* statement(s) */
}

以上代码中,expression表示要进行判断的表达式或变量,constant1、constant2等表示该表达式或变量可能的取值,case保留字用来判断表达式或变量的取值是否与某种情况匹配。

switch语句的执行过程

当程序执行到switch语句时,首先计算表达式的值,然后将这个值与每个case后面的取值进行比较,如果匹配成功,则执行该case后面的语句,否则继续匹配下一个case,如果最终没有匹配成功,则执行default后面的语句。

需要注意的是,每个case后面必须要有一个break语句,否则会出现“穿透”现象,即无论表达式或变量的取值与哪个case匹配成功,后面所有的case语句都会被执行,直到遇到break语句为止。

switch语句的示例

示例1:判断成绩等级

#include <stdio.h>

int main(void)
{
    int score = 85;
    char grade;

    switch(score / 10)
    {
        case 10:
        case 9:
            grade = 'A';
            break;
        case 8:
            grade = 'B';
            break;
        case 7:
            grade = 'C';
            break;
        case 6:
            grade = 'D';
            break;
        default:
            grade = 'E';
            break;
    }

    printf("你的成绩等级为:%c\n", grade);

    return 0;
}

以上代码中,我们通过计算score和10的商来判断成绩等级。如果score的取值为85,则score/10的值为8,因此程序会执行case 8后面的语句,grade的取值为'B'。

示例2:判断月份天数

#include <stdio.h>

int main(void)
{
    int month = 2;
    int days;

    switch(month)
    {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            days = 31;
            break;
        case 4:
        case 6:
        case 9:
        case 11:
            days = 30;
            break;
        case 2:
            days = 28;
            break;
        default:
            printf("您输入的月份不正确\n");
            return 0;
    }

    printf("%d月的天数为:%d\n", month, days);

    return 0;
}

以上代码中,我们利用switch语句来根据月份判断该月的天数。如果month的取值为2,则程序会执行case 2后面的语句,days的取值为28。

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

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • 升级iOS16后没有开发者模式怎么办 iOS16打开开发者模式方法

    接下来我将为您详细讲解如何在升级iOS 16后打开开发者模式以及如何使用该模式进行开发。具体步骤如下: 1. 打开“设置”应用 首先,在iPhone、iPad或iPod touch设备的主屏幕上找到并打开“设置”应用。 2. 找到“关于本机”选项 在“设置”应用的顶部,您应该可以看到名为“[您的设备名称]”的选项。请点击进入,并向下滑动页面,找到“关于本机”…

    other 2023年6月26日
    00
  • C++ explicit关键字讲解

    C++ explicit关键字讲解 一、explicit关键字的定义 explicit 关键字被设计用来防止由编译器隐式执行的自动类型转换。当我们在类中声明构造函数时使用了关键字 explicit,编译器在初始化时不会自动转换参数类型,需要我们在构造函数中显式的进行转换。该关键字只能用于一个参数的构造函数,当构造函数需要多个参数时,不需要使用这个关键字,因为…

    other 2023年6月26日
    00
  • Java初学之继承与多态

    Java初学者进阶继承与多态实践攻略由以下几部分组成: 1. 概述 继承是Java中面向对象编程的重要内容之一,它允许我们通过建立一个类,来从已有的类中继承操作。继承这个概念被称为是” is-a”,即继承法则。多态同样也是一个重要的概念,它允许我们使用同一个符号或者接口来处理不同的对象,从而使得我们可以编写具有可扩展性和灵活性的系统。注意:在使用继承的时候,…

    other 2023年6月26日
    00
  • 【WPF】无边框窗体

    【WPF】无边框窗体 WPF是Windows Presentation Foundation的简称,是Microsoft公司提供的一项界面技术。使用WPF可以创建出非常漂亮的应用程序界面,而其中一个重要的功能就是无边框窗体。 无边框窗体可以让我们的应用程序看起来更加美观,而且可以自由的设计窗体的样式,比如说我们可以将窗体改成圆角的形状,或者是添加一张图片作为…

    其他 2023年3月28日
    00
  • sqlserver计算时间差datediff函数

    简介 在SQL Server中,我们可以使用DATEDIFF函数来计算两个日期之间的时间差。该函数返回两个日期之间的时间差,以指定的时间单位表示。在本攻略中,我们将介绍如何使用DATEDIFF函数计算时间差。 语法 以下是DATEDIFF函数的语法: DATEDIFF ( datepart , startdate , enddate ) 其中,datepar…

    other 2023年5月6日
    00
  • lambda去重合并

    简介 在Python中,我们可以使用lambda函数和set集合来去重合并列表。lambda函数是一种匿名函数,可以用于简化代码。set集合是一种无序且不重复的数据类型,可以用于重。 在本攻略中,我们将介绍如何使用lambda函数和set集合去重合并列表,并提供两个示例说明。 步骤 以下是使用lambda函数和set集合去重合并列表的步骤。 步骤1:定义la…

    other 2023年5月6日
    00
  • 右键菜单中添加打开MS-DOS的批处理bat

    添加“打开MS-DOS的批处理bat”到右键菜单可以方便地在任何文件夹上启动命令提示符窗口,以进行各种系统管理和命令操作。 以下是完整攻略: 第一步:创建批处理脚本 首先,需要创建一个批处理脚本,用于打开MS-DOS。在任何文本编辑器中,创建一个新文件,将以下代码复制并粘贴: @echo off start cmd.exe 然后将文件另存为“OpenMSDO…

    other 2023年6月27日
    00
  • ffplay常用命令

    ffplay常用命令 ffplay是FFmpeg项目中的一个简单的多媒体播放器,支持大多数视频和音频格式,具有丰富的功能和灵活的参数设置。在FFmpeg的安装目录下,可以找到ffplay的可执行文件。 以下是一些常用的ffplay命令和参数: 基本操作 播放文件 ffplay [filename] 将会打开一个窗口播放指定的媒体文件。 暂停/继续播放 在播放…

    其他 2023年3月28日
    00
合作推广
合作推广
分享本页
返回顶部