操作符可以分为:算术操作符;移位操作符;位操作符;赋值操作符;单目操作符;关系操作符;逻辑操作符;条件操作符;逗号表达式;下标引用、函数调用和结构成员。
一、算数操作符:+ - * / %
1, 其中除%外,其他的操作符可以作用于整数和浮点数。
2,对于/操作符,如果两个操作数都为整数,执行整数除法,只要有浮点数就执行浮点数除法。
二、移位操作符:<< >>
1,左移规则:左边抛弃,右边补0
2,右移规则:左边补0,右边丢弃(逻辑移位)左边用原该值的符号位填充,右边丢弃(算数移位)
注意:移位操作并不能改变原值!!还有不要移动负数位,这是标准未定义的!!
三、位操作符:& | ^
注意:他们的操作数必须是整数!!
四、赋值操作符:=
建议:程序中尽量不要连续赋值。
五、单目操作符:! - + & sizeof ~ -- ++ * (类型)
注意:++i和i++,i--和--i的区别
六、关系操作符:> >= < <= != ==
注意:避免将判等的==写成赋值的=!!
七、逻辑操作符:&& ||
注意:区分逻辑与和按位与,逻辑或和按位或
八、条件操作符 exp1? exp2:exp3
九、逗号表达式:exp1,exp2,exp3……expn
注意:逗号表达式用于条件判断时,永远以最后一个表达式为准!!
十、下标引用、函数调用和结构成员、
1,[]
操作数:一个数组名+一个索引值
2,()
函数调用操作符
接受一个或多个操作数:第一个操作数式函数名,剩余的操作数就是传递给函数的参数
3,访问一个结构的成员
.结构体.成员名
->结构体指针->成员名