C++ 运算符(Operators in C++)
                           
天天向上
发布: 2025-03-28 00:05:39

原创
339 人浏览过

C++ 提供了丰富的运算符,用于进行各种运算和操作。运算符是执行操作的符号,用来处理数据并生成结果。运算符的种类繁多,C++ 支持算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符等。


1. 算术运算符(Arithmetic Operators)

算术运算符用于基本的数学运算,如加法、减法、乘法、除法等。

运算符描述示例
+加法a + b
-减法a - b
*乘法a * b
/除法a / b
%取余a % b
++自增a++++a
--自减a----a

示例:使用算术运算符

#include <iostream>
using namespace std;

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

2. 关系运算符(Relational Operators)

关系运算符用于比较两个值的关系,返回布尔值 truefalse

运算符描述示例
==等于a == b
!=不等于a != b
>大于a > b
<小于a < b
>=大于或等于a >= b
<=小于或等于a <= b

示例:使用关系运算符

#include <iostream>
using namespace std;

int main() {
    int a = 10, b = 5;
    cout << "a == b: " << (a == b) << endl; // 0 (false)
    cout << "a != b: " << (a != b) << endl; // 1 (true)
    cout << "a > b: " << (a > b) << endl;   // 1 (true)
    cout << "a < b: " << (a < b) << endl;   // 0 (false)
    return 0;
}

3. 逻辑运算符(Logical Operators)

逻辑运算符用于在条件语句中进行布尔运算,通常与 ifwhile 等条件语句结合使用。

运算符描述示例
&&逻辑与a && b
||逻辑或a || b
!逻辑非!a

示例:使用逻辑运算符

#include <iostream>
using namespace std;

int main() {
    bool a = true, b = false;
    cout << "(a && b): " << (a && b) << endl;  // 0 (false)
    cout << "(a || b): " << (a || b) << endl;  // 1 (true)
    cout << "(!a): " << (!a) << endl;          // 0 (false)
    return 0;
}

4. 位运算符(Bitwise Operators)

位运算符用于操作整数类型的二进制位。

运算符描述示例
&按位与a & b
|按位或a | b
^按位异或a ^ b
~按位取反~a
<<左移a << b
>>右移a >> b

示例:使用位运算符

#include <iostream>
using namespace std;

int main() {
    int a = 5, b = 3;
    cout << "(a & b): " << (a & b) << endl;  // 1
    cout << "(a | b): " << (a | b) << endl;  // 7
    cout << "(a ^ b): " << (a ^ b) << endl;  // 6
    cout << "(~a): " << (~a) << endl;        // -6
    cout << "(a << 1): " << (a << 1) << endl; // 10
    cout << "(a >> 1): " << (a >> 1) << endl; // 2
    return 0;
}

5. 赋值运算符(Assignment Operators)

赋值运算符用于将一个值赋给一个变量。

运算符描述示例
=赋值a = b
+=加法赋值a += b
-=减法赋值a -= b
*=乘法赋值a *= b
/=除法赋值a /= b
%=取余赋值a %= b

示例:使用赋值运算符

#include <iostream>
using namespace std;

int main() {
    int a = 10;
    a += 5;  // a = a + 5
    cout << "a += 5: " << a << endl;  // 15
    a -= 3;  // a = a - 3
    cout << "a -= 3: " << a << endl;  // 12
    return 0;
}

6. 自增与自减运算符(Increment and Decrement Operators)

自增(++)和自减(--)运算符用于增加或减少一个变量的值。

运算符描述示例
++自增a++++a
--自减a----a

示例:使用自增与自减运算符

#include <iostream>
using namespace std;

int main() {
    int a = 5;
    cout << "a++: " << a++ << endl;  // 输出 5,a 增加为 6
    cout << "++a: " << ++a << endl;  // 输出 7
    cout << "a--: " << a-- << endl;  // 输出 7,a 减少为 6
    cout << "--a: " << --a << endl;  // 输出 5
    return 0;
}

7. 条件运算符(三元运算符)

条件运算符是一个三目运算符,根据条件判断返回不同的值。

运算符描述示例
? :条件运算符condition ? a : b

示例:使用条件运算符

#include <iostream>
using namespace std;

int main() {
    int a = 10, b = 5;
    int result = (a > b) ? a : b;  // 如果 a > b,则返回 a,否则返回 b
    cout << "result: " << result << endl;  // 10
    return 0;
}

8. 类型转换运算符(Type-Casting Operators)

类型转换运算符用于将一种数据类型的值转换为另一种数据类型。

运算符描述示例
static_cast静态类型转换static_cast<int>(a)
dynamic_cast动态类型转换dynamic_cast<type>(object)
const_cast常量转换const_cast<const type>(a)
reinterpret_cast重解释类型转换reinterpret_cast<type>(a)

示例:使用 static_cast

#include <iostream>
using namespace std;

int main() {
    double a = 5.7;
    int b = static_cast<int>(a);  // 将 double 转换为 int
    cout << "b: " << b << endl;   // 输出 5
    return 0;
}

总结

C++ 运算符种类繁多,各种运算符能够帮助开发者在程序中实现各种不同的操作。掌握这些运算符并理解它们的使用场景,是高效编写 C++ 程序的基础。

运算符类型示例
算术运算符+, -, *, /
关系运算符==, !=, >, <
逻辑运算符&&, ||, !
位运算符&, |, ^, <<
赋值运算符=, +=, -=
自增/自减运算符++, --
条件运算符? :
类型转换运算符static_cast
发表回复 0

Your email address will not be published. Required fields are marked *