判断语句
C 语言提供了以下类型的判断语句。
语句 | 描述 |
---|---|
if 语句 | 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。 |
if...else 语句 | 一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。 |
嵌套 if 语句 | 您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。 |
switch 语句 | 一个 switch 语句允许测试一个变量等于多个值时的情况。 |
嵌套 switch 语句 | 您可以在一个 switch 语句内使用另一个 switch 语句。 |
if语句有以下几种形式:
- if语句
if (条件) {
// 条件为真时执行的代码
}
- if-else语句
if (条件) {
// 条件为真时执行的代码
} else {
// 条件为假时执行的代码
}
- if-else if-else语句
if (条件1) {
// 条件1为真时执行的代码
} else if (条件2) {
// 条件1为假且条件2为真时执行的代码
} else {
// 条件1和条件2都为假时执行的代码
}
- 嵌套if语句
if (条件1) {
// 条件1为真时执行的代码
if (条件2) {
// 条件1和条件2都为真时执行的代码
}
}
以上是if语句的常见形式,根据具体的需求可以根据上述形式进行组合和嵌套。
switch语句一般形式:
switch(表达式) { case 常量表达式1:语句1; case 常量表达式2:语句2; ... default:语句n+1; }
意思是先计算表达式的值,再逐个和 case 后的常量表达式比较,若不等则继续往下比较,若一直不等,则执行 default 后的语句;若等于某一个常量表达式,则从这个表达式后的语句开始执行,并执行后面所有 case 后的语句。
与 if 语句的不同:if 语句中若判断为真则只执行这个判断后的语句,执行完就跳出 if 语句,不会执行其他 if 语句;而 switch 语句不会在执行判断为真后的语句之后跳出循环,而是继续执行后面所有 case 语句。在每一 case 语句之后增加 break 语句,使每一次执行之后均可跳出 switch 语句,从而避免输出不应有的结果。
? : 运算符(三元运算符)
三元运算符可以用来替代 if...else 语句。它的一般形式如下:
Exp1 ? Exp2 : Exp3;
其中,Exp1、Exp2 和 Exp3 是表达式。请注意,冒号的使用和位置。
? 表达式的值是由 Exp1 决定的。如果 Exp1 为真,则计算 Exp2 的值,结果即为整个表达式的值。如果 Exp1 为假,则计算 Exp3 的值,结果即为整个表达式的值。