【C++】运算符大全

目录

1. 算术运算符 (Arithmetic Operators)

‌加法 (+)‌: 两个操作数相加。

‌减法 (-)‌: 从第一个操作数中减去第二个操作数。

‌乘法 (*)‌: 两个操作数相乘。

‌除法 (/)‌: 第一个操作数除以第二个操作数。

‌取模 (%)‌: 两个操作数相除后的余数。

‌自增 (++)‌: 操作数的值增加 1。

‌自减 (--)‌: 操作数的值减少 1。

2. 关系运算符 (Relational Operators)

‌等于 (==)‌: 检查两个操作数是否相等。

‌不等于 (!=)‌: 检查两个操作数是否不相等。

‌大于 (>)‌: 检查左操作数是否大于右操作数。

‌小于 (<)‌: 检查左操作数是否小于右操作数。

‌大于等于 (>=)‌: 检查左操作数是否大于或等于右操作数。

‌小于等于 (<=)‌: 检查左操作数是否小于或等于右操作数。

3. 逻辑运算符 (Logical Operators)

‌逻辑与 (&&)‌: 当且仅当两个操作数都为 true 时,结果为 true。

‌逻辑或 (||)‌: 如果任一操作数为 true,则结果为 true。

‌逻辑非 (!)‌: 把 true 变为 false,false 变为 true。

4. 位运算符 (Bitwise Operators)

‌按位与 (&)‌: 对应位都为 1 时,结果为 1。

‌按位或 (|)‌: 对应位只要有一个为 1,结果为 1。

‌按位异或 (^): 对应位不同则为 1。

‌按位取反 (~)‌: 把二进制数中的 0 变为 1,1 变为 0。

‌左移 (<<)‌: 把操作数的二进制表示向左移动若干位,高位丢弃,低位补 0。

‌右移 (>>)‌: 把操作数的二进制表示向右移动若干位,低位丢弃,高位取决于符号位(正数补 0,负数补 1)。

5. 赋值运算符 (Assignment Operators)

‌简单赋值 (=)‌: 把右操作数的值赋给左操作数。

‌加后赋值 (+=)‌: 把右操作数加到左操作数上,然后赋值给左操作数。

‌减后赋值 (-=)‌: 从左操作数中减去右操作数,然后赋值给左操作数。

‌乘后赋值 (*=)‌: 把左操作数与右操作数相乘,然后赋值给左操作数。

‌除后赋值 (/=)‌: 把左操作数除以右操作数,然后赋值给左操作数。

‌取模后赋值 (%=)‌: 把左操作数对右操作数取模,然后赋值给左操作数。


C++ 是一种功能强大且灵活的编程语言,支持多种运算符,这些运算符可以用于执行各种类型的操作,如算术运算、比较、逻辑运算等。以下是 C++ 中常用运算符的介绍及用法:

1. 算术运算符 (Arithmetic Operators)

  • 加法 (+)‌: 两个操作数相加。

    int a = 5; 
    int b = 3; 
    int result = a + b; // result 是 8

  • 减法 (-)‌: 从第一个操作数中减去第二个操作数。

    int a = 5; 
    int b = 3; 
    int result = a - b; // result 是 2

  • 乘法 (*)‌: 两个操作数相乘。

    int a = 5; 
    int b = 3; 
    int result = a * b; // result 是 15

  • 除法 (/)‌: 第一个操作数除以第二个操作数。

    int a = 6; 
    int b = 3; 
    int result = a / b; // result 是 2

  • 取模 (%)‌: 两个操作数相除后的余数。

    int a = 5; 
    int b = 3; 
    int result = a % b; // result 是 2

  • 自增 (++)‌: 操作数的值增加 1。

    int a = 5; 
    a++; // a 是 6

  • 自减 (--)‌: 操作数的值减少 1。

    int a = 5; 
    a--; // a 是 4

2. 关系运算符 (Relational Operators)

  • 等于 (==)‌: 检查两个操作数是否相等。

    int a = 5; 
    int b = 5; 
    bool result = (a == b); // result 是 true

  • 不等于 (!=)‌: 检查两个操作数是否不相等。

    int a = 5; 
    int b = 3; 
    bool result = (a != b); // result 是 true

  • 大于 (>)‌: 检查左操作数是否大于右操作数。

    int a = 5; 
    int b = 3; 
    bool result = (a > b); // result 是 true

  • 小于 (<)‌: 检查左操作数是否小于右操作数。

    int a = 3; 
    int b = 5; 
    bool result = (a < b); // result 是 true

  • 大于等于 (>=)‌: 检查左操作数是否大于或等于右操作数。

    int a = 5; 
    int b = 3; 
    bool result = (a >= b); // result 是 true

  • 小于等于 (<=)‌: 检查左操作数是否小于或等于右操作数。

    int a = 3; 
    int b = 5; 
    bool result = (a <= b); // result 是 true

3. 逻辑运算符 (Logical Operators)

  • 逻辑与 (&&)‌: 当且仅当两个操作数都为 true 时,结果为 true。

    bool a = true; 
    bool b = false; 
    bool result = (a && b); // result 是 false

  • 逻辑或 (||)‌: 如果任一操作数为 true,则结果为 true。

    bool a = true; 
    bool b = false; 
    bool result = (a || b); // result 是 true

  • 逻辑非 (!)‌: 把 true 变为 false,false 变为 true。

    bool a = true; 
    bool result = !a; // result 是 false

4. 位运算符 (Bitwise Operators)

  • 按位与 (&)‌: 对应位都为 1 时,结果为 1。

    int a = 5; // 二进制: 0101 
    int b = 3; // 二进制: 0011 
    int result = a & b; // result 是 1 (0001)

  • 按位或 (|)‌: 对应位只要有一个为 1,结果为 1。

    int a = 5; // 二进制: 0101 
    int b = 3; // 二进制: 0011 
    int result = a | b; // result 是 7 (0111)

  • 按位异或 (^): 对应位不同则为 1。

    int a = 5; // 二进制: 0101 
    int b = 3; // 二进制: 0011 
    int result = a^b; // result 是 6 (0110)

  • 按位取反 (~)‌: 把二进制数中的 0 变为 1,1 变为 0。

    int a = 5; // 二进制: 0101 
    int result = ~a; // result 是 -6 (计算方式为取反加1,即: 1010 + 1 = 1011,在补码表示中为 -6)

  • 左移 (<<)‌: 把操作数的二进制表示向左移动若干位,高位丢弃,低位补 0。

    int a = 5; // 二进制: 0101 
    int result = a << 1; // result 是 10 (1010)

  • 右移 (>>)‌: 把操作数的二进制表示向右移动若干位,低位丢弃,高位取决于符号位(正数补 0,负数补 1)。

    int a = 5; // 二进制: 0101 
    int result = a >> 1; // result 是 2 (0010) 

5. 赋值运算符 (Assignment Operators)

  • 简单赋值 (=)‌: 把右操作数的值赋给左操作数。

    int a = 5; 
    int b = a; // b 是 5

  • 加后赋值 (+=)‌: 把右操作数加到左操作数上,然后赋值给左操作数。

    int a = 5; 
    a += 3; // a 是 8

  • 减后赋值 (-=)‌: 从左操作数中减去右操作数,然后赋值给左操作数。

    int a = 5; 
    a -= 3; // a 是 2

  • 乘后赋值 (*=)‌: 把左操作数与右操作数相乘,然后赋值给左操作数。

    int a = 5; 
    a *= 3; // a 是 15

  • 除后赋值 (/=)‌: 把左操作数除以右操作数,然后赋值给左操作数。

    int a = 6; 
    a /= 3; // a 是 2

  • 取模后赋值 (%=)‌: 把左操作数对右操作数取模,然后赋值给左操作数。

    int a = 5; 
    a %= 3; //a 是 2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值