操作符分类:算术操作符,移位操作符,位操作符,赋值操作符,单目操作符,关系操作符,逻辑操作符,条件操作符,逗号表达式,下标引用,函数调用和结构成员。
算术操作符:+ - * / %
1:除了%操作符之外,其他几个操作符可以作用于整数和浮点数。
2:对 / 操作符,如果两个操作数都为整数,执行整数除法,而只要有浮点数执行的就是浮点数除法。
3:%操作符的恋歌操作数必须为整数,返回的时整数之后的余数。
移位操作符: << >>
1:左移操作符(<<):对应二进制数,左边抛弃,右边补0.
2:右移操作符(>>):逻辑移位,对应二进制数,左边用0填充,右边丢弃。
算术移位:左边用原该值的符号位(正数用0,负数用1)填充,右边丢弃。
对于移位运算符,不能移动负数位(num>>-1).
位操作符:& (按位与) |(按位或) ^(按位异或)~(按位取反)。
他们的操作数必须为整数。
赋值运算符:=
复合赋值运算符:+= -= /= %= >>= <<= &= |= ^=
单目操作符:!(逻辑取反操作),-(负值),+(正值),&(取地址),sizeof(操作数的长度单位以字节为单位),--(前置,后置--),++(前置,后置++),(类型)(强制类型转换)。
关系操作符:> >= < <= != ==
不能使用==和一个浮点数比较是否相等。
逻辑操作符: && ||
&&:当第一个表达式为假,则无需计算第二个表达式。结果为假。
||:当第一个表达式为真,则无需计算第二个表达式。结果为真。
条件操作符: exp1 ? exp2:exp3
若exp1成立则返回exp2作为结果,否则返回exp3作为结果。
逗号表达式:exp1,exp2,exp3,exp4,exp5,,,,,expn
用逗号隔开多个表达式,从左向右依次执行,整个表达式的结果是最后一个表达式的结果。
下标引用,函数调用和结构成员:
[ ]:下标引用操作符。操作数:一个数组名+一个·索引值。
.:结构体.成员名。
->:结构体指针->成员名。