操作符 已掌握100%的知识点 继续学习 知识点 8 参考资料 36 练习题 8 难度 3.1k 人在学习 算术操作符 自动递增和递减 关系操作符 逻辑操作符 按位操作符 移位操作符 三元操作符if-else 字符串操作符 + 和 +=
时间: 2024-09-06 12:01:00 浏览: 23
在C/C++中,操作符用于执行不同的计算和控制流程。这里是一些主要类别:
1. **算术操作符**[^1]:
- 加法 (+)
- 减法 (-)
- 乘法 (*)
- 除法 (/)
- 取余 (%)
- 自动递增 (++) 和递减 (--)
2. **关系操作符**:
- 等于 (=)
- 不等于 (!=)
- 大于 (>)
- 小于 (<)
- 大于等于 (>=)
- 小于等于 (<=)
3. **逻辑操作符**:
- 与(&&)
- 或(||)
- 非(!)
这些用于布尔表达式的组合。
4. **移位操作符**:
- 左移 (<<)
- 右移 (>>)
用于数值位的移动。
5. **位操作符**:
- 与(&)
- 或(|)
- 异或(^)
- 取反(~)
用于处理二进制位级别的操作。
6. **赋值操作符**:
- 单目赋值 (如 `x++` 或 `x--`)
- 二目赋值 (`x = y`)
7. **三元操作符 if-else**[^2] (条件运算符):
```
expression ? true_value : false_value;
```
8. **字符串操作符**:
- 字符串连接 (`+`): `"Hello " + "World"` 或 `"Hello" += "World"`
注意,尽管 `+=` 是一个复合操作符,它实际上是先加后赋值,而不是立即连接两个字符串。
关于你提到的`i = i-- - --i * (i = -3) * i++ + ++i`这个例子,由于操作符优先级的不确定性,这段代码的结果取决于具体实现,但通常会涉及到递增和递减运算符的顺序问题。为了得到正确的结果,建议明确使用圆括号来明确运算顺序,比如 `(i--)`表示先递减再使用当前值。