国家二级(C语言)机试模拟试卷114
选择题
1.设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素)。则栈中的元素个数为( )。(C)
A. 30
B. 29
C. 20
D. 19
解析:栈是一种特殊的线性表,它所有的插入与删除操作都限定在表的同一端进行。入栈运算即在栈顶位置插入一个新元素,退栈运算即取出栈顶元素赋予指定变量。在内存中,栈的增大方向是地址递减,元素依次存储在单元30:49中,个数为:49-30+1=20个。
2.设数据元素的集合D={1,2,3,4,5},则满足下列关系R的数据结构中为线性结构的是( )。
B
解析:一个非空的数据结构如果满足以下两个条件:有且只有一个根结点;每一个结点最多有一个前件,也最多有一个后件,称为线性结构。A项中有两个根结点3和5,错误;B项根结点为5,之后的结点除最后一个结点外都只有一个前件和后件,正确;C项有两个根结点1和4,错误;D项有两个根结点1和2,错误。
3.下列叙述中错误的是( )。(B)
A. 在带链队列中,队头指针和队尾指针都是在动态变化的
B. 在带链栈中,栈顶指针和栈底指针都是在动态变化的
C. 在带链栈中,栈顶指针是在动态变化的,但栈底指针是不变的
D. 在带链队列中,队头指针和队尾指针可以指向同一个位置
解析:带链的队列就是用一个单链表来表示队列,队列中的每一个元素对应链表中的一个结点,在入队和退队过程中,队头指针和队尾指针都是在动态变化的,A项正确;带链的栈在入栈和退栈过程中栈底指针不变,栈顶指针随之变化,C项正确;循环队列中当队列满或者空时,队头指针和队尾指针指向同一个位置,D项正确。
4.深度为7的完全二叉树中共有125个结点,则该完全二叉树中的叶子结点数为( )。(B)
A. 62
B. 63
C. 64
D. 65
解析:完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点。深度为6的满二叉树,结点个数为26-1=63,且第6层的结点数为26-1=32个,则第7层共有125-63=62个叶子结点,分别挂在第6层的左边31个结点上,加上第6层的最后1个叶子结点,该完全二叉树共有63个叶子结点。
5.计算机软件的构成是( )。(D)
A. 源代码
B. 程序和数据
C. 程序和文档
D. 程序、数据及相关文档
解析:计算机软件是程序、数据及相关文档的完整集合。
6.软件设计中模块划分应遵循的准则是( )。(C)
A. 低耦合低内聚
B. 高耦合高内聚
C. 低耦合高内聚
D. 内聚与耦合无关
解析:模块的独立程度由两个定性标准度量:内聚性和耦合性。耦合衡量不同模块彼此间互相依赖(连接)的紧密程度。内聚衡量一个模块内部各个元素彼此结合的紧密程度。一般来说,模块划分要求模块之间的耦合尽可能弱,即模块尽可能独立,且要求模块的内聚程度尽可能高。
7.使用白盒测试方法时,设计测试用例应根据( )。(A)
A. 程序的内部逻辑
B. 程序的复杂结构
C. 程序的功能
D. 使用说明书
解析:白盒测试允许测试人员利用程序内部的逻辑结构及有关信息来设计或选择测试用例,对程序所有的逻辑路径进行测试。
8.逻辑模型是面向数据库系统的模型,下面属于逻辑模型的是( )。(A)
A. 关系模型
B. 谓词模型
C. 物理模型
D. 实体-联系模型
解析:逻辑模型是面向数据库系统的模型,着重于在数据库系统一级的实现。成熟并大量使用的逻辑模型有层次模型、网状模型、关系模型和面向对象模型等。
9.设有关系表学生表S(学号,姓名,性别,年龄,身份证号),每个学生学号惟一。除属性学号外,也可以作为键的是( )。(B)
A. 姓名
B. 身份证号
C. 姓名,性别,年龄
D. 学号,姓名
解析:候选键是二维表中能惟一标识元组的最小属性集。一个二维表有多个候选键,则选定其中一个作为主键供用户使用。学生学号与身份证号均可惟一标识一位学生,都可以作为主键。
10.有三个关系表R、S和T如下,其中三个关系对应的关键字分别为A,B N复合关键字(A,B)。
(B)
A. 实体完整性约束
B. 参照完整性约束
C. 用户定义的完整性约束
D. 关系完整性约束
解析:实体完整性约束是指,若属性M是关系的主键,则属性M中的属性值不能为空值。参照完整性约束是指,若属性(或属性组)A是关系M的外键,它与关系M的主码相对应,则对于关系M中的每个元组在A上的值必须为:要么取空值,要么等于关系M中某个元组的主码值。表T中属性B为关系T的外键,它与关系S的主键相对应,则T中元组在B上应该为空或者与S中主键值相等,因此记录项(b,q,4)违反参照完整性约束。
11.以下选项中叙述正确的是( )。(A)
A. C程序中的语句要经过编译才能转换成二进制机器指令
B. 算法需要包含所有三种基本结构
C. 有些算法不能用三种基本结构来表达
D. 简单算法的操作步骤不能超过20步
解析:编译就是把高级语言变成计算机可以识别的二进制语言,不经过编译的源程序是不能运行的,A项正确。算法不一定要包含所有三种基本结构,B项错误。结构化程序主要由3种基本控制结构组成,循环结构、选择结构、顺序结构,它们组成的算法结构可以解决任何复杂的问题,C项错误。算法的复杂程度不是由操作步骤多少决定的,而是由时间复杂度与空间复杂度来衡量,D项错误。
12.以下叙述错误的是( )。(A)
A. 在进行模块化程序设计的时候,应首先完成每个模块的编写调试,再集中考虑主程序中的算法
B. 同一程序各模块可由一组人员同时进行编写调试,可提高编写程序的效率
C. 模块化的程序设计是采用自顶向下、逐步细化的原则
D. 程序的每个模块都可通过三种基本结构实现
解析:进行模块化设计时,首先设计框架,并定义和调试好各个模块之间的输入输出关系,完成各个模块的编写调试后再集中编译,A项错误;各个模块可以由不同人员同时进行编写调试,提高编写程序的效率,B项正确;模块化的程序设计采用自顶向下、逐步细化的原则,C项正确;结构化程序使用三种基本结构可以解决任何复杂的问题,D项叙述正确。
13.以下选项中,合法的实数是( )。(A)
A. 1.5E2
B. E1.1
C. 2.10E
D. 1.9E1.4
解析:用尾数指数形式表示浮点数时,E的右侧必须是整数且不能为空。
14.以下叙述正确的是( )。(A)
A. C程序总是以main()作为程序执行的起始行
B. main()函数若不带参数,其后面的一对圆括号可省略
C. 函数体内的定义语句和可执行语句允许任意穿插出现
D. C语言中的语句之间必须用分号作为分隔符
解析:main()函数后面的括号不可以省略,B项错误;函数体内的定义语句应该出现在执行语句的前面,C项
本文档预览:3600字符,共14149字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载