C语言的逻辑运算和按位运算怎么区分?

Python010

C语言的逻辑运算和按位运算怎么区分?,第1张

可以按照符号的不同来区分,C语言中逻辑运算符和按位运算符的符号是不一样的

C语言中提供了三种逻辑运算符:&&(与运算),

||(或运算),

!(非运算)

与运算符(&&)和或运算符(||)均为双目运算符。具有左结合性。非运算符(!)为单目运算符,具有右结合性

C语言提供了六种位运算符:

&

|

^

~

<<

>>

按位与

按位或

按位异或

取反

左移

右移

单片机C语言中逻辑或:整个数进行或运算。按照非零的就是1,那么P2 = P2||0x0f,当p2不为0x00h,则,不管后面的数是多少,结果都是1。

按位或:就是每一个相对应的位,进行或运算。java中当用于条件的时候,&不短路,&&短路。

C++中二者毫无关系~

“||”

其它常用运算符:

1、移位运算符

<<左移运算符;>>右移运算符。

2、关系运算符

<、<=、>、>=关系运算符。

3、相等运算符

“ == ”等于运算符;“ != ”不等于运算符。

4、位与运算符

“ &”按位与运算符

5、位异或运算符

“ ∧ ”按位异或运算符(Bitwise exclusive OR operator)。

6、逻辑与运算符

“&&”逻辑与运算符。

扩展资料

运算符的特性——

1、优先级

C语言中,运算符的运算优先级共分为15 级。1 级最高,15 级最低。 在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符 优先级相同时,则按运算符的结合性所规定的结合方向处理。

2、结合性:

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