00:00
同学们,我们来看第36题。36题这道题啊,又是一个非常经典的题,分析。这道题的考察点,考点是什么呢?是。静态就是我们所说的静态局部变量。这个问题由它考的是静态局部变量。那么近静态局部变量哪一个是静态局部变量呢?就是X,大家发现没有丹提格。那我们来分析一下它的流程哈。呃,首先我们看这个for循环,它一共会执行几次,这里会执行五次,大家看到没有,分别是I等于一到512345嘛,然后然后我们看第一次第一次。第一次的话,S加上放,呃加等放是不是掉一次,掉一次这个X初始化一次,这个只会初始化一次,我们先讲过初始化。
01:01
初始化,它只会初始化一次。是不是我们讲过静态局部变量,也就是说只要一个变量是静态的,它只会初始化一次,那么X加一,它初始化一次一,一加一就变成二,也就是说第一次执行完毕过后呢,同学们看啊,它整个这个返回是二。而且大家要非常清晰的知道,呃,X现在已经变成二了。那我问大家,此时此刻S是等于多少呢?S本身它有个初始值是一,不要忘了哈,S本身有个初始化是一,也也就是说是一加二,那么S就是三,第二次我们推导一下就行了。第二次的话呢,仍然是诶我们占多了,第二次的话是S加上哪个呢,再加一个呃,放返回的值。就是加这个嘛,那这次返回来是几呢。这次返回来就应该是X再加一,因为你调这个放放的时候是X加加一,而X呢已经变成二了,所以说它返回的是个三能理解,不返回一个三过后呢,X现在变变也变成三了,那这个时候呢,就应该是呃哎嗯,因为原先X已经是三了嘛,三加三应该等于六。
02:18
能理解了,好,那这是第二次,第三次,我们再推导一下。第三次的时候,按照这个我就快速的推导一下,这时X应该等于几了,等于四,所以它返回的呢也是四,这时就应该是原先这个六再加一个四变成十了,能看懂不?好,然后第四次。跟上思路哈,第四次,那么第四次的话呢,这个X就变成五了,还有印象吧。那也就是说这边是加五,那说白了就是十加五变成。这个了。十加五变成15能理解哈,然后呢,再来一次,就最后一次了,最后一次也就是我们的第五次,那这个时候X16,那这边呢,是X加上加等于六。
03:10
甲等六的话,实际上就是15加上一个六就变成21。所以说最后答案。答案21,那选择哪一个呢?选择显然是我们的B答案,答案选B。不要忘了哈,答案选B,就是这么一步一步推导过来的,我们现在看第37题。37题呢,我们先看它定义了三个指针ABC,然后呢,这边分配了一个动态空间,就是在堆里面分配一个空间,然后呢,ABC分别指向这个空间,也就是说大家要想象到在一个。一个堆里边,这是一个堆。对,然后呢,有ABC这三个变量呢,分别指向了同一个空间,我就简化的哈,指向这个空间能理解吧。啊,然后呢,他给A,呃,他通过这个A去访问这个空间,附了一个一。
04:03
又通过B去访问这个空间,又相当于说还是访问同一个空间,把这个一换成二了嘛,然后再通过这个C去访问这个空间,又把这个二变成三了,那同学们想一想,最终它输出ABC3个值,其实都是三,能看懂吗?所以说最后这个答案应该是三个三。这个你要分析出来哈。好,我们说一下这个分析。然后示意图吧。他的示意图。示意图。呃,那么呃,最后这个结果我们就看出来了,结果是什么呢?好,结果是三个三。选择哪一个呢?显然选择我们的A答案。选择我们的A答案,再来看第38题,38题这个题其实挺简单的,呃,它就是说VCVC6这个平台上算这个赛值A和赛B,那大家想A和B其实它都是这个变量吗?那这样其实就是在这个就是干什么呢?
05:06
这个其实就是在统计int占多少个空间,Double占多少空间嘛,所以说比较简单分析。在这里呢?这两句话其实就是在统计或者是计算,计算int和double和double。占用的占用的这个字节数呗,对不对字节数。那这个就简单了嘛,那第一个肯定就是第二个就是八呗,那应该选择哪一个呢?同学们,那就应该选择我们的C答案。他说了是在VC6这个平台上啊,VC6就是这样的一个特点,那么我们这选择C。就是四和八第39题,第39题呢,他说若有下面语句哪个是正确的,我们一个个的看哈,分析一同学们看一对吗?他说可用S定义结构体变量,这个是错的,不能这样定义啊。
06:04
这是错误的,应该使用什么呢?你你你先看一下同学们看。因为你现在S啊是这个结构体的名称,如果你要定义变量的话,应该是什么,怎么定义呢?是RUS。这个才可以定义变量,后面写变量名称,是不是以前我们在讲结构体的时候是说过这个事的。对,所以第一个题它是错的,第二个可使用气定义变量,这个是对的。对的,为什么呢?因为T就是我们structure。S的一个别名。便秘。因此,可以。那也就是说你这样去定义一个A变量是可以的,这个其实就是定义的一个结构体变量,哪个结构体的变量S这个结构体变量。B是正确的S,他说S是ru的类型的变量,这显然不对,这明明是结构体的名称嘛,这样说简直是很错的啊,错误,因为S是结构体类型的名称。
07:05
它是一个名称,那么T这也不对,他说T是十的S的变量,显然不对,T呢,我们看一下T是。S的别名呢?并不是变量了,他说是变量,显然不可能,他错在错在什么地方,他说是变量。显然不对了啊,这个也说是变量,显然也不对,好,所以说最后答案选哪个呢?答案各位同学。答案。答案就应该选择我们的。B答案。B答案是正确的。写到这里哈。B,好的,那第40题我们来看一下第40题,这个很简单了,它考察的是一个什么呢?分析。它考察的其实就是一个运算,考察未运算。耶,同学们还记不记得?我们我们在前面讲过,呃,他说要是程序运行结果为248,现在是124,要变成248,其实就是C乘以二是不是,那也就是说他希望C能够乘以二这个结果。
08:12
那么这时只需要什么呢?只需要。只需要我们右移右移移位,右右移移位就可以了。那也就是说,其实就应该是怎么写呢,其实就是这样写。就是C右移一位,那这边它已经写好了,那这边应该填的是什么呢?这个符号右移一位相当于乘以个二,明白吧,再右移位又能就再乘一个二,好,因此答案。答案就是骂呢,答案就是我们的。D答案没问题,答案选择D。听懂了哈,那同学们下面呢,就是我们就把所有的选择题给大家评价完毕了,理解哈,OK,那这个这讲的视频我们先讲到这。
我来说两句