国家二级C语言机试(选择题)模拟试卷352
选择题
1.数据字典(D D)所定义的对象都包含于( )。(A)
A. 数据流图(DFD图)
B. 程序流程图
C. 软件结构图
D. 方框图
解析:在数据流图中,对所有元素都进行了命名,所有名字的定义集中起来就构成了数据字典,因此选A选项。
2.下列关于线性链表的叙述中,正确的是(C)
A. 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致
B. 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续
C. 进行插入与删除时,不需要移动表中的元素
D. 以上都不正确
解析:线性表的链式存储结构称为线性链表。在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。
3.一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为(A)
A. 219
B. 221
C. 229
D. 231
解析:在二叉树中,叶子结点个数为n0,则度为2的结点数n2=n0-1。本题中叶子结点的个数为70,所以度为2的结点个数为69,因而总结点数=叶子结点数+度为1的结点数+度为2的结点数=70+80+69=219。
4.下列叙述中正确的是(A)
A. 循环队列是线性结构
B. 循环队列是线性逻辑结构
C. 循环队列是链式存储结构
D. 循环队列是非线性存储结构
解析:为充分利用向量空间,克服“假溢出”现象的方法是:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。存储在其中的队列称为循环队列(Circular Queue)。线性结构是一个有序数据元素的集合。常用的线性结构有:线性表,栈,队列,双队列,数组,串。常见的非线性结构有:二维数组,多维数组,广义表,树(二叉树等),图。
5.以下叙述中错误的是( )。(C)
A. 算法正确的程序可以有零个输入
B. 算法正确的程序最终一定会结束
C. 算法正确的程序可以有零个输出
D. 算法正确的程序对于相同的输入一定有相同的结果
解析:算法的特征:①有穷性,一个算法(对任何合法的输人)在执行有穷步后能够结束,并月.在有限的时间内宄成;②确定性,算法中的每一步都有确切的台义;③可行性,鼻法中的操作能够用已经买现的基本运算执行有限次来实现;④输入,一个算法有零个或者多个输入,零个输入就是算法本身确定了初始条件;⑤输出,一个算法有一个或者多个输出,以反映出数据加工的结果,所以C选项错误。
6.C语言中char类型数据占字节数为(C)
A. 2
B. 3
C. 1
D. 4
解析:C语言中char类型数据占字节数为1。
7.下列有关宏的叙述中不正确的是( )。(A)
A. 宏名必须用大写字母表示
B. 双引号中出现的宏名不进行替换
C. 宏名无类型
D. 和其他语句的编译同时进行
解析:本题考查宏的使用规则:①字符替换格式为“#define标识符字符串”,其中“标识符”称为宏名,无类型;②双引号中出现的宏名不替换;③宏名的定义通常用大写字母,但不是必须用大写字母;④宏定义不是赋值语句,不做语法检查。
8.下列关于数据库设计的叙述中,正确的是( )。(A)
A. 在需求分析阶段建立数据字典
B. 在概念设计阶段建立数据字典
C. 在逻辑设计阶段建立数据字典
D. 在物理设计阶段建立数据字典
解析:数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。
9.下列关于栈叙述正确的是( )。(A)
A. 栈顶元素最先能被删除
B. 栈顶元素最后才能被删除
C. 栈底元素永远不能被删除
D. 栈底元素最先能被删除
解析:栈是先进后出的数据结构,所以栈顶元素最后入栈却最先被删除。栈底元素最先入栈却最后被删除。所以选择A。
10.设变量已正确定义并赋值,下列表达式中正确的是( )。(A)
A. x=y+z+5,++y
B. iut(15.8%5)
C. x=y*5=x+z
D. x=25%5.0
解析:B选项与D选项中取模运算符%的左右两个操作数均应为整数,所以错误。C选项中不能将x+y的值赋给表达式y*5,所以C选项错误。
11.算法的时间复杂度是指( )。(D)
A. 算法的长度
B. 执行算法所需要的时间
C. 算法中的指令条数
D. 算法执行过程中所需要的基本运算次数
解析:算法的时间复杂度,是指执行算法所需要的工作量,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
12.对软件系统总体结构图,下面描述中错误的是(B)
A. 深度等于控制的层数
B. 扇入是一个模块直接调用的其他模块数
C. 扇出是一个模块直接调用的其他模块数
D. 原子模块一定是结构图中位于叶子结点的模块
解析:系统结构图是对软件系统结构的总体设计的图形显示。在需求分析阶段,已经从系统开发的角度出发,.把系统按功能逐次分割成层次结构,使每~部分完成简单的功能且各个部分之间又保持一定的联系,这就是功能设计。在设计阶段,基于这个功能的层次结构把各个部分组合起来成为系统。
13.软件需求规格说明书的作用不包括( )。(B)
A. 软件设计的依据
B. 软件可行性研究的依据
C. 软件验收的依据
D. 用户与开发人员对软件要做什么的共同理解
解析:《软件可行性分析报告》是软件可行性研究的依据。
14.若有定义:int x[10],*pt=x;,则对x数组元素的正确引用是( )。(D)
A. pt+3
B. *&x[10]
C. *(pt+10)
D. *(x+3)
解析:没有A选项的引用形式。*与&放在一起作用抵消,但x[10]下标10超出了数组下标范围,所以B选项错误。最大只能引用到x[9],而*(pt+i)表示引用指针pt所指元素后的第i个元素,所以C选项错误,最大只能为*(pt+9)。D选项正确。
15.有以下程序:
#include
int fun(int x)
{
int P;
if(x==0 ‖x==1)
return 3;
P=x—fun(x一2);
return(P);
}
main()
{
printf(“%d\n”,fun(9));
}
程序运行后的输出结果是( )。(D)
A. 4
B. 5
C. 9
D. 7
解析:本题考查函数的递归调用。执行fun(9)后,fun(9)=9一(7一(5一(3一f(1))))=7,故D选项正确。
16.有以下程序
#i
本文档预览:3600字符,共11576字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载