+ - * / %
注意事项:%运算符要求参与运算的对象必须是整数,返回的结果也是整数
2、移位操作符
<< >>左移操作符和右移操作符
移位规则
逻辑右移:左边用0填充,右边丢弃
算术右移:左边用符号位填充,右边丢弃
警告“对于移位运算符,不能移动负数位”
3、位操作符
^ | &
注:他们的操作数必须是整数
4、赋值操作符:=
复合赋值符: += -= *= /= %= >>= <<= &= |= ^=
5、单目操作符
- 负值
+ 正值
& 取地址
sizeof 操作数的类型⻓长度(以字节为单位)
~ 对⼀一个数的⼆二进制按位取反
-- 前置、后置-- 注:(前置先增加,后使用)(后置先使用后增加)
++ 前置、后置++
* 间接访问操作符(解引⽤用操作符)
> >= < <= != =
&& 逻辑与
||逻辑或
8,条件操作符
exp1?exp2:exp3
9、逗号表达式
exp1,exp2,exp3...expn
注:从左往右依次执行整个表达式的结果是最后一个表达式的结果
10、下标引用、函数调用和结构成员
1、[ ] 操作数:一个数组名+一个索引值
2、() 函数调用操作符:接受一个或者多个操作符,第一个操作数是函数名,剩余的操作数就是传递给函数的参数。
3、访问一个结构的成员
. 结构体.成员名
-> 结构体指针-<成员名
操作符的属性
(1)、 操作符的优先级
(2)、操作符的结合性
(3)、是否控制求值顺序