C语言——操作符
算术操作符
操作符 | 描述 | 用法示例 |
---|---|---|
* | 乘法 | rexp * rexp |
/ | 除法 | rexp / rexp |
% | 整数取余 | rexp % rexp |
+ | 加法 | rexp + rexp |
- | 减法 | rexp - rexp |
% 操作符只可以作用于整数,返回的是整除之后的余数,其他操作符可以作用于整数和浮点数
/ 操作符的两个操作数如果都为整数,则执行整数除法,如果有一个操作数为浮点数,则执行浮点数除法
移位操作符
操作符 | 描述 | 用法示例 |
---|---|---|
<< | 左移位 | rexp << rexp |
>> | 右移位 | rexp >> rexp |
左移位操作符移位规则:
右移位操作符移位规则:
所以,对于移位运算符,不要移动负数位,这个是标准未定义的
位操作符
操作符 | 描述 | 用法示例 |
---|---|---|
& | 位与 | rexp & rexp |
| | 位异或 | rexp ^ rexp |
^ | 位或 | rexp |
操作数必须是整数
单目操作符
操作符 | 描述 | 用法示例 |
---|---|---|
++ | 后缀自增 | lexp ++ |
– | 后缀自减 | lexp – |
! | 逻辑反 | ! rexp |
~ | 按位取反 | ~ rexp |
+ | 正值 | rexp |
- | 负值 | - rexp |
++ | 前缀自增 | ++ lexp |
– | 前缀自减 | – lexp |
* | 间接访问 | * rexp |
& | 取地址 | & lexp |
sizeof | 取其长度,以字节表示 | sizeof rexp;sizeof(类型) |
(类型) | 类型转换 | (类型) rexp |
特别注意,sizeof 是一个操作符,不是函数
关系操作符
操作符 | 描述 | 用法示例 |
---|---|---|
> | 大于 | rexp > rexp |
>= | 大于等于 | rexp >= rexp |
< | 小于 | rexp < rexp |
<= | 小于等于 | rexp <= rexp |
== | 等于 | rexp == rexp |
!= | 不等于 | rexp != rexp |
注意 = 和 == 不要写错,一个是赋值,一个是判断是否相等
逻辑操作符
操作符 | 描述 | 用法示例 |
---|---|---|
&& | 逻辑与 | rexp && rexp |
|| | 逻辑或 | rexp |