国家二级C++机试(选择题)模拟试卷225
选择题
1.下列符号中能够作为C++标识符的是( )。(C)
A. const
B. 2a
C. _shape
D. -count
解析:此题考查的是c++标识符。标识符是由数字、字母以及下划线构成,其第一个字符必须是字母或下划线,中间不能有空格;标识符的长度是任意的,但由于编译系统的限制一般不超过31个字符;标识符中的人小写字母是不同的;定义标识符时不能采用系统的保留字。
2.下列关于栈的描述中错误的是(B)
A. 栈是先进后出的线性表
B. 栈只能顺序存储
C. 栈具有记忆作用
D. 对栈的插入与删除操作中,不需要改变栈底指针
解析:栈是限定在一端进行插入与删除的线性表。栈顶(top):插入数据(即入栈)的一端;栈底(bottom):不能入栈也不能出栈的一端。栈存储数据的原则:“先进后出”或“后进先出”。栈的特性是具有记忆作用。
3.下列叙述中正确的是( )。(A)
A. 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B. 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C. 顺序存储结构能存储有序表,链式存储结构不能存储有序表
D. 链式存储结构比顺序存储结构节省存储空间
解析:顺序存储方式主要用于线性的数据结构,它把逻辑上相邻的数据元素存储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接关系来体现。而链式存储结构的存储空间不一定是连续的。
4.下列关于C++函数的说明中,正确的是( )。(C)
A. 内联函数就是定义在另一个函数体内部的函数
B. 函数体的最后一条语句必须是return语句
C. 标准C++要求在调用一个函数之前,必须先声明其原型
D. 编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式
解析:此题考查的是有关函数的概念。内联函数是在函数定义之前加关键字inline来声明的函数,而不是定义在另一个函数体内部的函数,故选项A错误;无返回值的函数在执行完最后一条语句后,会自动返回而不必加入return语句,故选项B错误;如果函数只是返回值类型不同,而其它完全相同,则不能作为函数重载来使用,故选项D错误。
5.数据流程图(DFD图)是( )。(C)
A. 软件概要设计的工具
B. 软件详细设计的工具
C. 结构化方法的需求分析工具
D. 面向对象方法的需求分析工具
解析:本题考查数据流程图DFD的概念。对于面向数据流的结构化分析方法,按照DeMarco的定义,“结构化分析就是使用数据流图(DFD)、数据字典(DD)、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化规格说明的目标文档”。结构化分析方法的实质是着眼于数据流,自项向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。数据流图(DFD一DataFlow Diagram)是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统的功能建模。数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。由此可得数据流程图是结构化方法的需求分析工具。
6.下列关于C++预定义流对象的叙述中,正确的是( )。(A)
A. cin是C++预定义的标准输入流对象
B. cin是C++预定义的标准输入流类
C. cout是C++预定义的标准输入流对象
D. eout是C++预定义的标准输入流类
解析:cin是C++预定义的标准输入流对象,cout是C++预定义的标准输出流对象。
7.有三个关系R、S和T如下:
(D)
A. 自然连接
B. 并
C. 交
D. 差
解析:由关系T中的数据可以看出,其数据由属于关系R但是不属于关系S的数据组成。所以关系T是由关系R和s通过差运算得到的。
8.以下程序的执行结果是( )。
#include<iostream.h>
int a[8]={1,2,3,4,5,6,7};
void fun(int*pa,int n);
void main()
{int m=8;
fun(a,m);
cout<<a[7]<<endl;
}
void fun(int*pa,int n)
{for(int I=0;I<n-1;I++)
*(pa+7)+=*(pa+I);
}(D)
A. 0
B. 1
C. 4
D. 28
解析:void fun(int *pa,int n)函数定义的功能就是把数组的每个元素的值加到元素pa[7]中,也就是数组的元素之和放在a[7]中存储,所以结果28。
9.有如下类定义:
class MyBase{
int k;
public:
MyBase(int n=0):k(n){}
int value()const{return k;}
};
class MyDerived:MyBase{
int j;
public:
MyDerived(int i):j(i){}
int getK()const{return k;}
hat getJ()const{returnj;}
};
编译时发现有一处语法错误,对这个错误最准确的描述是( )。(A)
A. 函数getK试图访问基类的私有成员变量k
B. 在类MyDerived的定义中,基类名MyBase前缺少关键字public、protected或pfivte
C. 类MyDerived缺少一个无参的构造函数
D. 类MyDerived的构造函数没有对基类数据成员k进行初始化
解析:此题考查的是派生类对基类成员的访问。因为类中缺省的访问权限是私有,所以本题中MyBase类中定义的成员k是私有成员。派生类中的成员只能访问基类中的公有成员和保护成员,不能访问基类中的私有成员。所以派生类中函数getK()中的语句return k;是非法的。
10.下列选项中,不是C++关键字的是( )。(B)
A. class
B. function
C. friend
D. vinual
解析:class、friend、virtual都是C+的关键字,而funtion是VB的关键字。
11.在关系模式A(S,SN,D)和B(D,CN,NM)中,关系A的主键是S,关系B的主键是D,则属性D在关系A中称为(A)
A. 外键
B. 主键
C. 超键
D. 候选键
解析:如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为丰表,具有此外键的表破称为主表的从表。外键又称作外
本文档预览:3600字符,共7469字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载