1.算术操作符
+ - * / %
注1:除了%操作符之外,其他的几个操作符可以起作用于整数和浮点数。
注2:对于/操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。
注3:%操作符的两个操作数必须为整数。返回的是整除之后的余数。
2.移位操作符
(1)左位移操作符 (<<)
位移规则:左边抛弃、右边补0
注:左移相当于乘2
(2)右位移操作符 (>>)
位移规则:
1、逻辑位移
左边用0填充,右边丢弃
2、算术位移
左边用原该值得符号位填充,右边丢弃
注:右移相当于除2
警告:对于位移运算符,不要移动负数位,这个是标准未定义的。
3.位操作符
& //按位与: 1&1=1;1&0=0;0&0=0
| //按位或: 1 | 1=1;1 | 0=1;0 | 1=1;0 | 0=0
^ //按位异或: 1^1=0;1^0=1;0^1=1;0^0=0
注:他们的操作数必须是整数。
4.赋值操作符 (=)
在C语言里,运算符=并不表示相等,而是一个赋值运算符。这意味着,符号=的左边该是一个可修改的变量名,而右边是赋给该变量的值。
复合赋值符
+= -= *= /= %= >>= <<= &= |= ^=
5.单目操作符
! 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反
-- 前置、后置--
++ 前置、后置++
* 简介访问操作符(解引用操作符)
(类型) 强制类型转换
6.关系操作符
> >= < <= != ==
注:== 是相等符号,而 = 是赋值符号
7.逻辑操作符
&& 逻辑与
|| 逻辑或
注:&&中有假时,后面的不进行运算
注:|| 中有真时,后面的不进行运算
8.条件操作符
exp1 ? exp2 : exp3
表达式1为真,执行表达式2,否则执行表达式3
9.逗号表达式
exp1, exp2, exp3, ...expN
逗号表达式,就是用逗号隔开的多个表达式。
都好表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。