深入解析C++中的switch case语句

switch case语句是C++中的一种流程控制语句,它通常用于多个选项的判断,可以使代码更加简洁和易读。在本篇文章中,我们将从多个方面对switch case语句进行详细的阐述。

一、switch case成绩

在学习switch case语句时,第一个经典的例子是计算成绩等级。以下是一个示例代码:

#include 

using namespace std;

int main()
{
    int score;
    cin >> score;
    switch(score/10)
    {
        case 10:
        case 9:
            cout << "A" << endl;
            break;
        case 8:
            cout << "B" << endl;
            break;
        case 7:
            cout << "C" << endl;
            break;
        case 6:
            cout << "D" << endl;
            break;
        default:
            cout << "E" << endl;
            break;
    }
    return 0;
}

这个例子中,我们通过输入成绩来判断成绩等级,并打印出对应的等级。通过这个例子,我们可以发现switch case语句的语法结构:

  1. 在括号中指定需要进行判断的变量或表达式;
  2. 在case语句中指定可能的情况;
  3. 在break语句中结束当前case语句;
  4. 在default语句中指定未匹配到任何case语句时的默认情况。

在这个例子中,我们使用了两个连续的case语句,这是因为当成绩等级为A或B时,我们需要输出相同的内容。

二、switch case成绩等级

在上一个例子中,我们已经展示了通过switch case语句实现成绩等级判断的方法,但实际上,我们还可以使用多个case语句来实现相同的效果。以下是一个相应的示例代码:

#include 

using namespace std;

int main()
{
    char grade;
    cin >> grade;
    switch(grade)
    {
        case 'A':
        case 'a':
            cout << "90~100" << endl;
            break;
        case 'B':
        case 'b':
            cout << "80~89" << endl;
            break;
        case 'C':
        case 'c':
            cout << "70~79" << endl;
            break;
        case 'D':
        case 'd':
            cout << "60~69" << endl;
            break;
        case 'E':
        case 'e':
            cout << "<60" << endl;
            break;
        default:
            cout << "Input error" << endl;
            break;
    }
    return 0;
}

在这个例子中,我们将大写字母和小写字母都视为同一个等级,并输出相应的分数段。这个例子展示了switch case语句对字符类型数据的支持。

三、switch case穿透

switch case穿透是指当我们没有在某个case语句中使用break语句时,程序会依次执行后面的语句直到遇到下一个break语句或整个switch case语句结束。以下是一个示例代码:

#include 

using namespace std;

int main()
{
    int x = 2;
    switch(x)
    {
        case 1:
            cout << "This is case 1" << endl;
        case 2:
            cout << "This is case 2" << endl;
        case 3:
            cout << "This is case 3" << endl;
            break;
        default:
            cout << "This is default" << endl;
            break;
    }
    return 0;
}

在这个例子中,当变量x的值为2时,程序会输出以下内容:

This is case 2
This is case 3

这是因为我们在case 2中没有使用break语句,所以程序会继续执行case 3的代码。这种现象被称为switch case穿透,我们可以通过在每个case语句中添加break语句来避免它。

四、switch casec语言

switch case语句最初是由C语言引入的,C++中的switch case语句支持了更多的数据类型,但其语法的基本结构和C语言是相同的。以下是一个C语言中的示例代码:

#include
int main()
{
    int x;
    scanf("%d",&x);
    switch(x)
    {
        case 1:
            printf("This is case 1\n");
        case 2:
            printf("This is case 2\n");
        case 3:
            printf("This is case 3\n");
            break;
        default:
            printf("This is default");
            break;
    }
    return 0;
}

与C++版本的switch case语句相比,C语言中的switch case语句更加简洁,但对变量的类型有所限制。在C语言中,变量必须是整型或字符型,而在C++中,变量可以是整型、字符型、枚举型、浮点型和指针类型等等。

五、switch case出不来

在使用switch case语句时,有时候会遇到无法输出正确结果的情况。这可能是因为我们没有在case语句中匹配上变量或者有多个case语句匹配了同一个情况的缘故。以下是一个示例代码:

#include 

using namespace std;

int main()
{
    int x = 2;
    switch(x)
    {
        case 1:
            cout << "This is case 1" << endl;
            break;
        case 2:
            cout << "This is case 2" << endl;
        case 3:
            cout << "This is case 3" << endl;
            break;
        default:
            cout << "This is default" << endl;
            break;
    }
    return 0;
}

在这个例子中,当变量x的值为2时,程序应该输出以下内容:

This is case 2
This is case 3

但实际上程序只会输出以下内容:

This is case 2
This is case 3

这是因为我们在case 2中没有使用break语句,所以程序会穿透到下一个case语句并执行它们的代码。为了避免这个问题,我们应该在case 2的末尾添加一个break语句,以结束这个case语句。

本文中,我们对C++中的switch case语句进行了详细的阐述,从语法结构到实例代码,希望读者能够通过本文对这个重要的流程控制语句有更深入的理解。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/286927.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-23 13:06
下一篇 2024-12-23 13:06

相关推荐

  • Python3支持多行语句

    Python3是一种高级编程语言,开发人员可以轻松地使用该语言编写简单到复杂的代码。其中Python3支持多行语句,方便开发人员编写复杂的代码,提高代码的可读性和可维护性。 一、使…

    编程 2025-04-29
  • Python for循环语句打印九九乘法表

    本篇文章将详细介绍如何使用Python的for循环语句打印九九乘法表。打印九九乘法表是我们初学Python时经常练习的一项基础操作,也是编写Python程序的基本能力之一。 1、基…

    编程 2025-04-29
  • Python中while语句和for语句的区别

    while语句和for语句是Python中两种常见的循环语句,它们都可以用于重复执行一段代码。然而,它们的语法和适用场景有所不同。本文将从多个方面详细阐述Python中while语…

    编程 2025-04-29
  • Python中自定义函数必须有return语句

    自定义函数是Python中最常见、最基本也是最重要的语句之一。在Python中,自定义函数必须有明确的返回值,即必须要有return语句。本篇文章将从以下几个方面对此进行详细阐述。…

    编程 2025-04-29
  • Python中升序排列的if语句

    本文将为大家介绍Python中升序排列的if语句。首先,我们来看一下如何实现。 if a > b: a, b = b, a if b > c: b, c = c, b …

    编程 2025-04-29
  • Python输出语句用法介绍

    Python作为一种高级编程语言,为编程带来了极大的便利和快捷。而输出语句则是Python编程中不可缺少的一部分,它能够让我们看到程序运行的结果、判断程序的正确性和优化程序等。本文…

    编程 2025-04-28
  • Python语句大全

    本文将详细阐述Python语句大全,并给出代码实例。 一、基本语句 Python基本语句包括赋值语句、条件语句、循环语句等,其中最基础的是赋值语句。如下: a = 1 b = 2 …

    编程 2025-04-28
  • Python同步赋值语句的使用方法和注意事项

    Python同步赋值语句是Python中用来同时为多个变量赋值的一种方法。通过这种方式,可以很方便地同时为多个变量赋值,从而提高代码的可读性和编写效率。下面从多个方面详细介绍Pyt…

    编程 2025-04-28
  • Python导入模块的语句

    Python是一种广泛使用的高级编程语言,它支持面向对象的编程方法,同时还有很多功能强大的内置库和第三方库。为了使用这些库,我们需要导入它们,本文将围绕Python导入模块的语句展…

    编程 2025-04-28
  • Python设置图形填充颜色为绿色的语句

    图形设计是计算机科学中一个重要的分支,而Python语言也是最受欢迎的图形设计语言之一。Python凭借其易用性和开源特性,赢得了很多开发者和程序员的青睐。本文将围绕如何设置Pyt…

    编程 2025-04-27

发表回复

登录后才能评论