6、算术运算符与算术表达式

news2025/1/18 7:03:05

目录

一、算术运算符

二、算术表达式

三、优先级与结合性

1. 算术运算符的优先级

2. 算术运算符的结合性

四、自增/自减运算符


一、算术运算符

算术运算符包括两个单目运算符(正和负)和5个双目运算符(即乘法、除法、取模、加法和减法)

在上述算术运算符中,取模运算符“%”用于计算两个整数相除得到的余数,并且取模运算符的两侧均为整数,如7%4的结果是3。

注意1:其中的单目正运算符是冗余的,也就是为了与单目负运算符构成一对而存在的。单目正运算符不会改变任何数值,如不会将一个负值表达式改为正。

注意2:运算符“-”作为减法运算符,此时为双目运算符,如5-3。“-”也可作负值运算符,此时为单目运算,如-5等。

二、算术表达式

在表达式中使用算术运算符,则该表达式称为算术表达式。例如:

两个整数相除的结果为整数,如7/4的结果为1,舍去的是小数部分。但是,如果其中的一个数是负数时会出现什么情况呢?此时机器会采取“向零取整”的方法,即为-1,取整后向0靠拢。

注意:如果用+、-、*、/运算的两个数中有一个为实数,那么结果是double型,这是因为所有实数都按double型进行运算。

三、优先级与结合性

C语言中规定了各种运算符的优先级和结合性,首先来看一下有关算术运算符的优先级。

1. 算术运算符的优先级

在进行表达式求值时,通常会按照运算符的优先级别从高到低依次执行。在算术运算符中,*、/、%的优先级别高于+、-的级别。例如,如果在表达式中同时出现*和+,那么应先运算乘法:

在上述表达式中,因为*比+的优先级高,所以会先进行y*z的运算,最后加上x。

注意:在表达式中常会出现这样的情况,例如,要进行a+b,再将结果与c相乘,一不小心将表达式写为a+b*c。因为*的优先级高于+,这样的话就会先执行乘法运算,显然不是期望得到的结果。这时应该怎么办呢?可以使用括号“( )”将+运算级别提高,使其先进行运算,就可以得到预期的结果了,例如解决上式的方法是(a+b)*c。括号可以使其中的表达式先进行运算的原因在于—括号在所有运算符中的优先级别是最高的。

2. 算术运算符的结合性

当算术运算符的优先级相同时,结合方向为“自左向右”。例如:

因为减法和加法的优先级是相同的,所以b先与减号相结合,执行a-b的操作,然后执行加c的操作,这样的操作过程就称为“自左向右的结合性”。

四、自增/自减运算符

在C语言中还有两个特殊的运算符,即自增运算符“++”和自减运算符“--”。自增运算符和自减运算符对变量的操作分别是增加1和减少1。

自增运算符和自减运算符可以放在变量的前面或者后面,放在变量前面称为前缀,放在后面称为后缀。使用的一般方法如下:

在上面这些例子中,运算符的前后位置不重要,因为所得到的结果是一样的,自减就是

减1,自增就是加1。

注意:在表达式内部,作为运算的一部分,两者的用法可能有所不同。如果运算符放在变量前面,那么变量在参加表达式运算之前完成自增或者自减运算;如果运算符放在变量后面,那么变量的自增或者自减运算在变量参加了表达式运算之后完成。

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

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

相关文章

ARP渗透与攻防(六)之限制网速攻击

系列文章 ARP渗透与攻防(一)之ARP原理 ARP渗透与攻防(二)之断网攻击 ARP渗透与攻防(三)之流量分析 ARP渗透与攻防(四)之WireShark截获用户数据 ARP渗透与攻防(五)之Ettercap劫持用户流量 ARP限制网速攻击 大家没想到吧,ARP还能限制对方网速。当kali欺骗了网关和受…

Linux-Ubuntu入门到精通之常用终端指令之操作文件目录和文件内容(2)

常用的终端命令 ctrl shift 放大终端窗口的字体显示 ctrl - 缩小终端窗口的字体显示 按 上/下 光标键可以在曾经使用过的命令之间来回切换 如果想要退出选择,并且不想执行当前选中的命令,可以按 ctrl c . ls 常用选项(白色…

DFS(四)39. 组合总和 1079. 活字印刷

39. 组合总和 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制重复…

flowable定时任务和表单

流程定义定时激活 : act_re_procdef 的 suspension_status ClassPathResource classPathResource new ClassPathResource("hehe/HistoryDemo01.bpmn20.xml");repositoryService.createDeployment().addInputStream(classPathResource.getFilename(),clas…

【HBase入门】3. HBase数据模型

简介 在HBASE中,数据存储在具有行和列的表中。这是看起来关系数据库(RDBMS)一样,但将HBASE表看成是多个维度的Map结构更容易理解。 { “zzzzz” : “woot”, “xyz” : “hello”, “aaaab” : “world”, “1” : “x”, “aaaaa” : “y” } 术语 表…

MCAL系列介绍05-ICU

本文框架1. 前言2. 基本概念3. ICU采集过程3.1 获取周期占空比3.2 获取边沿数量3.3 获取时间戳4. Autosar系列文章快速链接1. 前言 ICU驱动器是使用Input Capture Uint模块(ICU)解调PWM信号、计数脉冲、测量频率和占空比、生成简单中断以及唤醒中断的模…

ROS学习寄录之知识学习

1 ROS核心概念 1.1 节点(Node) (1)执行具体任务的进程、独立运行的可执行文件 (2)不同节点可以使用不同的语言,可分布式运行在不同的主机 (3)节点在系统中的名称必须…

HTML总结

web开发是创建Web页面或App等前端界面呈现给用户的过程。web开发开发是从网页制作演变而来,早期网站主要内容都是静态,用户使用网站的行为也以浏览为主。随着互联网技术的发展,各种终端设备应用程序与用户沟通交互的界面,都是由We…

Java基础 Stream流方法引用异常文件

Stream流 引例 需求&#xff1a;按照下面要求完成集合的创建和遍历 创建一个集合&#xff0c;存储多个字符串元素 1. 把所有以“曹”开头的元素存储到新集合中 2. 把曹开头&#xff0c;长度为3的元素存储到新集合中 List<String> list List.of("曹操", "…

关于2倍图的理解

在电脑端1个css像素1个物理像素 所以一个长宽都是100px的照片&#xff0c;需要100✖100px的物理像素 而在移动端存在多倍图的关系&#xff0c;假如是2倍图的关系 即&#xff1a;1个css像素需要2个物理发光点 假如现在有一个长宽都是100px像素的照片 放在手机上也是长宽也是100…

TCP/IP IP地址概念与应用

作者简介&#xff1a;一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.什么是IP地址 二.IP地址的组成 三.IP地址分类 A类IP地址 …

雅睿生物在创业板IPO终止:安信证券为保荐人,曾计划募资7.5亿元

近日&#xff0c;深圳证券交易所创业板披露的信息显示&#xff0c;苏州雅睿生物技术股份有限公司&#xff08;下称“雅睿生物”&#xff09;提交了关于撤回首次公开发行股票并在创业板上市申请文件的申请&#xff0c;保荐人提交了撤回保荐的申请。 据贝多财经了解&#xff0c;雅…

Heatmap关键点检测算法

** Heatmap 方法汇总 高斯热图与坐标回归方法探讨 L1与 L2 Loss的对比分析 关键点之热力图Heatmap与坐标FC回归 Heatmap-based和Regression-based 一般来说&#xff0c;我们可以把姿态估计任务分成两个流派&#xff1a;Heatmap-based和Regression-based。 其主要区别在于监…

GROMACS 教程--水中的溶菌酶

GROMACS 教程–水中的溶菌酶 中文教程&#xff1a;http://jerkwin.github.io/ 英文教程&#xff1a;http://www.mdtutorials.com 此示例将指导新用户完成模拟系统的设置过程&#xff0c;该模拟系统在一盒水和离子中包含蛋白质&#xff08;溶菌酶&#xff09;。每个步骤都将包含…

学习3dmax多边形建模挤出操作

新建一个长方体&#xff0c;右键&#xff0c;转换为可编辑多边形&#xff1b; 右键以后&#xff0c;这个Convert To菜单&#xff0c;有时有有时没有&#xff0c;我还没弄清&#xff0c; 操作层级选中如下&#xff0c; 选中挤出命令&#xff0c;Extrude&#xff0c; 挤了一下&a…

元宇宙3D设计系统【构思与展望】

Metaverse 似乎是一个迷人的未来主义命题&#xff0c;“有一天”我们将拥有数十亿人愿意“生活在其中”的虚拟世界。 显然&#xff0c;我们还没有看到真正的“元宇宙”产品&#xff0c;3-5 年内也不太可能看到这样的产品。 那么&#xff0c;是什么阻碍了元宇宙在短期内成为现实…

ccflow 代码分析

ccflow 代码分析目录概述需求&#xff1a;设计思路实现思路分析1.参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a better result,wait for change,challenge Survive. happ…

线段树的原理和应用

目录 一、前言 二、线段树的概念 1、区间最值问题RMQ (Range Minimum/Maximum Query) &#xff08;1&#xff09;暴力法 &#xff08;2&#xff09;高效的办法&#xff1a;线段树 &#xff08;3&#xff09;把数列放在二叉树上 &#xff08;4&#xff09;查询最小值的复…

反向放大电路并联电容与积分电路并联电阻的区别?

运放反相比例放大电路中反馈电阻两端经常并联一个电容&#xff0c;而运放积分电路的反馈电容上常常并联一个电阻&#xff0c;两者电路结构相似&#xff0c;如下所示&#xff08;隐去阻容值&#xff09;&#xff0c;二者有何区别呢&#xff1f;电阻、电容分别又起到什么作用&…

djangorestframework全解

这里写目录标题drf安装与使用ApiView继承自原生View的基类基本使用源码分析drf的Request对象响应模块&#xff08;一般不用管&#xff09;内置渲染器局部使用全局使用解析器&#xff08;一般不用管&#xff09;全局使用解析器局部使用解析器同时使用多个解析器&#xff08;默认…