算术运算符
| 运算符 | 作用 | 举例 |
|---|---|---|
| + | 加法;一目取正 | a+b , +c |
| - | 减法,一目取负 | a - b , -c |
| * | 乘法 | a*b |
| / | 除法 | a/b |
| % | 模运算(取余) | a%b '%'左右皆为整形 |
| ++ | 自加1 | a++ , ++a (分别参与运算前后自加) |
| -- | 自减1 | 同上 |
关系运算符
(表达式的值为 '真' 或 '假')
| 运算符 | 作用 | 举例 |
|---|---|---|
| > | 大于 | a>b |
| >= | 大于等于 | a>=5 |
| < | 小于 | 3<x |
| <= | 小于等于 | x<=y+1 |
| == | 等于 | x+1==0 |
| != | 不等于 | c!='\0' |
逻辑运算符
| 运算符 | 作用 | 规则 |
|---|---|---|
| || | 逻辑或 | 有真为真,无真为假 |
| && | 逻辑与 | 全真为真,有假为假 |
| ! | 逻辑反(非) | 取反 |
位运算符
(转换为二进制后的逻辑运算)
| 运算符 | 作用 | 规则 |
|---|---|---|
| ~ | 位逻辑反 | 先位取反,再取反(符号位不取反)加一 |
| & | 位逻辑与 | 同为真时取真 |
| | | 位逻辑或 | 此三者按位与逻辑运算符规则相同 |
| ^ | 位异或 | 相同为0,不同为1 |
| >> | 逻辑右移 |
x>>n 右移n位,移出位舍去 空余位补0 无论有无符号 |
| << | 逻辑左移 | 同上(方向相反) |
注释:
- 以上左移右移为"逻辑左移""逻辑右移",算数右移时,移除位舍弃,空余位补最高位的拷贝
- 未将有效位移除时,左移相当于乘2,右移相当于除2
- 通过位运算符,还可实现清零和置位功能
其他运算符
| 运算符 | |
|---|---|
| 复合赋值运算符 | +=、-=、*=、/=、%=、>>=、<<=、&=、^=、|= |
| 条件运算符 | ?= 格式:<表达式1>?<表达式2>:<表达式3> |
| sizeof运算符 | sizeof 格式:sizeof(操作数) |
| 逗号运算符 | 优先级最低,从左到右运算,最右边表达式决定了整个表达式的值 |
| 赋值运算符 | = |
注:复合赋值运算符的效率更高
提醒:
- 尽量不写过于复杂的表达式
- 表达式过长时多使用圆括号
466

被折叠的 条评论
为什么被折叠?



