首页 > 全部 > 二级C语言 > 国家二级C语言机试(选择题)模拟试卷342

国家二级C语言机试(选择题)模拟试卷342

本单篇文档共12239字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 章节练习 3534人下载
价格: 0.60 原价:¥9.60
收藏

国家二级C语言机试(选择题)模拟试卷342

选择题

1.C语言源程序名的后缀是(C)

A. .exe

B. .obj

C. .c

D. .cp

解析:南C语言构成的指令序列称为C源程序,源程序文件的后缀为“.c”。源程序经过c编译程序编译乍成后缀为“.obj,的二进制文件(称为目标文件),然后由称为“连接程序”(Link)的软件把目标文件.0bj 语言提供的各种库函数连接起来,生成后缀为“.exe”的可执行文件。

2.下列叙述中正确的是( )。(A)

A. 二分查找法只适用于顺序存储的有序线性表

B. 二分查找法适用于任何存储结构的有序线性表

C. 二分查找法适用于有序循环链表

D. 二分查找法适用于有序双向链表

解析:二分查找法(又称对分查找法)只适用于顺序存储的有序表。在此所说的有序表是指线性表的中元素按值非递减排列(即从小到大,但允许相邻元素值相等)。

3.某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)(D)

A. 3

B. 6

C. 8

D. 12

解析:根据二叉树的性质,度为0的结点(即叶子结点)总是比度为2的结点多一个。题目中的二叉树的叶子结点为1,因此度为2的结点的数目为0,故该二叉树为12层,每层只有一个结点。

4.下列对于线性链表的描述中正确的是(A)

A. 存储空间不一定连续,且各元素的存储顺序是任意的

B. 存储空间不一定连续,且前件元素一定存储在后件元素的前面

C. 存储空间必须连续,且前件元素一定存储在后件元素的前面

D. 存储空间必须连续,且各元素的存储顺序是任意的

解析:一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。在线性链表中,各数据元素之间的前后件关系是由各结点的指针域来指示的,指向线性表中第一个结点的指针head称为头指针,当head=NULL(或0)时称为空表。

5.在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为( )。(B)

A. 63

B. 64

C. 6

D. 7

解析:顺序查找又称顺序搜索。顺序查找一般是指在线性表中查找指定的元素,其基本方法是:从线性表的第一个元素开始,依次将线性表中的元素与被查找的元素进行比较,若相等则表示找到(即查找成功)。若线性表中所有元素都与被查元素进行了比较但都不相等,则表示线性表中没有要找的元素(即查找失败)。如果线性表中的第一个元素就是要查找的元素,则只需要做一次比较就查找成功,但如果要查找的元素是线性表中的最后一个元素或者要查找元素不在线性表中,则需要与线性表中所有元素进行比较,这是顺序查找的最坏情况,比较次数为线性表的长度。

6.设有语句:if(a==1)b=2;c=3;,以下语句中与之等价的是( )。

D

解析:在C语言中,用分号表示一条语句的结束,用{}把几条语句放在一块表示一个语句块,其整体表示一个功能。因而在题目给出的四个选项中,选项A、B、C均与题中所给不同,而选项D相同。

7.设有一个栈与一个队列的初始状态均为空。现有一个序列A,B,C,D,E,F,G,H。先分别将序列中的前4个元素依次入栈,后4个元素依次入队;然后分别将栈中的元素依次退栈,再将队列中的元素依次退队。最后得到的序列为(A)

A. D,C,B,A,E,F,G,H

B. D,C,B,A,H,G,F,E

C. A,B,C,D,E,F,G,H

D. A,B,C,D,H,G,F,E

解析:栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。因此栈的出栈顺序是先入后出,所以顺序是D,C,B,A。

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。因此,队的出队顺序是,先入先出,所以顺序是E,F,G,H。最后的顺序是:D,C,B,A,E,F,G,H。

8.若有定义语句: int x=10;则表达式x-=x+x的值为(C)

A. -20

B. 0

C. -10

D. 10

解析:表达式x-=x+x等价于x=x-(x+x),整型变量x的初始值等于10,计算题目所求表达式的值时,首先计算x与x的和等丁20,然后再用10减去20等于-10,得到该表达式的值。

9.结构化程序设计中,下面对GOTO语句使用描述正确的是( )。(C)

A. 禁止使用GOTO语句

B. 使用GOTO语句程序效率高

C. 应避免滥用GOTO语句

D. GOTO语句确实一无是处

解析:滥用GOTO语句确实有害,应尽量避免;完全避免使用GOTO语句并非是明智的方法,有些地方使用GOTO语句会使程序流程更清楚、效率更高;争论的焦点不应该放在是否取消GOTO语句,而应该放在用在什么程序结构上。

10.某二叉树的前序遍历序列与中序遍历序列相同,均为ABCDEF,则按层次输出(同一层从左到右)的序列为(A)

A. ABCDEF

B. BCDEFA

C. FEDCBA

D. DEFABC

解析:前序遍历次序:根左右;中序遍历次序:左根右。

由定义可以知道:①前序遍历中第一个就是树根结点,即A结点;②在中序遍历中,根结点左边的是左子树集,右边的是右子树集,即BCDEF是根结点A的右子树集合。问题就会转化为:求前序遍历是BCDEF,中序遍历是BCDEF的子树,方法同上。详细推理过程:步骤1:由ABCDEF得出根结点为A,由中序遍历可知:左子树为空,A{BCDE F };步骤2:由BCDEF得出右子树集合的根节点为B,由中序可知:左子树为空,B{CDEF};步骤3:同理,二叉树更新后如下。

11.有以下程序:

#include

int fun(int x,int y)

{ if(x==y)return(x);

else return((x+y)/2);

}

main()

{int a=1,b=2,c=3;

printf(\\(A)

A. 2

B. 3

C. 4

D. 5

解析:fun(b,c)即fun(2,3),2!=3,所以返回(2+3)/2=2;fun(2*a,2)即fun(2,2),2==2,所以返回2。

12.设有定义:int x=2;,以下表达式中,值不为6的是( )。(A)

A. 2*x,x+=2

B. x++,2*x

C. x*=(1+x)

D. x*=x+1

解析:A选项中逗号表达式先计算第一表达式2*x,然后计算表达式x+=2的值,即x=x+2即4,整个逗号表达式为第二个表达式的值4,所以选择A选项。B选项中首先计算逗号表达式中第一表达式x++,此时x为3,再执行第二个表达式2*x=2*3=6,所以逗号表达式为第二个表达式的值6。C选项的赋值表达式可

本文档预览:3600字符,共12239字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C语言机试(选择题)模拟试卷342

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号