分支语句
C++中的分支语句有两种:if
系列语句和switch
系列语句。
if
语句
if 语句用于对指定表达式进行判断,之后决定后续语句块是否执行,其格式为:
if (判断条件) {
为真时执行语句块;
} else {
为假时执行语句块;
}
if 语句可以叠加来执行多种判断,格式为:
if (判断条件1) {
条件1为真时执行语句块;
} else if (判断条件2) {
条件2为真时执行语句块;
} else {
条件2为假时执行语句块;
}
switch
语句
switch 语句用于对指定的表达式进行测试,根据其可能的值进行分支执行。格式为:
switch (表达式) {
case 常量:
语句块1;
break;
case 常量:
语句块2;
break;
default:
以上均不匹配时执行的语句块;
}
switch 语句中的 case 语句的数量没有限制,但是要注意其中 break 语句,缺少 break 语句时,switch 语句将继续向后执行代码而不是终止执行。
在 C++11 中,switch 语句中各个分支的常量可以直接使用字符串了,这在 C++11 之前的标准中是不可以的。
三元操作符
根据一个表达式的值来二选一返回一个值,通常可以使用if...else...
来完成,但是 C++提供了一个三元操作符来编写的完成这个选择功能,以下两段代码是等价的。
int a, b=20;
// 使用if...else...实现
if (b >= 10) {
a = 10
} else {
a = 20
}
// 使用三元操作符实现
a = b >= 10 ? 10 : 20;