国家二级(C语言)机试模拟试卷154
选择题
1.下列叙述中正确的是( )。(A)
A. 循环队列中的元素个数随队头指针与队尾指针的变化而动态变化
B. 循环队列中的元素个数随队头指针的变化而动态变化
C. 循环队列中的元素个数随队尾指针的变化而动态变化
D. 以上说法都不对
解析:在循环队列中,用队尾指针rear指向队列中的队尾元素,用队头指针front指向队头元素的前一个位置。因此,从队头指针front指向的后一个位置直到队尾指针rear指向的位置之间,所有的元素均为队列中的元素。所以循环队列中的元素个数随队头指针和队尾指针的变化而变化。故A选项正确。
2.下列关于栈的叙述中,正确的是( )。(C)
A. 栈底元素一定是最后入栈的元素
B. 栈顶元素一定是最先入栈的元素
C. 栈操作遵循“先进后出”的原则
D. 以上说法均错误
解析:栈顶元素总是后被插入的元素,也是最先被删除的元素;栈底元素总是最先被插入的元素,也是最后才被删除的元素;栈的修改是按“后进先出”的原则进行的。因此,栈称为“先进后出”表,或“后进先出”表,故C选项正确。
3.设某二叉树的后序序列为CBA,中序序列为ABC,则该二叉树的前序序列为( )。(C)
A. BCA
B. CBA
C. ABC
D. CAB
解析:后序序列为CBA,中序序列为ABC,则说明,A为根结点,并且B和C均在A的右子树上;结点B和C中,后序序列为CB,中序序列为BC,则说明结点C在结点B的右子树上,根据分析可得,该二叉树的前序序列为ABC,答案选C。
4.结构化程序设计主要强调的是( )。(D)
A. 程序的规模
B. 程序的效率
C. 程序设计语言的先进性
D. 程序易读性
解析:结构化程序设计强调的是程序的易读性。
5.为了使模块尽可能独立,要求( )。(B)
A. 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
B. 模块的内聚程度要尽量高,且各模块问的耦合程度要尽量弱
C. 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D. 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
解析:系统设计的质量主要反映在模块的独立性上。评价模块独立性的主要标准有两个:一是模块之间的耦合,它表明两个模块之间互相独立的程度;二是模块内部之间的关系是否紧密,称为内聚。一般来说,要求模块之间的耦合尽可能地弱,即模块尽可能独立,而要求模块的内聚程度尽量地高。
6.在结构化方法中,软件功能属于软件开发中的( )阶段。(C)
A. 详细设计
B. 需求分析
C. 总体设计
D. 编程调试
解析:总体设计过程通常由两个主要阶段组成:系统设计,确定系统的具体实现方案;结构设计,确定软件结构。为确定软件结构,首先需要从实现角度把复杂的功能进一步分解。分析员结合算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂,必须把它的功能适当地分解成一系列比较简单的功能。
7.下列叙述中正确的是( )。(A)
A. 程序执行的效率与数据的存储结构密切相关
B. 程序执行的效率只取决于程序的控制结构
C. 程序执行的效率只取决于所处理的数据量
D. 以上说法均错误
解析:程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。
8.关系数据库管理系统所管理的关系是( )。(A)
A. 若干个二维表
B. 一个DBF文件
C. 一个DBC文件
D. 若干个DBC文件
解析:在关系数据库中,一个表就是一个关系,关系数据库管理系统管理的关系就是多个二维表。
9.结构化程序设计中,下面对goto语句使用描述正确的是( )。(C)
A. 禁止使用goto语句
B. 使用goto语句程序效率高
C. 应避免滥用goto语句
D. 以上说法均错误
解析:结构化程序设计中,要注意尽量避免goto语句的使用,故C选项正确。
10.设有如下三个关系表:
(B)
A. T=R∩S
B. T=R∪S
C. T=R×S
D. T=R/S
解析:两个相同结构关系的“并”是由属于这两个关系的元组组成的集合。
11.以下选项中合法的标识符是( )。(A)
A. _11
B. 1—1
C. 1_1
D. 1__
解析:标识符由字母、数字或下画线组成,并且数字不能开头。故A选项是合法的标识符。
12.以下叙述中错误的是( )。(B)
A. C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件
B. C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
C. 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
D. C语言源程序经编译后生成后缀为.obj的目标程序
解析:C语言程序编译时将每条可执行语句转换为二进制的机器指令,但非执行语句(如注释语句)不被编译。所以选项B错误。
13.若有定义:int a=0,b=0,c=0,d=0;,有C语言表达式(a++&&b++)?c++:d++,以下关于其执行顺序的叙述中正确是( )。(A)
A. 先执行a++,表达式a++的值为0,由此即可确定(a++&&b++)值为0,因此执行d++
B. 先执行a++,表达式a++的值为0;再执行b++,表达式b++的值为0,由此可确定(a++&&b++)值为0,因此执行d++
C. 先执行a++,表达式a++的值为1;再执行b++,表达式b++的值为1,由此可确定(a++&&b++)值为1,因此执行c++
D. 先执行b++,表达式b++的值为1;再执行a++,表达式a++的值为1,由此可确定(a++&&b++)值为1,因此执行c++
解析:把握前置运算和后置运算的基本运算规则。
14.表达式:(int)((double)9/2)一(9)%2的值是( )。(B)
A. 0
B. 3
C. 4
D. 5
解析:运算符“/”和“%”的优先级高于“~”,所以先进行除法和求余运算,再进行减法运算。强制类型转换表达式的形式:(类型名)(表达式)。“9/2”结果为4,转换成double类型再转换成int类型结果依然为4,(9)%2的结果为1,4—1的最后结果为3。
15.以下选项中叙述正确的是( )。(A)
A. 函数体必须由{开始
B. C程序必须由mflin语句开始
C. C程序中的注释可以嵌套
D. C程序中的注释必须在一行里完成
解析:函数体是函数首部下面的花括号内的部分,所以函数休必须由(开始,A项正确。一个源程序文件可以包括预处理命令、全局声明、函数定义,程序总是从main函数开始执行的,不是main语句,B项错误。C程序中允许两种注释,
本文档预览:3600字符,共15223字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载