全国计算机等级考试等级考试真题库之选择题(15
1.下列链表中,其逻辑结构属于非线性结构的是
A)  二叉链表
B)  循环链表
C)  双向链表
D)  带链的栈
    参考答案:A
【解析】在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。带链的栈可以用来收集计算机存储空间中所有空闲的存储结点,是线性表。在单链表中的结点中增加一个指针域指向它的直接前件,这样的链表,就称为双向链表(一个结点中含有两个指针),也是线性链表。循环链表具有单链表的特征,但又不需要增加额外的存贮空间,仅对表的链接方式稍做改变,使得对表的处理更加方便灵活,属于线性
链表。二叉链表是二叉树的物理实现,是一种存储结构,不属于线性结构。答案为A选项。
2.设循环队列的存储空间为Q(1: 35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15rear=15,则循环队列中的元素个数为
A)  15
B)  16
C)  20
D)  035
    参考答案:D
【解析】在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。在循环队列中进行出队、入队操作时,头尾指针仍要加1,朝前移动。只不过当头尾指针指向向量上界时,其加1操作的结果是指向向量的下界0。由于入队时尾指针向前追赶头指针,出队时头指针向前追赶尾指针,故队空和队满时,头尾指针
均相等。答案为D选项。
3.下列关于栈的叙述中,正确的是
A)  计算机二级c语言选择题库栈底元素一定是最后入栈的元素
B)  栈顶元素一定是最先入栈的元素
C)  栈操作遵循先进后出的原则
D)  以上说法均错误
    参考答案:C
【解析】栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。栈的修改是按后进先出的原则进行的。因此,栈称为先进后出表,或"后进先出"表,所以选择C
4.在关系数据库中,用来表示实体间联系的是
A)  属性
B)  二维表
C)  网状结构
D)  树状结构
    参考答案:B
【解析】关系模型实体间的联系采用二维表来表示,简称表。选项C为网状模型实体间的联系,选项D为层次模型实体间的联系,选项A属性刻画了实体
5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是
A)  11联系
B)  m1联系
C)  1m联系
D)  mn联系
    参考答案:C
【解析】两个实体集间的联系实际上是实体集间的函数关系,主要有一对一联系(1:1)、一对多联系(1:m)、多对一联系(m:1)、多对多联系(m:n)。对于每一个实体部门,都有多名职员,则其对应的联系为一对多联系(1:m),答案选C
6.
A)  选择
B)  投影
C)  自然连接
D) 
    参考答案:A
【解析】由关系R到关系S为一元运算,排除CD。关系S是关系R的一部分,是通过选择之后的结果,因此选A
7.数据字典(DD) 所定义的对象都包含于
A)  数据流图(DFD)
B)  程序流程图
C)  软件结构图
D)  方框图
    参考答案:A
【解析】在数据流图中,对所有元素都进行了命名,所有名字的定义集中起来就构成了数据字典。因此选A,而BCD都不符合。
8.软件需求规格说明书的作用不包括
A)  软件验收的依据
B)  用户与开发人员对软件要做什么的共同理解
C)  软件设计的依据
D)  软件可行性研究的依据
    参考答案:D
【解析】软件需求规格说明书是需求分析阶段的最后成果,是软件开发的重要文档之一。
软件需求规格说明书有以下几个方面的作用。①便于用户、开发人员进行理解和交流,B
确;②反映出用户问题的结构,可以作为软件开发工作的基础和依据,C正确;③作为确认测试和验收的依据,A正确。
9.下面属于黑盒测试方法的是
A)  语句覆盖
B)  逻辑覆盖
C)  边界值分析
D)  路径覆盖
    参考答案:C
【解析】黑盒测试不关心程序内部的逻辑,只是根据程序的功能说明来设计测试用例。在使用黑盒测试法时,手头只需要有程序功能说明就可以了。黑盒测试法分等价类划分法、边界值分析法和错误推测法,答案为C。而ABD均为白盒测试方法。
10.下面不属于软件设计阶段任务的是
A)  软件总体设计
B)  算法设计
C)  制定软件确认测试计划
D)  数据库设计
    参考答案:C
【解析】从技术观点上看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。所以ABD正确,C为软件测试阶段的任务。
11.以下叙述中正确的是
A)  NS流程图只能描述简单的顺序结构的程序
B)  程序的算法只能使用流程图来描述
C)  结构化程序的三种基本结构是循环结构、选择结构、顺序结构
D)  计算机可以直接处理C语言程序,不必进行任何转换
    参考答案:C
【解析】N-S流程图是可以描述循环结构选择结构顺序结构等多种结构的程序,所以A选项错误程序的算法可以用流程图伪代码N-S结构图等方法表示,所以B选项错误计算机只能处理二进制表示的目标程序,不能直接执行由C语言编写的源程序,所以D选项错误
12.以下叙述中正确的是
A)  书写源程序时,必须注意缩进格式,否则程序会有编译错误
B)  程序的主函数名除main外,也可以使用Main_main
C)  程序可以包含多个主函数,但总是从第一个主函数处开始执行
D)  C程序中,模块化主要是通过函数来实现的
    参考答案:D
解析】C语言的源程序中对缩进没有要求,所以A选项错误C语言中区分大小写,main函数不能写成Main_main,所以B选项错误一个C程序有且只有一个主函数,所以C选项错误
13.C语言中double 类型数据占字节数为
A)  4
B)  8
C)  12
D)  16
    参考答案:B
【解析】double型数据在内存中占8个字节,float型数据占4个字节,int型数据占2个字节,char型数据占1个字节所以选择B
14.以下叙述中正确的是
A)  语言中的关键字不能作变量名,但可以作为函数名
B)  标识符的长度不能任意长,最多只能包含16个字符
C)  标识符总是由字母、数字和下划线组成,且第一个字符不得为数字
D)  用户自定义的标识符必须"见名知义",如果随意定义,则会出编译错误
    参考答案:C
解析】C语言中的关键字即不能做变量名也不能做用户函数名,所以A错误标识符的命名规则,即由下划线字母数字组成,且必须以下划线和字母开始,也不能和关键字一致不同C语言规定标识符的有效长度可能会不同,但没有限制最大长度,所以B错误用户定义的标识符只要满足标识符命名规则没有特殊要求,不必一定"见名知义",所以D错误
15.以下叙述中正确的是
A)  printf输出的数据都隐含左对齐
B)  scanfprintfC语言提供的输入和输出语句
C)  赋值语句是一种执行语句,必须放在函数的可执行部分
D)  printf输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定的
    参考答案:C
【解析】scanfprintfC语言提供的输入输出函数,所以B错误printf输出的数据都隐含右对齐,所以A错误Printf输出数据所占的宽度由系统决定,所以D错误
16.以下叙述中正确的是
A)  复合语句在语法上包含多条语句,其中不能定义局部变量
B)  花括号对{}只能用来表示函数的开头和结尾,不能用于其他目的
C)  空语句就是指程序中的空行
D)  当用scanf从键盘输入数据时,每行数据在没按下回车键(Enter) 前,可以任意修改
    参考答案:D
【解析】复合语句可以包含多条语句,在其中可以定义局部变量,所以A错误花括号对{}不仅用来表示函数的开头和结尾,也可以用于表示复合语句,所以B错误C语言中的语句必须以分号";"结束,所以空语句表示为";",不是空行,所以C错误
17.以下叙述中正确的是
A)  C语言中,逻辑真值和假值分别对应10
B)  关系运算符两边的运算对象可以是C语言中任意合法的表达式
C)  对于浮点变量xy,表达式:x==y 是非法的,会出编译错误
D)  分支结构是根据算术表达式的结果来判断流程走向的
    参考答案:B
【解析】A选项中,在C语言中,逻辑真值对应非0 C选项中,表达式:x==y 是合法的;D选项中,分支结构的流程走向是根据表达式的值,并不仅仅是算数表达式的值。因此B选项正确。
18.以下叙述中正确的是
A)  对于逻辑表达式:a++ || b++,设a的值为1,则求解表达式的值后,b的值会发生改变
B)  对于逻辑表达式:a++ && b++,设a的值为0,则求解表达式的值后,b的值会发生改变
C)  else不是一条独立的语句,它只是if语句的一部分
D)  关系运算符的结果有三种:01-1
    参考答案:C
【解析】B选项和A选项中,对于逻辑表达式,其中b的值不会因为表达式的结果发生改变;D选项中,关系运算符的结果有""""两种。因此C选项正确。
19.以下叙述中正确的是
A)  continue语句使得整个循环终止
B)  break语句不能用于提前结束for语句的本层循环
C)  使用break语句可以使流程跳出switch语句体
D)  for语句中,continuebreak的效果是一样的,可以互换
    参考答案:C
【解析】break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;当break语句用于do-whileforwhile循环语句中时,可使程序终止循环而执行循环后面的语句,即满足条件时便跳出循环。continue语句的作用是跳过循环体中剩余的语句而强行执行下一次循环。ABD三个选项中均有错误。因此C选项正确。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。