国家二级(C语言)机试历年真题试卷汇编22
选择题
1.下列叙述中正确的是( )。(B)
A. 循环队列是队列的一种链式存储结构
B. 循环队列是队列的一种顺序存储结构
C. 循环队列是非线性结构
D. 循环队列是一种逻辑结构
解析:在实际应用中,队列的顺序存储结构一般采用循环队列的形式。
2.下列关于线性链表的叙述中,正确的是( )。(C)
A. 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致
B. 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续
C. 进行插入与删除时,不需要移动表中的元素
D. 以上说法均不正确
解析:一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。线性链表中数据的插入和删除都不需要移动表中的元素,只需改变结点的指针域即可。
3.一棵二叉树共有25个结点,其中5个是叶子结点,则度为l的结点数为( )。(A)
A. 16
B. 10
C. 6
D. 4
解析:根据二叉树的性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,所以本题中度为2的结点是5-1=4个,所以度为1的结点的个数是25-5-4=16个。
4.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。(B)
A. 外模式
B. 内模式
C. 概念模式
D. 逻辑模式
解析:数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,所以选择B。
5.在满足实体完整性约束的条件下( )。(A)
A. 一个关系中应该有一个或多个候选关键字
B. 一个关系中只能有一个候选关键字
C. 一个关系中必须有多个候选关键字
D. 一个关系中可以没有候选关键字
解析:实体完整性约束要求关系的主键中属性值不能为空值,所以选择A。
6.有三个关系R、S和T如下:
(C)
A. 自然连接
B. 交
C. 除
D. 并
解析:如果S=T/R,则S称为T除以R的商。在除运算中s的域由T中那些不出现在R中的域所组成,对于S中的任一有序组,由它与关系R中每个有序组所构成的有序组均出现在关系T中。所以本题选择C。
7.下面描述中,不属于软件危机表现的是( )。(A)
A. 软件过程不规范
B. 软件开发生产率低
C. 软件质量难以控制
D. 软件成本不断提高
解析:软件危机主要表现在:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。所以选择A。
8.下面不属于需求分析阶段任务的是( )。(D)
A. 确定软件系统的功能需求
B. 确定软件系统的性能需求
C. 需求规格说明书评审
D. 制定软件集成测试计划
解析:需求分析阶段的工作有:需求获取;需求分析;编写需求规格说明书;需求评审,所以选择D。
9.在黑盒测试方法中,设计测试用例的主要根据是( )。(B)
A. 程序内部逻辑
B. 程序外部功能
C. 程序数据结构
D. 程序流程图
解析:黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证,黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明,所以本题选择B。
10.在软件设计中不使用的工具是( )。(C)
A. 系统结构图
B. PAD图
C. 数据流图(DFD图)
D. 程序流程图
解析:系统结构图是对软件系统结构的总体设计的图形显示。在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,是在概要设计阶段用到的。PAD图是在详细设计阶段用到的。程序流程图是对程序流程的图形表示,在详细设计过程中用到。数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是在可行性研究阶段用到的而非软件设计时用到,所以选择c。
11.以下选项中关于程序模块化的叙述错误的是( )。(A)
A. 可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序
B. 把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块
C. 把程序分成若干相对独立的模块,可便于编码和调试
D. 可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序
解析:程序模块化思想中,可以采用自顶向下、逐步细化的方法:所以选项A中“自底向上”的说法是错误的。
12.以下叙述中正确的是( )。(D)
A. 用C语言编写的程序只能放在一个程序文件中
B. C程序书写格式严格,要求一行内只能写一个语句
C. C程序中的注释只能出现在程序的开始位置和语句的后面
D. C程序书写格式自由,一个语句可以写在多行上
解析:C语言编写的程序可以放置于多个程序文件中,所以A错误。C程序中的一行可以有多条语句,所以B错误。C语言中的注释语句可以与原语句放在一行也可以不放在一行,所以C错误。
13.以下不合法的数值常量是( )。(A)
A. 8.0E0.5
B. 1e1
C. 011
D. 0xabcd
解析:A选项中E后面的指数必须为整型数据,所以A错误。C选项中011表示的是八进制常量,0xabcd表示的是十六进制常量。
14.以下关于C语言数据类型使用的叙述中错误的是( )。(C)
A. 若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
B. 若要保存带有多位小数的数据,可使用双精度类型
C. 若只处理“真”和“假”两种逻辑值,应使用逻辑类型
D. 整数类型表示的自然数是准确无误差的
解析:C语言中没有逻辑类型,所以c错误。若要保存带有多位小数的数据,可以用单精度类型也可以用双精度类型。处理包含不同类型的相关数据可以定义为结构体类型。整数类型可以无误差的表示自然数。
15.没有定义:
int k=0;
以下选项的四个表达式中与其他三个表达式的值不相同的是( )。(C)
A. ++k
B. k+=1
C. k++
D. k+1
解析:++k,先使k的值自增1后再使用,k++是先取得k的值再将k的值自增1,所以C选项中表达式的值为0,而其他三个表达式的值均为1,所以选择c。
16.有如下程序段:
int x=12:
double y=3.14159
本文档预览:3600字符,共14808字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载