关系操作符
> ⼤于运算符
< ⼩于运算符
>= ⼤于等于运算符
<= ⼩于等于运算符
== 相等运算符
!= 不相等运算符
下⾯是⼀些例⼦。
1 a == b;
2 a != b;
3 a < b;
4 a > b;
5 a <= b;
6 a >= b;
关系表达式通常返回 0 或 1 ,表⽰真假。
C 语⾔中, 0 表⽰假,所有⾮零值表⽰真。⽐如, 20 > 12 返回 1 , 12 > 20 返回 0 。
关系表达式常⽤于 if 或 while 结构。
1 if (x == 3) {
2 printf("x is 3.\n");
3 }
注意:相等运算符 == 与赋值运算符 = 是两个不⼀样的运算符,不要混淆。有时候,可能会不⼩⼼写出下⾯的代码,它可以运⾏,但很容易出现意料之外的结果。
1 if (x = 3) ...
上⾯⽰例中,原意是 x == 3 ,但是不⼩⼼写成 x = 3 。这个式⼦表⽰对变量 x 赋值 3 ,它的返
回值为 3 ,所以 if 判断总是为真。
为了防⽌出现这种错误,有的程序员喜欢将变量写在等号的右边。
1 if (3 == x) ...
1 /* 报错 */
2 if (3 = x) ...
1 i < j < k
1 (i < j) < k
1 i < j && j < k
1 #include <stdio.h>
2 int main()
3 {
4 int age = 0;
5 scanf("%d", &age);
6 if(18<=age<=36)
7 {
8 printf("⻘年\n");
9 }
10 return 0;
11 }

1 #include <stdio.h>
2 int main()
3 {
4 int age = 0;
5 scanf("%d", &age);
6 if(age>=18 && age<=36)
7 {
8 printf("⻘年\n");
9 }
10 return 0;
11 }
条件操作符
1 exp1 ? exp2 : exp3
1 #include <stdio.h>
2 int main()
3 {
4 int a = 0;
5 int b = 0;
6 scanf("%d", &a);
7 if (a > 5)
8 b = 3;
9 else
10 b = -3;
11 printf("%d\n", b);
12 return 0;
13 }
14 改造后:
15 #include <stdio.h>
16 int main()
17 {
18 int a = 0;
19 int b = 0;
20 scanf("%d", &a);
21 b = a>5 ? 3:-3;
22 printf("%d\n", b);
23 return 0;
24 }
1 #include <stdio.h>
2
3 int main()
4 {
5 int a = 0;
6 int b = 0;
7 scanf("%d %d", &a, &b);
8 int m = a>b ? a : b;
9 printf("%d\n", m);
10 return 0;
11 }