导读:本期聚焦于小伙伴创作的《C++中常见运算符有哪些?各符号的含义和功能分别是什么》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《C++中常见运算符有哪些?各符号的含义和功能分别是什么》有用,将其分享出去将是对创作者最好的鼓励。

C++中的运算符是用于执行各种运算操作的符号,按照功能可以分为算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、其他运算符六大类,不同类别的运算符对应不同的使用场景。

C++中常见运算符有哪些?各符号的含义和功能分别是什么

一、算术运算符

算术运算符用于完成基本的数学运算,常见的符号及功能如下:

符号名称功能说明示例
+加法运算符计算两个操作数的和int a = 1 + 2; // a的值为3
-减法运算符计算两个操作数的差int b = 5 - 3; // b的值为2
*乘法运算符计算两个操作数的乘积int c = 2 * 4; // c的值为8
/除法运算符计算两个操作数的商,整数相除结果取整int d = 7 / 2; // d的值为3
%取模运算符计算两个整数相除的余数,仅适用于整数类型int e = 7 % 2; // e的值为1
++自增运算符操作数的值加1,分为前置和后置两种形式int f = 1; int g = ++f; // f=2,g=2
--自减运算符操作数的值减1,分为前置和后置两种形式int h = 3; int i = h--; // h=2,i=3

二、关系运算符

关系运算符用于比较两个操作数的大小或相等关系,运算结果为布尔值truefalse,常见符号如下:

  • >:大于,判断左侧操作数是否大于右侧
  • <:小于,判断左侧操作数是否小于右侧
  • >=:大于等于,判断左侧操作数是否大于或等于右侧
  • <=:小于等于,判断左侧操作数是否小于或等于右侧
  • ==:等于,判断两个操作数是否相等
  • !=:不等于,判断两个操作数是否不相等

关系运算符的使用示例如下:

#include <iostream>
using namespace std;

int main() {
    int x = 5;
    int y = 10;
    cout << (x > y) << endl;  // 输出0,表示false
    cout << (x != y) << endl; // 输出1,表示true
    return 0;
}

三、逻辑运算符

逻辑运算符用于组合多个条件判断,得到最终的逻辑结果,常见符号包括:

  • &&:逻辑与,两侧条件都为true时结果才为true,短路特性:左侧为false时右侧不再计算
  • ||:逻辑或,两侧条件至少有一个为true时结果为true,短路特性:左侧为true时右侧不再计算
  • !:逻辑非,对条件的布尔值取反,true变false,false变true

逻辑运算符的代码示例:

#include <iostream>
using namespace std;

int main() {
    int score = 85;
    // 判断分数是否在60到100之间
    bool isPass = score >= 60 && score <= 100;
    cout << isPass << endl; // 输出1
    cout << !isPass << endl; // 输出0
    return 0;
}

四、位运算符

位运算符直接对整数的二进制位进行操作,仅适用于整型数据,常见符号如下:

符号名称功能说明示例(假设a=60二进制00111100,b=13二进制00001101)
&按位与两个二进制位都为1时结果位为1,否则为0a & b = 12(二进制00001100)
|按位或两个二进制位至少有一个为1时结果位为1a | b = 61(二进制00111101)
^按位异或两个二进制位不同时结果位为1,相同时为0a ^ b = 49(二进制00110001)
~按位取反对二进制位逐位取反,0变1,1变0~a = -61(二进制11000011,补码形式)
<<左移二进制位全部左移指定位数,高位丢弃,低位补0a << 2 = 240(二进制11110000)
>>右移二进制位全部右移指定位数,正数高位补0,负数高位补1a >> 2 = 15(二进制00001111)

五、赋值运算符

赋值运算符用于给变量赋值,基础赋值运算符是=,同时还有复合赋值运算符,常见类型如下:

  • =:基础赋值,将右侧的值赋给左侧的变量
  • +=:加赋值,等价于变量 = 变量 + 值
  • -=:减赋值,等价于变量 = 变量 - 值
  • *=:乘赋值,等价于变量 = 变量 * 值
  • /=:除赋值,等价于变量 = 变量 / 值
  • %=:取模赋值,等价于变量 = 变量 % 值
  • <<=:左移赋值,等价于变量 = 变量 << 位数
  • >>=:右移赋值,等价于变量 = 变量 >> 位数
  • &=:按位与赋值,等价于变量 = 变量 & 值
  • ^=:按位异或赋值,等价于变量 = 变量 ^ 值
  • |=:按位或赋值,等价于变量 = 变量 | 值

赋值运算符的使用示例:

#include <iostream>
using namespace std;

int main() {
    int num = 10;
    num += 5; // 等价于num = num + 5,num变为15
    num *= 2; // 等价于num = num * 2,num变为30
    cout << num << endl; // 输出30
    return 0;
}

六、其他常见运算符

除了上述几类运算符,C++中还有一些其他常用符号:

  • sizeof:求字节数运算符,返回数据类型或变量占用的内存字节数
  • ?::条件运算符(三目运算符),语法为条件 ? 表达式1 : 表达式2,条件为true返回表达式1的值,否则返回表达式2的值
  • ,:逗号运算符,按顺序执行多个表达式,最终结果为最后一个表达式的值
  • .*->*:成员指针运算符,用于访问对象的成员指针
  • :::作用域解析运算符,用于访问命名空间、类、结构体的成员
  • ->:箭头运算符,通过指针访问对象的成员,等价于(*指针).成员
  • &:取地址运算符,获取变量的内存地址;同时也可作为引用声明符
  • *:解引用运算符,获取指针指向地址的变量值

其他运算符的代码示例:

#include <iostream>
using namespace std;

int main() {
    int val = 10;
    // sizeof运算符
    cout << sizeof(val) << endl; // 输出4(32位环境int占4字节)
    // 条件运算符
    int max = (val > 5) ? val : 5;
    cout << max << endl; // 输出10
    // 逗号运算符
    int res = (val += 2, val * 3);
    cout << res << endl; // 输出36,val先变为12,再计算12*3
    return 0;
}

七、运算符优先级说明

当表达式中包含多个运算符时,优先级高的运算符先执行,优先级相同则按照结合性(从左到右或从右到左)执行。常见优先级从高到低大致为:括号 > 自增自减 > 算术运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符 > 逗号运算符。实际编写代码时,如果不确定优先级,可以通过加括号的方式明确执行顺序,避免逻辑错误。

C++运算符符号含义功能速查修改时间:2026-06-20 15:21:29

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。