学习笔记——C++运算符之算术运算符

C++中运算符包含诸多种类,其中有:算术运算符,赋值运算符,比较运算符和逻辑运算符

每一种运算符及其作用如下表所示:

一,算术运算符1,加减乘除

其中,“+”,“-”运算符既可以代表加减运算,也可表示一个数的正负

#include<bits/stdc++.h>
using namespace std;
int main(){int a1=10;int b1=3;cout<<a1+b1<<endl;//13 cout<<a1-b1<<endl;//7cout<<a1*b1<<endl;//30cout<<a1/b1<<endl;//3 10/3显然是循环小数,但在编译程序中,两个整数相除,结果依然是整数,将小数部分去除。 int a2=10;int b2=20;cout<<a2/b2<<endl;//0.5,保留整数部分,结果为0 int a3=10;int b3=0;cout<<a3/b3<<endl;//异常 除数不能当分母,运行中会直接造成程序中断(非法程序) //两个小数可以相除double d1=0.5;double d2=0.25;cout<<d1/d2<<endl; //2double d3=0.5;double d4=0.22;cout<<d3/d4<<endl;//2.27273
} 

运算结果:

从上述运算结果也可以看出,编译器在运算a3/b3时,即10/0便直接退出程序了,因为该代码段为非法

2,取模运算%

取模运算即是求余数,如:10%3=1     10%20=10

    int a4=10;int b4=3;cout<<a4%b4<<endl;//1int a5=10;int b5=20;cout<<a5%b5<<endl;//10int a6=10;int b6=0;cout<<a6%b6<<endl; //非法运算 //两个数相除除数不能为0,因此也做不了取模运算 double d1=3.14;double d2=1.1;cout<<d1%d2<<endl;//非法运算 //另外,C++规定两个小数不能做取模运算 

此外,关于取模运算,C++中还规定了两条规则:1,两个数相除除数不能为0,因此也做不了取模运算;2,取模运算的数必须是整数,两个小数不能做取模运算。

3,递增递减运算符 “++”,“--”

其中,递增递减运算符还有前置和后置的区别。

前置和后置的区别主要在于(以递增为例,递减类似):

前置递增:先让变量+1,然后进行相应表达式的运算;

后置递增:先进行相应表达式的运算,然后让变量+1;

#include<bits/stdc++.h>
using namespace std;
int main(){//1,前置递增int a=10;++a;cout<<"a="<<a<<endl; //a=11//2,后置递增 int b=10;b++;cout<<"b="<<b<<endl;//b=11//3,前置和后置的区别//前置递增,先让变量+1,然后进行表达式运算int a2=10;int b2=++a2*10;//b2=11*10,先对a2+1,再进行运算 cout<<"a2="<<a2<<endl;//a2=11cout<<"b2="<<b2<<endl;//b2=110//后置递增,先进行表达式运算,后让变量+1int a3=10;int b3=a3++*10;//b3=10*10,先进行表达式运算,运算结束后再将a3+1 cout<<"a3="<<a3<<endl;//a3=11cout<<"b3="<<b3<<endl;//b3=100
} 

输出结果:

总结:前置递增先对变量进行++,再计算表达式,后置递增则相反。

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

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

相关文章

学习紫微斗数之感悟

研究算命已有一年有余&#xff0c;这一年来帮人算的过程中总会有人问&#xff0c;命运是否注定的&#xff1b;自己在闲暇时光&#xff0c;有时候忍不住也会想&#xff0c;人的命&#xff0c;是否是从出生那一刻就定了&#xff0c;出生以后遇到的人&#xff0c;遇到的事&#xf…

go 的内存布局和分配原理

go 之所以在高并发环境下表现优异&#xff0c;除了咱们都知道的 GMP 模型&#xff0c;其实 go 的内存布局和分配机制也起到了不少作用。 1. 分配内存三大组件 go 分配内存的过程&#xff0c;主要由三大组件所管理&#xff0c;级别从上到下分别是&#xff1a; mheap go 在程…

基于ssm智慧社区停车管理系统设计与实现【附源码】

基于ssm智慧社区停车管理系统设计与实现 &#x1f345; 作者主页 央顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&am…

电脑找不到d3dcompiler43.dll怎么修复,教你5个可靠的方法

d3dcompiler43.dll是Windows操作系统中的一个重要动态链接库文件&#xff0c;主要负责Direct3D编译器的相关功能。如果“d3dcompiler43.dll丢失”通常会导致游戏无法正常运行或者程序崩溃。为了解决这个问题&#xff0c;我整理了以下五个解决方法&#xff0c;希望能帮助到遇到相…

Java CPU或内存使用率过高问题定位教程

简介 Spring cloud微服务广泛应用后&#xff0c;服务的监控和运维压力也与日俱增&#xff0c;经常有服务出现CPU或者内存使用率过高的告警&#xff0c;那么遇到这样的问题我们该如何排查呢&#xff1f;我们可以借助哪些工具来定位问题呢&#xff1f;本文将介绍一下遇到此类问题…

What does ‘wc -l‘ do?

在已安装的rpm包里&#xff0c;查询tree相关的包的数量 rpm -qa |grep -i tree |wc -l匹配指定字符 有多少行 cat test.log |grep error|wc -llinux 查看文件 有多少行 wc -l test.logcat -n test.log 也可以统计行数,但是大文件很耗时参考 linux 上使用wc -l命令快速…

Elasticsearch安装IK分词器踩坑记录

在安装ES ik分词器参考如下博文进行安装时报后面的错误提示 https://blog.csdn.net/ZHHX666/article/details/125953385 错误提示: Caused by: java.nio.file.NoSuchFileException: /usr/local/elasticsearch-7.3.2/plugins/elasticsearch-analysis-ik-7.3.2/plugin-descripto…

初探Spark SQL catalog缓存机制

先说结论&#xff1a;Spark SQL catalog中对表结构的缓存一般不会自动更新。 实验如下&#xff1a; 在pg中新建一张表t1&#xff0c;其中只有一列 c1 int在Spark SQL中注册这张表&#xff0c;并从中查询数据 ./bin/spark-sql --driver-class-path postgresql-42.7.1.jar --jar…

【前端素材】bootstrap4实现在线蛋糕甜品店网页Tehzeeb

一、需求分析 在线蛋糕甜品店的网站通常包含以下几个方面的内容和功能&#xff1a; 主页&#xff1a;网站的主页是用户进入网站的第一个页面&#xff0c;通常会展示一些精选蛋糕和甜品的图片和介绍&#xff0c;以吸引用户的注意力。主页还可能包含一些特别促销或最新的产品信息…

Mysql是怎样运行的--下

文章目录 Mysql是怎样运行的--下查询优化explainoptimizer_trace InnoDB的Buffer Pool&#xff08;缓冲池&#xff09;Buffer Pool的存储结构空闲页存储--free链表脏页&#xff08;修改后的数据&#xff09;存储--flush链表 使用Buffer PoolLRU链表的管理 事务ACID事务的状态事…

SpringBoot-admin健康监控

监控-健康监控服务 目的&#xff1a;能够理解健康监控actuator的作用 背景&#xff1a; 在一些大型的业务应用中&#xff0c;工程会根据业务模块做微服务拆分&#xff0c;后期每一个微服务在云上部署以后&#xff0c;都需要对其进行监控、追踪、审计、控制等操纵&#xff0c…

稀疏矩阵的三元组表示----(算法详解)

目录 基本算法包括&#xff1a;&#xff08;解释都在代码里&#xff09; 1.创建 2.对三元组元素赋值 3.将三元组元素赋值给变量 4.输出三元组 5.转置&#xff08;附加的有兴趣可以看看&#xff09; 稀疏矩阵的概念&#xff1a;矩阵的非零元素相较零元素非常小时&#xff…

生成式 AI 如何重塑软件开发流程和开发工具?

生成式AI正在重塑开发流程和开发工具&#xff0c;通过自动化和优化软件开发过程&#xff0c;提高开发效率和质量。它可以帮助开发人员快速生成代码、测试和部署应用程序&#xff0c;同时减少错误和缺陷。此外&#xff0c;生成式AI还可以帮助开发人员快速理解和解决复杂的技术问…

【QML COOK】- 006-用C++定义一个QML元素类型

Qt原本是一个C图形框架&#xff0c;因此QML也少不了C。QML通常只负责显示&#xff0c;而后台逻辑由C实现&#xff0c;因此掌握C和QML之间的交互非常必要。 本例实现一个最简单的例子&#xff0c;用C定义一个QML的元素类型并在QML使用它。 需求是在窗口上显示鼠标点击的次数。…

PowerDesigner简介以及简单使用

软件简介&#xff1a; PowerDesigner是Sybase公司开发的数据库设计工具&#xff0c;开发人员能搞利用PowerDesigner开发数据流程图、各数据模型如物理数据模型&#xff0c;可以分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physical Data Model)两个层次对数据库…

尝试OmniverseFarm的最基础操作

目标 尝试OmniverseFarm的最基础操作。本地机器作为Queue和Agent&#xff0c;同时在本地提交任务。 主要参考了官方文档&#xff1a; Farm Queue — Omniverse Farm latest documentation Farm Agent — Omniverse Farm latest documentation Farm Examples — Omniverse Far…

MySQL高级

一、MySQL存储过程和函数 1.存储过程和函数的概念 存储过程和函数是 事先经过编译并存储在数据库中的一段 SQL 语句的集合 2.存储过程和函数的好处 存储过程和函数可以重复使用&#xff0c;减轻开发人员的工作量。类似于java中方法可以多次调用减少网络流量&#xff0c;存储…

【Verilog】期末复习——设计带异步清零且高电平有效的4位循环移位寄存器

系列文章 数值&#xff08;整数&#xff0c;实数&#xff0c;字符串&#xff09;与数据类型&#xff08;wire、reg、mem、parameter&#xff09; 运算符 数据流建模 行为级建模 结构化建模 组合电路的设计和时序电路的设计 有限状态机的定义和分类 期末复习——数字逻辑电路分…

虚幻UE 材质-纹理 1

本篇笔记主要讲两个纹理内的内容&#xff1a;渲染目标和媒体纹理 媒体纹理可以参考之前的笔记&#xff1a;虚幻UE 媒体播放器-视频转成材质-播放视频 所以本篇主要讲两个组件&#xff1a;场景捕获2D、场景捕获立方体 两个纹理&#xff1a;渲染目标、立方体渲染目标 三个功能&am…

jmeter分布式测试

场景&#xff1a;需求要求使用用大量的客户访问时&#xff0c;可以使用分布式来完成 分布式实现原理&#xff1a; 材料&#xff1a;一台控制机器&#xff0c;若干台代理机也叫执行机 运行时&#xff0c;控制机将脚本发送到代理机上-->代理机拿到就开始执行&#xff0c;不会…