一. 总结
不多bibi,一口气总结在C++中的所有运算符。
二. 算术运算符假设此处变量A的值为10,变量B的值为5
| 运算符 | 描述 | 实例 |
|---|---|---|
| + | 前后两数相加 | A + B 得到 15 |
| - | 前后两数相减 | A - B 得到 5 |
| * | 前后两数相乘 | A * B 得到 50 |
| / | 前后两数相除 | A / B 得到 2; 但 10 / 4 也会得到 2,而非 2.5, 解决办法:10.0 / 2 得到 2.5 |
| % | 除余 | A % B 得到0 |
| ++ | 自增运算符 | A++ 得到 11 |
| - - | 自减运算符 | A- - 得到 9 |
假设此处变量A的值为10,变量B的值为5 (变量也可为字符串等其他数据类型)
| 运算符 | 描述 | 实例 |
|---|---|---|
| == | 检查前后两个变量是否相等,相等返回 true , 不相等返回 false | ( A == B) 得到 假 |
| != | 检查前后两个变量是否相等,不相等返回 true , 相等返回 false | (A != B)得到 真 |
| > | 检查左边变量是否大于右边变量 ,大于返回true ,不大于返回 false | (A > B) 得到 真 |
| < | 检查右边变量是否大于左边变量 ,大于返回true,不大于返回 false | (A < B) 得到 假 |
| >= | 检查左边变量是否大于等于右边变量 ,大于等于返回true ,不大于等于返回 false | (A >= B)得到 真 |
| <= | 检查左边变量是否小于等于右边变量 ,小于等于返回true ,不小于等于返回 false | (A<=B)得到 假 |
假设此处变量A的值为1 此处代表true,变量B的值为0 此处代表false(变量可以为各种适用条件)
| 运算符 | 描述 | 实例 |
|---|---|---|
| && | 如果前后两个操作均为true,则条件为true | (A && B) 得到 false |
| || | 如果前后两个操作中任意一个为true,则条件为true | (A||B) 得到 true |
| ! | 用来逆转操作的逻辑状态,如果条件为true则逆转为false,反之为true | ! (A && B) 得到 false |
| p | q | p & q (与) | p | q (或) | p ^ q (异或,前后不同true) | ~(p ^ q) (同或,前后相同true) | ~p (取反) | ~q (取反) |
|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 |
| 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 |
代码演示:
#include五. 赋值运算符using namespace std; int main() { unsigned int a = 60; // 60 = 0011 1100 unsigned int b = 13; // 13 = 0000 1101 int c = 0; c = a & b; // 12 = 0000 1100 cout << "Line 1 - c 的值是 " << c << endl ; c = a | b; // 61 = 0011 1101 cout << "Line 2 - c 的值是 " << c << endl ; c = a ^ b; // 49 = 0011 0001 cout << "Line 3 - c 的值是 " << c << endl ; c = ~a; // -61 = 1100 0011 cout << "Line 4 - c 的值是 " << c << endl ; c = a << 2; // 240 = 1111 0000 cout << "Line 5 - c 的值是 " << c << endl ; c = a >> 2; // 15 = 0000 1111 cout << "Line 6 - c 的值是 " << c << endl ; return 0; }
| 运算符 | 描述 | 实例 |
|---|---|---|
| = | 简单的赋值运算符,把右边操作数的值赋给左边操作数 | C = A + B 将把 A + B 的值赋给 C |
| += | 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边 | C += A 相当于 C = C + A |
| -= | 减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边 | C -= A 相当于 C = C - A |
| *= | 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边 | C *= A 相当于 C = C * A |
| /= | 除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边 | C /= A 相当于 C = C / A |
| %= | 求模且赋值运算符,求两个操作数的模赋值给左边 | C %= A 相当于 C = C % A |
| <<= | 左移且赋值运算符 | C <<= 2 等同于 C = C << 2 |
| >>= | 右移且赋值运算符 | C >>= 2 等同于 C = C >> 2 |
| &= | 按位与且赋值运算符 | C &= 2 等同于 C = C & 2 |
| ^= | 按位异或且赋值运算符 | C ^= 2 等同于 C = C ^ 2 |
| |= | 按位或且赋值运算符 | C |= 2 等同于 C = C |
代码演示:
#includeusing namespace std; int main() { int a = 21; int c ; c = a; cout << "Line 1 - = 运算符实例,c 的值 = : " < >= 2; cout << "Line 8 - >>= 运算符实例,c 的值 = : " < 六. 各种运算符的优先级 参考:菜鸟教程之C++运算符:https://www.runoob.com/cplusplus/cpp-operators.html
如有问题,敬请指正。欢迎转载,但请注明出处。



