逍遥自在学C语言 | 关系运算符
前言

一、人物简介
- 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。

- 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。

二、构成和表示方式
- 关系运算符的作用是判断符号两边大小的关系
- C语言中的关系运算符主要有六个,如下表所示
| 运算符 | 名称 | 示例 | 描述 |
|---|---|---|---|
| == | 等于 | a == b | 判断a是否等于b |
| != | 不等于 | a != b | 判断a是否不等于b |
| > | 大于 | a > b | 判断a是否大于b |
| < | 小于 | a < b | 判断a是否小于b |
| >= | 大于等于 | a >= b | 判断a是否大于等于b |
| <= | 小于等于 | a <= b | 判断a是否小于等于b |
- 关系运算符的两边可以是变量、数值 或 表达式
?? 变量
a > b
a <= b
?? 数值
5 > 3
20 == a
?? 表达式
a+b > c
a-b <= 6
三、关系运算符的应用
1、运算结果
关系运算符的运算结果为0或者1
-
当条件成立时结果为 1,条件不成立结果则为 0。
-
实例演示
#include <stdio.h>
int main() {
printf("11 > 2 结果为%d\n", 11 > 2);
printf("9 < 3 结果为%d\n", 9 < 3);
return 0;
}
- 运行结果

2、运算符嵌套
-
关系运算符是允许嵌套使用的,运算的结果可以继续作为关系运算符的一个参数
-
同优先级的关系运算符结合律是从左往右的。

- 实例演示
#include <stdio.h>
int main() {
printf("2 < 3 > 0 结果为 %d\n", 2 < 3 > 0);
printf("3 > 2 > 1 结果为 %d\n", 3 > 2 > 1);
return 0;
}
- 运行结果

?? 因为2 > 3的结果为1,所以2 > 3 > 0等价于1 > 0,输出的结果为:1
?? 因为3 > 2的结果为1,所以3 > 2 > 1等价于1 > 1,输出的结果为:0
3、优先级
关系运算符的优先级比上篇文中中提到讲解的算术运算符优先级低,另外关系运算符之间也有优先级。
-
高优先级: <、 <=、>、>=
-
低优先级: ==、!=
-
实例演示
#include <stdio.h>
int main() {
printf("2 < 3 == 1 结果为 %d\n", 2 < 3 == 1);
printf("1 == 3 > 1 结果为 %d\n", 1 == 3 > 1);
return 0;
}
在看运行结果前,我们先分析一下。
- 假如
2 < 3先运算,结果为1,则2 < 3 == 1等效于1 == 1, 输出的结果为1 - 假如
3 == 1先运算,结果为0,则2 < 3 == 1等效于2 < 0, 输出的结果为0
那么实际的运行结果如何呢?


我们接着分析
- 因为
>的优先级大于==,所以先运算3 > 1,结果1,则1 == 3 > 1等效于1 == 1, 输出的结果为1
小结
通过本文的讲解,我们学会了6种运算符的使用方法及优先级关系,下一篇文章,我们将讲解逻辑运算符。