第五节、操作符详解
1.操作符分类
算术操作符
移位操作符
位操作符
赋值操作符
单目操作符
关系操作符
逻辑操作符
条件操作符
逗号表达式
下标引用、函数调用和结构成员
2.算术操作符
+ //加
- //减
* //乘
/ //除
% //取余
- 除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。
- 对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。
- % 操作符的两个操作数必须为整数,返回的是整除之后的余数。
3.移位操作符
<< //左移操作符
>> //右移操作符
//移位操作符的操作数只能是整数
左移操作符移位规则:
运算符将其左侧操作数向左移动右侧操作数定义的位数,左边抛弃、右边补0。
右移操作符移位规则:
运算符将其左侧操作数向右移动右侧操作数定义的位数。
右移运算有2种:
1.逻辑移位—左边用0填充,右边丢弃
2.算术移位—左边用原该值的符号位填充,右边丢弃
警告:对于移位运算符,不要移动负数位,这个是标准未定义的。
4.位操作符
& //按位与(按二进制位进行“与”运算)
| //按位或(按二进制位进行“或”运算)
^ //按位异或(按二进制位进行“异或”运算)
//负数按补码形式参加(负整数的补码就是除符号位外的所有位取反后加一)
//例:-5 原码(10000101)—取反—>(11111010)—加一—>补码(11111011)
//操作数必须是整数
一道有趣的面试题:
不能创建临时变量(第三个变量),实现两个数的交换。
#