国家二级C语言机试(选择题)模拟试卷303
选择题
1.下列关于栈的叙述中正确的是( )。(B)
A. 栈按“先进先出”组织数据
B. 栈按“先进后出”组织数据
C. 只能在栈底插入数据
D. 不能删除数据
解析:栈是只允许在栈顶进行插入和删除运算的线性表,按“先进后出”组织数据。
2.下列叙述中正确的是(D)
A. 栈是“先进先出”的线性表
B. 队列是“先进后出”的线性表
C. 循环队列是非线性结构
D. 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
解析:本题主要考查了栈、队列、循环队列的概念,栈是先进后出的线性表,队列是先进先出的线性表。根据数据结构中各数据元素之间的前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。有序线性表既可以采用顺序存储结构,又可以采用链式存储结构。
3.在线性表的链式存储结构中,其存储空间一般是不连续的,并且( )。(C)
A. 前件节点的存储序号小于后件节点的存储序号
B. 前件节点的存储序号大于后件节点的存储序号
C. 前件节点的存储序号可以小于也可以大于后件节点的存储序号
D. 以上三种说法均不正确
解析:在线性表的链式存储结构中,各数据节点的存储序号是不连续的,并且各节点在存储空间中的位置关系与逻辑关系也不一致,因此前件节点的存储序号与后件节点的存储序号之间不存在大小关系。
4.某带链的队列初始状态为front=rear=NULL。经过一系列正常的人队与退队操作后。front=rear=10。该队列中的元素个数为( )。(B)
A. 0
B. 1
C. 1或0
D. 不确定
解析:带链队列空时,头指针和尾指针都为NULL;队列中只有一个元素时,头指针和尾指针都指向这个元素。
5.对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是(D)
A. 冒泡排序为n/2
B. 冒泡排序为n
C. 快速排序为n
D. 快速排序为n(n-1)/2
解析:假设线性表的长度为n,则在最坏情况下,冒泡排序需要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要的比较次数为n(n-1)/2。快速排序法也是一种互换类的排序方法,但由于它比冒泡排序法的速度快,因此,称为快速排序法。
6.设一棵树的度为3,其中没有度为2的结点,且叶子结点数为6。该树中度为3的结点数为(D)
A. 1
B. 2
C. 3
D. 不可能有这样的树
解析:树的度是指一棵树中,最大的结点的度称为树的度。本题中树的度为3,也就是最少有一个度为3的结点。要求没有度为2的结点,且叶子结点为6,如果要有度为3的结点,那么最多只有5个叶子结点,而画不出6个叶子结点。因此这样的树是没有的。
7.定义无符号整数类为UInt,下面可以作为类UInt实例化值的是
B
解析:UInt表示的是无符号整数类,所以它的每个实例都是一个无符号整数,所以排除选项A)和选项C),选项D)是整数集合,所以也排除。
8.如果进栈序列为A,B,C,D,则可能的出栈序列是( )。(B)
A. C,A,D,B
B. B,D,C,A
C. C,D,A,B
D. 任意顺序
解析:栈的操作原则为后进先出。选项B)中出栈顺序可按“A进,B进,B出,C进,D进,D出,C出,A出”实现。
9.软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是(C)
A. 测试
B. 设计
C. 可行性研究
D. 实现
解析:软什生命周期是指软件产品从提出、实现、使用、维护到停止使用退役的过程。其中,定义阶段包括可行性研究与计划制定和需求分析。测试、慨要设计、详细设计和实现属于开发阶段。
10.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下面图符名标识的图符不属于数据流图合法图符的是(A)
A. 控制流
B. 加工
C. 数据存储
D. 源和潭
解析:数据流图中的主要图形元素有加工(转换)、数据流、存储文件(数据源)、源和流等。
11.下列叙述中正确的是(C)
A. 在switch语句中必须使用default
B. break语句必须与switch语句中的case配对使用
C. 在switch语句中,不一定使用break语句
D. break语句只能用于switch语句
解析:break为C语言关键字,又称间断语句。break语句的功能是跳出正在执行的条件语句或循环语句。它可以出现在switch语句中,也可以出现在循环语句中。default是关键字,起标号的作用,代表所有case标号之外的那些标号。default标号可以出现在语句体中任何标号位置上。在switch语句体中也可以没有default标号。
12.有以下程序:
#include
main()
{
int x=1,y=0;
if(!x)y++;
else if(X==0)
if(x)y+=2;
else y+=3;
prinff(“%d\n”,y);
}
程序运行后的输出结果是( )。(A)
A. 0
B. 2
C. 1
D. 3
解析:在该题中,选择结构的表达式都不成立,所以整个选择语句都没有执行,y值没有发生改变,答案选A。
13.有以下程序:
#include
#include\\(A)
A. xy,aaaacc
B. aaaacc,xy
C. bcc,aabcc
D. aabcc,bcc
解析:从main函数入手,定义了一个一维数组并赋初值,接着调用函数fun(),函数的功能是:比较数组中各元素的长度,按元素长度从小到大的顺序排列元素,所以执行“fun(ss,5)”函数后,“*ss[1]={\\
14.下列各项中不属于软件设计阶段任务的是( )。(A)
A. 制订软件确认测试计划
B. 数据库设计
C. 软件总体设计
D. 算法设计
解析:软件设计阶段的主要任务包括两个:一是进行软件系统的可行性分析,确定软件系统的建设是否值得,能否建成;二是进行软件的系统分析,了解用户的需求,定义应用功能,详细估算开发成本和开发周期。
15.在数据库系统中,用户所见的数据模式为(B)
A. 概念模式
B. 外模式
C. 内模式
D. 物理模式
解析:用户所见到的数据模式是外模式也称用户模式。它是用户的数据视图,它由概念模式导出。一个概念模式可以有若干个外模式,每个用户只关心与它有关的外模式,这样不仅可以屏蔽大量无关信息,而且有利于数据维护。
16.在数据库系统中,用户所见的数据模式为(B)
A. 概念模式
B. 外模式
C. 内模式
D. 物理模式
解析:用户所见到的数据模
本文档预览:3600字符,共11479字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载