C++中的Switch语句

时间:2020-02-23 14:30:07  来源:igfitidea点击:

C++中的Switch语句用作控制语句,并从一组条件中选择特定的匹配条件。

这些语句很容易替代单调的if-else语句。

它从代码中的所有块中选择一个带有匹配大小写标签的块。

当我们有一组多个条件并且用户需要根据匹配条件选择其中一个条件时,switch语句会很有用。

语法:

switch(expression/condition) {
case constant_value1:
  //statements
  break;
case constant_value2:
  //statements
  break;
 .
 .
case constant_valueN:
  //statements
  break;
default:
  //statements
}

C++中的switch语句的工作

开关盒

switch语句根据用户输入的表达式来检查匹配项。

编译器一旦遇到表达式,便会搜索带有大小写标签的表达式的匹配值。

如果找到匹配项,则执行与匹配的案例标签关联的特定块中的代码。

因此,仅在找到匹配项后才考虑switch语句。

" break"关键字的意义

一旦找到与case标签匹配的内容,就会执行break语句。

break语句在语句之后终止块中代码的执行,并从switch语句中获取执行点。

因此,它忽略并终止了其余代码的执行,并退出了switch语句。

"default"关键字的意义

如果找不到匹配的大小写标签,则default关键字负责执行代码段。

在switch语句中为案例标签选择数据类型

  • C++中switch语句的case标签的数据类型可以是整数或者字符类型。

  • case标签可以是一个常量变量或者一个常量表达式。

要记住的要点

  • 大小写标签可以是整数,短,长或者字符数据类型。

  • switch语句不支持浮点型或者双精度型大小写标签。

  • 表达式的数据类型和大小写标签必须相同。

  • 案例标签不能是表达式或者变量。
    它可以是整数值,例如1、2、3等,也可以是诸如" A"," w"之类的字符。

  • 重复的案例标签值显示为错误,因此是不允许的。

  • 默认语句是完全可选的,不会影响切换案例的执行流程。

  • 写入开关格标签上方的任何语句都不会执行。

  • 默认语句的位置不影响执行,可以放置在代码中的任何位置。

了解C++中的开关情况

例:

# include <iostream>
using namespace std;
int main()
{
  char choice;
  float input1, input2;
  cout << "Enter the input values:\n";
  cin >> input1;
  cin >> input2;
  cout << "Choose the operation to be performed from (+, -, *, /) : ";
  cin >> choice;
  switch(choice) #expression
  {
      case '+': # case-label
          cout << "Performing Addition operation on the input values..\n";
          cout << input1+input2;
          break;
          
      case '-':
          cout << "Performing Subtraction operation on the input values..\n";
          cout << input1-input2;
          break;
          
      case '*':
          cout << "Performing Multiplication operation on the input values..\n";
          cout << input1*input2;
          break;
          
      case '/':
          cout << "Performing Division operation on the input values..\n";
          cout << input1/input2;
          break;
          
      default:
          
          cout << "Choose the correct operation to be performed.";
         
  }
  return 0;
}

输出:

Enter the input values:
10
10
Choose the operation to be performed from (+, -, *, /) : /
Performing Division operation on the input values..
1

在以上代码段中,输入操作为除法(/)。
因此,表达式(输入)检查匹配的大小写标签。

一旦遇到匹配,控制执行流程就会转移到特定的块并执行除法运算。