国家二级C语言机试(选择题)模拟试卷360
选择题
1.下列叙述中正确的是( )。(A)
A. 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B. 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C. 顺序存储结构能存储有序表,链式存储结构不能存储有序表
D. 链式存储结构比顺序存储结构节省存储空间
解析:链式存储结构既可以针对线性结构也可以针对非线性结构,所以B)与C)错误。链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以D)错误。
2.下列排序方法中,最坏情况下比较次数最少的是(D)
A. 冒泡排序
B. 简单选择排序
C. 直接插入排序
D. 堆排序
解析:冒泡排序、简单选择排序和直接插入排序法在最坏的情况下比较次数为:n(n-1)/2。而堆排序法在最坏的情况下需要比较的次数为O(nlog2n)。其中堆排序的比较次数最少。
3.磁盘处于写保护状态时其中的数据(B)
A. 不能读出,不能删改
B. 可以读出,不能删改
C. 不能读出,可以删改
D. 可以读出,可以删改
解析:磁盘处于写保护状态时其中的数据可以读出来,但是不能修改和删除。
4.设有定义:double x=2.12;,则以下各项中不能完整输出变量x值的语句是( )。(A)
A. printf(“x=%5.of\n”,x);
B. prinff(“x=%f\n”,x);
C. prinff(“x=%If\n”,x);
D. prinff(“x=%0.5f\n”,x);
解析:本题考查printf函数的格式输出,“格式控制字符串”部分为“%f”表示按照浮点型输出,选项B正确;加入长度格式符1即“%1”表示按照双精度浮点型输出,选项C正确;若要控制输出精度,则需以“.”开头,后跟十进制整数,如“%.2f’’或“%0.2f”,选项D正确;控制输出宽度则是用整数表示,如“%5f”,选项A中“%5.Of”表示输出宽度为5,右对齐,小数点后保留位数为0,所以结果输出为2,不能完整输出x,答案选A。
5.支持予程序调用的数据结构是(A)
A. 栈
B. 树
C. 队列
D. 二叉树
解析:栈是一种限定在一端进行插入与删除的线性表。在主函数调用子函数时,要首先保存主函数当前的状态,然后转去执行子函数,把子函数的运行结果返回到主函数调用子函数时的位置,主函数再接着往下执行,这种过程符合栈的特点。所以一般采用栈式存储方式。
6.下列叙述中止确的是(D)
A. 栈是一种先进先出的线性表
B. 队列是一种后进先出的线性表
C. 栈与队列都是非线性结构
D. 以上三种说法都不对
解析:栈是先进后出的线性表,队列是先进先出的线性表,二者均为线性结构。
7.下列对于线性链表的描述中正确的是(A)
A. 存储空间不一定连续,且各元素的存储顺序是任意的
B. 存储空间不一定连续,且前件元素一定存储在后件元素的前面
C. 存储空间必须连续,且前件元素一定存储在后件元素的前面
D. 存储空间必须连续,且各元素的存储顺序是任意的
解析:一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。在线性链表中,各数据元素之间的前后件关系是由各结点的指针域来指示的,指向线性表中第一个结点的指针head称为头指针,当head=NULL(或0)时称为空表。
8.设循环队列为Q(1:m),初始状态为front=rear=m。现经过一系列的入队与退队运算后,front=rear=1,则该循环队列中的元素个数为(D)
A. 1
B. 2
C. m-1
D. 0或m
解析:在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。因此,从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间,所有的元素为队列中的元素。在循环队列动态变化过程中,当循环队列满时有front=rear,而当循环队列空时也有front=rear。即在循环队列中,当front=rear时,不能确定是队列满、还是队列空。当front=rear=1,要么队列为空,队列中的元素个数为0,要么队列为满,队列中元素个数为m。选项D正确。
9.设某棵树的度为3,其中度为3、1、0的结点个数分别为3、4、15。则该树中总结点数为(B)
A. 22
B. 30
C. 35
D. 不可能有这样的树
解析:本题采用画图法来求出结果。首先先画出包含3个度为3的结点:然后再添加4个度为1的结点,此时最大度为0的结点数为8。根据题目中描述的度为0的结点数有15个,这时要在书中添加度为2的结点,直到度为0的结点数位15。画图结束后,不管是什么样的树,总结点数都是30。
10.以下选项中,能用作用户标识符的是( )。(A)
A. _0_
B. 8_8
C. void
D. unsigned
解析:C语言中的标识符由字母、下划线、数字组成,且开头必须是字母或下划线。另外,关键字不能作为标识符。B选项中以数字8开头,所以错误。C选项与D选项中用的是关键字void与unsigned,所以错误。
11.下面不属于软件工程过程的4种基本活动(D)
A. 软件规格说明
B. 软件开发
C. 软件演进
D. 软件测试
解析:软件工程过程的4种基本活动是:软件规格说明、软件开发、软件确认、软件演进。
12.有以下程序
main( ){
chara,b,C,d;
scanf(’’%c%c’’,&a,&b);
c=getchar( );
d=getchar( );
printf(’’%c%c%c%c\\
’’,a,b,C,d);}
当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)1234则输出结果是(C)
A. 12
B. 1234
C. 123
D. 1234
解析:scanf和getchar函数分别从键盘上读入一个字符,因此输入12空格34,则变量a中存放的为1,b中存放2,c中存放空格,d中存放3。
13.数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是(C)
A. DB包含DBS和DBMS
B. DBMS包含DB和DBS
C. DBS包含DB和DBMS
D. 没有任何关系
解析:数据库系统(Database System简称DBS)由下列几个部分组成:数据库(DB)、数据库管理系统(DBMS)、数据库管理员(人员)、系统平台之一——硬件平台(硬件)、系统平台之二——软件平台(软件)。这五个部分构成了一个以数据库为核心的完整的运行实体,称为数据库系统。其中DB(DataBase)即数据库,是统一管理的相关数据的集合;DBMS(Database Management System)即数据库管理系统,是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法。
14.以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a
本文档预览:3600字符,共11229字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载