3.3 关系运算符
关系运算也称为比较运算,用来比较两个表达式的大小关系,是双目运算符,运算结果只能是1或者0,如表3-4所示。如果两个表达式值相同,比较结果是1;如果不同,比较结果是0。
表3-4 关系运算符
举例如下:
(1)整数比较
a=1,b=2;
a>b;
两个数值的比较,结果为0。
(2)字符比较
ˊaˊ<ˊbˊ+ˊcˊ;
“<”左边的字符型转换为整数97,“<”右边需要求算术运算和,字符ˊbˊ和ˊcˊ分别由字符型隐式的转换为整型98和99,求和结果为197,表达式转换为求97<197,运算结果是1。
(3)关系运算符连用比较
a=1,b=2,c=0,d=4;
a>b>=c>d;
运算符优先级相同的情况下按照从左至右依次计算。先计算a>b的值为0,然后计算0>=c,比较结果为1,最后计算1>4,比较结果为0,故整个表达式结果为0。
注意:(www.xing528.com)
如果要判断条件c是否大于a并且小于b,下面的写法是错误的:
a<c<b;
根据关系运算符从左至右的结合性,首先比较a和c的关系,如果c大于a,表达式结果是1,接下来再比较1和b的关系,并非比较的c和b的大小关系。正确的写法如下所示:
c>a&&c<b;
运算符“&&”是逻辑与运算符,将在下一节讲到,它表示只有其两边的表达式都成立,整个表达式才成立。表达式只有在c大于a且c小于b时,结果才是1,如果任何一个条件不成立结果都是0。
(4)浮点数比较
关系运算符的操作数可以是任何基本数据类型的数据,但由于浮点数在计算机中只能近似地表示某一个数,一般不直接进行比较。当需要对两个实数进行相等和不等比较时,合理的做法是指定一个极小的精度值,若两实数的差在这个精度之内时,就认为两实数相等,否则为不等。对下面两个表达式分析一下:
①判断x和y相等
合理的写法:fabs(x-y)<1e-6;
不合理的写法:x==y;
②判断x和y不相等
合理的写法:fabs(x-y)>1e-6;
不合理的写法:x!=y;
函数fabs(x)是求double类型数据的绝对值,使用时需要包含头文件<math.h>。fabs(x-y)<1e-6表示x和y的差的绝对值小于0.000001(可根据用户需要调整精度)。
提示:
关系运算符的等于运算是由两个等号“==”组成,不要误写为赋值运算符“=”。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。