操作符分类:
1.算术操作符 2.移位操作符
3.位操作符 4.赋值操作符
5.单目操作符 6.关系操作符
7.逻辑操作符 8.条件操作符
9.逗号表达式
1.算术操作符:+ - * / %
除法/:如果两个操作数为整数,执行整数除法,只要有浮点型就执行浮点数除法。
模%:只能对整数进行(两个数都为整数)
2.移位操作符:
<< 左移 exp: int a = 10 ; b = a<<1; => a = 10 ; b = 20 ;
>> 右移 exp: int a = 10 ; b = a>>1; => a = 10; b = 5 ;
1).算术右移 (左边补0,右边舍弃)
2).逻辑右移 (左边1补1,0补0,右边舍弃)《警告:不要用负数移位,未定义》
: -1: 原码:10000000 00000000 00000000 00000001 反码:11111111 11111111 11111111 11111110 除了最高的符号位不变 其余位取反 补码:11111111 11111111 11111111 11111111 反码加一 计算机中用补码储存
:
-1: 原码:10000000 00000000 00000000 00000001
反码:11111111 11111111 11111111 11111110 除了最高的符号位不变 其余位取反
补码:11111111 11111111 11111111 11111111 反码加一
计算机中用补码储存
3.位操作符:
&按位与
|按位或
^按位异或 三个操作符的操作数都必须是整数
4.赋值操作符:
=赋值(区别==等于)
5.单目操作符:
~按位取反(二进制)
强制类型转换()
!逻辑取反
* 间接访问
sizeof()
&地址
......
6.关系操作符:
! 逻辑非
< 小于
<= 小于等于
> 大于
>= 大于等于
== 相等
!= 不等
&& 逻辑与
|| 逻辑或
7.逻辑操作符:
&& 逻辑 与 || 逻辑或
8.条件操作符:
exp_1? exp_2 : exp_3 当exp_1的值为真,取exp_2,否则则取exp_3.
9.逗号表达式:
表达式1,表达式2,表达式3,...... ,表达式n
逗号表达式的要领:
(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。
(2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。
(3) 逗号运算符的优先级别在所有运算符中最低。