全国计算机等级考试C语言2级笔试题
2007年4月全国等级考试题目
第25次(已经修改)
一、选择题
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
(1-11题,软件技术基础单向选择题目)
1. 下列叙述中正确的是( )
A) 算法的效率只与问题的规模有关,而与数据的存储结构无关
B) 算法的时间复杂度是指执行算法所需要的计算工作量
C) 数据的逻辑结构与存储结构是一一对应的
D) 算法的时间复杂度与空间复杂度一定相关
B
[解析] 根据时间复杂度和空间复杂度的定义可知,算法的时间复杂度与空间复杂度并不相关。数据的逻辑结构就是数据元素之间的逻辑关系,它是从逻辑上描述数据元素之间关系的,是独立于计算机中的,数据的存储结构是研究数据元素和数据元素之间的关系如何在计算机中表示,它们并非一一对应。算法的执行效率不仅与问题的规模有关,还与数据的存储结构有关。
2. 在结构化程序设计中,模块划分的原则是( )
A) 各模块应包括尽量多的功能
B) 各模块的规模应尽量大
C) 各模块之间的联系应尽量紧密
D) 模块内具有高内聚度、模块间具有低耦合度
D
[解析] 在结构化程序设计中,一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利于提高软件模块的独立性,这也是模块划分的原则。
3. 下列叙述中正确的是( )
A) 软件测试的主要目的是发现程序中的错误
B) 软件测试的主要目的是确定程序中错误的位置
C) 为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作
D) 软件测试是证明软件没有错误
A
[解析] 软件测试是为了发现错误而执行程序的过程,且为了达到好的测试效果,应该由独立的第三方来构造测试,程序员应尽量避免检查自己的程序。
4. 下面选项中不属于面向对象程序设计特征的是( )
A) 继承性 B) 多态性 C) 类比性 D) 封装性
C
[解析] 面向对象程序设计的3个主要特征是:封装性、继承性和多态性。
5. 下列对队列的叙述正确的是( )
A) 队列属于非线性表 B) 队列按“先进后出”原则组织数据
C) 队列在队尾删除数据 D) 队列按“先进先出”原则组织数据
D
[解析] 队列是一种操作受限的线性表。它只允许在线性表的一端进行插入操作,另一端进行删除操作。其中,允许插入的一端称为队尾(rear),允许删除的一端称为队首(front)。队列具有先进先出的特点,它是按“先进先出”的原则组织数据的,故本题答案为D)。
6. 对下列二叉树 进行前序遍历的结果为( )
A) DYBEAFCZX B) YDEBFZXCA C) ABDYECFXZ D) ABCDEFXYZ
C
[解析] 二叉树前序遍历的含义是:首先访问根结点,然后按前序遍历根结点的左子树,最后按前序遍历根结点的右子树,前序遍历二叉树的过程是一个递归的过程。根据题目中给出的二叉树的结构可知前序遍历的结果是:ABDYECFXZ。
7. 某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为( )
A) n+l B) n-1 C
A
[解析] 对于任何一棵二叉树T,如果其终端结点(叶子)数为n1,度为2的结点数为n2,则n1= n2+1。所以该二叉树的叶子结点数等于n+1。
8. 在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是( )
A) 并 B) 交 C) 投影 D) 笛卡儿乘积
B
[解析] 在关系运算中,“交”的定义如下:设 R1和R2为参加运用算的两个关系,它们具有相同的度n,且相对应的属性值取自同—个域,则R1∩R2为交运算,结果仍为度等于n的关系,其中的元组既属于R1又属于R2。
根据定义可知,不改变关系表的属性个数但能减少元组个数的是交运算,故本题答案为B)。
9. 在E-R图中,用来表示实体之间联系的图形是( )
A) 矩形 B) 椭圆形 C) 菱形 D) 平行四边形
C
[解析] E-R模型可用E-R图来表示,它具有3个要素:①实体(型)用矩形框表示,框内为实体名称。②属性用椭圆型来表示,并用线与实体连接。属性较多时也可以将实体及其属性单独列表。③实体间的联系用菱形框表示。用线将菱形框与实体相连,并在线上标注联系的类型。
10. 下列叙述中错误的是( )
A) 在数据库系统中,数据的物理结构必须与逻辑结构一致
B) 数据库技术的根本目标是要解决数据的共享问题
C) 数据库设计是指在已有数据库管理系统的基础上建立数据库
D) 数据库