国家二级C语言机试(选择题)模拟试卷377
选择题
1.下列数据结构中,属于非线性结构的是( )。(C)
A. 循环队列
B. 带链队列
C. 二叉树
D. 带链栈
解析:树是简单的非线性结构,所以二叉树作为树的一种,也是一种非线性结构。
2.若二维数组a有m列,则在a[i][j]前的元素个数为( )。(B)
A. j*m+i
B. i*m+j
C. j*m+i+1
D. i*m+j+1
解析:二维数组的元素可以看成是按矩阵形式存放的,总是先存放第一行的元素,再存放第二行的元素。
数组第一维的下标是i,说明它前面还有i行,有i*m个元素,数组第二维的下标是i,说明它前面还有j列,有j个元素,所以共有i*m+j个元素。
3.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。(C)
A. 编译程序
B. 操作系统
C. 教务管理系统
D. 汇编程序
解析:编译软件、操作系统、汇编程序都属于系统软件,只有C选项教务管理系统才是应用软件。
4.以下选项中关于C语言常量的叙述错误的是(B)
A. 常量分为整型常量、实型常量、字符常量和字符串常量
B. 经常被使用的变量可以定义成常量
C. 常量可分为数值型常量和非数值型常量
D. 所谓常量,是指在程序运行过程中,其值不能被改变的量
解析:常量指在程序运行过程中,其值不能被改变的量。常量分为整型常量(即整常数)、实型常量、字符型常量和字符串常量。常量也可以按数据类型分为为数据常量和非数据常量。变量是指在程序运行过程中,其值能被改变的量。
5.一棵二叉树中共有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。
6.与十进制数200等值的十六进制数为(C)
A. A8
B. A4
C. C8
D. C4
解析:本题考察了进制转换,十进制的数转换为十六进制规则:整数部分除以16取余数,将余数倒过来排列。
7.下列叙述中错误的是( )。(B)
A. 在带链队列中,队头指针和队尾指针都是在动态变化的
B. 在带链栈中,栈顶指针和栈底指针都是在动态变化的
C. 在带链栈中,栈顶指针是在动态变化的,但栈底指针是不变的
D. 以上说法均不对
解析:在栈结构中,插入和删除操作都是在栈顶进行操作,相对应的在带链栈中,栈顶指针是在动态变化的,但栈底指针是不变的,所以选项B)说法错误。
8.下面属于白盒测试方法的是( )。(B)
A. 等价类划分法
B. 判定一条件覆盖
C. 因果图法
D. 错误推测法(猜错法)
解析:白盒测试法主要有逻辑覆盖、基本路径测试等。其中,逻辑覆盖又包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断一条件覆盖。黑盒测试方法主要有等价类划分法、边界值分析法、错误推测法和因果图等。
9.软件详细设计产生的图如下,该图是
(C)
A. N-S图
B. PAD图
C. 程序流程图
D. E-R图
解析:本题考查程序流程图的概念,流程图直观地描述了程序的具体步骤。
10.软件需求规格说明书的作用不包括( )。(D)
A. 软件验收的依据
B. 用户与开发人员对软件要做什么的共同理解
C. 软件设计的依据
D. 软件可行性研究的依据
解析:软件需求规格说明书的作用为:便于用户、开发人员进行理解和交流;反映出用户问题的结构,可以作为软件开发工作的基础和依据;作为确认测试和验收的依据。所以答案选择D。
11.下列选项中不属于面向对象程序设计特征的是(C)
A. 继承性
B. 多态性
C. 类比性
D. 封装性
解析:面向对象程序设计的三个主要特征是:封装性、继承性和多态性。封装性即只需知道数据的取值范围和可以对该数据施加的操作,而无需知道数据的具体结构以及实现操作的算法。继承性是指使用已有的类定义作为基础建立新类的定义技术。对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导致完全不同的行动,该现象称为多态性。
12.以下正确的说法是( )。(D)
A. 用户若需要调用标准库函数,调用前必须重新定义
B. 用户可以重新定义标准库函数,但若重新定义,该函数将失去原有意义
C. 用户系统根本不允许用户重新定义库函数
D. 用户若需要调用库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统会自动寻找该文件
解析:无论是标准库函数,还是别的函数,都属于函数的范畴,都允许用户重新定义和使用,使用的时候:include命令必须以“#”号开头,文件名用一对双引号或一对尖括号括起来,系统提供的头文件是以.h作为文件后缀。
13.下面不属于软件设计原则的是(C)
A. 抽象
B. 模块化
C. 自底向上
D. 信息隐藏
解析:软件设计的基本原则包括抽象、信息隐藏、模块化、局部化、确定性、一致性、完备性和可验证性。
14.C语言不能使用的数制是( )。(C)
A. 八进制
B. 十进制
C. 二进制
D. 十六进制
解析:在C语言中的数值可以用十进制、八进制和十六进制来表示,但不用二进制来表不。
15.有以下程序:
#include<stdio.h>
main()
{ int a=0,b=0,c=0,d=0;
printf(’’%d,%d,%d,%d\n’’,a,b,c,d);
}
程序的运行结果是( )。(C)
A. 1,1,2,0
B. 0,0,0,3
C. 编译有错
D. 0,1,2,0
解析:本题中if(a=1)b=1;与else d=3;之间多了语句c=2;,所以会出现else语句的位置错误的编译失败提示。
16.下面不属于结构化程序设计风格的是(D)
A. 程序结构良好
B. 程序的易读性
C. 不滥用Goto语句
D. 程序的执行效率
解析:结构化程序设计(stmctured programming)是进行以模块功能和处理过程设计为主的详细设计的基本原则。结构化程序设计是过程式程序设计的一个子集,它对写入的程序使用逻辑结构,使得理解和修改更有效更容易。
17.十进制整数设为整数类I,则下面属于类I的实例的是(A)
A. -518
本文档预览:3600字符,共10488字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载