C++ switch..case语句
提示
- switch语句的功能:C++中的
switch
语句允许从多个代码块中选择一个执行,基于一个表达式的值。 - 如何工作:
switch
语句首先评估表达式,然后将其与每个case
标签的值进行比较。如果匹配,执行相应的代码块,直到遇到break
语句。 - 与if...else if对比:虽然
switch
语句可以用if...else if
梯子实现相同功能,但switch
语法更清晰、易读写。
switch
语句允许我们在多个选择中执行一段代码。
C++ 中的 switch
语句语法是:
switch (expression) {
case constant1:
// 如果表达式等于 constant1,执行的代码
break;
case constant2:
// 如果表达式等于 constant2,执行的代码
break;
.
.
.
default:
// 如果表达式不匹配任何常量,执行的代码
}
switch 语句是如何工作的?
expression
一次评估并与每个 case
标签的值进行比较。
- 如果有匹配,执行相应标签后的代码。例如,如果变量的值等于
constant2
,则执行case constant2:
后的代码,直到遇到 break 语句。 - 如果没有匹配,执行
default:
后的代码。
注意:我们可以使用 if...else..if
梯形结构完成相同的事情。然而,switch
语句的语法更加清晰,易于阅读和编写。
switch 语句的流程图
示例:使用 switch 语句创建计算器
// 使用 switch 语句构建简单计算器的程序
#include <iostream>
using namespace std;
int main() {
char oper;
float num1, num2;
cout << "输入一个运算符 (+, -, *, /): ";
cin >> oper;
cout << "输入两个数字: " << endl;
cin >> num1 >> num2;
switch (oper) {
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;
}
输出 1
输入一个运算符 (+, -, *, /): +
输入两个数字:
2.3
4.5
2.3 + 4.5 = 6.8
输出 2
输入一个运算符 (+, -, *, /): -
输入两个数字:
2.3
4.5
2.3 - 4.5 = -2.2
输出 3
输入一个运算符 (+, -, *, /): *
输入两个数字:
2.3
4.5
2.3 * 4.5 = 10.35