c语言关系运算符

5>4>3、3<2<5
根据关系运算规则,它们的计算结果值分别为1、1.
上面这句话对吗,我越看是越不能理解了,书上的话

>>是右移运算符,移位运算符的一种:程序设计中,位操作运算符的一种。

C语言中位移位运算符是将数据看成二进制数,对其进行向左或向右移动若干位的运算。位移位运算符分为左移和右移两种,均为双目运算符。第一运算对象是移位对象,第二个运算对象是所移的二进制位数。

位移位运算符的运算对象、运算规则与结果、结合性如表2-16所示。

移位时,移出的位数全部丢弃,移出的空位补入的数与左移还是右移有关。如果是左移,则规定补入的数全部是0;如果是右移,还与被移位的数据是否带符号有关。若是不带符号数,则补入的数全部为0;若是带符号数,则补入的数全部等于原数的最左端位上的原数(即原符号位)。

扩展资料

优先级:

语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z 则y 应先与“-”号结合,执行x-y 运算,然后再执行+z 的运算。

这种自左至右的结合 方向就称为“左结合性”。而自右至左的结合方向称为“右结合性”。最典型的右结合 性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z 再执行x=(y=z)运算。C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。

优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。

参考资料来源:百度百科-右移运算符

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-12-10

第2个回答  推荐于2018-04-08
不会吧,他们的计算结果应该是0、1
第一题,5>4>3中,从左到右运算,先算5>4,明显该式子成立,逻辑结果是1,把1替代5>4再计算,即1>3,明显此式子不成立,逻辑结果是0。
第二题,3<2<5,先算3<2,不成立,逻辑结果为0,再算0<5,成立,逻辑结果为1。
所以这两个题目计算结果应该是0、1

补充知识:我用“逻辑结果”,是因为它们是逻辑运算,关系运算属于逻辑运算中的一种,逻辑运算的结果只有2个,不是0就是1.
5>4>3、3<2<5这两个式子在C语言中属于关系运算,应该按照C语言的语法来算,这个和数学中的不等式是2码事,不能混淆了本回答被提问者和网友采纳
第3个回答  2010-01-03
5>4>3 : 5>4 为真, 值为 1 ; 1>3 为假, 值为 0
3<2<5 : 3<2 为假, 值为 0 ; 0<5 为真, 值为 1