C语言逻辑运算符和其它运算符优先级
发布时间:2023-05-11 09:08:17 所属栏目:语言 来源:
导读:逻辑运算符和其它运算符优先级从低到高依次为:
赋值运算符(=) < &&和|| < 关系运算符 < 算术运算符 < 非(!)
&& 和 || 低于关系运算符,! 高于算术运算符。
按照运算符的优先顺序可以得出:
a>b && c>d 等
赋值运算符(=) < &&和|| < 关系运算符 < 算术运算符 < 非(!)
&& 和 || 低于关系运算符,! 高于算术运算符。
按照运算符的优先顺序可以得出:
a>b && c>d 等
逻辑运算符和其它运算符优先级从低到高依次为: 赋值运算符(=) < &&和|| < 关系运算符 < 算术运算符 < 非(!) && 和 || 低于关系运算符,! 高于算术运算符。 按照运算符的优先顺序可以得出: a>b && c>d 等价于 (a>b)&&(c>d) !b==c||d<a 等价于 ((!b)==c)||(d<a) a+b>c&&x+y<b 等价于 ((a+b)>c)&&((x+y)<b) 另外,逻辑表达式也可以嵌套使用,例如a>b && b || 9>c,a || c>d && !p。 逻辑运算符举例: #include <stdio.h> int main(){ char c='k'; int i=1,j=2,k=3; float x=3e+5,y=0.85; printf( "%d,%d\n", !x*!y, !!!x ); printf( "%d,%d\n", x||i&&j-3, i<j&&x<y ); printf( "%d,%d\n", i==5&&c&&(j=8), x+y||i+j+k ); return 0; } 运行结果: 0,0 1,0 0,1 本例中!x和!y分别为0,!x*!y也为0,故其输出值为0。由于x为非0,故!!!x的逻辑值为0。对x|| i && j-3式,先计算j-3的值为非0,再求i && j-3的逻辑值为1,故x||i&&j-3的逻辑值为 1。对i<j&&x<y式,由于i<j的值为1,而x<y为0故表达式的值为1,0相与,最后为0,对i==5&&c&&(j=8)式,由于i==5为假,即值为0,该表达式由两个与运算组成,所以整个表达式的值为0。对于式x+ y||i+j+k由于x+y的值为非0,故整个或表达式的值为1。 (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |