博客
关于我
4.C++运算符
阅读量:735 次
发布时间:2019-03-21

本文共 1288 字,大约阅读时间需要 4 分钟。

C++ 运算符指南

算术运算符

在编程中,运算符是编译器执行特定数学或逻辑操作的符号。C++ 提供了丰富的运算符,主要包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和杂项运算符。

让我们从算术运算符开始。

算术运算符

  • 加法 (+) 用于将两个数相加。
  • 减法 (-) 用于从第一个数中减去第二个数。
  • 除法 (/) 用于执行除法操作,需要注意除法的结果类型。
  • 余数运算符 (%) 用于计算两个数的余数。

需要注意以下几点:

  • 除法运算符的结果类型可能是浮点数(如10.5)或整数(如5/2=2),具体取决于被除数和除数是否为整数。
  • 自增和自减操作符(如++和--)需要特别注意顺序,尤其是在使用与print函数结合时。

关系运算符

接下来是关系运算符

  • 等于操作符 (==) 检查两个值是否相同。
  • 不等于操作符 (!=) 检查两个值是否不同。
  • 小于操作符 (<) 检查左边的值是否比右边的值小。
  • 大于操作符 (>)
  • 小于等于操作符 (<=)
  • 大于等于操作符 (>=)

假设变量A=10,变量B=20的话,

A == B 将返回false,而 A < B 则返回true。

逻辑运算符

再来看看逻辑运算符

  • 与运算符 (&&) самом常见的逻辑运算符,返回两个操作数都为true时的结果。
  • 或运算符 (||) 返回至少一个操作数为true时的结果。
  • 非运算符 (!) 将true转换为false,false转换为true。

假设变量A=1,变量B=0的话,

A &!B 将返回true(因为A为true,B为false)。而 B || !A 则返回true(因为B为true)。

位运算符

位运算符用于对整数值的二进制表示进行操作。

  • 与运算符 (&) 同时将两个数的相应位取1。
  • 或运算符 (|) 将两个数的相应位中至少有一个为1的位置取1。
  • 异或运算符 (^) 将两个数的相应位相互取反。

假设变量A=60(二进制为0011 1100),变量B=13(二进制为0000 1101)。

  • A & B 将为0000 1100(即12)。
  • A | B 将为0011 1101(即 61)。
  • A ^ B 将为0011 0001(即 25)。

赋值运算符

赋值运算符用于将值赋予变量。

  • 等号 (=) 用于简单的赋值操作。
  • 不等于运算符 (!=) 用于在比较操作中使用。
  • 短路赋值运算符.GetObject( _ ) 和GetObjectWAE( _ ) 用于在异常处理和常规赋值之间进行转换。

下图显示了C++支持的一些常用赋值运算符的示例:

一张表格说明了详细的赋值运算符。

杂项运算符

最后,我们不聚运算符集合中仍有以下操作符:

  • 母管号运算符?(是一个有效的符号吗?)
  • 指令符号()这可能需要更进一步的解释。

运算符优先级

某个表格按运算符优先级从高到低排列,较高优先级的运算符出现在表格顶部。

例如,括号括起来的内容具有最高优先级,依次类推。括号表明具有最高优先级,然后是乘法和除法,然后是加减法最后是逻辑运算符。

最终,我想大家可以根据需要选择具体运算符的使用顺序。

转载地址:http://zqhgz.baihongyu.com/

你可能感兴趣的文章
OpenCV与AI深度学习 | 实战 | 使用OpenCV确定对象的方向(附源码)
查看>>
OpenCV与AI深度学习 | 实战 | 使用YOLOv8 Pose实现瑜伽姿势识别
查看>>
OpenCV与AI深度学习 | 实战 | 使用YoloV8实例分割识别猪的姿态(含数据集)
查看>>
OpenCV与AI深度学习 | 实战 | 使用姿态估计算法构建简单的健身训练辅助应用程序
查看>>
OpenCV与AI深度学习 | 实战 | 基于OpenCV和K-Means聚类实现颜色分割(步骤 + 代码)
查看>>
OpenCV与AI深度学习 | 实战 | 基于YoloV5和Mask RCNN实现汽车表面划痕检测(步骤 + 代码)
查看>>
OpenCV与AI深度学习 | 实战 | 基于YOLOv9+SAM实现动态目标检测和分割(步骤 + 代码)
查看>>
OpenCV与AI深度学习 | 实战 | 基于YOLOv9和OpenCV实现车辆跟踪计数(步骤 + 源码)
查看>>
OpenCV与AI深度学习 | 实战 | 文本图片去水印--同时保持文本原始色彩(附源码)
查看>>
OpenCV与AI深度学习 | 实战 | 通过微调SegFormer改进车道检测效果(数据集 + 源码)
查看>>
OpenCV与AI深度学习 | 实战—使用YOLOv8图像分割实现路面坑洞检测(步骤 + 代码)
查看>>
OpenCV与AI深度学习 | 实战篇——基于YOLOv8和OpenCV实现车速检测(详细步骤 + 代码)
查看>>
OpenCV与AI深度学习 | 实战|OpenCV实时弯道检测(详细步骤+源码)
查看>>
OpenCV与AI深度学习 | 实用技巧 | 使用OpenCV进行模糊检测
查看>>
OpenCV与AI深度学习 | 实践教程|旋转目标检测模型-TensorRT 部署(C++)
查看>>
OpenCV与AI深度学习 | 工业缺陷检测中数据标注需要注意的几个事项
查看>>
OpenCV与AI深度学习 | 干货 | 深度学习模型训练和部署的基本步骤
查看>>
OpenCV与AI深度学习 | 手把手教你用Python和OpenCV搭建一个半自动标注工具(详细步骤 + 源码)
查看>>
OpenCV与AI深度学习 | 水下检测+扩散模型:或成明年CVPR最大惊喜!
查看>>
OpenCV与AI深度学习 | 深入浅出了解OCR识别票据原理
查看>>