亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

掌握 C++ 运算符:六大类型全解析与实战示例

C++ 运算符完全指南

系统学习 C++ 六大类运算符:算术、赋值、关系、逻辑、位运算及其他,附完整示例表格与优先级陷阱避坑指南。

运算符是对变量/值执行操作的符号。如 + 执行加法,- 执行减法。

C++ 运算符分 6 类:

  1. 算术运算符
  2. 赋值运算符
  3. 关系运算符
  4. 逻辑运算符
  5. 位运算符
  6. 其他运算符

1. 算术运算符

执行数学运算:

运算符操作
+加法
-减法
*乘法
/除法
%取模(求余)

示例 1:算术运算符

#include <iostream>
using namespace std;

int main() {
    int a = 7, b = 2;
    cout << "a + b = " << (a + b) << endl;
    cout << "a - b = " << (a - b) << endl;
    cout << "a * b = " << (a * b) << endl;
    cout << "a / b = " << (a / b) << endl;
    cout << "a % b = " << (a % b) << endl;
    return 0;
}

输出

a + b = 9
a - b = 5
a * b = 14
a / b = 3
a % b = 1

除法细节:整数除整数得商(截断);任一操作数为浮点数则得浮点结果。

7/2 = 3
7.0/2 = 3.5
7/2.0 = 3.5
7.0/2.0 = 3.5

取模细节:% 仅用于整数。9 % 4 = 1。

注意:% 只能用于整数类型。

自增/自减运算符

示例:int num = 5; ++num; // 6


示例 2:前缀/后缀自增自减

#include <iostream>
using namespace std;

int main() {
    int a = 10, b = 100, result_a, result_b;
    result_a = ++a;  // 前缀:先增后用
    cout << "result_a = " << result_a << endl;
    result_b = --b;  // 前缀:先减后用
    cout << "result_b = " << result_b << endl;
    return 0;
}

输出

result_a = 11
result_b = 99

后缀形式(a++、b--)先用后增/减。详见 自增自减详解。


2. 赋值运算符

将值赋给变量:a = 5;

运算符示例等价于
=a = b;a = b;
+=a += b;a = a + b;
-=a -= b;a = a - b;
*=a *= b;a = a * b;
/=a /= b;a = a / b;
%=a %= b;a = a % b;

示例 3:复合赋值

#include <iostream>
using namespace std;

int main() {
    int a = 2, b = 7;
    cout << "a = " << a << endl;
    cout << "b = " << b << endl;
    cout << "\nAfter a += b;" << endl;
    a += b;  // a = a + b
    cout << "a = " << a << endl;
    return 0;
}

输出

a = 2
b = 7
After a += b;
a = 9

3. 关系运算符

比较两个操作数关系,结果为 true(1) 或 false(0)。

运算符含义示例
==等于3 == 5 → false
!=不等于3 != 5 → true
>大于3 > 5 → false
<小于3 < 5 → true
>=大于等于3 >= 5 → false
<=小于等于3 <= 5 → true

示例 4:关系运算符

#include <iostream>
using namespace std;

int main() {
    int a = 3, b = 5;
    bool result;
    result = (a == b); cout << "3 == 5 is " << result << endl;
    result = (a != b); cout << "3 != 5 is " << result << endl;
    result = (a > b);  cout << "3 > 5 is " << result << endl;
    result = (a < b);  cout << "3 < 5 is " << result << endl;
    result = (a >= b); cout << "3 >= 5 is " << result << endl;
    result = (a <= b); cout << "3 <= 5 is " << result << endl;
    return 0;
}

输出

3 == 5 is 0
3 != 5 is 1
3 > 5 is 0
3 < 5 is 1
3 >= 5 is 0
3 <= 5 is 1
注意:关系运算符常用于决策与循环条件。

4. 逻辑运算符

组合多个条件,结果为 true(1) 或 false(0)。

运算符示例含义
&&expr1 && expr2逻辑与:全真才真
||expr1 || expr2逻辑或:一真即真
!!expr逻辑非:真变假,假变真

真值表速查:

a=5, b=8 时:
(a>3) && (b>5)  → true
(a>3) && (b<5)  → false
(a>3) || (b>5)  → true
(a>3) || (b<5)  → true
(a<3) || (b<5)  → false
!(a<3)           → true
!(a>3)           → false

示例 5:逻辑运算符

#include <iostream>
using namespace std;

int main() {
    bool result;
    result = (3 != 5) && (3 < 5);  cout << "(3 != 5) && (3 < 5) is " << result << endl;
    result = (3 == 5) && (3 < 5);  cout << "(3 == 5) && (3 < 5) is " << result << endl;
    result = (3 == 5) && (3 > 5);  cout << "(3 == 5) && (3 > 5) is " << result << endl;
    result = (3 != 5) || (3 < 5);  cout << "(3 != 5) || (3 < 5) is " << result << endl;
    result = (3 != 5) || (3 > 5);  cout << "(3 != 5) || (3 > 5) is " << result << endl;
    result = (3 == 5) || (3 > 5);  cout << "(3 == 5) || (3 > 5) is " << result << endl;
    result = !(5 == 2);              cout << "!(5 == 2) is " << result << endl;
    result = !(5 == 5);              cout << "!(5 == 5) is " << result << endl;
    return 0;
}

输出

(3 != 5) && (3 < 5) is 1
(3 == 5) && (3 < 5) is 0
(3 == 5) && (3 > 5) is 0
(3 != 5) || (3 < 5) is 1
(3 != 5) || (3 > 5) is 1
(3 == 5) || (3 > 5) is 0
!(5 == 2) is 1
!(5 == 5) is 0

5. 位运算符

对整数二进制位逐位操作,仅适用 char、int 等整型。

运算符描述
&按位与
|按位或
^按位异或
~按位取反(一补数)
<<左移
>>右移

详见 C++ 位运算符专题。


6. 其他常用运算符

运算符描述示例
sizeof返回类型/表达式字节大小sizeof(int); // 4
?:三元条件运算符string s = (5 > 0) ? "even" : "odd"; // "even"
&取地址&num; // num 的地址
.结构体/类成员访问s1.marks = 92;
->指针成员访问ptr->marks = 92;
<<输出流插入cout << 5;
>>输入流提取cin >> num;
,逗号运算符(顺序求值,取最后值)int x = (a=1, b=2, a+b); // 3
.* / ->*成员指针访问高级元编程

运算符优先级与结合性(核心避坑点)

高优先级先结合。常见易错点:

建议:不确定时加括号,可读性优于炫技。

C语言

  1. C#运算符——C#运算符全面指南
  2. 深入理解 C++ 数据类型:基础类型、修饰符与最佳实践
  3. C++ 注释最佳实践:编写可读、可维护代码的注释艺术
  4. C++ 类模板实战指南:编写灵活的类型无关代码
  5. C 语言运算符完全指南:算术、关系、逻辑、位运算等
  6. C++ 运算符全解析:类型、示例与示例程序
  7. C 语言运算符大全:算术、关系、逻辑、位运算、赋值与优先级详解
  8. C++编程语言:核心特性全景解析
  9. C++常量与字面量完全手册:类型、语法与最佳实践
  10. C++运算符大全:算术/关系/逻辑/位/赋值/杂项与优先级结合性
  11. 精通Python运算符:全面指南
  12. 精通 Java 运算符:类型、语法与实战示例