c++运算符

在 C++ 里,运算符属于基础组成部分,用于操作变量与值。以下为你详细介绍各类运算符:

1. 算术运算符

这类运算符用于执行基本算术操作,常见的有:

cpp

#include <iostream>
int main() {
    int a = 10, b = 3;
    std::cout << "加法: " << a + b << std::endl;
    std::cout << "减法: " << a - b << std::endl;
    std::cout << "乘法: " << a * b << std::endl;
    std::cout << "除法: " << a / b << std::endl;
    std::cout << "取模: " << a % b << std::endl;
    return 0;
}

在上述代码中:

  • +用于加法运算。
  • -用于减法运算。
  • *用于乘法运算。
  • /用于除法运算,若操作数为整数,结果会取整。
  • %用于取模运算,即求余数。

2. 赋值运算符

其作用是把值赋给变量,常见赋值运算符如下:

cpp

#include <iostream>
int main() {
    int a = 5;
    a += 3; // 等同于 a = a + 3
    std::cout << "a += 3 后的值: " << a << std::endl;
    a -= 2; // 等同于 a = a - 2
    std::cout << "a -= 2 后的值: " << a << std::endl;
    a *= 4; // 等同于 a = a * 4
    std::cout << "a *= 4 后的值: " << a << std::endl;
    a /= 2; // 等同于 a = a / 2
    std::cout << "a /= 2 后的值: " << a << std::endl;
    a %= 3; // 等同于 a = a % 3
    std::cout << "a %= 3 后的值: " << a << std::endl;
    return 0;
}

这里的+=-=*=/=%= 都是复合赋值运算符,能让代码更简洁。

3. 比较运算符

用于比较两个值,返回布尔类型(true 或 false)的结果:

cpp

#include <iostream>
int main() {
    int a = 5, b = 3;
    std::cout << "a > b: " << (a > b) << std::endl;
    std::cout << "a < b: " << (a < b) << std::endl;
    std::cout << "a >= b: " << (a >= b) << std::endl;
    std::cout << "a <= b: " << (a <= b) << std::endl;
    std::cout << "a == b: " << (a == b) << std::endl;
    std::cout << "a != b: " << (a != b) << std::endl;
    return 0;
}

其中:

  • > 检查左边的值是否大于右边的值。
  • < 检查左边的值是否小于右边的值。
  • >= 检查左边的值是否大于或等于右边的值。
  • <= 检查左边的值是否小于或等于右边的值。
  • == 检查两个值是否相等。
  • != 检查两个值是否不相等。

4. 逻辑运算符

用于组合多个条件,结果为布尔类型:

cpp

#include <iostream>
int main() {
    bool x = true, y = false;
    std::cout << "x && y: " << (x && y) << std::endl;
    std::cout << "x || y: " << (x || y) << std::endl;
    std::cout << "!x: " << (!x) << std::endl;
    return 0;
}

具体而言:

  • && 是逻辑与运算符,只有当两个操作数都为 true 时,结果才为 true
  • || 是逻辑或运算符,只要有一个操作数为 true,结果就为 true
  • ! 是逻辑非运算符,对操作数取反。

5. 位运算符

针对二进制位进行操作:

cpp

#include <iostream>
int main() {
    int a = 5, b = 3;
    std::cout << "按位与: " << (a & b) << std::endl;
    std::cout << "按位或: " << (a | b) << std::endl;
    std::cout << "按位异或: " << (a ^ b) << std::endl;
    std::cout << "按位取反: " << (~a) << std::endl;
    std::cout << "左移: " << (a << 1) << std::endl;
    std::cout << "右移: " << (a >> 1) << std::endl;
    return 0;
}

这里:

  • & 是按位与运算符,对两个操作数的对应位进行与运算。
  • | 是按位或运算符,对两个操作数的对应位进行或运算。
  • ^ 是按位异或运算符,对两个操作数的对应位进行异或运算。
  • ~ 是按位取反运算符,对操作数的每一位取反。
  • << 是左移运算符,将操作数的二进制位向左移动指定的位数。
  • >> 是右移运算符,将操作数的二进制位向右移动指定的位数。

6. 递增和递减运算符

用于对变量的值进行递增或递减操作:

cpp

#include <iostream>
int main() {
    int a = 5;
    std::cout << "前置递增: " << ++a << std::endl;
    std::cout << "后置递增: " << a++ << std::endl;
    std::cout << "递增后的值: " << a << std::endl;
    std::cout << "前置递减: " << --a << std::endl;
    std::cout << "后置递减: " << a-- << std::endl;
    std::cout << "递减后的值: " << a << std::endl;
    return 0;
}

其中:

  • ++ 是递增运算符,++a 是前置递增,先增加 a 的值再使用;a++ 是后置递增,先使用 a 的值再增加。
  • -- 是递减运算符,--a 是前置递减,先减少 a 的值再使用;a-- 是后置递减,先使用 a 的值再减少。

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

这是 C++ 里唯一的三元运算符,可根据条件选择不同的值:

cpp

#include <iostream>
int main() {
    int a = 5, b = 3;
    int max = (a > b) ? a : b;
    std::cout << "最大值: " << max << std::endl;
    return 0;
}

(条件) ? 值1 : 值2 这种形式,如果条件为 true,则返回值 1;否则返回值 2。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值