《零基础看得懂的C++入门教程 》——(3)表达式花样挺多鸭

一、学习目标

  1. 了解变量之间的计算
  2. 了解什么是表达式
  3. 了解什么是自增、自减

目录

预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:《软件介绍》
想了解编译原理和学习方法点这篇,学习方法和一些原理C++与C都是相同的《脱离学习误区》

《零基础看得懂的C++入门教程 》——(1)第一个C++程序就让你知其所以然
《零基础看得懂的C++入门教程 》——(2)什么是数据类型、变量?一看便会

推荐

1.《备受好评的看得懂的C语言入门教程》

欢迎大家关注公众号,公众号每满1024及1024倍数则会抽奖赠送机械键盘一份+IT书籍2份哟~并且公众号会更快更新哟。
在这里插入图片描述

二、学习过程

2.1 了解变量之间的基本运算
在编程中,值是可以做计算的。常见的运算有 加、减、乘、除,这也是基础的运算。查看示例:

#include<iostream>
using namespace std;
int main(){int a=1,b=2;cout<<a+b;
}

运行结果为:

在代码示例中,在cout的2个尖括号后,直接输入一个式子a+b。a+b是一个表达式,表达式是指由数字、符号、算术符号、变量标记等组成的一个式子,这个式子有一个最终返回值(意思是这个式子是有意义的,不是胡乱编写的)。在代码实例中,a+b是一个有意义的式子,表示变量a的内容与变量b的内容进行相加;变量1存的是1,变量2存的是2,最终结果为3。

那如果我把代码改为b是字符的2呢?是否又可以呢?

#include<iostream>
using namespace std;
int main(){int a=1;char b='2';cout<<a+b;
}

结果为:

为什么把数字2改为字符2后计算结果为什么是51了呢?
那是因为ASCII码的作用,在系统中每一个字符都会有一个对应的数字,例如小写a对应的是97、小写b对应的是98、c对应的是99;ASCII搜索引擎查一下就可以看到有一张图表说明。字符2的ASCII值是50,在进行加法时,自动将字符2转化成了码表值50计算,最后得的值是51。所以为了防止这种情况,记得一定要相同类型进行计算,或一般情况下使用较为常规的方式计算两个数字之和,除非你有特殊的需求。

计算并不只是只能由2个变量,也可以同时有多个变量:

#include<iostream>
using namespace std;
int main(){int a=1,b=2,c=21,d=32,e=42;cout<<e+a-b-c+d;
}

结果为:

在一般的混合运算中,加减乘除的优先级与我们正常的形式一致:

#include<iostream>
using namespace std;
int main(){int a=10,b=2,c=3;cout<<a-b*c+a;
}

结果为:

也可以将计算的值存入到一个变量中:

#include<iostream>
using namespace std;
int main(){int a=10,b=2,c=3;int s=a-b*c+a;cout<<s;
}

结果为:

由于在编程中有很多的运算符,建议新手需要计算哪一步就给哪一步添加括号,防止错误的出现:

#include<iostream>
using namespace std;
int main(){int a=10,b=2,c=3;int s=a-(b*c)+a;cout<<s;
}

2.2 取模运算
取模运算表示做除法取余数:

#include<iostream>
using namespace std;
int main(){int a=10;cout<<a%3;
}

结果为:

由于10除3,除不断余数为1,则是取模运算结果。取模运算使用百分号%。

2.3 自增、自减运算
自增与自减运算表示自己自身变量加1。例如:

#include<iostream>
using namespace std;
int main(){int a=10;a++;cout<<a;
}

变量名添加两个加号,则表示自增。结果为:

那我直接放a++在cout后如何?示例:

#include<iostream>
using namespace std;
int main(){int a=10;cout<<a++;
}

结果为:

为什么是10呢?因为把++放到变量后面,表示先输出a的值再加1。我们修改示例:

#include<iostream>
using namespace std;
int main(){int a=10;cout<<a++;cout<<a;
}

结果为:

我们在之后添加输出a就可以看到输出的值。把++放变量后表示先输出后运算,把++放前面则是先运算后显示:

#include<iostream>
using namespace std;
int main(){int a=10;cout<<++a;
}

结果为:

在以上示例中的a++自增等于一个计算:

a=a+1;

a边等于自身的值加1后给予变量a本身。这个代码还可以写成:

a+=1;

代码示例:

#include<iostream>
using namespace std;
int main(){int a=10;a+=1;cout<<a;
}

结果为:

自减运算和自增计算使用方法一致,代码为:

#include<iostream>
using namespace std;
int main(){int a=10;cout<<--a;
}

结果为:

三、总结

  1. 了解变量之间的计算可以使用常规的加减乘除
  2. 了解了表达式是指由符号、运算符、变量、数字等组成的有意义的排列式子
  3. 了解了自增就是变量自己给自己加上一个值、自减则是自己给自己减去一个值

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

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

相关文章

php 设计模式 - 单例

概述&#xff1a; 作为对象的创建模式&#xff0c;单例确保某一个内在系统中只存在一个实例&#xff0c;它不可以创建副本。 克隆函数&#xff08;__clone &#xff09;以及构造函数(__construct )必须声明为私用&#xff0c; 防止外部程序 创建一个新类 &#xff0c;而失去…

prometheus python client

为什么80%的码农都做不了架构师&#xff1f;>>> 当我刚开始准备使用Python写一个promethues的client的时候&#xff0c;并没有想到过程这么麻烦。github上的大佬们也没兴趣帮我解决这些细节的问题。以下是我在使用prometheus_client遇到的一些问题&#xff0c;仅供…

php之无限极分类

http://blog.csdn.net/kankan231/article/details/8462349/转载于:https://www.cnblogs.com/jeremyjs/p/4798169.html

【遥感数字图像处理】实验:遥感影像分类(监督、非监督分类)完整流程(Erdas版)

一.实验目的: 理解计算机图像分类的基本原理,掌握数字图像非监督分类以及监督分类的具体方法和过程,以及两种分类方法的区别。 二.实验平台:ERDAS IMAGINE 9.1 三.实验要求:掌握非监督分类;非监督分类结果评价;监督分类;监督分类结果评价;分类后处理。 四.实验…

mysql5.7.16安装版_mysql数据库5.7.16安装版怎么安装图解

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航&#xff0c;为用户…

重大跨越!Windows 11 23H2 25115 推送:2023 年更新测试开启,水印回归

面向 Dev 频道的 Windows 预览体验成员&#xff0c;微软现已发布 Windows 11 预览版 Build 25115。主要变化1.微软宣布从 Dev 频道切换到 Beta 频道的选项正式关闭&#xff0c;Beta 频道将继续测试 Windows 11 版本 22H2&#xff0c;而 Dev 频道将开启 2023 年更新 Windows 11 …

团队第二次冲刺第三天

已经明白自己犯错误的地方&#xff0c;经过今天的改正&#xff0c;成功调用数据库储存用户名和密码。 明天对于数据库更加完善。转载于:https://www.cnblogs.com/dotacai/p/5521506.html

Android Studio编译提示如下attribute layout_constraintBottom_toBottomOf (aka com.luck.pictureselector:layou

1 问题 Android Studio编译提示错误如下 AAPT: error: attribute layout_constraintBottom_toBottomOf (aka com.luck.pictureselector:layout_constraintBottom_toBottomOf) not found.2 解决办法 在app的build.gradle文件里面添加依赖如下 implementation androidx.const…

《零基础看得懂的C++入门教程 》——(4)条件判断原来如此

一、学习目标 了解什么是条件判断了解多个条件判断了解输入了解什么是逻辑与、逻辑或 目录 预备第一篇&#xff0c;使用软件介绍在这一篇&#xff0c;C与C使用的软件是一样的&#xff0c;查看这篇即可&#xff1a;《软件介绍》 想了解编译原理和学习方法点这篇&#xff0c;学…

Django学习笔记(4)

为什么80%的码农都做不了架构师&#xff1f;>>> 首先提一个问题&#xff1a;在Django中如何处理CRSF(Cross-site request forgery)? 先看一下CSRF原理。 其实就是恶意网站利用正常网站的cookie去非法请求。 ##Java处理方式## 一般做法需要后台和前端配合采取策略去…

MySQL复制--slave设置读取binlog的位置

change_master->global_init_info->Master_info::mi_init_info->Rpl_info_handler::init_info->Rpl_info_file::do_init_info ->mi->rli->rli_init_info()->初始化./relay-bin.000001,4如果relay-log.info不存在的话&#xff0c;否则读取//初始化mas…

【遥感数字图像处理】实验:遥感专题地图制作经典流程(Erdas版)

实验目的:掌握计算机辅助下遥感专题地图的制作。实验平台:ERDAS 9.1实验要求:掌握专题地图的编辑;制图文件路径的编辑;系列地图编辑工具的使用。实验步骤:1 专题地图的编辑 1.1 准备专题制图数据 (1) 在视窗菜单条中点击 File,选择Open (2) 点击 Raster Layer,打开S…

.NET版OCR紧随PP-OCRv3重磅发布

.net版OCR地址PaddleOCRSharp&#xff1a;https://gitee.com/raoyutian/paddle-ocrsharpPaddleOCRSharp是一个基于PaddleOCR的C代码修改并封装的.NET的工具类库。包含文本识别、文本检测、基于文本检测结果的统计分析的表格识别功能&#xff0c;同时针对小图识别不准的情况下&a…

mysql导出二进制日志_使用mysqlbinlog提取二进制日志

MySQL binlog日志记录了MySQL数据库从启用日志以来所有对当前数据库的变更。binlog日志属于二进制文件&#xff0c;我们可以从binlog提取出来生成可阅读的SQL语句来重建当前数据库以及根据需要实现时点恢复或不完全恢复。本文主要描述了如果提取binlog日志&#xff0c;并给出相…

《零基础看得懂的C++入门教程 》——(5) 容我套个娃 循环

一、学习目标 了解循环的使用方法 目录 预备第一篇&#xff0c;使用软件介绍在这一篇&#xff0c;C与C使用的软件是一样的&#xff0c;查看这篇即可&#xff1a;《软件介绍》 想了解编译原理和学习方法点这篇&#xff0c;学习方法和一些原理C与C都是相同的《脱离学习误区》 …

Android之把app作为独立的module导入其他项目遇到的坑

1 问题 把app作为独立的module导入其他项目 2 步骤 1)在app的里面的build.gradle里面把 apply plugin: com.android.application 替换成如下 apply plugin: com.android.library 2)注视掉build.gradle文件里面的applicationId 3)app的AndroidManifest文件中MainActiv…

【ArcGIS风暴】ArcGIS解决数字化之前创建图层时未定义坐标系而导致数据跑偏的问题

数字化时,第一步需要创建点线面图层,创建图层需要指定一个地理坐标系,但如果忽略了这一步,我们数字化的适量数据时没有坐标系的,后果很严重,如果数字化工作只做了一点点,可以卷土重来;如果是大量工作的话,可以采取以下补救措施,建议收藏。 注: (1)如果底图为无任…

Android两个注意事项.深入了解Intent和IntentFilter(两)

深入理解Intent和IntentFiler(二)转载请表明出处&#xff1a;http://blog.csdn.net/u012637501(嵌入式_小J的天空) 在上一篇文章中&#xff0c;我们比較具体学习了"Intent"的相关知识&#xff0c;如今将学习怎样设置Intent对象的这些属性以及怎样使用他们来启动组件。…

Oracle常用sql语句(一)

Sql的分类DDL操作数据库表列等表基本的操作主键索引视图 常用数据类型字符串类型数字类型日期类型LOB类型LONG类型 数据转换character datenumbercharacter通用函数条件表达式Sql的分类 DDL &#xff08;Data Definition Language&#xff09;&#xff1a;数据定义语言&#xf…

ASP.NET Web API 实现客户端Basic(基本)认证 之简单实现

优点是逻辑简单明了、设置简单。 缺点显而易见&#xff0c;即使是BASE64后也是可见的明文&#xff0c;很容易被破解、非法利用&#xff0c;使用HTTPS是一个解决方案。 还有就是HTTP是无状态的&#xff0c;同一客户端每次都需要验证。 实现&#xff1a; 客户端在用户输入用户名及…