1 ( ) 圆括号 自左至右
[ ] 下标运算符
-> 指向结构体成员运算符
• 结构体成员运算符
2 ! 逻辑非运算符 1
(单目运算符) 自右至左
• 按位取反运算符
++ 自增运算符
― ― 自减运算符
- 符号运算符
(类型) 类型转换运算符
* 指针运算符
& 取地址运算符
sizeof 长度运算符
3 * 乘法运算符 2
(双目运算符) 自左至右
/ 除法运算符
% 求余运算符
4 + 加法运算符 2
(双目运算符) 自左至右
- 减法运算符
5 << 左移运算符 2
(双目运算符) 自左至右
>> 右移运算符
6 < <= > >= 关系运算符 2
(双目运算符) 自左至右
7 == 等于运算符 2
(双目运算符) 自左至右
!= 不等于运算符
8 & 按位与运算符 2
(双目运算符) 自左至右
9 ^ 按位异或运算符 2
(双目运算符) 自左至右
10 | 按位或运算符 2
(双目运算符) 自左至右
11 && 逻辑与运算符 2
(双目运算符) 自左至右
12 || 逻辑或运算符 2
(双目运算符) 自左至右
13 ? : 条件运算符 3
(三目运算符) 自右至左
14 = += -= *= /= %= >>= <<=
&= ^= 赋值运算符 2
(双目运算符) 自右至左
15 , 逗号运算符
(顺序求值运算符) 自左至右
&: 在C语言中有两种意思,一种是取地址符,是单目运算符;另一种是位运算符,表示“按位与”,是双目运算符。|: 是位运算符,表示“按位或”。
资料扩展
1、符号 &和 | 这两个运算符都是二进制的按位操作符。
&: 二进制“与”(都为1时,结果是1,否则是0。),比如:1010 &1011 = 1010,1010 &1000 = 1000。
|: 二进制“或”(有1时,结果是1,都是0时,结果为0。),比如:1010 | 1011 = 1011,1010 | 1000 = 1010。
2、位运算符将数字视为二进制值,并按位进行相应运算,运算完成后再重新转换为数字。
例如:
表达式10&15表示(1010 &1111),它将返回表示1010的值10。因为真真得真,或者是11得1,同位全是1结果也是1。
表达式10|15表示(1010 | 1111),它将返回表示1111的值15。假假得假。全零得零。
3、C语言中的符号分为10类:算术运算符、关系运算符、逻辑运算符、位操作运算符、赋值运算符、条件运算符、逗号运算符、指针运算符、求字节数运算符和特殊运算符。
4、位操作运算符:参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。