在if语句后面的括号里面,我们把它叫做是一种条件,是两个值之间的关系运算.
下面是列表为一个关系运算符号:(也叫比较运算符)
运算符 | 意义 |
== | 相等 |
!= | 不相等 |
> | 大于 |
>= | 大于或等于 |
< | 小于 |
<= | 小于或等于 |
这边着重注意一下相等的符号,我在刚开始编代码的时候总是会出错.
注意:两个等号的意思是判断两个数是否相等,而一个等号是简单的赋值.
关系运算的结果只有两个值:1或0:
关系成立的话就是1,关系不成立的话就是0.
我们可以使用一个代码,在编译器里面来帮助我们理解上面的关系运算的结果:
#include<stdio.h>
int main()
{
printf("%d\n", 5 == 3);
printf("%d\n", 5>3);
printf("%d\n", 5<=3);
return 0;
}
而结果也证明了上述的定义:
注意,所有的关系运算符的优先级比算数运算的低,但是比赋值运算的高。
比如,我们举个例子:
#include<stdio.h>
int main()
{
printf("%d\n", 7 >= 3 + 4);
return 0;
}
如果3+4先算的话,那结果就是1,如果3+4后算的话,那结果就是0.
这就说明算术运算符的优先级更高一些。
int r=a>0;
比如上面的这一个代码,如果先是赋值语句的话那就是先,把a的值赋给r,然后再判断r的是否大于0,这句话相当于什么都没干,是毫无意义的。
只有先判断后面的关系运算符,然后把大于0的a赋值给r,这样才有意义。
同时注意,在关系符内部也有一些小的先后的顺序:
比如==和!=相对于其他的关系符的地位更低一点。
举几个例子,比如:
5>3==6>4;
这个就是先判断两边,都是1,再判断是否相等。
6>5>4
这个就是根据由左向右的方法来进行计算,先是6>5,正确,所以为1,而1>4错误所以结果为0.