第四套模拟试题参考答案及解析

上传人:飞*** 文档编号:3978443 上传时间:2017-08-14 格式:DOC 页数:10 大小:96.50KB
返回 下载 相关 举报
第四套模拟试题参考答案及解析_第1页
第1页 / 共10页
第四套模拟试题参考答案及解析_第2页
第2页 / 共10页
第四套模拟试题参考答案及解析_第3页
第3页 / 共10页
第四套模拟试题参考答案及解析_第4页
第4页 / 共10页
第四套模拟试题参考答案及解析_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《第四套模拟试题参考答案及解析》由会员分享,可在线阅读,更多相关《第四套模拟试题参考答案及解析(10页珍藏版)》请在金锄头文库上搜索。

1、第四套模拟试题参考答案及解析1. 本题考查的是数据结构的基本概念。数据的逻辑结构在计算机存储空间中的存放形式形式称为数据的存储结构(也称数据的物理结构)。故本题答案为 D。2. 本题考查的是栈和队列。栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚被插入的元素。所以栈又称先进后出表(FILO-First In Last Out)。线性表可以顺序存储,也可以链式存储,而栈是一种线性表,也可以采用链式存储结构。故本题答案为 B。3. 本题考查的是基本排序算法。假设线性表

2、的长度为 n,则在最坏情况下,冒泡排序需要经过 n/2 遍的从前往后扫描和n/2 遍的从后往前扫描,需要比较次数为 n(n-1)/2。快速排序法的最坏情况比较次数也是n(n-1)/2。故本题答案为 D。4. 本题考查的是顺序查找。在进行顺序查找过程中,如果线性表中的第一个元素就是被查找元素,则只需做一次比较就查找成功,查找效率最高;但如果被查找的元素是线性表中的最后一个元素,或者被查找的元素根本就不在线性表中,则为了查找这个元素需要与线性表中所有的元素进行比较,这是顺序查找的最坏情况。所以对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较 n 次。故本题答案为 C。5. 本题考查的是线性

3、单链表、双向链表与循环链表的结构及其基本运算。在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。故本题答案为 A。6. 本题考查的是软件测试的目的。关于软件测试的目的,Grenford J.Myers 再The Art of Software Testing一书中给出了深刻的阐述:软件测试是为了发现错误而执行程序的过程;一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例;一个成功的测试是发现了至今尚未发现的错误的测试。整体来说,软件测试的目的就是尽可能多地发现程序中的错误。故本题答案为

4、 C。7. 本题考查的是软件工程基本概念。模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。故本题答案为 B。8. 本题考查的是软件工程基本概念。计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。软件具有以下特点:软件是一种逻辑实体,而不是物理实体,具有抽象性;软件的生产过程与硬件不同,它没有

5、明显的制作过程;软件在运行、使用期间不存在磨损、老化问题;软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致软件移植的问题;软件复杂性高,成本昂贵;软件开发涉及诸多的社会因素。故本题答案为 D。9. 本题考查的是数据库系统的基本特点。数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。选项 A、B、C 三种说法都是错误的。故本题答案为 D。10. 本题考查的是数据模型。层次模型是最早发展起来的数据库模型,它的基本结构是树形结构。故本题答案为 C。11. 本题考查的是常量表示法。

6、C 语言的常量分为整型常量、实型常量和字符型常量。本题中只包含整型常量和实型常量。选项 B 从形式上来看属于整型常量中的八进制整数,以 0 开头,但只能用 0-7表示八进制数,所以选项 B 不合法;选项 C 和 D 从形式上看属于实型常量,用指数形式表示的实型常量需要注意一点:e(或 E)之前必需有数字,且 e 后面的指数必须为整数,所以选项 C 和 D 中 e 后面为小数和没有数字的形式都不合法;选项 A 属于实型常量中的十进制小数形式的表示法,是合法的。故本题答案为 A。12. 本题考查的是算法的特性。算法的特性中包括有零个或多个输入及有一个或多个输出这两个特性。输入是指执行算法时从外界取

7、得必要的信息。一个算法可以有两个或多个输入,但也可以没有输入;一个算法得到的结果就是算法的输出,没有输出的算法是没有意义的,所以一个算法必须至少有一个输出。故本题答案为 C。13. 本题考查的是算法的特性。C 语言规定标识符只能由字母、数字和下划线三种符号组成,而且第一个字符必须是字母或下划线。注意:大写字母和小写字母被认为是两个不同的字符。所以选项 A 中Main 与主函数名 main 不同。另外标识符名不能与关键字重名,所以选项 D 是非法的标识符。故本题答案为 D。14. 本题考查的是常量表示法。本题选项中的几个常量都属于指数形式的实型常量。此种类型的常量要求字母 e(或E)之前必需有数

8、字,且 e 后面的指数必须为整数,所以本题中选项 B 非法。故本题答案为 B。15. 本题考查的是格式输出函数。变量 a,b 定义为字符,执行语句printf(%c,b+); 后,输出字符变量 b 的值2(b+是在使用 b 之后,再将 b 的值加 1),b 自加,b 的值变成字符 3,执行printf(%dn,b-a);,即3-1,故输出的值为数字 2。故本题答案为 C。16. 本题考查的是变量的自加运算。 +在变量前和变量后的唯一区别就在于在执行+变量所在的语句时,是先将变量加1 再执行它所在语句还是先执行它所在的语句再使变量加 1,当+在变量后时,也就是变量+,那就是先将变量值代入表达式运

9、算后再使变量加 1;而+变量是先使变量加 1,再把加 1 后的结果放入表达式进行运算。这两种情况,在执行完变量所在的语句后,它们在内存中的值都是加过 1 之后的值了。本题执行printf(%d%d,m+,+n);后,输出的是 m 和 n+1 的值 1235,接着使m+1=13,执行printf(%d%dn,n+,+m);输出 n 和 m+1 的值 3514。故本题答案为 A。17. 本题考查的是格式输入函数。scanf 函数中的格式控制 后面应当是地址,而不是变量名。对于变量,通过地址运算符&求出内存中的地址;对于数组 c10,数组名 c 即为数组在内存中的地址。故本题答案为 B。18. 本题

10、考查的是格式输入函数。如果在格式控制字符串中除了格式说明以外还有其他字符,则在输入数据时应输入与这些字符相同的字符。根据本题的数据输入形式scanf(m=%dn=%dp=%d,&m,&n,&p);说明在输入数据时,必须输入m=、n=、p=字符,且中间不能含有空格。故本题答案为 A。19. 本题考查的是算术运算符。如果算术运算符/中参与运算的变量都是整型变量,则/ 表示整除运算,% 表示求余。本题中a=d/10%9; 的值为 25/10%9=2;b=a&(-1);为 2&(-1)=1(注意:-1 表示真,只有 0 才表示假),所以 a,b 的值分别为 2,1。故本题答案为 B。20. 本题考查的

11、是条件判断语句。+在变量前和变量后的唯一区别就在于在执行+变量所在的语句时,是先将变量加1 再执行它所在语句还是先执行它所在的语句再使变量加 1,当+在变量后时,也就是变量+,那就是先将变量值代入表达式运算后再使变量加 1;而+变量是先使变量加 1,再把加 1 后的结果放入表达式进行运算。这两种情况,在执行完变量所在的语句后,它们在内存中的值都是加过 1 之后的值了。另外注意&和 |的短路运算。当运算符&左边表达式的值为 0 时,则右边表达式就不再进行运算,整个表达式的值即为 0;当运算符|左边表达式的值为非零时,则右边表达式就不再进行运算,整个表达式的值为 1。本题中执行i+=1&(+j=3

12、|k+=3)时,先执行 i+=1,由于 i+是先运算,后自加,所以表达式i+=1 的值为真,其值为 1,然后执行括号中的表达式,由于+j是先自加,后运算,所以表达式+j=3 的值为真,根据短路原理,右边的表达式k+=3不再进行运算,直接得出括中表达的值为 1,相与后整个表达式的值也为 1,输出 i,j,k 时,由于未执行过 k,所以它们的值分别为 2,3,3。故本题的答案为 D。21. 本题考查的是条件表达式。条件表达式的一般形式为:表达式 1?表达式 2:表达式 3条件运算符的执行顺序为:先求解表达式 1,若非 0 则求解表达式 2,此时表达式 2 的值就是整个条件表达式的值,若表达式 1

13、的值为 0,则求解表达式 3,此时表达式 3 的值就是整个条件表达式的值。本题先求的是 a=8 不成立,判断 a%2=1 成立,a+=5 则 a=6,continue,执行下一次循环;a=6,b=2:a=8 不成立,判断 a%2=1 不成立,a-=3 则 a=3,执行下一次循环;a=3,b=3:a=8 不成立,判断 a%2=1 成立,a+=5 则 a=8,continue,执行下一次循环;a=8,b=4:a=8 成立,break ,结束整个循环,输出 b 的值 4。故本题答案为 B。41. 本题考查的是指针变量对数组的引用。本题通过p=s将指针变量 p 指向字符数组 s,在第一次输出时,由于+

14、 和*为同一优先级,而结合方向为自右向左,所以,*p+相于*(p+) 。但又因为+ 在 p 的右侧,是后加,所以,先对 p 的原值进行*运算,得到 s0的值,然后使得 p 加 1,p 指向 s1,故在第二次输出的时候,输出的值为 s1的值,所以输出结果为 15。故本题答案为 A。42. 本题考查的是字符串运算。字符串的比较规则是对两个字符串自左至右逐个字符相比(按 ASCII 码值大小比较),直到出现不同的字符或遇到0为止,若全部字符相同,则认为相等;若出现不相同的字符,则以第一个不相同的字符的比较结果为准,该函数就实现了此功能,如果两字符串相等,则返回 0,否则返回第一个不等字符串的 ASC

15、II 码的差值。故本题答案为 D。43. 本题考查的是循环的嵌套。本题程序为二重循环,外循环控制输出数据的行数,内循环控制输出数据的列数。从本题输出的形式来看,程序要求输出的是 4 行 4 列。外层循环for(i=0;i1)的运算顺序为先算括号算术运算符关系运算符逻辑运算符。其中 a%b=10,a/b=0,所以 a%b1 值也是 0,故整个表达式的结果为 0,所以输出的 a,b,c 的值为 10 20 0。60. 标准答案为:0918273645本题考查的是字符运算。本题程序的作用是通过 for 循环将 0-9 这 10 个数字从前向后,同时也从后向前依次输出,具体执行过程如下:c1=0,c2=9:c1k 相当于 m0.k,q-k 相当于 m4.k,具体程序执行过程如下:p=m,q=m+4,条件 p!=q 成立,执行 p-k=+i;,由于是前加,所以 m0.k=1,执行 p+后 p=m+1;执行 q-k=i+;,由于是后加,所以 m4.k=1,然后使得 i 加上 1,即i=2,q-后,q=m+3;p=m+1, q=m+3,条件 p!=q 成立,执行 p-k=+i; ,由于是前加

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 其它考试类文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号