C语言关系运算符实例详解
在程序中经常需要比较两个数据的大小,以决定程序下一步的工作。比如一个程序限制了只能成年人使用,儿童因为年龄不够,没有权限使用。这时候程序就需要获取用户输入的年龄并做出判断,如果超过18岁就正常运行,否则给出无权使用的提示。
比较两个数据大小的运算符称为关系运算符(RelationalOperators)。
在C语言中有以下关系运算符:
1)<(小于)
2)<=(小于或等于)
3)>(大于)
4)>=(大于或等于)
5)==(等于)
6)!=(不等于)
关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,<、<=、>、>=的优先级相同,高于==和!=,==和!=的优先级相同。
在C语言中,有的运算符有两个操作数,例如10+20,10和20都是操作数,+是运算符。我们将这样的运算符称为双目运算符。同理,将有一个操作数的运算符称为单目运算符,将有三个操作数的运算符称为三目运算符。
常见的双目运算符有+、-、*、/等,单目运算符有++、--等,三目运算符只有一个,就是?:,我们将在《C语言条件运算符》中详细介绍。
关系运算符的两边可以是变量、数据或表达式,例如:
1)a+b>c-d
2)x>3/2
3)'a'+1<c
4)-i-5*j==k+1
关系运算符也可以嵌套使用,例如:
1)a>(b>c)
2)a!=(c==d)
关系运算符的运算结果只有0或1。当条件成立时结果为1,条件不成立结果为0。例如:
5>0成立,其值为1;
34-12>100不成立,其值为0;
(a=3)>(b=5)由于3>5不成立,故其值为0。
我们将运算结果1称为“真”,表示条件成立,将0称为“假”,表示条件不成立。
我们不妨将关系运算符的结果输出看一下:
#include<stdio.h> intmain(){ charc='k'; inti=1,j=2,k=3; floatx=3e+5,y=0.85; intresult_1='a'+5<c,result_2=x-5.25<=x+y; printf("%d,%d\n",result_1,-i-2*j>=k+1); printf("%d,%d\n",1<j<5,result_2); printf("%d,%d\n",i+j+k==-2*j,k==j==i+5); return0; }
运行结果:
1,0
1,1
0,0
对于含多个关系运算符的表达式,如k==j==i+5,根据运算符的左结合性,先计算k==j,该式不成立,其值为0,再计算0==i+5,也不成立,故表达式值为0。
以上就是对关系运算符的介绍,希望能帮助学习C语言的同学。