C语言中的逻辑运算符:&&(与运算)、||(或运算)、!(非运算)。
与运算符(&&)和或运算符(||)均为双目运算符。具有左结合性。非运算符(!)为单目运算符,具有右结合性。逻辑运算符和其它运算符优先级的关系可表示如下:
本来没有错误,关系运算符都是按“非与或”顺序来运算的。但是,不同的编译器设计者可能对这个的认识不同,因此,如果不加括号就会有歧义,因此,编译器就会提醒应该加括号(编译中有警告:waring),但你不加,也不算错,只是其结果就是按编译器的运算顺序来操作了。
&&是与,||是或;
&是位与,|是位或;
|就是按住shift在按回车上面一个按钮;
两下就是||;
这个不是错误,是警告warning,编译器怕记不住操作符优先级,而导致错误,因此提示||的优先级高于!=。
扩展资料
C语言内置了丰富的运算符,大体可分为10类:算术运算符、关系运算符、逻辑运算符、位操作运算符、赋值运算符、条件运算符、逗号运算符、指针运算符、求字节数运算符和特殊运算符。
根据运算符可操作的操作数的个数,可把运算符分为一元运算符、二元运算符和多元运算符(一般三元)。优先级:当不同运算符优先级不同时,先计算谁后计算结合性:当不同运算符优先级相同时,先计算谁后计算谁。
分别是&&和||。
c语言中的&&有三种使用方式。
1 、取地址操作符。
单目运算,与其后的变量或常量组合,用于获取该操作数的内存地址。
2 、位操作中的按位与操作
双目运算符,&&的两边的表达式均参与操作。计算时按位计算。对于任意一位,如果两个操作数该位上的值均为1,则结果该位上为1。否则结果该位上值为0。
3 、当两个&&符号同时使用,即&&符号。
它的意思是代表逻辑运算中的逻辑与。双目运算符,&&的两边的表达式均参与操作。
当&&两边均为真时,结果为真。否则结果为假。&&由于是逻辑运算,结果只有真(1)或假(0)两种情况。
扩展资料
1、在使用&的时候进行相与运算,得到的结果一般也是这样,但是也会有偶然情况,例如10和5相与,即1010&0101,则结果为0,这时候的结果就是不一样的。2、&&和||却是逻辑运算符,除了0之外,其他的非零整数都可以看做true,如果10和6相与,结果会是true。
且为&&,比如x<3&&x>1意思就为1<x<3或为||,比如x<1||x>3意思就是x小于1或者大于3
非为!,比如!0,意思就是非0