国家二级C语言机试(选择题)模拟试卷260
选择题
1.对于循环队列,下列叙述中止确的是(D)
A. 队头指针是同定不变的
B. 队头指钭一定大于队尾指针
C. 队头指针一定小于队尾指针
D. 队头指针可以大于队尾指针,也可以小于队尾指针
解析:所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。在循环队列中,用队尾指针rear指向队列中的队尾元素,用队头指针front指向队头元素的前一个位置。循环队列的主要操作是:入队运算和退队运算。每进行一次入队运算,队尾指针就进一。每进行一次退队运算,队头指针就进一。当rear或front等于队列的长度加1时,就把rear或front值置为1。所以在循环队列中,队头指针可以大于队尾指针,也可以小于队尾指针。
2.下列程序的运行结果是( )。
#include
void fun(int*s,int*p)
{ static int t=3;
*P=s[t];
t–;}
void main()
{ int a[]={2,3,4,5},k,x;
for(k=0;k<4;k++)
{ fun(a,&x);
printf(\\(A)
A. 5,4,3,2,
B. 2,3,4,5,
C. 2,2,2,2,
D. 5,5,5,5,
解析:分析fun函数程序段,可知fun函数要实现的功能是将s中第(t+1)个元素以前的元素“逆置”赋给数组p。由于fun函数定义了静态变量t=3,因此,在主函数中调用函数fun(a,&x)时,就是要将数组a中前4个元素逆置赋给数组x,最后输出x数组。
3.线性表的长度为n。在最坏情况下,比较次数为n-1的算法是( )。(C)
A. 顺序查找
B. 同时寻找最大项与最小项
C. 寻找最大项
D. 有序表的插入
解析:顺序查找要逐个查看所有元素,会比较n次。在最坏情况下,寻找最大项无论如何需要查看表中的所有元素,n个元素比较次数为n-1。同时寻找最大项和最小项,需要为判断较大值和较小值分别进行比较,会有更多的比较次数。有序表的插入最坏情况下是插入到表中的最后一个元素的后面位置,则会比较n次。
4.下列序列中不满足堆条件的是( )。(D)
A. (98,95,93,94,89,90,76,80,55,49)
B. (98,95,93,94,89,85,76,64,55,49)
C. (98,95,93,94,89,90,76,64,55,49)
D. (98,95,93,96,89,85,76,64,55,49)
解析:根据堆的定义,n个元素的序列(h1,h2,…hn),当且仅当hi≤h2i;且hi≤h2i+1时为小顶堆,当且仅当hi≥h2i且hi≥h2i+1时为大顶堆。D项中,h2=95,h4=96,h2<h4,但h5=89,h2>h5,不满足小顶堆和大顶堆条件。
5.一个栈的初始状态为空。现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是( )。(C)
A. 1,2,3,A,B,C
B. C,B,A,1,2,3
C. C,B,A,3,2,1
D. 1,2,3,C,B,A
解析:栈的修改是按“后进先出”的原则进行的,所以顺序应与入栈顺序相反,故C选项正确。
6.设一棵完全二叉树共有700个结点,则此二叉树中的叶子结点数为(D)
A. 85
B. 120
C. 250
D. 350
解析:①具有n个结点的完全二叉树的深度为[long2n]+1,计算出该完全二叉树的深度为10。②设度为0的结点(即叶子结点)为n0,度为1的结点为n1,度为2的结点为n2,总结点数为n。深度为k。n=n1+n2+n0,由于n0=n2+1则n2=n0-1,故n=n1+n0-1+n0=n1+2n0-1。由于完全二叉树中度为1的结点数只有两种可能:0或1。⑨假设度为1的结点数为0即满二叉树,根据满二叉树的定义,其2m-1个结点,根据以上计算所得的深度10来计算,应有210-1=1024-1=1023个结点,显然与题目中700个结点不符。因此,度为1的结点数必然为1。故n=n1+2n0-1=1+2n0-1=2n0,则n0=n/2=700/2=350。
7.T列数据结构中,不能采用顺序存储结构的是(D)
A. 栈
B. 堆
C. 队列
D. 非完全二叉树
解析:堆中某个结点的值总是不大于或不小于其父结点的值、堆总是一棵完全二叉树,可以以顺序存储结构存储;队列的存储结构分为链式存储、顺序存储两种;栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表,可以以顺序存储结构存储。
8.程序流程图中带有箭头的线段表示的是( )。(C)
A. 图元关系
B. 数据流
C. 控制流
D. 调用关系
解析:在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择C。
9.在面向对象方法中,不属于“对象”基本特点的是(A)
A. 一致性
B. 分类性
C. 多态性
D. 标识惟一性
解析:对象具有如下特征:标识惟一性、分类性、多态性、封装性、模块独立性。
10.下面不属于软件需求分析阶段主要工作的是(A)
A. 需求变更申请
B. 需求分析
C. 需求评审
D. 需求获取
解析:在软件开发的过程中,应该尽早的制定测试计划,其中在需求分析阶段制定系统测试计划,在概要设计阶段制定集成测试计划,在详细设计阶段制定单元测试计划。
11.数据流程图(DFD图)是(C)
A. 软件概要设计的工具
B. 软件详细设计的工具
C. 结构化方法的需求分析工具
D. 面向对象方法的需求分析工具
解析:DFD(数据流图Data-Flow-Diagram)是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示。它直接支持系统功能建模。在软件详细设计的过程阶段,要对每个模块规定的功能以及算法的设计给出适当的算法描述。
12.有以下程序
#include
本文档预览:3600字符,共8022字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载