5.1.1关系运算符及其优先次序
在C语言中有以下关系运算符:- < 小于
- <= 小于或等于
- > 大于
- >= 大于或等于
- == 等于
- != 不等于
5.1.2关系表达式
关系表达式的一般形式为:表达式 关系运算符 表达式例如:
a+b>c-d
x>3/2
‘a’+1<c
-i-5*j==k+1
都是合法的关系表达式。由于表达式也可以又是关系表达式。 因此也允许出现嵌套的情况。例如:
a>(b>c)
a!=(c==d)
等。
关系表达式的值是真”和“假”,用“1”和“0”表示。如:
5>0的值为“真”,即为1。
(a=3)>(b=5)由于3>5不成立,故其值为假,即为0。
【例5.1】
main(){
char c='k';
int i=1,j=2,k=3;
float x=3e+5,y=0.85;
printf("%d,%d\n",’a’+5<c,-i-2*j>=k+1);
printf("%d,%d\n",1<j<5,x-5.25<=x+y);
printf("%d,%d\n",i+j+k==-2*j,k==j==i+5);
}
在本例中求出了各种关系运算符的值。字符变量是以它对应的ASCII码参与运算的。对于含多个关系运算符的表达式,如k==j==i+5,根据运算符的左结合性,先计算k==j,该式不成立,其值为0,再计算0==i+5,也不成立,故表达式值为0。