国家二级(C++)机试模拟试卷144
选择题
1.下列叙述中正确的是( )。(B)
A. 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
B. 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
C. 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
D. 线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性
解析:线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以一般要多于顺序存储结构。
2.下列叙述中正确的是( )。(D)
A. 栈是一种先进先出的线性表
B. 队列是一种后进先出的线性表
C. 栈与队列都是非线性结构
D. 以上三种说法都不对
解析:栈是一种先进后出的线性表,队列是一种先进先出的线性表,栈与队列都是线性结构。
3.软件测试的目的是( )。(D)
A. 评估软件可靠性
B. 发现并改正程序中的错误
C. 改正程序中的错误
D. 发现程序中的错误
解析:软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能。不是为了评估软件或改正错误。
4.在软件开发中,需求分析阶段产生的主要文档是( )。(D)
A. 软件集成测试计划
B. 软件详细设计说明书
C. 用户手册
D. 软件需求规格说明书
解析:需求分析阶段的工作可以概括为:需求获取、需求分析、编写需求规格说明书、需求评审四个方面。所以选择D。
5.软件生命周期是指( )。(A)
A. 软件产品从提出、实现、使用维护到停止使用退役的过程
B. 软件从需求分析、设计、实现到测试完成的过程
C. 软件的开发过程
D. 软件的运行维护过程
解析:通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。
6.面向对象方法中,继承是指( )。(D)
A. 一组对象所具有的相似性质
B. 一个对象具有另一个对象的性质
C. 各对象之间的共同性质
D. 类之间共享属性和操作的机制
解析:继承是面向对象的方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。广义的说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,所以说继承是指类之间共享属性和操作的机制。
7.层次型、网状型和关系型数据库划分原则是( )。(D)
A. 记录长度
B. 文件的大小
C. 联系的复杂程度
D. 数据之间的联系方式
解析:层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,所以三种数据库的划分原则是数据之间的联系方式。
8.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是( )。(C)
A. 一对一
B. 一对多
C. 多对多
D. 多对一
解析:因为一个人可以操作多个计算机,而一台计算机又可以被多个人使用,所以两个实体之间是多对多的关系。
9.数据库设计中反映用户对数据要求的模式是( )。(C)
A. 内模式
B. 概念模式
C. 外模式
D. 设计模式
解析:数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,所以选择c。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。
10.有三个关系R、S和T如下:
(B)
A. 自然连接
B. 差
C. 交
D. 并
解析:关系T中的元组是R关系中有而S关系中没有的元组的集合,所以进行的是差的运算。
11.下列符号中能够作为C++标识符的是( )。(C)
A. const
B. 2a
C. _shape
D. .count
解析:本题考查C++标识符的命名规则,其规则有如下几点:①所有标识符必须由字母、数字或下画线组成,且必须由字母或下画线开头;②所有标识符不能使用C++已有的关键字;③大、小写字母表示不同意义,即代表不同的标识符。选项A是关键字,选项B不能以数字开头,选项D包含了字符”一”,且不能以此字符开头。故答案为C。
12.已知枚举类型声明语句为:
enum COLOR{WHITE,YELLOW,GREEN=5,RED,BLACK=10};
则下列说法中错误的是( )。(D)
A. 枚举常量YELLOW的值为1
B. 枚举常量RED的值为6
C. 枚举常量BLACK的值为10
D. 枚举常量WHITE的值为1
解析:C++语言规定枚举常量的默认值依次等于0,1,…,n—1。也可以给枚举常量赋初值,方法是:在枚举常量的后面跟上“=整型常量”,在给枚举常量赋初值时,如果给其中任何一个枚举常量赋初值,则其后的枚举常量将按自然数的规则依次赋初值。所以本题答案为D。
13.执行下列语句段后,输出字符“*”的个数是( )。
for(int i=50;i>1;i-=2)
cout<<’*’;(B)
A. 24
B. 25
C. 26
D. 50
解析:本题考查for循环语句,题目中每执行完循环体后,i都会减2,那么只有50到2之间的偶数才能输出“*”,所以总共输出25次。
14.有如下定义:
int a[5]={1,3,5,7,9},*p=a;
下列表达式中不能得到数值5的是( )。(B)
A. a[2]
B. a[3]
C. *(p+2)
D. *p+4
解析:本题考查指向数组的指针,本题中指针变量p指向数组a,直接使用数组下标即可取值,数组下标是从0开始标号的,所以a[2]能取到5,而a[3]取不到5,C选项中使用指针后移方法能够取到5,D选项中*p为1,所以*p+4为5。
15.下列语句中错误的是( )。(A)
A. const int a;
B. const int a=10;
C. const int*point=0;
D. const int*point=new int(10);
解析:const是一个C++语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性。限定符声明变量只能被读,必须初始化。A选项没有初始化,B、C、D选项都正确。
16.已知函数FA调用函数FB,若要把这两个函数定义在同一个文件中,则( )。(D)
A. FA必须定义在FB之前
B. FB必须定义在FA之前
本文档预览:3600字符,共16318字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载