国家二级C语言机试(选择题)模拟试卷381
选择题
1.下列叙述中正确的是( )。(B)
A. 矩阵是非线性结构
B. 数组是长度固定的线性表
C. 对线性表只能作插入与删除运算
D. 线性表中各元素的数据类型可以不同
解析:矩阵也是线性表,只不过是比较复杂的线性表。线性表中各元素的数据类型必须相同。在线性表中,不仅可以做插入与删除运算,还可以进行查找或对线性表进行排序等操作。
2.以下叙述中正确的是(C)
A. 每个后缀为.c的C语言源程序都应该包含一个main函数
B. 在C语言程序中,main函数必须放在其他函数的最前面
C. 每个后缀为.c的C语言源程序都可以单独进行编译
D. 在C语言程序中,只有main函数才可单独进行编译
解析:每一个C语言的文件或函数都可以单独编译,但只有main函数的才可以执行。
3.对于循环队列,下列叙述中正确的是( )。(D)
A. 队头指针是固定不变的
B. 队头指针一定大于队尾指针
C. 队头指针一定小于队尾指针
D. 队头指针可以大于队尾指针,也可以小于队尾指针
解析:循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。因为是循环利用的队列结构所以对头指针有时可能大于队尾指针有时也可能小于队尾指针。
4.在数据库设计中,设计E-R图是( )的任务。(B)
A. 逻辑设计阶段
B. 概念设计阶段
C. 物理设计阶段
D. 需求分析阶段
解析:数据库概念设计的过程中的第二步为设计视图,包括自顶向下、自底向上以及由内向外三种设计顺序。
5.一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是(B)
A. 12345ABCDE
B. EDCBA54321
C. ABCDE12345
D. 54321EDCBA
解析:栈是按照“先进后出”或“后进先出”的原则组织数据的。所以出栈顺序是EDCBA54321。
6.在C语言中do-while语句中结束该循环的条件为( )。(A)
A. 0
B. 1
C. 非0
D. true
解析:在C语言中,使while或do-while循环结束的条件都是while后面的表达式的值为0,只是无论表达式的值为0还是非0,do-while语句的循环体至少要执行一次。C语言中的do-while循环仍是“当型”循环而不是“直到型”循环。
7.设顺序表的长度为n。下列算法中,最坏情况下比较次数等于n(n-1)/2的是(A)
A. 快速排序
B. 堆排序
C. 顺序查找
D. 寻找最大项
解析:假设线性表的长度为n,则在最坏情况下,快速排序法的最坏情况比较次数也是n(n-1)/2;堆排序,无论是否最坏都是比较O(nlog2n)次,所以选项A正确。
8.下列选项中与if(a==1)a=b;else a++;语句功能不同的switch语句是( )。
A
解析:if语句的含义是:如果a的值为1,将b的值赋给a,否则将a的值自增1。是switch(a==1)中表达式a==1的结果如果为真,即为1,则从easel开始执行,直到遇到break语句跳出switch语句,如果a==1的结果为假,即0,则从case0开始执行,所以与题干含义执行操作相反的是选项A中的语句。
9.数据流图(DFD)中的有向箭头(→)表示(A)
A. 数据流
B. 控制流
C. 输入流
D. 输出流
解析:数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。数据流程图中有以下几种主要元素:
一:数据流。数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成;口:数据源或宿(“宿”表示数据的终点)。代表系统之外的实体;○:对数据的加工(处理)。加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理,并产生输出;〓:数据存储。表示信息的静态存储。
10.设循环队列的存储空间为Q(1:m),初始状态为front=rear=m。经过一系列正常的操作后,front=1,rear=m。为了在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为(C)
A. m
B. m-1
C. m-2
D. 1
解析:经过一系列正常的操作后,front=1,rear=m,那么最坏情况下需要的比较次数为rear- front-1=m-1-1=m-2。
11.有以下程序:
#include<stdio.h>
main()
{int y=10;
while(Y一);
printf(’’y=%d\n’’,y);
}
程序执行后的输出结果是( )。(B)
A. y=0
B. y=-1
C. y=1
D. while构成无限循环
解析:执行y-直到值为0,由于y-是先用再减,所以退出循环时,y的值为-1。
12.软件测试的目的是(D)
A. 评估软件可靠性
B. 发现并改正程序中的错误
C. 改正程序中的错误
D. 发现程序中的错误
解析:软件测试的目的是为了发现程序中的错误,而软件调试是为了更正程序中的错误。
13.数据库管理系统中负责数据模式定义的语言是(A)
A. 数据定义语言
B. 数据管理语言
C. 数据操纵语言
D. 数据控制语言
解析:数据库管理系统一般提供相应的数据语言,它们分别是:数据定义语言,负责数据的模式定义与数据的物理存取构建:数据操纵语言,负责数据的操纵,包括查询及增、删、改等操作:数据控制语言,负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。
14.在满足实体完整性约束的条件下(A)
A. 一个关系中应该有一个或多个候选关键字
B. 一个关系中只能有一个候选关键字
C. 一个关系中必须有多个候选关键字
D. 一个关系中可以没有候选关键字
解析:在关系数据库中,实体完整性的概念是主属性不能为空。在满足实体完整性的前提下,必须在关系中存在主属性,也就是在关系中应该有候选关键字。一个关系中可以有一个或者多个候选关键字。
15.有三个关系R、S和T如下:
(C)
A. 自然连接
B. 交
C. 除
D. 并
解析:从关系R、S和T的结构可以得出关系T是由关系R、S经过除运算后得到的。
16.若有以下程序
yoidflintx)
{
if(x>=10)
{
printf(’’%d-’’,x%10);
<本文档预览:3600字符,共11215字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载