C++自学笔记2—变量的延申和基本运用(1)
在学习C++还是在学习其他语言,过程中一定是参照某一个博主或某一本书的教学来学习的。但是在学习中肯定会很多的疑问,例如今天我在学习变量这一知识点的时候,遇到了很多的问题。比如:我确实学会了变量怎么定义,但是在实际的工作中我们到底如何去使用变量?那么变量在程序中到底发挥着什么样的作用?
翻看接下来的目录,这时候会发现变量下面就是常量,再往下就是其他什么整型、浮点型这类基础概念的知识点。这样就会引发这样一个问题:这类填鸭式的知识灌输真的能快速掌握一门语言吗?我们先知道了这些知识点,但不懂得如何去利用它。课程不多的时候我们能记得住,但是随着学习的深入,有没有可能会忘记前面学习的内容,或是基础的概念明白了,在实际运用的时候又不知道从何下手。
带着这些疑问我更加深入地学习了变量。学习过程和思考过程会清楚地记载这篇笔记中,内容会更多且更杂,但是最后都会串联到一起。
这是最简单的一个变量程序,在调试后我们可以得到
现在我们已经知道了如何输出一个变量,在变量的学习中我们可以知道int是一个整型,我们自定义了一个变量,规定他是7按照语法就可以输出一个7,但是这样又有什么用呢?
如果多想一下 int x = 7; 这句话一定要放在程序里面吗?如果放在引用头文件的下面呢?
结果依然可以输出一个7
现在就发生了一个问题。我放在头文件引用的下面和main程序里面他都会输出一样的结果,那么这两种方式有什么区别吗?
以上是我询问了AI软件后得出的结论,当变量定义在头文件的时候它可以全局引用,也就是说不管什么时候引用这个变量都会输出一个7;当定义在程序段内,那么他只能在这一段程序中引用这个变量7。进行到这里我们可能又对变量有一个新的理解,但是问题随之又会产生。
1. 变量变量,从字面上来看他应该是变化的,但是我在程序中数字7已经给写死了,他还怎么变?
2. 变量什么时候需要用得到它?比如说我们想做一个能够测温的程序,从字面上的理解来看,我们只需要测出现在的温度,将它反映给显示屏幕就可以了,完全不需要变量。那么它在实际的程序运行中到底扮演了一个怎么样的角色?
3. int 这个整型我明明没有去调用它的头文件,标准库查询后发现没有这个东西,为什么代码能运行下去?
4. 我自定义的这个变量有没有可能与std命名空间起冲突?
我们先解决3和4这两个看起来最容易解决的问题:首先定义基本类型的变量,是语言内建的能力,就像我们大脑思考一样,不需要辅助设备也能想很多的事,所以不用头文件的帮忙。
其次我们发现自己定义的变量和std命名空间起了冲突这些是我们需要解决的问题。比如说我们自定义了一个 cout
核心问题就是代码不知道要运行哪一个了,using namespace std 他已经把std空间内的所名字,包括cout引用到了当前的代码环境中。而我们又自定义了一个cout所以两者冲突。
解决办法就是把这两种分开就可以了
得到的结果依然是7
解决问题肯定还有其他的方式,但是我们到现在彻底明白了std命名空间。
最后我们的问题就剩下了1和2。
想要使用变量,我们就要先理解什么是变量?
变量其实就是给一个存储区域起个名字,就像我们弄了一个箱子我们给这个箱子贴上贴纸,这个箱子我们专门用来装水果,以后所有有关水果的东西都可以放进这里面。
比如说,我自定义了一个变量 x 那么这个x就是我自己用来专门放水果的箱子。但有一点需要注意,这个x区域我们前面的定义是int,那么说明这个区域内只能存放整型的数据。
变量也可以是其他类型的比如:short(短整型)、float【单精度浮点型(带小数)】、double【(更精确的小数)】、char(单个字符)、bool(真/假),在这里我们先不讨论数据类型。我们知道变量可以是任意类型的数据存储。我们可以先设定几个变量看一看
回到最初的问题,这个变量到底有什么作用?
还是最开始的测温例子:我们想设计一个测温的设备,客户有一个需求。要求每个小时都要测温测一次并且记录,每24小时记录的温度进行打包上传。那么这个时候我们就需要‘用到了这个变量。变量需要用在数据的比较、存储、积累和状态的时候。
那么变量在程序中我们呢已经给他写成7已经写死了啊?他是怎么变化的?
到这从“用变量”变成了“用变量解决实际问题”了。那么我们如何让变量动起来?
再举一个例子:我现在手里有一本便签,老板让我在仓库中查一下有多少件货。我每次查了一件货后在便签上写上1,组后查完后我只需要属有多少个便签就可以了;还有一种方法,我每次查完一件货物以后,我在便签上用1234的顺序记录,这样在查到最后一个时只需要看最后一个便签写的什么数字就可以判断出有多少件货了。这其实就是代码中变量记录数据的方式。
我们模拟出一套可以实现的程序。我们的需求是,先自定义一个数,我们每次输入一个数,他会记录一次,可以无限的向上叠加也可以退出,利用AI我们生成了这样一版程序。
图片里我们可以看到,每次我输入一个1,对应的数就会+1,到最后输入0的时候退出。完全符合我们对变量的认识与应用。目前位置彻底懂了变量是如何在程序中变化的。问题的解决又会产生新的问题:即程序中出现的input、cin、>>、while、if、break这些我都没接触过,我如何能写出这样的代码?
