当前位置: 首页 > 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; 人生…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...