分支语句

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;