运算符有以下几类:
(1)算术运算符:+ - * / %
(2)关系运算符:> < == >= <= !=
(3)逻辑运算符:! && ||
(4)位运算符: << >> ~ | ^ &
(5)赋值运算符:=
(6)条件运算符:( ? :)
(7)逗号运算符:( , )
(8)指针运算符: * &
(9)求字节数运算符: sizeof
(10)强制类型转换运算符: (类型)
(11)分量运算符: .->
(12)下标运算符: [ ]
(13)其他: 如函数调用运算符()
位运算:
<<:左移乘2
>>:右移除2
效率考虑就是位运算
&:与 遇0为0,遇1不变,实现清0
|:或 遇1为1,遇0不变,实现置1
^:异或 相同为0,相反为1,取反作用
~:取反
条件运算符:
表达式1?表达式2:表达式3
如果表达式1为真,整个式子的值为表达式2,否则整个式子的值为表达式3
例如:max = ( a > b ) ? a :b
若a>b为真,就把a赋予max,否则把b赋予max
逗号表达式:
表达式1,表达式2
先求表达式1,再求表达式2,整个逗号表达式的值是表达式2的值
3+5,6+8
逗号表达式的值为14
自增、自减运算符:
++i ,--i :在执行i所在语句之前使i 的值+1或者-1;
i++ ,i-- :在执行i所在语句之后使i 的值+1或者-1;
a=4;
a+=a++; 9
a+=++a; 10
++a+=a; 10
++a+=a; 11
++a+=++a; 12