一、算术操作符
+ - * / %
二、移位操作符
>> <<
三、位操作符
& ^ |
四、赋值操作符
= += -= *= /= &= ^= |= >>= <<=
五、单目操作符
! 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反
-- 前置、后置--
++ 前置、后置++
* 间接访问操作符(解引用操作符)
(类型) 强制类型转换
1.~ :按(二进制)位取反,把所有二进制位中数字,1变成0,0变成1.(~是在内存中就取反)
整数在内存中存储的是补码。
一个整数的二进制表示有3种:原码,反码,补码。
六、关系操作符
>
>=
<
<=
!= 用于测试“不相等”
== 用于测试“相等”
七、逻辑操作符
&& 逻辑与
|| 逻辑或
八、条件操作符
exp1 ? exp2 : exp3
exp1 成立,exp2计算,整个表达式的结构是:exp2的结果;
exp1 不成立,exp3计算,整个表达式的结构是:exp3的结果;
max = a > b? a: b;
则表示如果a>b成立,结果是a,否则是b
九、逗号表达式
逗号表达式是:逗号隔开的一串表达式
逗号表达式是从左向右依次计算的,整个表达式的结果是最后一个表达式的结果。
exp1, exp2, exp3, …expN
十、下标引用、函数调用和结构成员
[] () . ->