运算符总结

1.算术运算符

功能 运算符 描述 实例 结果
加法 + 例:a + b,其中a和b是变量或常量。 5+3 8
减法 - 例:a - b,其中a和b是变量或常量。 10-4 6
乘法 * 例:a * b,其中a和b是变量或常量。 7*2 14
除法 / 例:a / b,其中a和b是变量或常量。 15/3 5
取模 % 例:a % b,其中a和b是变量或常量。 10%3 1
幂运算 ** 例:a ** b,其中a和b是变量或常量。 2**8 8

2.比较运算符

<
功能 运算符 描述 实例 结果
### 数据结构中常见运算符及其用法总结 #### 1. 基本概念 在编程语言中,运算符是对数据执行特定操作的符号。这些运算符可以分为多种类别,每种都有不同的用途和行为。对于数据结构而言,了解并掌握常用运算符有助于更高效地设计算法和解决问题。 --- #### 2. 主要分类及用法 ##### (1)算术运算符 算术运算符主要用于数值计算,支持加、减、乘、除等基本操作。 - **加法 (`+`)** 和 **减法 (`-`)**:完成两个数之间的相加或相减[^1]。 - **乘法 (`*`)** 和 **除法 (`/`)**:分别用于求积和商。 - **取模 (`%`)**:返回两数相除后的余数。 示例代码: ```python a = 10 b = 3 print(a + b) # 输出 13 print(a % b) # 输出 1 ``` --- ##### (2)比较运算符 比较运算符用来判断两个值的关系,通常返回布尔类型的 `True` 或 `False`。 - **等于 (`==`)** 和 **不等于 (`!=`)**:检查两者是否相同或不同。 - **大小关系 (`<`, `>`, `<=`, `>=`)**:评估数值间的相对顺序[^1]。 示例代码: ```python x = 5 y = 7 print(x < y) # 输出 True print(x == y) # 输出 False ``` --- ##### (3)逻辑运算符 逻辑运算符用于组合条件表达式,适用于控制流语句。 - **AND**:只有当所有条件均为真时才返回真[^2]。 - **OR**:只要有一个条件为真就返回真[^2]。 - **NOT**:反转当前条件的结果[^2]。 示例代码: ```sql SELECT * FROM users WHERE age >= 18 AND active = TRUE; -- 查询年龄大于等于18岁且账户活跃的用户 ``` --- ##### (4)位运算符运算符直接作用于二进制位级别上的数据,广泛应用于底层开发。 - **按位与 (`&`)**:逐位对比,仅当对应位置都为1时结果才是1[^2]。 - **按位或 (`|`)**:只要有任一位为1,则该位结果即为1。 - **按位异或 (`^`)**:如果两位不同则结果为1,否则为0[^2]。 - **左移 (`<<`)** 和 **右移 (`>>`)**:将比特序列整体向指定方向移动若干位。 示例代码: ```c++ int num1 = 6; // 二进制表示为 0110 int num2 = 3; // 二进制表示为 0011 printf("%d\n", num1 & num2); // 输出 2 (0010) ``` --- ##### (5)赋值运算符 赋值运算符负责把右侧的值赋予左侧变量。 - **简单赋值 (`=`)**:最基础的形式。 - **复合赋值(如 `+=`, `-=` 等)**:简化连续的操作过程[^1]。 特殊说明:“`=|`”并非标准写法,而应写作“`|=`”,它是C/C++中的复合赋值运算符之一,代表先做按位或再重新赋给原变量[^4]。 示例代码: ```cpp unsigned char flag = 0x0F; flag |= 0xF0; // 结果变为 0xFF ``` --- ##### (6)成员访问与指针解引用 针对面向对象程序设计以及动态内存管理场景下特别重要的一类符号。 - 对象属性获取(`.`)[^3]。 - 地址间接寻址(`->`)或者显式强制转换类型cast[]()等等高级特性均涉及此类别定义方式。 --- #### 3. 运算符重载 某些现代编程语言允许自定义已存在运算符的行为模式,这便是所谓的“运算符重载”。例如,在C++里面可以通过声明特殊的函数名为`operator关键字`来实现这一目标[^3]。 实例展示如何让两个自定义类别的实例能够互相叠加起来形成新的实体: ```cpp class Vector { public: int x, y; Vector(int X, int Y): x(X), y(Y){} // 定义 "+" 的含义 Vector operator+(const Vector& other){ return Vector(this->x + other.x, this->y + other.y); } }; // 测试部分 Vector v1(1, 2), v2(3, 4); Vector result = v1 + v2; cout << "(" <<result.x<< ", "<<result.y<<")"; // 应打印 "(4, 6)" ``` --- #### 4. 小结 综上所述,无论是哪种具体的运算符种类,它们都在各自的领域发挥着不可替代的作用。熟悉这些工具不仅可以让我们的编码更加简洁优雅,而且还能显著提高运行效率。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值