- C++ 基础
- C++ 首页
- C++ 概述
- C++ 环境设置
- C++ 基本语法
- C++ 注释
- C++ Hello World
- C++ 省略命名空间
- C++ 常量/字面量
- C++ 关键字
- C++ 标识符
- C++ 数据类型
- C++ 数值数据类型
- C++ 字符数据类型
- C++ 布尔数据类型
- C++ 变量类型
- C++ 变量作用域
- C++ 多个变量
- C++ 基本输入/输出
- C++ 修饰符类型
- C++ 存储类
- C++ 运算符
- C++ 数字
- C++ 枚举
- C++ 引用
- C++ 日期和时间
- C++ 控制语句
- C++ 决策机制
- C++ if 语句
- C++ if else 语句
- C++ 嵌套 if 语句
- C++ switch 语句
- C++ 嵌套 switch 语句
- C++ 循环类型
- C++ while 循环
- C++ for 循环
- C++ do while 循环
- C++ foreach 循环
- C++ 嵌套循环
- C++ break 语句
- C++ continue 语句
- C++ goto 语句
- C++ 构造函数
- C++ 构造函数和析构函数
- C++ 复制构造函数
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 中变量的数据类型相同,并且必须是常量或字面量。
当正在切换的变量等于某个 case 时,该 case 后面的语句将执行,直到遇到break 语句。
遇到 break 语句时,switch 终止,控制流跳转到 switch 语句后面的下一行。
并非每个 case 都需要包含 break。如果没有 break,控制流将贯穿后续的 case,直到遇到 break。
switch 语句可以有一个可选的default case,它必须出现在 switch 的末尾。default case 可用于在没有 case 为 true 时执行任务。default case 中不需要 break。
流程图
示例
#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
广告