国家二级(C语言)机试模拟试卷136
选择题
1.关于数据结构的存储原理,以下数据类型不能采用顺序存储结构的是( )。(D)
A. 栈
B. 堆
C. 循环队列
D. 非完全二叉树
解析:栈、堆和队列都可以采用顺序存储结构存储,但对于二叉树来说,只有完全二叉树和满二叉树可以进行顺序存储,一般二叉树不适用。
2.关于数据结构,下列叙述中错误的是( )。(B)
A. 二叉链表是二叉树的存储结构
B. 循环链表是循环队列的存储结构
C. 栈的存取原则是先进后出
D. 循环队列是队列的存储结构
解析:链表是链表的存储结构,是由不连续的存储单元通过指针组织起来的存储结构;栈的存取原则是先进后出,循环队列是队列的一种,所以是队列的存储结构,二叉链表是二叉树的存储结构。
3.设一棵树的总节点为24,其中度为4,3,2,1的节点个数分别为2,3,3,0。则该棵树中的叶子节点数为( )。(A)
A. 16
B. 15
C. 17
D. 不可能有这样的树
解析:总节点数减去度不为0的节点数便是叶子节点数,所以答案是24一(2+3+3)=16。
4.计算机程序设计的三种基本结构是( )。(C)
A. 递归、迭代和回溯
B. 过程、函数和子程序
C. 顺序、选择和循环
D. 调用、返回和选择
解析:计算机程序设计的三种基本结构是顺序、选择和循环。
5.某系统结构图如下图所示:
(A)
A. 5
B. 4
C. 2
D. 1
解析:该图形为一个树状结构,是用层次图表示的一种软件结构。结构图中同一层次模块的最大模块个数称为结构的宽度。从图中可以看到第3层模块个数最多,即为5。因此这个系统结构图宽度就是5。
6.用于软件测试的实例主要包括哪些内容?( )(C)
A. 输入数据和测试规程
B. 测试程序和输出结果
C. 输入数据和预期输出结果
D. 输入数据、测试规程和输出数据
解析:用于软件测试的实例主要包括输入数据和预期输出结果。
7.软件设计和使用的过程中,解决软件“怎么做”的阶段是( )。(B)
A. 需求分析
B. 软件设计
C. 软件测试
D. 可行性研究
解析:需求分析是解决软件“做什么”的阶段,软件设计是解决软件“怎么做”的阶段,软件测试是解决软件是否达到设计目的的阶段,可行性研究是软件设计之前的工作。
8.下列模型中,用树形结构表示实体之间联系的模型是( )。(A)
A. 层次模型
B. 关系模型
C. 网状模型
D. 运算模型
解析:树形结构表示实体之间联系的模型是层次模型。
9.在数据库管理系统中,关系数据模型的三个组成部分中不包括( )。(D)
A. 关系的完整性约束
B. 关系的数据操纵
C. 关系的数据结构
D. 关系的并发控制
解析:在数据库管理系统中,关系数据模型的三个组成部分是指关系的完整性约束、关系的数据操纵和关系的数据结构,但不包括关系的并发控制。
10.一个宾馆房间可以住至少一个旅客,则房间和旅客之间的对应关系是( )。(A)
A. 一对多
B. 一对一
C. 多对一
D. 多对多
解析:一个宾馆房间可以住至少一个旅客,但一个旅客只能住一个房间,因此,房间和旅客之间的对应关系是一对多的关系。
11.以下选项中,C语言常量合法的是( )。(A)
A. 0.214
B. ’CD+’
C. \.123
D. 2Kb
解析:A项是合法的小数,B项中如果用双引号表示字符串就正确了,如果用单引号只能包含一个字符,C项中如果没有小数点可以表示一个八进制数,D项写法完全不正确。
12.有以下程序:
#include
main()
{int m,n,x=1;
float y=6;
m=sizeof(x);
n=sizeof(y);
pfintf(’’%d,%d\n’’,m,n);
}
在VC6平台上编译运行,程序运行后的输出结果是( )。(B)
A. 4,8
B. 4,4
C. 2,4
D. 10,6
解析:sizeof是取类型所占字节数的函数,在vc平台,int和float类型都占4个字节,所以答案是B项。
13.关于程序模块化的叙述中错误的是( )。(A)
A. 程序模块化有利于提高程序运行的效率
B. 程序模块化有利于提高程序编制的效率
C. 程序模块化有利于提高程序代码复用率
D. 程序模块化有利于提高调试程序的效率
解析:模块化设计与程序的运行效率没有关系,只能提高程序编制的效率、程序代码复用率和程序调试效率。
14.以下选项中不能用作用户标识符的是( )。(D)
A. _3_14
B. printf
C. Int
D. auto
解析:A是合法的用户标识符,printf是库函数名,包含在stdio.h文件中,但也可以定义printf为用户标识符,只要不包含stdio.h文件便可,int是类型名,但Int不是,只有auto是C语言的关键字,所以不能作为用户标识符。
15.关于C语言的输出语句:printf(’’%3d\n’’,1001)的叙述中正确的是( )。(A)
A. 程序运行时输出1001
B. 程序运行时输出001
C. 程序运行时输出100
D. 指定的输出宽度不够,编译出错
解析:printf在输出时按照格式来输出,%3d表示输出3位整数,这里的3是最小位数,即最少输出3位,但如果多于3位,则按照实际位数输出。
16.下列选项不能作为C语言整型常量的是( )。(B)
A. 12L
B. 一02
C. 0Xf
D. 100U
解析:0xf是十六进制整数f,12L是长整型12,100U是无符号正数100,所以只有B项不正确,看似十进制数,但第一位0,不是合法的十进制数。
17.有以下程序:
#include
main()
{int x=1,y=0;
if(!x)y++;
else if(x==0)
if(!x)x++;
else y++;
printf(’’%d\n’’,y);
}
程序运行后的输出结果是( )。(C)
A. 1
B. 2
C. 0
D. 3
解析:else与最近的一个if语句配套,所以最后的if一else是一组成套的条件分支语句,它们都包括在else if(x=0)之下,由于x=1,所以(!x)为假,x==0为假,所以整段程序只执行最开始的初始化语句。
本文档预览:3600字符,共13842字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载