C++中 switch语句用法
时间: 2023-08-19 18:05:09 浏览: 51
在C++中,switch语句用于根据不同的条件执行不同的代码块。它的基本语法如下:
```
switch (表达式)
{
case 常量1:
// 执行当表达式等于常量1时的代码
break;
case 常量2:
// 执行当表达式等于常量2时的代码
break;
// 可以有更多的case语句
default:
// 当表达式不等于任何一个常量时执行的代码
break;
}
```
在switch语句中,表达式的值会与每个case后面的常量进行比较。如果匹配成功,执行对应case后面的代码块,直到遇到break语句或者switch语句结束。如果没有匹配成功的case,会执行default后面的代码块(如果有)。
需要注意的是,在每个case后面要加上break语句,否则程序会继续执行下一个case中的代码块,直到遇到break或者switch语句结束。如果没有break语句,会发生所谓的"case穿透"现象。
另外,case后面的常量可以是整数、字符或者枚举类型。从C++17开始,还可以使用字符串作为case的常量。但是浮点数和变量不能作为case的常量。
希望这些信息对你有所帮助!如果你有任何其他问题,请随时提问。
相关问题
c++switch语句用法
C++中的switch语句是一种多分支选择结构,它可以根据表达式的值跳转到匹配的case语句执行,如果没有匹配的case语句,则执行default语句。switch语句的基本语法如下:
```
switch(expression){
case constant-expression1:
statement(s);
break;
case constant-expression2:
statement(s);
break;
...
default:
statement(s);
}
```
其中,expression是一个常量表达式或者一个返回值为整型或枚举类型的表达式,case后面的constant-expression是一个常量表达式,statement(s)是要执行的语句,break语句用于跳出switch语句。
下面是两个简单的例子:
```
#include <iostream>
using namespace std;
int main() {
int x = 2;
switch(x){
case 1:
cout << "x is 1" << endl;
break;
case 2:
cout << "x is 2" << endl;
break;
default:
cout << "x is not 1 or 2" << endl;
break;
}
return 0;
}
```
```
#include <iostream>
using namespace std;
int main() {
int x = 1;
switch(x){
case 1:
cout << "x is 1" << endl;
case 2:
cout << "x is 2" << endl;
break;
default:
cout << "x is not 1 or 2" << endl;
break;
}
return 0;
}
```
第一个例子中,x的值为2,匹配到了case 2,输出"x is 2",然后跳出switch语句。第二个例子中,x的值为1,匹配到了case 1,输出"x is 1",然后继续执行下一个case语句,输出"x is 2",最后跳出switch语句。
C++ switch case语句
C++中的switch case语句是一种用于多分支选择的控制语句。它允许根据表达式的值选择不同的执行路径。
switch case语句的基本语法如下:
```cpp
switch (expression) {
case value1:
// 执行语句1
break;
case value2:
// 执行语句2
break;
case value3:
// 执行语句3
break;
...
default:
// 默认执行语句
break;
}
```
在这个语法中,expression是一个表达式,它的值将与每个case后面的value进行比较。如果匹配成功,则执行对应的语句块,并且使用break语句来跳出switch case语句。如果没有匹配成功,可以使用default关键字来执行默认的语句块。
需要注意的是,每个case后面的value必须是一个常量表达式,且不能重复。而且在每个case块中,如果没有使用break语句来跳出switch case语句,程序将会继续执行下一个case块,这种情况被称为"case穿透"。
以下是一个简单的示例,展示了switch case语句的用法:
```cpp
#include <iostream>
int main() {
int num = 2;
switch (num) {
case 1:
std::cout << "Number is 1" << std::endl;
break;
case 2:
std::cout << "Number is 2" << std::endl;
break;
case 3:
std::cout << "Number is 3" << std::endl;
break;
default:
std::cout << "Number is not 1, 2, or 3" << std::endl;
break;
}
return 0;
}
```
输出结果为:
```
Number is 2
```
在这个示例中,变量num的值为2,与case 2匹配成功,因此执行对应的语句块并输出结果。