逍遥自在学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种运算符的使用方法及优先级关系,下一篇文章,我们将讲解逻辑运算符。