算术操作符 + - * / %
移位操作符 《》
位操作符 & | ~
赋值操作符 = += *= /=
单目操作符 !sizeof + - ~ & *
关系操作符 > < >= <= == !=
逻辑操作符 && ||
条件操作符 ?
除法
1.整数除法,除号的两边都是整数
2.浮点数除法,除号的两端只要有一个小数就执行浮点数除法
除法中除数不能为零
3.%操作符的两个操作数必须是整数
移位操作符
<<左移操作符
>>右移操作符
移动的是二进制
算术右移 左移
右边丢弃,左边补原来的符号位 左边丢弃,右边补0
逻辑右移
右边丢弃,左边补0
编译器一般选择算术右移
Eg:正整数右移有除二的效果
按位操作符
以按位的方式进行计算
&---对应二进制位有0则0,两个同时为1才是1.
|----对应二进制或对应的二进制位有1则为1,两个同时为0才是0;
^----按二进制位异或对应的额二进制位相同为0,相异为1
&&逻辑与 并且
|| 逻辑或 或者
实现代码:求一个整数存储在内存单元中二进制中1的个数
例如:整数有32个比特位,获取32个比特位中的每一位
判断是否为1
是1就计数器加1
逻辑反操作符! 感叹号可以把真变成假 ,假变成真
单目操作符只有一个操作数
双目操作符有两个操作数
sizeof不是函数,是操作符。计算的是类型创建变量的大小,单位是字节。
sizeof()说明sizeof不是函数
~按补码的二进制取反