操作符的分类
1、算术操作符
2、移位操作符
3、位操作符
4、赋值操作符
5、单目操作符
6、关系操作符
7、逻辑操作符
8、条件操作符
9、逗号表达式
10、下标引用、函数调用和结构体成员
算数操作符
+ - * / %
1、% 操作符的两个操作数必须是整数,返回的值是两个操作数整除之后的余数;
2、/ 操作符的两个操作数,若有一个是浮点数,那么计算结果就是浮点数;若两个操作数都是整形,那么计算结果也是整型;
移位操作符
<< >>
1、移位操作符进行运算的对象是整形的二进制位
2、对于左移操作符(<<),整型数的32位二进制位向左移动,然后,在最右边补0;
3、对于右移操作符(>>),整型数的32位二进制位向右移动,若是无符号数(逻辑移位),在最左边补0;若是有符号数(算数移位),则在最左边补符号位(即整补0,负数补1);
注意:
对于移位运算符,不要移动负数位,这个是标准未定义的
位操作符
& | ^
1、位操作符进行运算的对象是整形的二进制位
2、对于 & 操作符,全部为’ 1 ‘才为’ 1 ‘,有’ 0 ‘即为’ 0 ‘;也就是说,任何数和’ 1 ‘进行 & 操作,结果都是它本身;任何数和’ 0 ‘进行 & 操作,结果都是’ 0 ‘;
3、对于 | 操作符,有’ 1 ‘即为’ 1 ‘,全部为’ 0 ‘即为’ 0 ‘;也就是说,任何数和’ 1 ‘进行 | 操作,结果都是’ 1 ‘,任何数和’ 0 ‘进行 | 操作,结果都是’它本身;
4、对于 ^ 操作符,不同’ 1 ‘即为’ 1 ‘,相同即为’ 0 ‘;也就是说,两个操作数不同进行 ^ 操作,结果是’ 1 ‘,两个操作数相同同进行 ^ 操作,结果是’ 0 ';
注意:
位操作符的操作数必须是整数
赋值操作符
= += -= *= /= %= >>= <<= &= ^= |=
= :用于给变量赋值
+= :用于把两个数相加的值赋给其中一个数;
-=、*=、/=、%=、>>=、<<= 、&= 、^= 、|= :与+=作用类似;
//例子
a=2;
a+=