一,操作符分类
算数操作符:+ - * / %
%的两个操作数都是整数
% 和 / 的除数都不能为0
移位操作符:<< 左移操作符 >> 右移操作符
左移操作符:左边抛弃,右边补0
右移操作符:
- 逻辑移位:左边用0填充,右边抛弃(无符号数字)
- 算数移位:左边用本值得符号位填充,右边抛弃(有符号数)
- 对于移位运算符,不要移动负数位,这个标准未定义。
位操作符: & 按位与 | 按位或 ^ 按位异或
& :有1为1
| :有0为0
^ :相异为1,相同为0
对于按位异或操作符有以下几点性质:
- 异或运算符合交换律
- 任何数与它本身异或都是0
- 任何数和0异或都是它本身
赋值操作符:=
复合赋值符:+= -= *= = %= >>= <<= &= |= ^=
C语言允许连续赋值:
int a=10;
int x=0;
int y=20;
a=x=y+1;//连续赋值,编译能通过
要改变一个变量的内容就要通过赋值语句