00:00
同学们,我们继续来评讲一四年的。呃,C语言二级考试。那么我们来看21题,21题呢,我们首先来看一下,它给了一个字符数组S,然后这里边呢,给了一个串对不对,这个很好理解,然后呢,这边有两个变量I和NN是零,I呢没有赋值,然后在下面负循环里面,它给I负了一个初值为零,然后呢,他说只要SI就是S这个字符数组,下边为I呢,只要不等于零,我就不停的做这样一句话,注意这个for循环,就是现在老师选择了这个for循环只包含了一个if语句,对不对?因为他没扩起来,所以他实际上是这个for循环呢,只是管了IF1句,后面出了for循环过后再去print f这个N。他问这个N等于多少?来同学们分析一下吧。分析第一个,那同学们首先看一看它这个S,就这句话表示什么意思,他表示的是。
01:11
你这个SI注意看啊,注意听这句话SI的这个字符。字符,它对应的对应的这个阿斯柯玛值。阿斯科马子,这1.1定要分析出来。阿斯柯玛。这个值是否是否等于零,千万不要跟这个零混淆了,这个零同学们一定要注意它这个零是代表的。制服。这个两个不是同一个概念。这个字符零,如果你去查阿斯克玛表,其实它并不等于零,那我们可以看一下。这个零字符,这个零它其实是对应的,呃,哪一个呢?我们来看一下哈,来打开阿玛对照表。
02:02
我们来看一下。字符零应该是,应该是哪一个呢?是这个,同学们看是不是这个呀。这个。也就是说你看到的那个字符串里边写的这个零呢,其实是它对应的十进制是48,而不是这个零,所以说同学们一定要非常清晰的知道,第一个这个零并不等于这个零,所以它会它会输出知道吧,它会进到这个if语句。它会进到这个一辅语句,那进到这个一辅语句呢,N加加就进到了这,哎,它这个就是相当于判断你的这个SI是不是在零字符到九这个字符之间。如果在这个之间呢,N就加一,所以说我们看第二句话,他这句话的理解哈,这句话的理解就是。如果,如果这个SISI在什么呢?在零和这个字符九九之间。
03:06
那么怎么样呢?N就加加,N就加加这样子的,所以说经过这样子判断话,同学们想一想。什么时候才会碰到SI等于零呢?就这个字符。那大家数一数,在斜杠零前面有几个零到九的字符呢?其实就三个。就是012,因此这样一分析出来,这个N呢,其实就应该等于三。能理解吧,所以说这道题它的结果应该是选哪一个呢?应该是选B,应该是选B,好,没问题,紧接着我们看22题,22题是说若I和K都是int类型的变量,然后有for循环。然后他说下面哪一个叙述是正确的,我们来分析。首先同学们来看一下咯,看一下呃,同学们有没发现这个K,你你抓住关键点K等于一,那这个其实就是不用再说什么了,只因为他这个for循环里面老师圈起来这个部分才是表示判断真和假的关键位置,因此这就是个死循环。
04:19
啊,所以说我们可以看到for循环里边这句话。中的。中的这个K等于一。K等于一,这个是判断,判断真假的关键位置,真假的位置,而K等于一呢,它就永恒等于真,所以说它是一个什么呢?它会构成一个无限循环。无限循环,好,说说答案呢,咱们就知道了,应该选什么呢?应该选D。没有问题吧,应该选D,好,紧接着我们看23题,他说有下面一个程序是这样子的。
05:00
然后呢,它B等于小写的AC等于大写的A,然后呢,For循环,大家可以看到这个for循环我们一定要写面分析啊,同学们看这个for循环呢,一共会循环几次,如果不受影响的话,它一共会循环六次for循环。大家看到没有,For循环的次数是六次。为什么是六次呢?因为是零到五嘛,因为六就进不来了,所以它是六次,六次的话,大家有没有发现这句话是什么含义,就是说他这个for循环是从这开始到这个地方结束,就是if。他的意思就是说,如果这个I,如果这个I呢,等于是一个偶数,我们就put I加一,否则的话,呃,I不是偶数,就put I加一啊I加B,如果是如果是一个偶数,就put I加C,所以它这里面这个for循环这个语句是干什么呢?For循环的代码。
06:02
或循环。循环完成的任务,任务是如果说如就是。如果I磨I是一个。偶数或者是I摩I摩二。M2是等于零。在等于零的情况下。M等于零的情况下呢,就。就干什么呀,就输出这个I加C。I加C,否则。否则输出什么呢?输出这个I加B,好,这个就很好理解了,那么看一下呗,你你来看第一个零,零就应该是输出这个I加CA了,所以说如果I等于零的话呢,它应该输出I加C,是零加CC还是CA,所以说它第一个呢,就应该输出大写的A。如果是大写的A的话呢,这两个就排除掉了,看到没有。
07:03
能理解吧,这两个就排除掉了,然后大写的A输出完了过后呢,然后这边I等于一,I等于一的话,就输出这个I加B,那么这个时候是相当于一加上这个。这个这个这个玩意儿,那这个显然如果按照字符来输出的话,就应该输出小写的B了呀,所以说它第二个就是小写的B,那只能是选项B了,明白了吧,所以说这个根据根据逻辑逻辑。逻辑推断,推断就是什么呢?呃,那第一个字母第一个第一个字符输出的是对第一个字符输出。输出一个大写的A。对吧,然后第二个呢,第二个字符输出什么呢?就是小写的B,那这样一判断,只有B满足,其他你就不用看了,你再去看也是浪费时间,所以说这个最后这个结果应该是什么呢?同学们应该是B好分析完毕24题,24题他说。
08:13
给,嗯,这是一个定义哈,他说假设这有这么一个定义,这个定义呢,大家看X是一个数组,是一个double类型的数组,然后新P呢,它是一个,呃,P是一个,是一个什么呀,同学们看P是不是一个指针,然后他把X的这个数组的地址给到这个P,也是说P,也就是说这一个P呢,它指向了X这个数值。以下能够给数组X下边为六的元素读入数据的正确语句是哪一个好?我们来看一下,嗯,我们来一边做一边分析哈,分析主要是分析的过程很重要,第一个呢,呃,A肯定不可以。因为它的格式。格式,呃,必须必须是这样的一个格式,就是LF,所以说就排除了什么呢?排除了A。
09:05
这个大家看到没有A就排除了,到下面呢,来看后面这个地方必须是个地址。就是咱们十开F的后面这个地方是个地址,是地址的其实只有C,你看新X加B这是一个值,就这是个具体的值,而P呢,也是一个具体的值,只有P加六是这个指针运算,还记得吧,我们以前讲指针运算的时候,P加加,P加一,P加二都讲过,那么只有这个P加六表示一个地址,所以说这个答案应该选的是C答案。C答案好,我们分析出来,然后KF。看。是看F它后面。后面的是什么呢?是一个地址。那么我们我们可以看到P加六,P加六。
10:00
P加六就是指向X的第六个,第六第七个了啊,因为你这个下标为六,下标为六的话就是第七个了,因为你加一个就是第七个,第七个元素的地址。啊,所以说嗯,这个就是对的,因此因此应该是C是对正确。C正确,因为你下标为六,其实就是第七个元素了吗?所以答案应该是什么呢C?各位同学,答案应该选C,紧接着我们继续分析第25个题,第25个题呢,稍微有一点点麻烦,需要同学们对这个英英英文的字母表有一些熟悉,他说什么呀?他说字母A的阿斯柯玛值是65,告诉你了,也就字字符A对应的阿斯柯玛呢,等于65,是一个奇数。然后他问,他问如果我给了一个字,呃,字符数组是by byte,他问把这个A传给放这个函数,让他去输出这里面的每一个字符,应该输入什么?大家看这里一定要搞清楚啊,同学们,星号。
11:15
S。这个地方Y循环是整个这一这一节都是Y循环,星号S是不是依次取出A这个数组里面的每一个字符,这个能理解吗?我做一个分析。第一句话,一定要非常清晰的知道这句话是在做什么事情。这句话是依次。依次。这里写,依次取出SSS指向的。指向的这个字符数组,数组对数组中的每一个。中的中的每个字符,这个大家一定要分析出来,所以说其实呢,就是把这个B取出来,大写的B,再把Y取出来,再把T取出来,再把E取出来,然后判断,嗯,它跟二相磨,判断它是不是是不是等于零或者不等于零,好这一点我就干什么呢,就是这句话就是能理解了哈。
12:22
这句话能理解什么意思吗?就是说,如果。如果该制服该制服的阿斯克玛。阿斯柯玛。模二模二不等于零不等于零,则什么呢?则则输出好,这个就很好理解了,那大家看一看,因为别人已经给我们说出了他的A是一个65。那你看看B是不是就是66了呀,那66去魔二显然等于零,所以说这个B呢,它是不会输出的,Y输不输出呢?那就要看这个Y它是一个奇数还是一个偶数,我们来看一下Y,如果同学们对阿斯克玛值比较熟悉的话呢,Y其实是第25个字母,能理解吗?
13:12
它是第25个字么?XYG嘛,一共有26个英文字母,它是25个,所以说Y是一定要输出的,好,我们说一说又分析出来了,YY是第25个字母。25个字母。字母,那么它对应的对应的这个阿斯柯玛值是多少呢?同学们是不是就是你这个65加上一个24啊,因为你本身占一个嘛,说说Y这个阿斯克马就应该等于89,我们来看一下是不是89大写的Y哈,大写的Y。各位朋友,大写的Y在这里。它对应的就是89,跟我们分析的是一样的,那同学们问大家Y89摩尔等于几啊,是不是等于一,肯定等于一嘛,所以说这个时候呢,Y就输出。
14:09
好,这个时候就会输出大写的Y,第一个就出来了,也就是说他第一个输出的Y肯定是有的,那这样子呢,A和B就排除了,那只能是C和C和D,那这么就主主要是看后面这个T和E的阿斯克玛了,T这个阿斯克玛值告诉大家是20。他是20。哦,也也也说他第20个字母,那T是对应的84,所以说T不会输出,那么E呢,E是第五个字母,是一个奇数,所以说它会输出,好了,按照按照这样的来推断,这样推断推断。那么我们这个一会输出一是第五个,那其实就是65加四嘛。为什么加四呢?因为它它A占一个嘛,所以它就应该等于。
15:01
啊,不不不。对,那就是69 69的话也会输出。输出我们这个什么呀,输出E,那这样子一看就应该是一个Y,一个是说出答案应该是D,最后答案。好答案。答案应该是什么呢?E,这里面我们写上一没问题吧,同学们,也就是说我们25题呢,答案应该是,呃,不是一啊,是D,不好意思,我都老看到这个E了,是D。答案是D。好,第26题我们来看一下。
我来说两句