当前位置: 首页 > news >正文

[开发|C++] C++的基本运算符说明笔记

基本运算符说明

C++是一种功能强大的编程语言,提供了多种运算符来执行各种基本操作。下面是一些常见的C++基本运算符及其说明:

  1. 算术运算符:
    +:加法运算符,用于执行两个操作数的相加操作。
    -:减法运算符,用于执行两个操作数的相减操作。
    *:乘法运算符,用于执行两个操作数的相乘操作。
    /:除法运算符,用于执行两个操作数的相除操作。
    %:取模运算符,返回两个操作数相除的余数。

  2. 关系运算符:
    ==:相等运算符,用于比较两个操作数是否相等。
    !=:不等运算符,用于比较两个操作数是否不相等。
    >:大于运算符,用于比较左操作数是否大于右操作数。
    <:小于运算符,用于比较左操作数是否小于右操作数。
    >=:大于等于运算符,用于比较左操作数是否大于等于右操作数。
    <=:小于等于运算符,用于比较左操作数是否小于等于右操作数。

  3. 逻辑运算符:
    &&:逻辑与运算符,用于执行逻辑与操作,当且仅当两个操作数都为真时结果为真。
    ||:逻辑或运算符,用于执行逻辑或操作,当且仅当两个操作数中至少一个为真时结果为真。
    !:逻辑非运算符,用于执行逻辑非操作,将操作数的值取反。

  4. 位运算符:
    &:按位与运算符,对操作数的每个位执行与操作。
    |:按位或运算符,对操作数的每个位执行或操作。
    ^:按位异或运算符,对操作数的每个位执行异或操作。
    <<:左移运算符,将操作数的所有位向左移动指定的位数。
    >>:右移运算符,将操作数的所有位向右移动指定的位数。

  5. 赋值运算符:
    =:赋值运算符,用于将右操作数的值赋给左操作数。
    +=:加法赋值运算符,相当于将左操作数与右操作数相加后再赋给左操作数。
    -=:减法赋值运算符,相当于将左操作数与右操作数相减后再赋给左操作数。
    *=:乘法赋值运算符,相当于将左操作数与右操作数相乘后再赋给。

基本运算符优先级说明

以下是C++中一些常见的基本运算符,按照优先级从高到低的顺序列出,并附上它们的结合性:

  1. 一元运算符:
    ++(后缀递增)和 --(后缀递减):从右到左结合。

  2. 乘性运算符:
    *(乘法)、 /(除法)和 %(取模):左结合。

  3. 加性运算符:
    +(加法)和 -(减法):左结合。

  4. 移位运算符:
    <<(左移)和 >>(右移):左结合。

  5. 关系运算符:
    <(小于)、>(大于)、 <=(小于等于)和 >=(大于等于):左结合。

  6. 相等性运算符:
    ==(相等)和 !=(不等):左结合。

  7. 位运算符:
    &(按位与):左结合。
    ^(按位异或):左结合。
    |(按位或):左结合。

  8. 逻辑运算符:
    &&(逻辑与):左结合。
    ||(逻辑或):左结合。

  9. 赋值运算符:
    =(赋值)及复合赋值运算符,如 +=-=*=/=%=<<=>>=&=^=|=:右结合。

运算符结合说明

在C++中,运算符具有不同的优先级,这决定了它们在表达式中的计算顺序。以下是一些常见的C++运算符,按照优先级从高到低的顺序列出:

  1. 一元运算符(从右到左结合):
    ++:后缀递增运算符
    --:后缀递减运算符
    ():函数调用运算符
    []:下标运算符
    .:成员访问运算符
    ->:成员指针访问运算符
    typeid:类型信息运算符
    sizeof:对象大小运算符
    new:动态分配运算符
    delete:动态释放运算符

  2. 乘性运算符(左结合):
    *:乘法运算符
    /:除法运算符
    %:取模运算符

  3. 加性运算符(左结合):
    +:加法运算符
    -:减法运算符

  4. 移位运算符(左结合):
    <<:左移运算符
    >>:右移运算符

  5. 关系运算符(左结合):
    <:小于运算符
    >:大于运算符
    <=:小于等于运算符
    >=:大于等于运算符

  6. 相等性运算符(左结合):
    ==:相等运算符
    !=:不等运算符

  7. 位与运算符(左结合):
    &:按位与运算符

  8. 位异或运算符(左结合):
    ^:按位异或运算符

  9. 位或运算符(左结合):
    |:按位或运算符

  10. 逻辑与运算符(左结合):
    &&:逻辑与运算符

  11. 逻辑或运算符(左结合):
    ||:逻辑或运算符

  12. 条件运算符(右结合):
    ? ::条件运算符

  13. 赋值运算符(右结合):
    =:赋值运算符
    +=:加法赋值运算符
    -=:减法赋值运算符
    *=:乘法赋值运算符
    /=:除法赋值运算符
    %=:取模赋值运算符
    <<=:左移赋值运算符
    >>=:右移赋值运算符
    &=:按位与赋值运算

相关文章:

[开发|C++] C++的基本运算符说明笔记

基本运算符说明 C是一种功能强大的编程语言&#xff0c;提供了多种运算符来执行各种基本操作。下面是一些常见的C基本运算符及其说明&#xff1a; 算术运算符&#xff1a; &#xff1a;加法运算符&#xff0c;用于执行两个操作数的相加操作。 -&#xff1a;减法运算符&#xf…...

抖音定位功能的作用

随着智能手机和社交网络的普及&#xff0c;人们日常生活中对于位置信息的需求也越来越高。而抖音作为一款以短视频为主的社交应用&#xff0c;其定位技术也备受关注。本文将就抖音的定位功能进行探究&#xff0c;介绍抖音如何获取、处理和利用用户的位置信息&#xff0c;并探讨…...

阿里 P9 推荐的 Spring 领域巅峰之作,直接颠覆了我对 Spring 的认知

写在前面 你第一次接触 spring 框架是在什么时候&#xff1f;相信很多人和我一样&#xff0c;第一次了解 spring 都不是做项目的时候用到&#xff0c;而是在网上看到或者是听到过一个叫做 spring 的框架&#xff0c;这个框架号称完爆之前的 structs 和 structs2&#xff0c;吸…...

R语言结构方程模型(SEM)在生态学领域中的实践应用

结构方程模型&#xff08;Sructural Equation Model&#xff09;是一种建立、估计和检验研究系统中多变量间因果关系的模型方法&#xff0c;它可以替代多元回归、因子分析、协方差分析等方法&#xff0c;利用图形化模型方式清晰展示研究系统中变量间的因果网络关系&#xff0c;…...

Java设计模式-模板方法模式

简介 在软件开发中&#xff0c;设计模式是一种被广泛采用的方法&#xff0c;用于解决常见的设计问题。模板方法模式是其中一种重要的设计模式之一&#xff0c;它提供了一种将算法的结构骨架固定&#xff0c;但允许子类实现具体步骤的机制。 模板方法模式是一种行为型设计模式…...

Start JDKFlightRecorder--人工翻译

可以同时运行多个JFR记录&#xff0c;并且每个JFR记录都可以使用不同的配置&#xff0c;你可以使用不同的JFR记录去捕获不同的事件集。但是&#xff0c;为了使JFR内部逻辑更加精简&#xff0c;生成的记录始终包含当时活动的所有记录的所有事件的并集。这意味着&#xff0c;运行…...

Python3安装pyhanlp最佳解决方法

1、Hanlp介绍 Hanlp是一款中文自然语言处理工具。Hanlp支持多种自然语言处理任务&#xff0c;包括分词、词性标注、命名实体识别、依存句法分析、情感分析、文本分类等。其主要优点包括&#xff1a; 高准确率&#xff1a;Hanlp采用了基于神经网络的分词方法&#xff0c;有效提…...

漏洞管理基础知识

漏洞管理对于端点安全至关重要&#xff0c;是在安全漏洞导致漏洞之前清除安全漏洞的最主动方法之一。 什么是漏洞 漏洞是软件中的错误代码段&#xff0c;会导致软件崩溃或以程序员从未预料到的方式做出响应。黑客可以利用漏洞对计算机系统进行未经授权的访问或对计算机系统执行…...

WBS项目分解的7大基本原则

制定和分解WBS&#xff0c;需要遵循的基本原则&#xff1a; 1、唯一性 每一项工作任务在WBS中是唯一的。 WBS项目分解的7大基本原则 2、负责制 每一项任务都需要明确责任人&#xff0c;一人负责&#xff0c;其他人参与。 3、可测量性 每一项任务都应该是可以量化和测量的&#…...

PoseiSwap IDO在Bounce上启动在即,如何参与?

目前&#xff0c;Nautilus Chain 生态基本完成测试&#xff0c;并即将在不久上线主网。PoseiSwap 作为 Nautilus Chain 上的首个 DEX&#xff0c;也即将面向市场并上线正式版本。我们看到&#xff0c; PoseiSwap 也正式发布了新的市场进程&#xff0c;基于其治理代币 POSE 的 I…...

Linux基本指令介绍

目录 前言 指令操作与图形化界面的对比 adduser passwd whoami ls指令 pwd指令 cd指令 touch指令 mkdir指令 rmdir指令 && rm 指令 man指令 cp指令 mv指令 cat&#xff08;显示文件内容&#xff08;全部&#xff09;&#xff0c;且不可修改的&#xff09;…...

C++服务器框架开发1——项目介绍/分布式/#ifndef与#pragma once

该专栏记录了在学习一个开发项目的过程中遇到的疑惑和问题。 其教学视频见&#xff1a;[C高级教程]从零开始开发服务器框架(sylar) C服务器开发1——项目介绍/分布式/#ifndef与#pragma once 项目介绍分布式#ifndef与#pragma once 最近开始学习下C的项目开发&#xff0c;找了很多…...

Tensorflow2基础代码实战系列之双层RNN文本分类任务

深度学习框架Tensorflow2系列 注&#xff1a;大家觉得博客好的话&#xff0c;别忘了点赞收藏呀&#xff0c;本人每周都会更新关于人工智能和大数据相关的内容&#xff0c;内容多为原创&#xff0c;Python Java Scala SQL 代码&#xff0c;CV NLP 推荐系统等&#xff0c;Spark …...

Python爬虫-快手photoId

前言 本文是该专栏的第49篇,后面会持续分享python爬虫干货知识,记得关注。 笔者在本专栏的上一篇,有详细介绍平台视频播放量的爬取方法。与该平台相关联的文章,笔者已整理在下方,感兴趣的同学可查看翻阅。 1. Python如何解决“快手滑块验证码”(4) 2. 快手pcursor 3. …...

软件测试人员如何为项目的质量保障兜底?看完你就明白了...

上线前层层保障 01文档管理 关键词&#xff1a;需求文档、设计文档、测试文档 1.需求和设计产出方为产品、开发&#xff0c;测试需要做好流程监督&#xff0c;这里重点说下测试文档。 2.测试文档&#xff0c;从业务领域来说&#xff0c;一般有测试计划、测试用例、业务总结文…...

《幸福关系的7段旅程》

关于作者 本书作者安德鲁∙马歇尔&#xff0c;英国顶尖婚姻咨询机构RELATE的资深专家&#xff0c;拥有 30年丰富的咨询经验&#xff0c;并为《泰晤士报》《观察家》和《星期日快报》撰写专栏文章。已出版19部作品&#xff0c;并被翻译成20种语言。 关于本书 《幸福关系的7段…...

使用Python中PDB模块中的命令来调试Python代码的教程

这篇文章主要介绍了使用Python中PDB模块中的命令来调试Python代码的教程,包括设置断点来修改代码等、对于Python团队项目工作有一定帮助&#xff0c;需要的朋友可以参考下 你有多少次陷入不得不更改别人代码的境地&#xff1f;如果你是一个开发团队的一员&#xff0c;那么你遇…...

Codeforces Round 764 (Div. 3)

比赛链接 Codeforces Round 764 A. Plus One on the SubsetB. Make APC. Division by Two and PermutationD. Palindromes ColoringE. Masha-forgetful A. Plus One on the Subset Example input 3 6 3 4 2 4 1 2 3 1000 1002 998 2 12 11output 3 4 1题意&#xff1a; 你可…...

四月,收割12家offer,面试也太容易了吧....

前言 下面是我根据工作这几年来的面试经验&#xff0c;加上之前收集的资料&#xff0c;整理出来350道软件测试工程师 常考的面试题。字节跳动、阿里、腾讯、百度、快手、美团等大厂常考的面试题&#xff0c;在文章里面都有 提到。 虽然这篇文章很长&#xff0c;但是绝对值得你…...

Xubuntu22.04之自动调节亮度护眼redshift(一百七十四)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

Qemu arm操作系统开发环境

使用qemu虚拟arm硬件比较合适。 步骤如下&#xff1a; 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载&#xff0c;下载地址&#xff1a;https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台

淘宝扭蛋机小程序系统的开发&#xff0c;旨在打造一个互动性强的购物平台&#xff0c;让用户在购物的同时&#xff0c;能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机&#xff0c;实现旋转、抽拉等动作&#xff0c;增…...

自然语言处理——文本分类

文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益&#xff08;IG&#xff09; 分类器设计贝叶斯理论&#xff1a;线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别&#xff0c; 有单标签多类别文本分类和多…...

嵌入式面试常问问题

以下内容面向嵌入式/系统方向的初学者与面试备考者,全面梳理了以下几大板块,并在每个板块末尾列出常见的面试问答思路,帮助你既能夯实基础,又能应对面试挑战。 一、TCP/IP 协议 1.1 TCP/IP 五层模型概述 链路层(Link Layer) 包括网卡驱动、以太网、Wi‑Fi、PPP 等。负责…...

Linux入门课的思维导图

耗时两周&#xff0c;终于把慕课网上的Linux的基础入门课实操、总结完了&#xff01; 第一次以Blog的形式做学习记录&#xff0c;过程很有意思&#xff0c;但也很耗时。 课程时长5h&#xff0c;涉及到很多专有名词&#xff0c;要去逐个查找&#xff0c;以前接触过的概念因为时…...