国家二级(C语言)机试模拟试卷109
选择题
1.下列叙述中正确的是( )。(D)
A. 所有数据结构必须有根结点
B. 所有数据结构必须有终端结点(即叶子结点)
C. 只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构
D. 没有根结点或没有叶子结点的数据结构一定是非线性结构
解析:D项正确,线性结构的特点是:①集合中必存在“第一个元素”且惟一;②集合中必存在“最后一个元素”且惟一;③除最后一个元素外,其他数据元素均有惟一的“后继”;④除第一个元素外,其他数据元素均有惟一的“前驱”。所以没有根结点或没有叶子结点的数据结构一定是非线性结构。AB两项错误,不是所有数据结构都必须有根结点和叶子结点;C项错误,数据结构中若有中间结点不满足只有一个前件或者后件的条件,就不是线性结构。
2.以下叙述中错误的是( )。(A)
A. C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
B. C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件
C. 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
D. C语言源程序经编译后生成后缀为.obj的目标程序
解析:A项错误,注释语句不会被翻译成二进制的机器指令。C源程序经过C编译程序编译之后生成后缀为.obj的二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把.obj文件与各种库函数连接起来生成一个后缀为.exe的可执行文件。
3.C语言主要是借助以下( )功能来实现程序模块化的。(A)
A. 定义函数
B. 定义常量和外部变量
C. 三种基本结构语句
D. 丰富的数据类型
解析:C程序的模块化主要通过函数来实现。C语言允许对函数单独进行编译,从而可以实现模块化。
4.有以下程序段:
char ch;int k;
ch=’a’;k=12;
printf(\\(D)
A. 因变量类型与格式描述符的类型不匹配,输出无定值
B. 输出项与格式描述符个数不符,输出为零值或不定值
C. a,97,12k=12
D. a,97,k=12
解析:字符变量的值是该字符的ASCII码值,可以参与整型变量所允许的任何运算。“ch=’a’”,%c表示以字符格式输出ch的值,所以输出为a;%d表示以十进制代码的形式输出ch的值,为97;k没有对应的输出格式,不输出。在第二个语句中,首先输出“k=”,然后以十进制代码输出k的值,为12。
5.下列叙述中正确的是( )。(D)
A. 栈是“先进先出”的线性表
B. 队列是“先进后出”的线性表
C. 循环队列是非线性结构
D. 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
解析:有序的线性表既可采用顺序存储结构,也可以采用链式存储结构。A项错误,栈是“先进后出”的线性表;B项错误,队列是“先进先出”的线性表;C项错误,循环队列是线性结构的,有序的线性表既可采用顺序存储结构,也可采用链式存储结构。
6.若要实现total=1+2+3+4+5求和,以下程序段错误的是( )。
A
解析:A项执行过程为:i=l,total=1,判断while循环条件1<5成立,total=1+1,i=2;判断循环条件执行函数体,直到i=4,total=1+1+2+3+4,i=5;i=5循环条件不成立,退出循环,A项不能实现题目要求,错误。B项执行过程:i=1,total=0,1<=5成立,total=0+1:1,i=2;直至i=5,total=1+2+3+4+5,i=6;i=6条件不成立,退出循环,程序正确。C项执行过程:i=0,total=0,0<5成立,i=1,total=1;直到i=5,total=1+2+3+4+5;i=5条件不成立,退出循环,程序正确。D项执行过程:i=0,total=0,0<=5成立,total=0,i=1;直到i=5,total=1+2+3+4+5,i=6;i=6条件不成立,退出循环,程序正确。
7.下列不属于软件工程3个要素的是( )。(D)
A. 工具
B. 过程
C. 方法
D. 环境
解析:软件工程是指用工程的方法来构建和维护软件,其要素包括:①方法,用于完成软件工程项目的技术手段;②工具,用于支持软件的开发、管理、文档生成;③过程,用于支持软件开发的各个环节的控制、管理。
8.下面不属于黑盒测试方法的是( )。(B)
A. 边界值分析法
B. 基本路径测试
C. 等价类划分法
D. 错误推测法
解析:常见的黑盒测试方法有:等价类划分法、边界值分析法、错误推测法以及因果图等;常见的白盒测试方法有:逻辑覆盖测试和基本路径测试。
9.有三个关系R、S和T如下:
(D)
A. T=R∩S
B. T=R∪S
C. T=R×S
D. T=R-S
解析:图中关系R比关系s多一行T中的元组,故由关系R和S得到关系T的操作是差。
10.下列选项中,不属于数据管理员(DBA)职责的是( )。(D)
A. 数据库维护
B. 数据库设计
C. 改善系统性能,提高系统效率
D. 数据类型转换
解析:数据库管理员对数据库进行规划、设计、维护、监视等,其主要工作有:①数据库设计,主要是对数据模式进行设计;②数据库维护,对数据库中的数据安全性、完整性、并发控制及系统恢复、数据定期转储等进行实施与维护;③改善系统性能,不断调整内部结构,提高系统效率。
11.有以下程序
#include
main()
{int a=0,b=0;
/*给a赋值a=10;
b=20;给b赋值*/
print]f(\\(A)
A. a+b=0
B. a+b=30
C. a+b=10
D. 出错
解析:注释/*和*/之间的代码不参与编译,所以a、b的值仍为0。
12.有以下程序段
#include
main()
{int a,b,c;
a=10;b=50;c=30;
if(a>b)a=b,b=c;c=a;
printf(\\(B)
A. a=10 b=50 c=30
B. a=10 b=50 c=10
C. a=10 b=30 c=10
D. a=50 b=30 c=50
解析:C语言中使用分号来作为语句的结束,所以a=b,b=c;是一条含有逗号运算符语句。if条件不满足,直接执行c=a。
13.下列二叉树描述中,正确的是( )。(B)
A. 任何一棵二叉树必须有一个度为2的结点
B. 二叉树的度可以小于2
C. 非空二叉树有0个或1个根结点
D. 至少有2个根结点
解析:非空的树形结构有且只有一个根结点,二叉树是每个结点最多有两棵子树的树形结构。度是一个结点所拥有的后件个数
本文档预览:3600字符,共15212字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载