00:00
同学们,我们继续来看第九套的下面的填空题。先看第11题,第11题呢,他说有下列一段程序哈。又是要阅读它的代码A,注意看这个A啊,它是个全局变量,看清楚没有。这方一定要搞清楚它这个题的考点是考察什么呢?他要考察全局变量,变量和局部变量的一个规则。他要把这个拷出来,首先我们看这个A呢,是一个全局的。对,也就是说同学们看到这是个全局变量。那如果是全局变量呢?大家要明白它是什么含义哈,那我们走一下,C等于20 C等于20,那C等于20,它调用一个方程C,那么这个地方会做一件什么事情呢?调到这来了,大家看这个地方是一个局部变量。局部变量,那么我问大家,此时此刻这个A和这个A是同一个吗?啊,他不是同一个了,这是局部变量,那这个时候A加等于B,那这个时候它就应该等于什么呢?等于A等于A加B,那也就是说十加上多少呢?
01:12
因因为你这传进去的时候,这个B,这个B其实它是等于20的,对不对。是不是等于20啊,因此在这里面呢,实际上是A加等于A加B,其实是呃,20加上十,因此呢,这边会输出什么呢?在这个地方哈,我们说一下方式C。方式C。调用调用十。调用时,我们我们这个A它是一个局部变量。应该是一个局部变量,因此A加BA加A加等于B,其实就是等于A等于多少呢?就是A加B,而A加B再推一下。A等于多少呢?A等于十加多少,这个时候这个B啊,这个B是从这传进来,这个行参,行参是从20传进来的,因此呢,就是加上20。
02:07
对,所以说这个地方就应该是30,因此这个地方输出的就是30,先看清楚了,也也就是说他先输出了一个30,然后呢,再回头在这边他又做了个A加C。大家看这个时候一定要搞明白主方法里面的这个A加C。这个时候这个A指的是谁呀?这个A指的是全局变量的A,看清楚没有哦,所以说一定要搞清楚,这个时候这个A是全局变量的A。OK,那也就是说A等于A加C,其实就应该等于多少呢?其实就应该A等于五加上一个20,而不是前面那个了,那应该等于25,因此结论就是输出是什么呢?一个30,一个25,答案结束。在这里我们应该填写30和25。我们看12题,12题呢,它是说。
03:02
有一个person,这个person是一个结构体,里面呢有两个成员,一个是ID,还有一个是差,没问题,这是个PP是什么呀?OK,分析出来,此时此刻一定要分析。P就是一个person结构体变量,能看懂吗?好,他说现在什么呢?语句补充完整,使其能够为结构体变量P的成员ID正确读入数据。好,这个太简单了啊,这个我相信咱们每个同学都应该能搞定吧,那就是呃,往这边读东西嘛,那这个12应该填的是什么呀,就应该填P。点。对不对,因为你是一个结构的P点什么呢?ID。ID,但是呢,同学们,但是呢,因为它这个是一个int类型的,是不是要取地址啊,前面应该有个地址。所以说地址呢,我们应该这样写才是对的,能理解吧p.ID要这样写才是OK的,其他的都不对啊,这样才是对的,所以说这边应该填写的是什么呢?这边应该填写的是,嗯,弟子佛。
04:09
哦,哭起来。括起来,然后p.ID啊,这样更安全哈,这样写。第12题讲完讲第13题,第13题呢,我们看一下也是做一个小小分析。嗯,同学们先看一下。同学们看一下这个A是是一个字符串是吧?是一个字符数组,其实在这就体现出是一个字符串,那么B呢,也是一个字符数组,它把这个B啊用来接收一个串。那么他在他说我在键盘里面输入一个how are you问号,诶大家还记不记得对于这种形式接收的时候呢,他如果遇到一个空格就会结束,对不对这种方式。这种方式输入内容遇到什么呢?遇到空格,空格就结束了。空格就结束。
05:00
那也一结束。结束,那那也就是说其实这个B呢,它接收到是什么呀,其实接收到一个号。急什么呢?急我们这个B。B。B这个20哈,它存放的是什么呢?存放的其实就是这么一个字符串了。这个要理解。然后它下面呢,他说我输出这一个P,那这个就好办了,那你既然知道A和B是什么,那它输出的就应该是第一个是后。当然这边有个空格,然后再把B里面的内容输出,B是不是就是how are you啊?哎,不A,呃,不好意思,他应该是。他先输出的是A。先出的A,那就应该是先把how are you。数出来。打一个空格,再输出什么呢?后没问题,答案就应该是这个,因此它输出的结果就是它。
06:02
明白。第14题,14题呢,这里面有一个问题,大家需要先看一下,就这句话什么意思,Type DeFine这句话我先做一个解释,好不好解释一下。解释就就是这个东西是干什么呢?其实这就是type地方,就是类型定义。啊,这个叫类型定义,其实我在前面讲过,定义相当于相当于给什么呢?相当于给这一个结构体,就这个结构体啊,取了一个别名。啊,给这个截截这样拿到上面去取了一个别名。取了一个名字啊,取了。娶了。取了一个别名。别名叫什么呢?叫recct,也就是说呃,这个recct就是我们这个结构体了,能理解吧,那么下面呢,我们再来看,嗯,第二点。
07:02
下面就好理解了,大家看在这里呢,这个结构体里面有个number和double,看清楚了,然后这边有个函数,这个函数呢,它接收一个结构体变量,然后把它的值进行一个修改,看到没有这个函数能看懂吧。这个函数是接收啊接收。接收一个结构体,结构体变量。然后将将什么呢?将他的成员进行修改。对进行修改,那下面继续来看吧,那现在这个A传进去过后注意啊,这个地方在传递的,传递的时候一定要考虑它是直传递。他是直传的哦。直传递,我我们在前面讲高校大学生C语言课程的时候,讲的很清楚的,这是个直传递,所以说其实你在这个地方把这个function改编过后,FUNCTION1。班型一中,对,对这个结构体的改变,对结构体的改变。
08:05
改变不会不会影响到,影响到哪个呢?就是注main函数中的哪一个A。不会影响到,所以说你看这一门你怎么改了都没有用,因为你你这门不是你是直传递,而不是地址传递,除非你加的是指针,除非你是结构地指针传递,因此呢,你在这对它赋值对不成23,然后把这个改成88.5,其实对这个A没有影响,既然如此,那这个输出就应该是a.number其实这个地方。就是这里面主方法里面的这句话,它输出的仍然仍然是幂函数中的哪个呢?A。结构体变量。结构体变量,因此这个结果就出来了,那就应该输出什么呢?16。那就应该输出16。单结束。就这样分析出来的16,那第15个题,15题,其实这个题呢,它是一个考察一个递归,它考察一个递归,分析一下第一个。
09:09
考察点是递归,就函数的递归调用,函数的递归调用,那这个时候呢,我们来分析一下呗,我们看看它到底是怎么玩的,来看一下老师画一个图哈,首先呢,它在主函数里面掉了一个方六。好,第一次调用方式六。我们看啊,在这里呢,它调用我就简写F6好吧六。好调这个F6过后呢,就会产生一个新的函数散,是不是讲过。此时此刻,呃函我们执行就执行到这个F这个函数来了,那这个时候这个X等于多少呢?等于六能理解不?传进来是六嘛,然后呢,它执行if X除以二大不大于零,六除以二。那当然大于零了,六除二不等于三吗?三大于零,然后又执行这句话,所以它在这里面呢,又去执行一个放。
10:03
对,那就是六除以二,那就是三对注意啊三,那么这个时候呢,它又发现三又产生一个新的站。那同学们问大家一个问题,在这个站里面是不是又产生一个方方这样的一个空间呢?那这时候这个X等于几呢?等于三能理解吗?三好的,那等于三等于三过后呢,它又去判断三除以二大不大于零就在这个站里面啊,在这个里面X除以三等于一一大于零成立,于是又去调这个方。能理解好,放。嗯,那这个这个时候调用的时候呢,同学们看一下咯,看一下啊,这个时候就应该传的是一个一了,为什么呢?三除以二,那不就一吗?这个地方它又产生一个占了来往下再走走一下。再走一下的时候呢,同学们,这个时候这个X就等于几了呢?等于一了,因为你传的就是一一除以二不再大于零。
11:00
一除以二不再大于零,因为一除以二等于零了,不再进去,再掉,不再递归了,然后输出这个地方,也就是他在这里面先输出了一句话,这里面输出的是一个什么呢?就输出了一个一。标起来,然后程序返回,返回在这个站里面,它会输出X,这个时候这里面这个X是三,于是呢,再输出一个三。然后再返回。再回合到这里面呢,这个X是六,于是再输出一个六。再返回程序结束,那也就是说这个结果应该是什么呢?应该是136就应该是一。三。六才正确,好,这个图给他截一下,因为有些同学可能需要把这个图看一下,我把这个图截到这里来好吧。截在这儿。朋友们,我就放在这了,分析示意图,那这最后这个结果当然就不说了啊,结果是。结果输出结果,输出结果是什么呢?136为了让大家确实相信这个事情呢?我们给大家测一下。
12:09
有些同学可能有有所怀疑是吧,我们来测一下来我们来运行一下吧,那现在呢,代码已经写好了,那我们这加一下,注意这个地方它肯定不会说有没有返回值,来来考察你错不错是吧?啊。好,可以了,我们来试一下,为了好看呢,这来一个get char。让我们的控制台停在这个地方。各位同学,我们运行运行过后呢,我们看输出的是不是136。OK。那这边看一下呢,136正确,那为什么有人说不是136吗?因为我输出的时候没打空格,我要打一个空格就看得更清晰了,就是136。对,就是136。136对不对,好的,那这个结果呢,就是136写到这里来。一。三六如果他在这个地方考题的时候,他没有打空格,那你就不要再打空格,你不要再写啊,你说诶这样写不对,因为人家这方没有打空格,如果你写个136你打过空格,人家以为你看错题了,直接给你一把叉,明白了吧,所以说这个地方呢,不对的,要这样写。
13:16
136好同学们,那关于第九套题我们就给大家讲到这儿,我们把它板述一下。第九道题梳理一下,这是我们讲的第九套什么呀?它的一个笔试题。放到这里来。东阳,先把图片拿过来。对,让他把试卷整理一下,C元第九套。笔试题的一个试卷,诶写错了。往这儿哈。第九套啊,笔试题。笔试题的试卷。好的,那么我们同样来一个小箭头,并且把我们的内容放在。
14:01
我们一个表格里面去,便于同学们今后的复习,那我这就把它整体拿过来了。从这开始复制。因为这里面的题比较多,所以说复制的内容也要多一点哈,每一道题呢,我都尽量的做了一个分析,然后呢,告诉大家,大家为什么是这样子的。因为如果我们只是告诉大家一个答案,其实意义不是很大,因为你将来做二级考试的时候,什么情况下都什么情况都可能遇到,所以说我们要知其然,还要知其所以然,各位同学,那关于第九套的这个笔试题,我们就给大家评讲到这里,大家消化一下。
我来说两句