运算符和表达式

运算符

运算:对数据进行加工和处理。

运算符:表示各种运算的符号。

操作数:参与运算的数据。

根据操作数的个数,可以将运算符分为单目、双目和多目运算符。单目运算符只对1个操作数运算,双目运算符对2个操作数运算。

根据操作数和运算结果,运算符分为:算术运算符、关系运算符、逻辑运算符、位运算符。

算术运算符

算术运算符包括双目运算符和单目运算符。

双目算术运算符包括+(加)、-(减)、*(乘)、/(除)和%(取余)。

例如:

23+5              //结果是28

6*5               //结果是30

27/3               //结果是9

9%3               //结果是0

单目算术运算符包括++(自增)、--(自减)、-(负号)。

“++”和“--”用于整数类型的变量,不能用于常量或表达式。

“++”和“--”既可以出现在变量的左边,也可以出现在变量的右边。

例如:

int j=5;

j++;                     //结果,j等于6

++j;                        //结果,j等于7

--j;                         //结果,j等于6

j--;                         //结果,j等于5

关系运算符

关系运算是2个操作数之间的比较运算。

关系运算符有:>、<、>=、<=、= =和!=。        

其中“= =”和“!=”用于布尔类型及字符串类型操作数。        

字符类型操作数的比较依据是其Unicode值,字符串从左向右依此对每个字符比较。        

关系运算的运算结果是布尔类型值。如果关系成立,结果的值为true;否则,结果的值为false。

逻辑运算符

逻辑运算是对布尔类型操作数进行的与、或、非、异或等运算,运算结果仍然是布尔类型值。    

逻辑运算符有:&(与)、|(或)、!(非)、^(异或)、&&(条件与)、||(条件或)。

例如:

! true                     //结果是false

true & false           //结果是false

true | false              //结果是true

位运算符

位运算是对整数类型的操作数按二进制的位进行运算,所运算结果仍然是整数类型值

位运算符有:

~(位反)、&(位与)、|(位或)、^(位异或)

<<(左移位)、>>(右移位)、>>>(无符号右移位)

例如:x=132,y=204;计算~x和x^y的值

(1)将整数转换为二进制数。        

x=10000100,y=11001100

(2)对x按位进行取反操作。

~ 10000100=01111011  

(3)对x,y按位进行异或操作                

   10000100            

^ 11001100                

   01001000

(4)所得结果:~x=123,x^y=72。

赋值运算符

赋值运算用于给变量赋值,如下:变量名=表达式;        

赋值运算的顺序是从右向左的,即先计算表达式的值,再将表达式的值赋予变量。

例如:

int i=3, j;             //i的初始值是3          

j=i+2;               //结果,j的值是5          

i=2*j;               //结果,i的值是10          

j=j+4;              //结果,j的值是9

条件运算符

格式如下:表达式1 ?表达式2 :表达式3  

其中“?:”称为条件运算符,它是三目运算符。        

当“表达式1”的值是true,“表达式2”的值是最终表达式的值。

如果“表达式1”的值是false,“表达式3”的值是最终表达式的值。

表达式

表达式是用运算符将操作数连接起来的符合语法规则的运算式。

优先级

运算符

描述

优先级

结合性

.  []  ( )  

域,数组,括号

1

从左至右

++  --  -  !  ~

一元运算符

2

从右至左

*  /   %

乘,除,取余

3

从左至右

+  - 

加,减

4

从左至右

<<   >>    >>>

位运算

5

从左至右

<  <=   >   >=

逻辑运算

6

从左至右

==   !=

逻辑运算

7

从左至右

&

按位与

8

从左至右

^

按位异或

9

从左至右

运算符

描述

优先级

结合性

|

按位或

10

从左至右

&&

逻辑与

11

从右至左

||

逻辑或

12

从左至右

?   :

条件运算

13

从左至右

  =   *=   /=    %=    

  +=   =    <<=  

  >>=    >>>= 

  &=    ^=     |=        

位运算

14

从左至右

表达式的数据类型由运算结果的数据类型决定。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/868729.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

k8s中port,targetPort,nodePort,containerPort的区别

一、说明 在 Kubernetes 中&#xff0c;port、targetPort、nodePort 和 containerPort 是用于定义服务&#xff08;Service&#xff09;和容器之间网络通信的不同参数。 它们各自的作用和含义如下&#xff1a; 1. port 定义&#xff1a;这是服务对外暴露的端口号。作用&#x…

linux指令练习

二、touch、vi练习&#xff1a; 1、在root家目录下创建目录A1和B1 2、进入B1下同时创建三个文件m1, m2 , n1&#xff0c;单独创建目录N1 3、进入到A1目录中分别创建一个文件t1,k2&#xff0c;同时创建目录F1&#xff0c;F2 4、删除B1下的所有1结尾的文件或者目录 5、删除A1目录…

Python基础知识——(001)

文章目录 P4——3. 程序设计语言的分类 1. 程序设计语言 2. 编译与解释 P5——4. Python语言的简介与开发工具 1. Python语言的简介 2. Python语言的发展 3. Python语言的特点 4. Python的应用领域 5. Python的开发工具 P6——5. IPO编程方式 IPO程序编写方法 P7——6. print函…

案例精选 | 聚铭综合日志分析系统为江苏省电子口岸构建高效安全的贸易生态

江苏省电子口岸有限公司&#xff0c;成立于2009年&#xff0c;由江苏省贸促会携手南京海关、江苏检验检疫局及江苏海事局等部门共同出资组建。公司承载着推动江苏乃至长三角地区国际贸易便利化的重大使命&#xff0c;致力于打造一个集先进性、创新性、高效性于一体的电子口岸综…

STM32初识HAL库(下载和使用)

初识HAL库&#xff08;了解&#xff09; ST 为了方便用户开发 STM32芯片开发提供了三种库&#xff1a; 标准外设库 (Standard Peripheral Libraries)HAL库(硬件抽象层)&#xff1a;Hardware Abstraction LayerLL库&#xff1a;Low Layer 一、获取STM32Cube固件包 方式一&…

jQuery 笔记

一、什么是jQuery 框架&#xff1a;半成品软件 Jquery就是封装好的js 本质上还是js jQuery是一个快速、简洁的JavaScript**框架**&#xff0c;是继Prototype之后又一个优秀的**JavaScript代码库**&#xff08;*或JavaScript框架*&#xff09;。 JQuery:封装好的代码库。有一…

【Proteus】按键的实现『⒉种』

&#x1f6a9; WRITE IN FRONT &#x1f6a9; &#x1f50e; 介绍&#xff1a;"謓泽"正在路上朝着"攻城狮"方向"前进四" &#x1f50e;&#x1f3c5; 荣誉&#xff1a;2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

Qt 进程间通信(一)——QSharedMemory共享内存

QSharedMemory共享内存 序言环境理论—逻辑理解实战—代码读取示例写入示例 序言 讲讲Qt的共享内存吧&#xff0c;巩固下 环境 msvc2022 Qt5.15 参考文档&#xff1a;https://doc.qt.io/qt-5/qsharedmemory.html 理论—逻辑理解 看下面前&#xff0c;你需要将共享内存看成…

JS数据类型检测的方式有哪些 (常用)

typeof 其中数组、对象、null都会被判断为object&#xff0c;其他判断都正确typeof返回的类型都是字符串形式 instanceof instanceof &#xff1a;用于检测一个实例是否属于某个类&#xff0c;通过验证当前类的原型 prototype 是否出现在实例的原型链 __proto__ 上。它不能检测…

如何在Excel中对一个或多个条件求和?

在Excel中&#xff0c;基于一个或多个条件的求和值是我们大多数人的常见任务&#xff0c;SUMIF函数可以帮助我们根据一个条件快速求和&#xff0c;而SUMIFS函数可以帮助我们对多个条件求和。 本文&#xff0c;我将描述如何在Excel中对一个或多个条件求和&#xff1f; 在Excel中…

DataExcelServer局域网文件共享服务器增加两个函数

1、PFSUM合并指定路径下单元格ID的值 PFSUM("/103采购/8月采购名细","amount") 第一个参数为路径&#xff0c;第二个参数为单元格的ID 2、PFQuery 查询路径下 单元格ID值的列表 PFQuery("/103采购/8月采购名细","amount") 查询/103采…

【vue】JSON数据导出excel

前言 导出方式有很多种&#xff0c;但是若只需要数据导出成.xlsx文件并下载的话&#xff0c;只用xlsx一个插件就行 目标 1 实现数据导出excel 2 如何设置表格列宽 3 如何在文件中创建工作表 准备工作 1 安装 npm i xlsx -S 2 引入 npm i xlsx -S 二、导出excel 创建文件 con…

LeetCode 算法:腐烂的橘子 c++

原题链接&#x1f517;&#xff1a;腐烂的橘子 难度&#xff1a;中等⭐️⭐️ 题目 在给定的 m x n 网格 grid 中&#xff0c;每个单元格可以有以下三个值之一&#xff1a; 值 0 代表空单元格&#xff1b;值 1 代表新鲜橘子&#xff1b;值 2 代表腐烂的橘子。 每分钟&#…

选择适合的220V转5V电源芯片,220V转5V非隔离降压电源ic

#### 问题&#xff1a; 在设计一个需要将220V交流电转换为5V直流电的电路时&#xff0c;我应该选择哪种型号的电源芯片&#xff1f;我需要输出电流在200mA以内&#xff0c;有没有推荐的型号&#xff1f; #### 答案&#xff1a; 在220V交流电转换为5V直流电的应用中&#xff0c…

【Spring Boot】Spring AOP中的环绕通知

目录 一、什么是AOP?二、AOP 的环绕通知2.1 切点以及切点表达式2.2 连接点2.3 通知&#xff08;Advice&#xff09;2.4 切面(Aspect)2.5 不同通知类型的区别2.5.1 正常情况下2.5.2异常情况下 2.6 统一管理切点PointCut 一、什么是AOP? Aspect Oriented Programming&#xff…

STM32学习历程(day5)

EXTI外部中断 中断 中断就是在主程序运行过程中 出现了特定的中断触发条件&#xff08;中断源&#xff09;&#xff0c;CPU会暂停当前的程序&#xff0c;去处理中断程序 处理完会返回被暂停的位置 继续运行原来的程序。 中断优先级 当有多个中断源同时申请中断时 CPU会根据…

【面试八股总结】线程基本概念,线程、进程和协程区别,线程实现

一、什么是线程&#xff1f; 线程是“轻量级进程”&#xff0c;是进程中的⼀个实体&#xff0c;是程序执⾏的最小单元&#xff0c;也是被系统独立调度和分配的基本单位。 线程是进程当中的⼀条执行流程&#xff0c;同⼀个进程内多个线程之间可以共享代码段、数据段、打开的文件…

王老师 linux c++ 通信架构 笔记(二)配置服务器为固定的 ip 地址、远程登录、安装 gcc g++ 与虚拟机文件夹共享

&#xff08;7&#xff09;本条目开始配置 linux 的固定 ip 地址&#xff0c;以作为服务器使用&#xff1a; 首先解释 linux 的网口编号&#xff1a; linux 命令 cd &#xff1a; change directory 改变目录。 ls &#xff1a; list 列出某目录下的文件 根目录文件名 / etc &a…

JAVA基础-----final关键字

一、前言 final关键字的含义&#xff1a; final在Java中是一个保留的关键字&#xff0c;可以声明成员变量、方法、类以及本地变量。一旦你用final修饰&#xff0c;你将不能改变被修饰的代码&#xff0c;编译器会检查代码&#xff0c;如果你试图将变量再次初始化的话&#xff0…

I 2U-Net:具有丰富信息交互的双路径 U-Net 用于医学图像分割| 文献速递-基于深度学习的多模态数据分析与生存分析

Title 题目 I 2U-Net: A dual-path U-Net with rich information interaction for medical image segmentation I 2U-Net&#xff1a;具有丰富信息交互的双路径 U-Net 用于医学图像分割 01 文献速递介绍 在计算机视觉领域&#xff0c;医学图像分割是一个主要挑战&#xff…