21xrx.com
2024-11-22 03:50:26 Friday
登录
文章检索 我的文章 写文章
C++中的switch语句用法详解
2023-07-13 10:03:28 深夜i     --     --
C++ switch语句 用法详解

C++中的switch语句是一种非常有用的流控制结构,它可以根据不同的情况执行不同的代码块。在很多情况下,使用switch语句比使用一堆if-else语句更加清晰、简洁。

switch语句的基本语法如下:


switch(expression)

  case constant1:

    // code block

    break;

  case constant2:

    // code block

    break;

  ...

  default:

    // code block

其中,expression是一个表达式,常见的类型包括整数类型、字符类型和枚举类型等;case后面跟的是常量,用来匹配expression的值;break语句表示跳出switch语句的执行,如果没有break语句,代码将会继续执行下去,直到遇到break或者整个switch语句结束;default语句块是可选的,当所有的case都不匹配时,将执行default语句块。

下面是一个简单的例子:


int day = 4;

switch (day)

  case 1:

    cout << "Monday" << endl;

    break;

  case 2:

    cout << "Tuesday" << endl;

    break;

  case 3:

    cout << "Wednesday" << endl;

    break;

  case 4:

    cout << "Thursday" << endl;

    break;

  case 5:

    cout << "Friday" << endl;

    break;

  case 6:

    cout << "Saturday" << endl;

    break;

  case 7:

    cout << "Sunday" << endl;

    break;

  default:

    cout << "Invalid day" << endl;

    break;

上面的代码将根据day的值输出相应的星期几。如果day的值不在1到7之间,将输出“Invalid day”。

注意:case后面的常量必须是一个编译时常量,不能是变量或表达式,否则将会编译错误。

除了常量,switch语句还可以使用枚举类型的值作为case后面的常量,这样可以提高程序的可读性和可维护性:


enum Color

  Red;

Color color = Green;

switch (color)

  case Red:

    cout << "Red color" << endl;

    break;

  case Green:

    cout << "Green color" << endl;

    break;

  case Blue:

    cout << "Blue color" << endl;

    break;

  default:

    cout << "Invalid color" << endl;

    break;

上面的代码使用了枚举类型Color来表示颜色,根据不同的颜色输出相应的信息。如果color的值不是Red、Green或Blue,将输出“Invalid color”。

总之,使用switch语句可以使程序更加简洁、清晰、易读,特别是在处理多个常量值时,可读性和可维护性更加优秀。但是需要注意的是,switch语句不能替代if-else语句,在处理不同的情况时,需要根据具体情况选择适合的语句。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复