00:01
变量。我们现在来看一下C语言里面的变量这个概念,那变量呢,我先给大家简单的介绍一下,就是我们所有的编程语言呢,都会有变量这个概念,那么我们来看一看C语言里边的变量到底是一个什么样的含义,首先给大家做一个生活化的。生活化的一个啊比喻,那你比如说同学们看老师在这写了一句话,这为什么咱们需要变量呢。大家想一想,在我们现实生活中,在我们现实的世界里面,是不是我们有各种各样的事物,你比如说有雪人,有房子,有树,有小狗,有小孩等等等等,那么你只要记住就是我们在学编程的时候,你可以把编程这个程序。就是这个程序啊,当作一个世界来对待,你是你这个现实生活中拥有的东西,那么在程序里面怎么去体现出来呢?
01:04
你要想这个事儿。所以说在我们程序里边呢,其实我们可以通过不同的变量来表示不同的事物,注意听我说一句话,不同的变量来表示不同的数据,或者说不同的事物。因此如果你在学编程过程中,你用这个现实生活中的一些事物来对比咱们程序中的出现的这些事物,就学起来比较轻松。所以说我这里说了一句话,一个程序就是一个世界,你世界有各种事物,那么程序里面就可以用变量来体现,好这个就说完,那紧接着呢,我们来看一下这个变量到底是什么呢?变量可以理解成是程序的基本组成单位。我举个例子,不管是什么样的高级编程语言,变量都是,其他都是我们的基本组成单位,比如说大家现现在看这有一段代码。
02:03
那这段代码里面,大家看我这里写个int a等于一,这个表示什么意思呢?哎,这个就表示我定义了一个整形变量。阵型变量。为什么是整形呢?这个int就代表整形的意思,整形变量它的名字,我们给它取的名字是什么呢?取名,取名为A。好,取名为A,看这个就是它的名称,那么这个一代表什么呢?OK,并且赋值并。负出值,负值为一,大家没看到把这个一给了这个A,因此呢,从这里我们可以看出来,C语言它是一种强制,对,它是一个强数据类型语言,强数据类型语言明白好,我们再来看下面这句话,Int b等于三,这个一标是什么意思呢?诶跟刚才很像,你看我把这个复制下来,怎么稍微改一下就说明它的含义了,它是定义了一个整还是一个整形变量,因为前面是int来表示的,那么它的名字就叫什么呢?叫做B了,我们给它了一个初值为三。
03:15
你。对不对?那么这句话又表示什么呢?89付给了这个B,这表表示什么呢?哎,这个表示将给给变量赋一个值。负值为多少呢?为89,那也就是说你原先是三,你原先是三,那么我把这个三给你换成了89。就好像一个人一样,原先呢,穿了一件黑颜色的衣服,现在给他变成了一件白颜色的衣服,这个叫做副职。好,这个print f这个标识标什么呢?A就是使用输出语句,输出语句干什么呀?把把这个变量变量A的值,A的值输出。
04:00
是不是这样子,你看print f前面这个地方是格式化。百这个百分号D100分号D表示什么呢?表示输出的形式,形式为整数,能理解。为整数,下面是不是一样的道理啊,诶,所以说我们先基本的了解一下,后面还要细讲的啊,同学们还是用输出语句把变量B输出。把变量的把量B的值输出摆泡地呢,仍然表示输出这个整数,下面这句话还记得是干什么的吧,这个是将这个控制台,控制台这个暂停啊停停在就控制台会会不闪出,将控制台停在这里。控制台。停呃,停留。停留干什么呢?等待等待。等待。等爱,等待。等待什么呢?等待输入。就是控制台就不会退出了,Get char。
05:02
好,这个就是我们看的第一个最简最简单的一个事例,那有些同学老师你这个东西呃是一段代码,那么它的基本原理是什么呢?来同学们为了让大家理解的更清晰呢,我还是给同学们画一个示意图,把这段代码。就是这是我们写的一段代码,那么他在我们的计算机里面到底是怎样运行的呢?有必要给同学们说一下来,还是老规矩把这边打开。来,我们看一下,这是我们接接接触的第一段代码哈,给大家说一说在我们的内存里面,它到底是怎么发的。同学们看,这是一段代码,这是程序员写的代码。代码,那么这段代码在我们的计算机里边,它会怎么体现呢?来给同学们看一看,它是这样子的啊,程序一旦运行,就说我们的程序从这里开始执行,那么执行的时候呢,我们的代码会加入到内存中。
06:05
内存中,就说你的这段代码真正运行的地方是在我们计算机的内存。这个大家能理解。计算机。计算机中的内存。那计算机内存是什么,我就不多说了,其实你可以理解成就像我们,你可以理解成就像我们人的这个记忆一样,就是人就有点像人的大脑哈,就像人的大脑一样,这样去理解。好的,那么它怎么跑的呢?好,我们程序大家都知道,我刚才讲过是从主方主函数开始执行,那他先执行第一句话int a等于一,那么这个时候在我们内存里面会怎么。怎么体现出来呢?诶这样同学们要好好理解一下了,他会这样子啊,同学们听,那么它首先会产生一个空间,它会先开辟一个空间。假设我用竹块表示,里面呢,他放了一个一。
07:00
这个值是一,为什么是一啊,你给的是一,然后呢,它会有一个变量叫A,让这让这个A呢?同学们看啊,它会让这个A指向这个一的空间。就这个意思。诶,也就是说同学们看到的这句话,这句话在计算机执行了以后呢,就相当于在我们的内存里边,在我们的内存里边有了一个空间。这个代表一个空间放了一个一这样的值,然后让这个A变量呢指向它,也就是说A就代表这个一了,能理解就好像一个门牌号一样。门牌号是什么呢?是A门,门牌号是A里面这个门,门里面放的这个小房间,理解成什么呢?放的值是一,就可以说你你可以把它理解成是我们的门牌号。哎,这样理解好吧,门牌号。OK,那么我们这个小中括号代表什么呢?中括号代表一个小房间,这个房间就相当于说这是这是房间里面放的纸,房间放入的放入的内容。
08:05
这个内容是什么呢?内容就是一个一能理解了吧,这样是不是很形象了,那同样我们紧接着执行下一句话。下一句是int b等于三,一样的道理,一样道理在我们,在我们的这个呃内存里面,它又会发生什么呢?这有一个B变量,这个B变量呢,又指向一个空间,这个空间里面放的是什么呢?放的是三理解。啊,这样我就简写了啊,紧接着他又说了一句话,诶,把89付给这个B,那就意味着他把89又付到这个里面,相当于把这个八,把这个三干什么呢?换成了89,能理解不?有这样去理解就很形象了,那紧接着这句话干什么呢?输出语句,那输出语句那就是把我们这个东西输出,嗯,就输出在我们的控制台了,就相当于说我们这边呢,也可以理解成还有一个控制台。啊,就是我们的,就是你们所说的这个,同学们看到那个cons cons,那么控制台呢,他会按照这句话来执行,他说哦,你要输出的A等于多少,那这个时候应该输什么?A等于等于多少呢?呃,他把这个门牌号找到,再把这个一取出来,就是na等于一。
09:12
好,换行,紧接着它又执行下一句话,他说B又等于什么?那这个时候呢,它又紧接着执行B等于什么呢?OK,又把这个B的值取出来,B的值是多少呢?89,于是把89取出来。明白了,好,最后呢,这个get char呢,会把控制台停留在这里等待输出,这就是他的一个执行流程。同时呢,我们也给大家讲了一下这个简单的原理,理解了不?其实挺简单的哈,呃,当然了,我们后面还要讲细节,讲细节好了,这就是我们讲的变量是程序的基本组成单位的一个含义,那紧接着呢,同学们,我们继续往下玩,那变量,既然说了,那变量到底是什么呢?我们来画一个,嗯,较为官方的或者相对系统的一个概念的一个定义,变量相当于内存中的一个数据存储空间的表示,也就是老师刚才画的这个图。
10:07
对吧,这是它的一个数据空间吗?不是说的相当于一个房间吗?诶就空间那么呃,你可以把变量看成是一个房间的门牌号,通过门牌号呢,我们可以找到这个房间,通过这个变量名呢,可以返回到变量的值,也就说我们我们这样理解,就相当于说通过这个门牌号。A,我们找到这个小房间,并且把这个值取出来。OK,没问题吧,同学们紧接着继续看,那么我们使用变量的基本步骤也就出来了,它的基本步骤是这样子的,先声明,比如说我写个int number,哎,这先声明一下,然后呢,我们再复制,比如说number。等于60。OK,使用使用当中就很简很简单了,比如说我们print f啊,把我们的number等于百分之D的输出,对不对?当然了,有些同学说,老师我看你刚才不是这样用的呀。
11:02
呃,就说我们使用的基本步骤是先声明再赋值再使用,你也可以一步到位,注意看啊,我们再说第三个就说也可以。你把这个写下也。也可以一步一步到位使用,比如说你像这样用也是可以的,比如说我写个int number2,给他一个99也可以。就说上面这三句话啊,这上面这个第一句和第二句其实是可以合并到一起的。再说一遍啊,就是生命变量和付出值呢,可以放在一起写,就第一,第一个动作和第二个动作呢,可以合在一起,这就是我们变量的一个概念。好,我们再看一个小案例。再看一个案例,那么变量的基本入门其实刚才已经讲了,我们还可以这样写,比如说我们定义的这是个整形,这是一个整形变量,当然了,我们如果是需要小数的话呢,前面就要改成double,诶,这个就是一个小数。
12:03
对不对,这就是个小数,后面还要讲啊,大家不要着急,小数这个呢,就是一个字符,就说你看大家有没有发现你存放的数据的这个类型不一样,比如整数前面是in特,你用的是小数前面就是double,你用的是一个字符,前面就是差,看到没有,也就是说你的数据的这个值的不同,对应的数据的类型就不一样,能理解,再说一遍,你对你给的这个值不不一样,你对应的数据类型也就不一样,就好像。打个比方,就好像你要把衣服你放衣服。你你你如果要把这个衣服放起来,是不是放在我们的这个,呃,衣服柜里面,如果你要放这个书,你要放书是不是放在书柜里面,你就不会放在衣服柜里面,诶所以它就是不同的这个内容呢,放在不同的这个变量。对应不同类型,那么这个是什么呢?诶,这个就是我们的字符串,这个就是我们字符串。
13:03
哎,字符串明白好了,同学们,那现在呢,我们把这个代码给大家运行一下,我们再讲细节先,我们是不是原先讲的,先讲基本的东西,再讲细节,记住啊,我在讲课的时候永远是这样一个流程,先讲快速入门。快速入门,然后呢,在讲我们的注意事项,是不是老师在在讲第一天的时候,就是我们前面讲的第一节课,第一节还是第二节我们讲过,我们讲课先给大家快速入门,再讲他的注意事项,是不是我们先现在先说的是基本的使用,那我们来用一用呗,来用一用,看看是不是这样子的呢?来同学们跑一跑,那这样我新建新建一个项目,好吧,新建一个项目还是空项目,取个名字吧。叫做C。啊,我们取个名字叫c project,我以后就放在这里面了,C就是我们C程序C的一个项目。
14:02
那么我们确定。是。好,我就先,我以后就放到这,放到这呢,我们再建,再建一个文件夹,这是我们的第几章呢?Chapter,我分一下哈,零二呃零三,这现在是不是讲的第三章的内容啊,变量是第三章的内容,所以说我写个零三,然后呢,代码我们就写到这里面,以后呢,好好好来分,分一下类,不然的话,我把所有的文件都放在一个这个文件夹下面去呢,大家管理起来很麻烦,所以我分一下来写刚才的第一个测试,我们这叫变量的变量呢,VAR一个DEMO01。您理解啊,同学们注意跟上我的思路。好,往下走,好,同样我们把这个后缀名改成C。那用一用呗,那刚才呢,老师是不是在这写了这么几个,我就偷个懒,好把这个粘过来,我们运行一下。看看对不对,首先include include,我们的相关的头文件,因为待会我要输出,所以我先引入它,这个能理解void主方法。
15:05
好,然后呢,我把刚才这一小块粘过来就可以了,非常简单非常简单,我们格式化一下,还记得格式化的快捷键哈,然后呢,我们把它输出print f走一个。好,首先呢,我想输出number等于,那就用百分号D。乘绩这个是不是乘绩啊score,所以说我们写core等于我要用小数输出,用点2F这个代表我要输出的是一个小数,保留小数点两位再说一遍啊,然后呢,JEG这个是它的性别,那么用C输出代表输出一个代表输出的是一个字符,好最后呢有个name name呢是字符串,用百分S输出。这个是有对应关系的,同学们,Number OK score。然后呢,Gender?然后呢,Name。好,这里我做一点小小的说明,说明一下,同学们注意听好呃,如果输出的是一个整数,那么格式用百分号D,第二个如果,如果输出的是什么呢?如果输出的是一个小数,我们用的是百分号F。
16:19
啊,百分之F,那如果说你要保留小数的两位,前面写个点2F就行了,如果这样写,如果希望保留保留小数点,那么到几位可以用百分号点2F,当然如果写3F就是保留小数点三位,4F就是保保留小数点四位,以此类推,一就是保留小数点一位。明白接着我们继续看下面,如果输出的是一个字符,同学们,如输出的是字符。一个字符,那么用FC能理解,然后呢,第四一个,如果我们输出的是一个字符串,就是一个字符串,那么我们是用什么来写的,百分之S理解了吗?那同学们我们运行一把,看看效果跟我们想的是否一样,同学们我们运行一下。
17:12
运行非常的简单,我们点这个小按钮跑起来。跑起来我们看这个结果哈,同学们,我们看这个结果跟我们想的应该是一样的,有看到number一刻2.03,诶有些人都说了,说老师你这个不是2.3吗?为什么就是2.03呢?不要忘了同学们是不是我是保留小数点位啊,那你后面有一个,呃,虽然没有值,他用零给你填充了。你看真的等于A是不是一个字符啊,字符串。是上位股,注意啊,这个这个一定要有对应关系,你不能这样写哦,同学们,比如说你这写的是一个字符串,但是你偏偏要用D输出,那会怎么样呢。那会怎么样,同学们,你们可以看一下这个地方,它就会报错了,或者说出现一个未知的情况来看一下。
18:01
抛弃了。你看这里。你看他输出这个玩意儿了,输出跟我们想的就不一样,因此同学们一定要记住一点什么呢?注意老师说的第五点,就是在输出不同的不同的数据时时对应的这个格式化。格式格式化的,嗯,形式也不一样,要对应要对应起来。也就是说,你输出的是一个整数,那你就得用百分号D,你输出的是一个小数,就得用百分F,你输的字符算就这个,以此类推,否则说出来的结果跟我们想的就不太一样了。好同学们,那么现在呢,我们这一个快速入门就说完了。想注意注意,老师在在提醒大家一定要把这个记住,就是老师讲的这一点。就是我们去理解一个变量,定义一个变量,并付出值以后,要去跟要去理解成,就是他在我们的内存里面有了一个变量的名称。
19:11
而这个变量名称呢,指向了一个空间,因为我们的内存呢是有空间的,就好像计算机存储数据的一个地方一样,那么这个门牌号A,这个A呢,它就指向了我们这个空间,这个空间里面存的就是这个值,这1.1定要有明确的认识,我们初学者最容易的,最刚开始感觉最困难的地方就是很难把这个代码。把这个代码和我们的这个计算机内存关联起来,这个一定要关联,你的脑海里面要有一个关联的关系,否则你看代码是代码,你想不到这个计算机内存是什么样形式存在的,那么你学习起来就比较费劲了。这点的老师再强调一下,一定要把慢慢的养成一个习惯,一看代码。
20:00
一看代码,就能够关联到我们的这个内存大概是长什么样子,也就是说要想到变量在内存里面的布局。明白了吗?好的,同学们,那关于变量的一个快速入门老师就讲到这儿,一会儿呢,我们再讲变量的注意注意事项,那关于变量最基本的内容,我们先聊到这里。
我来说两句