c语言中“与”和“或”的优先级是什么?

Python019

c语言中“与”和“或”的优先级是什么?,第1张

与>或 ,更细一点是:!  --->&--->^ --->| --->&&--->||。C语言中的运算优先级和算数优先级一样,只要把运算符的优先级记住就可以了。

经过n遍的调试,证明:||和&&优先级相等,且都是从左往右运算;在出现||和&&的语句中,并不对a++进行运算,只判断它的初值。当然,这条语句结束后,涉及判断的表达式就会进行相应的运算(如:a++)。

在&&运算中,如果&&前面的逻辑值为0(如:令a=0;a++&&b++,此时,a还没有进行++运算,仍为0。但是在本语句结束后就自加1),则结束本语句;如果&&前面的逻辑值为1,则继续判断&&后面的值是否为1,如果为1,则继续判断后面的逻辑运算;如果为0,而结束本语句。

优先级

优先级与求值顺序无关。如a+b &&b*c,虽然*优先级最高,但这个表达式求值顺序是从左到右。

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

相同优先级中,按结合性进行结合。大多数运算符结合性是从左到右,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。

基本的优先级需要记住:

指针最优,单目运算优于双目运算。如正负号。

先算术运算,后移位运算,最后位运算。请特别注意:1逻辑运算最后结合。

以上内容参考:百度百科-运算符优先级

C语言中的与、或、非是C语言的逻辑运算符。

1、逻辑与

在C语言中逻辑与用&&表示。

举例:a&&b(其中a、b都代表一个条件)

如果a和b都为真,则结果为真,如果a和b中有一个条件为假,则结果为假。

2、逻辑或

在C语言中逻辑或用||表示。

举例:a||b(其中a、b都代表一个条件)

如果a和b有一个或以上为真,则结果为真,二者都为假时,结果为假。

3、逻辑非

在C语言中逻辑非用!表示。

举例:!a(a代表一个条件)

如果a为假,则!a为真,如果a为真,则!a为假。

扩展资料

在C 语言中的逻辑运算符及优先级:

一元:!(逻辑非)。

二元:&&(逻辑与)、||(逻辑或)。

以上三种逻辑运算符中,逻辑非 ! 的优先级最高,逻辑与 &&次之,逻辑或  ||  优先级最低。即算术、逻辑、赋值运算符的优先级顺序为:

逻辑非 ! >算术 >逻辑与 &&、逻辑或 || >赋值=

C语言中的逻辑运算符:&&(与运算)、||(或运算)、!(非运算)。

与运算符(&&)和或运算符(||)均为双目运算符。具有左结合性。非运算符(!)为单目运算符,具有右结合性。逻辑运算符和其它运算符优先级的关系可表示如下:

本来没有错误,关系运算符都是按“非与或”顺序来运算的。但是,不同的编译器设计者可能对这个的认识不同,因此,如果不加括号就会有歧义,因此,编译器就会提醒应该加括号(编译中有警告:waring),但你不加,也不算错,只是其结果就是按编译器的运算顺序来操作了。

&&是与,||是或;

&是位与,|是位或;

|就是按住shift在按回车上面一个按钮;

两下就是||;

这个不是错误,是警告warning,编译器怕记不住操作符优先级,而导致错误,因此提示||的优先级高于!=。

扩展资料

C语言内置了丰富的运算符,大体可分为10类:算术运算符、关系运算符、逻辑运算符、位操作运算符、赋值运算符、条件运算符、逗号运算符、指针运算符、求字节数运算符和特殊运算符。

根据运算符可操作的操作数的个数,可把运算符分为一元运算符、二元运算符和多元运算符(一般三元)。优先级:当不同运算符优先级不同时,先计算谁后计算结合性:当不同运算符优先级相同时,先计算谁后计算谁。