第 1 页:选择题 |
第 5 页:基本操作题 |
第 6 页:程序改错题 |
第 7 页:程序设计题 |
第 8 页:参考答案 |
参考答案及解析
一、选择题
1.C。【解析】线性结构是指数据元素只有一个直接前驱和直接后驱,线性表是线性结构,循环队列、带链队列和栈是指对插入和删除有特殊要求的线性表,是线性结构。而二叉树是非线性结构。
2.C。【解析】对象的封装性是指从外部看只能看到对象的外部特征,即只需知道数据的取值范围和可以对该数据施加的操作,而不需要知道数据的具体结构以及实现操作的算法。
3.D。【解析】循环队列是把队列的头和尾在逻辑上连接起来,构成一个环。循环队列中首尾相连,分不清头和尾,此时需要两个指示器分别指向头部和尾部。插入就在尾部指示器的指示位置处插入,删除就在头部指示器的指示位置处删除。
4.A。【解析】一般来讲,程序设计风格首先应该简单和清晰,其次程序必须是可以理解的,可以概括为“清晰第一,效率第二”。
5.B。【解析】耦合性和内聚性是模块独立性的两个定性标准,是互相关联的。在软件设计中,各模块间的内聚性越强,则耦合性越弱。一般优秀的软件设计,应尽量做到高内聚,低耦合,有利于提高模块的独立性。
6.A。【解析】数据的存储结构、程序处理的数据量、程序的算法等都会影响程序执行效率。
7.C。【解析】N-S图(也被称为盒图或CHAPIN图)、PAD(问题分析图)及PFD(程序流程图)是详细设计阶段的常用工具。E—R图即实体一联系图,是数据库设计的常用工具。从题中图可以看出该图属于程序流程图。
8.B。【解析】数据库系统属于系统软件的范畴。
9.C。【解析】E-R图即实体一联系图(Entity Relationship Diagram),提供了表示实体型、属性和联系的方法,是用来描述现实世界的概念模型。构成E-R图的基本要素是实体型、属性和联系,其表示方法为:实体型(Entity):用矩形表示,矩形框内写明实体名;属性(Attribute):用椭圆形表示,并用无向边将其与相应的实体连接起来;联系(Relationship):用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。
10.D。【解析】关系的并运算是指由结构相同的两个关系合并,形成一个新的关系,其中包含两个关系中的所有元素。由题可以看出,T是R和S的并运算得到的。
11.D。【解析】程序设计是指设计、编制、调试程序的方法和过程。内容涉及有关的基本概念、工具、方法以及方法学等。程序设计通常分为问题建摸、算法设计、编写代码和编译调试4个阶段。
12.C。【解析】标识符由字母、数字和下划线组成。开头必须是字母或下划线且区分大小写。在C语言中,预先定义了一些标识符,以作专门用途,称为关键字,标识符不能与关键字相同。选项A和D是关键字,选项B是数字开头的,所以都不正确。
13.A。【解析】本题中定义了整形变量case,但case是关键字,关键字不能用做标识符。单精度printF不是关键字,因为标识符区分大小写。所以A不正确。
14.B。【解析】本题考查了强制类型转换。9/2为double型,所以结果为4.5,又强制转换为整型,所以结果为4。9%2为取余运算,结果为1。最终结果4-1=3。
15.B。【解析】表达式x-=x+X可以写成x=x-(x+x),所以X的值为-l0。
16.D。【解析】本题输出两个值,第一个printf语句输出b的值’b=a+b=1。第二个printf语句输出了a的值,a=2*b,此时b的值为1,所以a的值为2。
17.C。【解析】本题判断结果。选项A中,如果(a>b),则执行“c=a,a=b,b=c”这个语句(注意分号的位置,如果条件成立,将会执行第一个分号前的语句),显然if不成立,则a,b,C原样输出。选项B和选项D是同理,而选项C因为条件不成立,则不执行第一条语句“c=a”,接着执行“a=b”,将b的值赋给a,a的值为2;“b=C”,b的值为3,C的值原样输出,结果为2,3,3。
18.A。【解析】本题考查了switch开关语句,当表达式与某一个ease后面的常量表达式相等时,就执行case后面的语句,若没有匹配,则执行default后面的语句,各个case和default的出现次序不影响结果,执行完一个case语句,流程就转移到下一个case并继续执行。因此在case的分支后,加break语句来跳出switch语句。当k=1时,switch语句中没有相对应的case,所以执行default语句,此时C为1,没有遇到break语句,则执行case2,c++,此时c的值在下次使用前加1等于2,break跳出。继续for循环,当k=2时,执行Case2,C再次自加值为3,遇到break跳出。当k=3时,不符合循环,则输出c的结果,答案为3。
19.A。【解析】本题考查了双重三目运算符的用法。例如:表达式a>b?c:d可以看成,当a>b时取C的值,否则取d的值。在本题中k=a>b?(b>c?1:0):0可以看做:当b>c时为真,则k=a>b?1:0。当bb?0:0。也就是说,当a>b并且b>C时,k=1,否则k=0。所以A选项符合题意。
20.B。【解析】本题考查for循环。当i=0时,开始for循环,因为数组的下标是从0开始的,所以s[o]=0,不符合for循环,不执行下边的语句,当i=1时,继续执行if语句,if语句的功能是如果在小写字母a~ z,则记数n加1。所以本题结果为2。
编辑推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |