C语言提供了以下关系运算符:
关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,<、<=、>、>=的优先级相同,高于==和!=,==和!=的优先级相同。
在C语言中,有的运算符有两个操作数,例如 10+20,10和20都是操作数,+ 是运算符。我们将这样的运算符称为双目运算符。同理,将有一个操作数的运算符称为单目运算符,将有三个操作数的运算符称为三目运算符。
常见的双目运算符有 +、-、*、/ 等,单目运算符有 ++、-- 等,三目运算符只有一个,就是 ? :。
由关系运算符组成的式子为关系表达式,如 a>b 即为关系表达式,在 C 语言中,同逻辑表达式一样,关系表达式的值也为逻辑值,即布尔型(bool),取值为真或假。
算术、逻辑、关系、赋值运算符的优先级顺序为:
逻辑非 !>算术>关系>逻辑与&&、逻辑或||>赋值=
例如:
int a=3,b=5;
则有:
a>b:逻辑假,其值为 0;
a>=b:逻辑假,其值为 0;
a<b:逻辑真,其值为 1;
a<=b:逻辑真,其值为 1;
a==b:逻辑假,其值为 0;
a!=b:逻辑真,其值为 1;
关系运算符的两边可以是变量、数据或表达式,例如:
a+b>c-d
x>3/2
'a'+1<c-i-5
*j==k+1
关系运算符也可以嵌套使用,例如:
a>(b>c)
a!=(c==d)
关系运算符的运算结果只有 0 或 1。当条件成立时结果为 1,条件不成立结果为 0。例如:
5>0 成立,其值为 1;
34-12>100 不成立,其值为 0;
(a=3)>(b=5) 由于3>5不成立,故其值为 0。
我们将运算结果 1 称为“真”,表示条件成立,将 0 称为“假”,表示条件不成立。
下面的代码会将关系运算符的结果输出:
运行结果:
1, 0
1, 1
0, 0
对于含多个关系运算符的表达式,如 k==j==i+5,根据运算符的左结合性,先计算k==j,该式不成立,其值为0,再计算0==i+5,也不成立,故表达式值为0。
需要提醒的是,==才表示等于,而=表示赋值,大家要注意区分,切勿混淆。
如果你想更好的提升你的编程能力,学好C语言C++编程!弯道超车,快人一步!
【C语言C++学习企鹅圈子】,分享(源码、项目实战视频、项目笔记,基础入门教程)
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!
编程学习书籍:
编程学习视频: