C++ switch语句

C++ switch语句

switch语句允许对一个变量进行等值测试,以匹配一个值列表。每个值被称为一个case,被检查的变量会与每个case进行比较。

语法

C++中switch语句的语法如下所示−

switch(expression) {
   case constant-expression  :
      statement(s);
      break; //optional
   case constant-expression  :
      statement(s);
      break; //optional

   // you can have any number of case statements.
   default : //Optional
      statement(s);
}

以下规则适用于switch语句:

  • 在switch语句中使用的表达式必须具有整数或枚举类型,或者是一个类类型,该类具有到整数或枚举类型的单个转换函数。

  • 在switch中可以有任意数量的case语句。每个case后面跟着要比较的值和一个冒号。

  • case的常量表达式必须与switch中的变量具有相同的数据类型,并且必须是一个常量或字面值。

  • 当被switch的变量等于一个case时,跟随该case的语句将执行,直到遇到break语句。

  • 当遇到break语句时,switch终止,控制流跳到switch语句后面的下一行。

  • 不是每个case都需要包含break。如果没有break出现,控制流会顺序执行后续的case,直到遇到break。

  • switch语句可以有一个可选的default case,该case必须出现在switch的最后。默认情况下可以执行一个任务,当没有任何case为真时。在默认情况下不需要使用break。

流程图

C++ switch语句

示例

#include <iostream>
using namespace std;

int main () {
   // local variable declaration:
   char grade = 'D';

   switch(grade) {
      case 'A' :
         cout << "Excellent!" << endl; 
         break;
      case 'B' :
      case 'C' :
         cout << "Well done" << endl;
         break;
      case 'D' :
         cout << "You passed" << endl;
         break;
      case 'F' :
         cout << "Better try again" << endl;
         break;
      default :
         cout << "Invalid grade" << endl;
   }
   cout << "Your grade is " << grade << endl;

   return 0;
}

这将产生以下结果−

You passed
Your grade is D

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程