操作符
1算数操作符+ - * / %
除号,两边都为整数,计算结果为整数;两边存在一个小数,则计算结果为小数。
%(取模,即是余数),例7%3=1
2移位操作符<< >>
左移操作符,移动的是二进制位
3位操作符&(按位与) ^(按位亦或) |(按位或)
4赋值操作符= -= += *= /= &= >>= <<=
例a=a+5相当于a+=5
a=a%3相当于a%=3
5单目操作符(只有一个操作数)
! | 逻辑反操作 | |
- | 负值 | |
+ | 正值 | |
& | 取地址 | |
~ | 对一个数的二进制按位取反 | |
-- | 前置/后置-- | 前置--:先--,后使用。后置--:先使用,后--。 |
++ | 前置/后置++ | 后置++:a=10;b=a++;得到b=10;a=11。 前置++:a=10;b=++a得到b=11;a=11。 |
siezof | 操作数类型的长度 | 以字节为单位 |
* | 间接访问操作符(解引用操作符) | |
(类型) | 强制类型转换 |
按二进制位取反(把所以二进制位中数字,0变1,1变0)
整数的二进制表示1原码2反码3补码
整数在内存中存储的是补码
整型为32bite
二进制最高位是符号位;最高位为1表示负数
正整数,原码反码补码相同
负整数,原码(负整数直接转化为二进制数)的符号位不变,其他相反,得到反码。反码加1得到补码。
6关系操作符> < >= <= != ==
7逻辑操作符规定(0表示假,非0为真)
&& 逻辑与 同时为真才为真
|| 逻辑或 同时为假才为假
8条件操作符(三目操作符)
表达式1?表达式2:表达式3
表达式1成立,计算表达式2,整个表达式结果为表达式3
表达式1不成立,计算表达式3,整个表达式结果为表达式3
9逗号表达式(用逗号隔开的表达式)
从左往右计算,整个表达式结果是最后一个表达式的结果
10
下标引用【】
函数调用()
结构成员. ->