C 条件判断
判断语句要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)
C 语言把任何 非零 和 非空 的值假定为 true ,把 零 或 null 假定为 false
下面是大多数编程语言中典型的判断结构的一般形式
判断语句
C 语言提供下列 5种类型的判断语句
语句 | 描述 |
---|---|
if 语句 | 一个if 语句由一个布尔表达式后跟一个或多个语句组成 |
if...else 语句 | 一个if 语句后可跟一个可选的else 语句 else 语句在布尔表达式为假时执行 |
嵌套 if 语句 | 您可以在一个if或else if语句内使用另一个if或else if语句 |
switch 语句 | 一个switch语句允许测试一个变量等于多个值时的情况 |
嵌套 switch 语句 | 您可以在一个switch语句内使用另一个switch语句 |
? : 运算符(三元运算符)
我们在之前的 C 运算符 的 条件运算符 中其实已经提到了 ? :
三元运算符。
条件运算符 ? : 独特的语法,其实可以用来替代 if...else 语句
? :
语法格式如下
Exp1 ? Exp2 : Exp3;
Exp1
、Exp2
和 Exp3
是都是表达式。
注意: 冒号(:) 的使用和位置
?:
表达式的值是由 Exp1 决定的。
- 如果 Exp1 为真,则计算 Exp2 的值,结果即为整个 ? 表达式的值。
- 如果 Exp1 为假,则计算 Exp3 的值,结果即为整个 ? 表达式的值。
范例: 通过输入一个数字来判断它是否为奇数或偶数
/** * file: main.c * author: 简单教程(www.twle.cn) */ #include <stdio.h> int main() { int num; printf("这个程序用来判断你输入的数字是奇数还是偶数\n"); printf("请输入一个数字 : "); scanf("%d",&num); (num%2==0)?printf("偶数\n"):printf("奇数\n"); }
编译和运行上面的程序,输出结果如下
[root@localhost ~] gcc main.c && a.out 这个程序用来判断你输入的数字是奇数还是偶数 请输入一个数字 : 7 # 7 是我们输入的数字 奇数 [root@localhost ~] ./a.out 这个程序用来判断你输入的数字是奇数还是偶数 请输入一个数字 : 12 # 12 是我们输入的数字 偶数