C语言中用于比较的表达式称为“关系表达式”,里面使用的运算符就称为“关系运算符”。
主要有以下六个:
•> 大于运算符
•< 小于运算符
•>= 大于等于运算符
•<= 小于等于运算符
•== 相等运算符
•!= 不等于运算符
C语言中,0表示假,非零值表示真。比如,35>20返回1,14>28返回0。
注意:相等运算符==与赋值运算符=是两个不一样的运算符。例如,x=3,这个式子表示对变量x赋值3。为了防止这种错误,可将变量写在等号的右边
if(3==x)
而且,多个关系符不宜连用
举例:i<j<k
关系式从左到右计算,所以实际执行的过程为
(i<j)<k
上面式子中,i<j 返回0或1,最终是0或1与变量k进行比较。
如果想判断变量j的值是否在 i 和 k 之间,应该用下面的写法。
i<j && j<k
比如:输入一个年龄,年龄如果在18岁到36岁之间输出青年
如果这样写
#include <stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (18 <= age <= 36)
{
printf("青年\n");
}
return 0;
}
运行结果为
这是因为,我们先拿18和age中存放的16⽐较,表达式18<=16为假, 18<=age 的结果是0,再拿0和36⽐较,0<=36为真,所以打印了 ⻘年 ,所以即使当age是16的时候,也能打印 ⻘年
这个代码应该这么写
#include <stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (age>=18&&age<=36)
{
printf("青年\n");
}
return 0;
}