国家二级C语言机试(选择题)模拟试卷315
选择题
1.下列选项中,不属于数据库管理的是( )。(D)
A. 数据库的建立
B. 数据库的调整
C. 数据库的监控
D. 数据库的校对
解析:数据库管理一般包括:数据库的建立、数据库的调整、数据库的重组、数据库的安全性控制与完整性控制、数据库的故障恢复和数据库的监控。
2.有以下程序:
#include<stdio.h>
main()
{ int i=0,a=0;
while(i<20)
{for(;;)
{ if((i%5)==0)break;
else i–;
}
i+=13,a+=i;
}
printf(’’%d\n’’,a);}
程序的输出结果是( )。(D)
A. 62
B. 63
C. 23
D. 36
解析:本题考查while循环。当i<20时,进入while循环体,循环体内的for循环实现的功能是,当i值是0或5的倍数时,执行“i+=13;a+-i;”这两条语句;若i值不是5的倍数则一直执行for循环。①当i=0时,执行“i+=13;a+=i;i=13,a=13”;②判断“i=13<20”,进入while循环体,i=10时,跳出for循环,执行“i+=13;a+i;i=23,a=36”;③判断“i=23>20”,循环结束。
3.某完全二叉树共有256个节点,则该完全二叉树的深度为( )。(C)
A. 7
B. 8
C. 9
D. 10
解析:根据完全二叉树的性质:具有n个节点的完全二叉树的深度为[log2n]+1。本题中完全二叉树共有256个节点,则深度为[log2256]+l=8+1=9。
4.下列叙述中正确的是(D)
A. 栈是“先进先出”的线性表
B. 队列是“先进后出”的线性表
C. 循环队列是非线性结构
D. 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
解析:栈是“先进后出”,队列“是先进先出”。栈和队列都是一种线性表,属于线性结构。有序线性表既可以采用顺序存储结构,也可以采用链式存储结构。采用链式存储结构的线性表称之为线性链表。
5.下列叙述中正确的是(D)
A. 栈是“先进先出”的线性表
B. 队列是“先进后出”的线性表
C. 循环队列是非线性结构
D. 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
解析:栈是“先进后出”,队列“是先进先出”。栈和队列都是一种线性表,属于线性结构。有序线性表既可以采用顺序存储结构,也可以采用链式存储结构。采用链式存储结构的线性表称之为线性链表。
6.下列各项中,不属于软件设计阶段任务的是( )。(C)
A. 软件总体设计
B. 算法设计
C. 制订软件并确认测试计划
D. 数据库设计
解析:从技术观点上看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。所以A、B、D正确,C为软件测试阶段的任务。
7.有两个关系R和T如下:
(C)
A. 选择
B. 交
C. 投影
D. 并
解析:关系T是由关系R的第3、4行的元组组成的,很显然这是对关系R进行选择运算的结果。可以简单理解为:选择运算是对行的操作,投影运算是对列的操作。选择是从表中选出满足给定条件的元组组成新表。故C选项正确。
8.对软件系统总体结构图,下面描述中错误的是( )。(B)
A. 深度等于控制的层数
B. 扇入是一个模块直接调用的其他模块数
C. 扇出是一个模块直接调用的其他模块数
D. 原子模块一定是结构图中位于叶子节点的模块
解析:与结构图有关的术语如下:
9.度为3的一棵树共有30个结点,其中度为3、1的结点个数分别为3、4。则该树中的叶子结点数为(B)
A. 14
B. 15
C. 16
D. 不可能有这样的树
解析:根据题目可知本树中还有度为2的结点。树的总结点=(度1*个数+度2*个数…)+1,这里我们设度为2的结点数为x,那么30=3*3+2*x+1*4+1=2*x+14,由此可计算出x=8。树的叶子结点数等于总结点减去所有度不为0的结点,也就是30-3-8-4=15。
10.设一棵树的度为4,其中度为4,3,2,1的结点个数分别为2,3,3,0。则该棵树中的叶子结点数为(A)
A. 16
B. 15
C. 17
D. 不可能有这样的树
解析:因为任一棵树中,结点总数=总分支数目+1,所以:n0+2+3+3+0=(n0*0 + 4*2 + 3*3 + 2*3+1*0)+1。计算得出n0=16。其中,n0表示叶子结点,所以选项A正确。
11.某二叉树中度为2的结点有10个,则该二叉树中有( )个叶子结点。(C)
A. 9
B. 10
C. 11
D. 12
解析:根据二叉树的性质3:对任何一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点多一个。
12.下列关于软件工程的描述中正确的是(C)
A. 软件工程只是解决软件项目的管理问题
B. 软件工程主要解决软件产品的生产率问题
C. 软件工程的主要思想是强调在软件开发过程中需要应用工程化原则
D. 软件工程只是解决软件开发中的技术问题
解析:软件工程是建立并使用充善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。软件工程主要思想是强调在软件开发过程中需要应用工程化原则。
13.在结构化程序设计中,模块划分的原则是(D)
A. 各模块应包括尽量多的功能
B. 各模块的规模应尽量大
C. 各模块之间的联系应尽量紧密
D. 模块内具有高内聚度、模块间具有低耦合度
解析:内聚性是对一个模块内部各个元素间彼此结合的紧密程度的度量。耦合性是对模块间互相连接的紧密程度的度量。在结构化程序设计中,模块划分应遵循高内聚、低耦合的原则,即减弱模块之间的耦合性和提高模块内聚性,有利于提高软件模块的独立性。
14.有以下程序
#include<stdio.h>
main( ){
intb=10,a=-11;
a%=b%=4;
printf(’’%d%d\\
’’,a,b);)
则程序的输出结果是(C)
A. 12
B. -1-2
C. -12
D. 1.2
解析:对
本文档预览:3600字符,共11063字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载