C++ switch语句从多个条件执行一个语句。 它就类似于在C++中的if-else-if
语句。
但switch语句通常比if ... else更快。另外,switch语句的语法更简洁,更易于理解。
C ++ switch ...case 语句语法
switch (n)
{
case constant1:
//如果n等于constant1,将执行的代码;
break;
case constant2:
//如果n等于constant2,将执行的代码;
break;
.
.
.
default:
// 如果n不匹配任何constant,将执行的代码
}
当找到与case表达式匹配的(constant1,constant2....constant)时,程序的控制权将传递给与该case关联的代码块。
在上述代码中,假设的值n等于constant2。编译器将执行与case语句关联的constant2代码块,直到switch块的末尾或遇到break语句为止。
break语句用于防止代码进入下一种情况。
switch...case语句流程图
上图显示了switch语句的工作方式,并在switch case子句中检查了条件。
示例:C ++ switch语句
// 程序使用switch语句构建一个简单的计算器
#include <iostream>
using namespace std;
int main()
{
char o;
float num1, num2;
cout << "输入一个运算符 (+, -, *, /): ";
cin >> o;
cout << "输入两个操作数: ";
cin >> num1 >> num2;
switch (o)
{
case '+':
cout << num1 << " + " << num2 << " = " << num1+num2;
break;
case '-':
cout << num1 << " - " << num2 << " = " << num1-num2;
break;
case '*':
cout << num1 << " * " << num2 << " = " << num1*num2;
break;
case '/':
cout << num1 << " / " << num2 << " = " << num1/num2;
break;
default:
// 运算符不匹配任何一个 (+, -, *, /)
cout << "错误! 运算符不正确";
break;
}
return 0;
}
输出结果
输入一个运算符 (+, -, *, /): +
-
输入两个操作数: 2.3
4.5
2.3 - 4.5 = -2.2
用户输入的 - 运算符存储在o变量中。而两个操作数2.3和4.5分别存储在变量num1和num2中。
然后,程序的控制跳转到
cout << num1 << " - " << num2 << " = " << num1-num2;
最后,break;语句结束了switch语句。
如果不使用break语句,则执行符合条件case后的所有case语句。