1. if 语句
C++
中 if
语句的语法:
if (boolean_expression)
{
// 如果布尔表达式为真将执行的语句
}
如果布尔表达式为 true
,则 if
语句内的代码块将被执行。如果布尔表达式为 false
,则 if
语句结束后的第一组代码(闭括号后)将被执行。
C++
语言把任何非零和非空的值假定为 true
,把零或 null
假定为 false
。因此,在条件语句中,只要表达式的结果不为零(负数或正数),就被视为结果为 true
。
2. if … else 语句
C++
中 if ... else
语句的语法:
if (boolean_expression)
{
// 如果布尔表达式为真将执行的语句
}
else
{
// 如果布尔表达式为假将执行的语句
}
3. if…else if…else 语句
一个 if
语句后可跟一个可选的 else if...else
语句,这可用于测试多种条件。当使用 if...else if...else
语句时,以下几点需要注意:
- 一个
if
后可跟零个或一个else
,else
必须在所有else if
之后; - 一个
if
后可跟零个或多个else if
,else if
必须在else
之前; - 一旦某个
else if
匹配成功,其他的else if
或else
将不会被执行;
C++
中的 if...else if...else
语句的语法:
if (boolean_expression 1)
{
// 当布尔表达式 1 为真时执行
}
else if ( boolean_expression 2)
{
// 当布尔表达式 2 为真时执行
}
else if ( boolean_expression 3)
{
// 当布尔表达式 3 为真时执行
}
else
{
// 当上面条件都不为真时执行
}
4. 嵌套 if
C++
中 嵌套 if
语句的语法:
if (boolean_expression 1)
{
// 当布尔表达式 1 为真时执行
if (boolean_expression 2)
{
// 当布尔表达式 2 为真时执行
}
}
5. switch 语句
一个 switch
语句允许测试一个变量等于多个值时的情况。每个值称为一个 case
,且被测试的变量会对每个 switch case
进行检查。
C++
中 switch
语句的语法:
switch (expression) {
case constant-expression :
statement(s);
break; // 可选的
case constant-expression :
statement(s);
break; // 可选的
// 可以有任意数量的 case 语句
default : // 可选的
statement(s);
}
switch
语句必须遵循下面的规则:
switch
语句中的expression
必须是一个整型或枚举类型,或者是一个class
类型,其中class
有一个单一的转换函数将其转换为整型或枚举类型。- 在一个
switch
中可以有任意数量的case
语句。每个case
后跟一个要比较的值和一个冒号:
。 case
的constant-expression
必须与switch
中的变量具有相同的数据类型,且必须是一个常量或字面量。- 当被测试的变量等于
case
中的常量时,case
后跟的语句将被执行,直到遇到break
语句为止。 - 当遇到
break
语句时,switch
终止,控制流将跳转到switch
语句后的下一行。 - 不是每一个
case
都需要包含break
。如果case
语句不包含break
,控制流将会继续后续的case
,直到遇到break
为止。 - 一个
switch
语句可以有一个可选的default case
,出现在switch
的结尾。default case
可用于在上面所有case
都不为真时执行一个任务。default case
中的break
语句不是必需的。
6. 三目运算符
三目运算符也叫作条件运算符,它的一般形式如下:
Exp1 ? Exp2 : Exp3;
其中, Exp1
、 Exp2
和 Exp3
是表达式。请注意,冒号的使用和位置。?
表达式的值是由 Exp1
决定的。
- 如果
Exp1
为真,则计算Exp2
的值,结果作为整个 ? 表达式的值; - 如果
Exp1
为假,则计算Exp3
的值,结果作为整个 ? 表达式的值;