00:00
同学们,我们继续来评讲2012年这套比这套选择题,看11题,11题呢,他说。以下关于结构化程序设计叙述正确的是哪一个?看第一个A,一个结构化程序必须同时由顺序、分支、循环三种结构组成,这个是不对的,它主要是多了一个必须。因为一个结构化程序呢,其实它是不一定三个同时出现的,所以说第一个错误。分析第一个。第一个错在神域呢?不是必须的,不是必须同时出现。同时有对,所以说所以说我们A答案呢,就是错的,不是必须同时有第二个结构化程序,使用goto语句会更便捷,注意听哈,咱们在讲高校大学生C语言课程的时候,我们说过goTo Goto语句它本身呢是容易破坏我们这个程序结构的,因此呢不推荐使用。
01:07
并不是说goto语句啊,必须使用,或者说goto语句不是说大力推荐使用的,既能不用则不用,所以说第二个错误原因是goto。Goto语句啊,不推荐使用。就说能不用就不用能。能不使用就不要使用。因此呢,他说构图语句会更便捷,这个是不对的。第三个,在C语言中,程序的模块化是利用函数实现的,正确C答案正确C是正确的。我们看第由三种基本结构构成的程序,只能解决小规模问题,没有这个说法。我们数据量很大,规模很大的时候呢,我们这三种结构能够解决的没有任何问题,因为你这个程序大小,并不是说哦,我这用了这三三个基本结构就不能解决大规模问题,没有这个说法啊。
02:07
所以说这件是地势不对的,使用使用三种,三种基本结构,基本结构。基本结构是可以解决解决。解决大规模问题的大规模问题。所以说这个答案呢,就应该是选什么呀,同学们应该选C。第12题以下关于以下关于简单程序设计的步骤和顺序说法正确的时候,那这个呢就没什么可说的了,直接看一个过程就行了,它的顺序是这样子的,我给他说就行了。第一步呢,先整理数据结构。对,第二步呢,要确定我们的算法。算法要确定好,第三一步呢,就是要进行编码。对,第四一步呢,就要进行我们的什么呀,上机调试,就是简单说叫调试,第五一步呢,就是要整理文档。
03:10
说说这个答案呢,对,我不用多说,大家知道什么的答案,选择我们的B答案。对答案选择B答案,其他的都不好使,其他的都是有问题的,要么就顺序不对,要么就少东西了。因此我们B22题应该选择B答案。紧接着看第13题,他说以下叙述错误的是哪一个?我们来lawyer c程序在运行过程中,所有计算都是以二进制方式进行的,对不对?显然这个题。啊,他说呃,错误的,那这个是正确的,不要选,我们以前讲过,计算机在运行的时候呢,底层都是以0101,也就是说以二进制方式进行的,这个没有错。第二题啊,第二个选项,C程序在运行过程中,计算都是以十进制方式进行的,这个是不对的,我们程序员在写代码的时候呢,是以十进制,但是程序在运行的时候呢,是以二进制,所以说答案选B。
04:11
选啊这个分析我们说一下。就是程序员。程序员写代码时。代码史。是干什么呢?使用十进制。我们一般是用十进制来写代码,但是但是计算机,计算机运行时。运行时是按什么呢?按照我们的二进制执行的二进制来的。所以说这个答案呢,就应该选择我们的A答案。后面肯定就不对了,答案A,你看后面这个操作,所有C程序都要经过,看这个说所有C程序都需要经过编译啊,连接啊,无误才能运行,这是正确的呀,正确的但是不要选,因为人家要求选错的嘛,你C是正确的,C程序中整形变量只能存放整数,实行变量只能存放浮点数,对的呀。
05:07
所以这个答案呢,应该选择我们的A啊,选择我们的B说错了。选择B,刚才怎么分析,明明是写的B对不对?选选B13题选择B答案。14题他说由于下定义in a nu b b doublex y,以下选项正确的表达式是哪一个?我们一个个分析好不好?第一个分析,这是考察我们对C语言的基础是否理解了,第一个有没有问题,第一个肯定正确,这个没有什么可说的,这是正确的。正确的我就没有办法说什么了,正确它是怎么说的呢?它是先求出X和Y的。X减和Y的差,然后对这个差呢,求一个呃,就是强制转换成int,然后A模这个int,这是可以的。
06:00
第二题,其实第二题也是正确的。第二题也是正确的。呃,为为什么不知道,那这个选项哈,这个题出的好像有问题,你们大家去看一下。那这个B答案也是正确的。这个B答案这样用没有没有问题哈,我们再来看呃C答案,C答案是有问题的。这个C答案为什么有错呢?我们来看一下C答案,它是错的,错误的原因是A乘以Y过后呢,这个是double类型。Double类型呢,不能取模,对,因为这个是double类型。是W哦,不能直接,不能直接。直接什么呢?直接去魔。对,所以说呃,C答案肯定不能选D答案,这个也不行,D答案也是错误的,大家知道为什么错了吗?错误的原因我可以告诉大家,因为你X加Y过后呢,这个就不再是个左值了,而你把X付给一个X加Y,这是错的,就这种写法在这是错的,因为X加Y不在。
07:07
不再是一个组织。是不可用的,那有些同学老师你这个分析对不对呢?我给大家试一下吧,可能有些同学有所怀疑对不对,我们给大家放在代码里面看一下,大家一目了然,Include。Include std。STDL。然后呢,Void主函数。跑起来,走。没问题吧,同学们,那这块为什么有这么错呢?是因为我们这需要整理一下,没有这些选项对不对。好,那这块还有错误的原因是因为前面这些变量定义我们没有拿过来,拿过来写好吧。拿过来,拿过来功能我们把它稍微整理一下。换一下,因为它有些符号呢,粘过来是中文的,所以说要改进一下。这个改一下哈,这个X好像也是中文的,这个X好这个定义好了,我们看第一个对不对,第一个你看啊,第一个因为我这粘过来有些是中文的括号,我要稍微改一改。
08:12
好的,同学们看,这样一写完,这样一改完,大家有没有发现这个是没问题的。这个就更不说了,本身粘过来就没问题,但是你看这两个直接报错了。我们把这个也改一下哈,改成中文的括号啊,英文的括号。大家看这里面提示什么信息啊,他说。他说表达式必大家再看一下,表达式必须包含整数或枚举类型,因此你这个就不对,这是个W类型吗?这个是错的。啊,这是错误的,错误的原因刚才我们讲了A乘以Y是double啊,不可以求模,这个错误也是因为他说表达式必须是可修改的左值,这个也是错的,因为你X加Y过后呢,X加Y不是一个值。不是一个可修改,说严严严格一点可修改的组织。
09:04
对不对。A数值就是他不能再接收值了。因此呢,同学们,因此呢,我们这个选项也是错的,那最后答案A和B其实都是对的,那这个题出的有应该是有些问题,如果他是单选项,如果他是单选的话,那同学们就选A就行了,好吧,因为。他有时候出题嘛,也不敢保证是100%的正确,所以说我这呢,直接选个A。15题15题15题呢,也是一个常识性问题,这个大家看一下就行了,他说以下选项能够表示合法,常见的是哪一个,第一个这个肯定不行,这多逗号了,这个不对,不对的原因是多了什么呢?多了一个逗号,这不可以的,第二个时数这样行吗?同学们这样应该也不行,也是错的,为什么呀?因为我们这个E后边E后。E后面是什么呢?是整数正整数哈,你不能来个2.2.0的,不对,这个可不可以,这个肯定不行,他就直接一个直接来了一个转义符,这是不对的啊,错误,只有只有一个转义符,这是不对的。
10:18
那第四题肯定是对的了,那为什么这个是正确的呢?我问大家就是这个为什么是。这个是正确的字符串。这个字符上是正确的,它是以一个八进制的形式来给这个值的是。是以八进制。八进制。八进制的方式。方式复制。好,这是可以的,那答案当然了,就应该选择我们的D答案。16题16题这个题其实挺简单的,分析一下就明白了哈,那它这这个表达式它应该怎么来看呢?那就应该是先第一步,他先执行的是A。
11:01
A等于九。没没没问题吧,先把九付给这个A,然后呢,再执行这一块。这一块其实就是A减去。A等于A减A了。A减A,当然这个就等于零了。是不是也就是这个A就等于零了,然后再执行A加后面的这一堆,A加后面这一堆其实就相当于是A加等于AA等于A加A。但是你在上面这个这个A呢,已经变成零了,所以说A还是等于零,答案选D。选择地答。没问题,那也就是说这个16题呢,我们应该选D17题,同学们17题呢,他说如果一个变量已经正确了,变量定义已经正确,那他问。呃,以下不可以替代W的是哪一个?其实大家看这句话的含义是什么,能分析出来吗?你首先要分析出来它的含义是什么,其实这句话的含义就是大家一读就知道,含义是只要是非零啊,非零只要就是我接收已接收。
12:11
一个数,一个数值。数值非零,非零为真。非您,非您为真。对不对?零为甲,零为甲。没问题吧,同学们,那既然如此,大家可以看哪个是OK的B肯定是可以的,我get差,只要你不输入,你只要输的不是零这个字符,对吧?啊,只要是他不是那一个零的,不是一个阿斯克玛等于零的,因为这个时候它按那个阿斯克玛来看的,只要阿斯克玛不是零,它就为真B加。B加C也可以的,因为只要整个这个返回的结果,只要不是零,它就是为真,A加加一样的,就这个用法不对,这个用法没有见过这种用法啊,不能这样用,不能这样用,不能使用。
13:01
好,那选答案呢,就应该选择我们的什么呀,选择我们的A答案。17题选A。18题,18题呢,其实也非常简单,我们看一下就可以了,但是18题很多同学都会做错。大家知道为什么吗?18题做错的原因就是因为他给的这个格式非常容易迷惑人。大家看一般人,一般的人会怎么看这个语句呢?一般是这样看的,If。这是一条语句。紧接着呢,一般的同学会认为这又是L,又是一条语句,一般都会这么看的吧,对不对?然后呢,再来一个绿色的线号,他认为这又是一条语句,一般的人拿到这一个代码,一般都会这样去断句。很正常嘛,就是if怎么样,As if等于它,然后对面又一个一一句,然后S,但是这样断句是错的。这样断句是错的,它标准的断句应该是这样子的,这是。
14:00
一个部分。我给你们重新断一下句。这是。这个else if里面这个else if里面if else是一个整体。看到没有,然后L呢把它包起来的,也就是说其实它是这样一个逻辑,什么逻辑呢。其实它是一个if else if里面else if里面呢,是一个if分支。你只要这样断句,答案才会是正确的。你看啊,如果按照老师这样来断句来看我们的语句的话呢,这道题就很很好做了,怎么做呢?你看A等于一,B等于零没问题吧,我把颜色换一下,A等于零,A1 B等于零,那么。对A取反。显然这个就等于零,0B加加不再执行,所以这句话不会执行,他说l if a等于零,A等于一,显然也不等于零,因因此这条语句,这条语句都不执行,直接输出B,那显然就等于零,但是如果你断句的时候,你断错了。
15:02
你断错了,你认为诶,If else if else,那else if进不去,直接进到else,你会认为B等于几呢?B等于三你就上了当了,所以说这个答案,其实正确的答案应该是什么呢?应该是A答案,而不是D答案,很多同学都不小心都会选D答案。这是一个,这是一个陷阱题,所以说我们应该选A答案。我说一下分析这里。这里最重要的,最重要的是要正确的,正确的断句。断句,断我们的语句,就判断我们这个语句OK,那也就是说其实这里面应该是理解成一个衣服L衣服0L衣服里面包了一个衣服,也说你应该这样去看才是正确的。你要断成这样一个德行,好,我们写严,严谨一点哈。应该是这样子,一条语句才是正确的,但是因为他在给给我们代码的时候呢,其实写的是比较嗯,比较糟糕的啊,他故意迷惑你,那这样子就没问题了。
16:10
看到没有,你要这样看诶,If,然后这边是一个s if else if里面包了一个if else。你这样才能得到一个正确的答案,否则答案是错的。第19题。19题这个语句呢?呃,也容易看蒙圈,他说若有定义语句in a wx,则下列选项中没有错误的是什么?那首先同学们看哈,你一定先把这个题看懂,哪一块是哪一块。A是从这。大家看我给我我我给大家标一下哈。应该是从这儿到。这,这是A。这边是BC呢,是从这儿。对。明白了吧,好,我们现在我们现在来看一下它哪些是对的,哪些是错的,并说明原因。
17:03
首先看A对不对呢?X模2X是一个double,显然这个地方会报错。因为我们说了不能对一个整double进行一个模,所以说A答案肯定是错误的。B,答案呢?它好像看起来有一个强制转换,但是这个强制转换int只会对X生效。也就是说他先把这个X转成了一个什么呀,他先把一个转成一个int,然后呢,这边来一个2.0,那同学们想。这个也不行啊,这个除,呃,这个除是可以的,但是这个除完了过后,它仍然是一个小数,而我们讲过小数我们不能不能够作为这一个常量放在这这个地方,我们讲过只有整形的,还有枚句型可以放在这个Switch里面,是不是,所以说这个也是错的,因为这个结果是一个小数。
18:02
C答案可不可以呢?X,它先把X转成一个int,再取模整个,这个结果肯定也是一个整数,然后零,1DEFAULT,好,这个C答案是正确的。D答案正不正确呢?D答案我们看一下都不用看,你看这里。1.0 0.0显然是错的,所以说这个答案呢,其实应该是选C没有错的,只有C是没有错的,我跟大家分析一下哪里错了哈。说就说,我们不但要知道选择答案答题是哪个选项,还要知道为什么这里的错误是A错误的原因是分析出来A错误。错误的原因是这里。什么呢,X模?X4W。第二一个这个地方,他的错误在什么地方呢?他整个这个结果哈。
19:00
整个这个结果你想想这个是2.0也不能对,2.0呢,这个整个这个冲完了过后仍然是一个是一个小数,就是它的一个结果是小数,在Switch里边呢,不能使用,不能使用小数,对不对,所以说第二题也是错的,C答案是正确的,就不说了,第答案里面呢,这个结果其实也是一个是一个正数,但是它case里面出现了小数。有什么呢,有小数。所以也是错误的,那答案显然就应该选择我们的哪个答案呢?C答案正确的第20题,我们来看一下第20,这个第20题呢,其实也非常简单,只要把这个流程搞懂就可以了,我给大家分析一下,直接看示意图,我们用画图的方式来讲解哈,啊,首先看A等于一,B等于二,然后呢,Y循环里面做一系列的操作,问A和B是什么,那这个太简单了,我们走一下A等于一。
20:05
B等于二。好,第一次Y要循环里面第一次来了啊,这是我们Y循环第一次,那这个时候呢,A小于六成立的,B加等于A,那B现在等于多少了呢?B其实就是A加B嘛,那就三。删完了过后,A加2A加2A也变成三了,因为A原先是一变成三了,再去模,问大家B模十等于多少?D本身是三三模式,还等于三,第一次结束了,再来看Y要循环的第二次,Y要循环第二次呢,因为A等于三小于六没问题,所以说紧接着再执行我们的AB加AB加A等于六。不是三加三嘛,对吧,A呢,A等于。一个再加一个二,那就等于五磨一下B现在磨了一下。六模时还等于六,紧接着再次下一次外循环。
21:03
那下次Y2循环A呢,等于五,仍然小于六成立,BA和B相加,付给它就是11,看清楚没有AB嘛,六加五嘛,然后呢,A呢,A就是自身再加一个二变七去磨B再磨一下。就是11磨上一个十显然等于一,最后结果A等于七,而B等于一,答案一和七答案应该是哪一个呢?是B答案好,我把这个示意图给大家放这来。分析的示意图在这里了,看懂了吗?最后答案是A和一完成。从分析我写下,从分析可以看到。可以看到。看到什么呢?A最终等于一个七,而B等于一个一,答案就应该是七和一,选择B就可以了。
22:02
选择BOK,那同学们,我在这里呢,给大家放一个B答案。同学们,那前面十个题呢,就给大家先讲解到这里,大家消化一下,一会儿呢,我们紧接着讲21题。
我来说两句