国家二级C++机试(选择题)模拟试卷485
选择题
1.下列选项中,不属于模块间耦合的是( )。(B)
A. 内容耦合
B. 异构耦合
C. 控制耦合
D. 数据耦合
解析:耦合可以分为下列几种,它们之间的耦合度由高到低排列:
内容耦合一一若一个模块直接访问另一模块的内容,则这两个模块称为内容耦合。
公共耦合一一若一组模块都访问同一全局数据结构,则称为公共耦合。
外部耦合一一若一组模块都访问同一全局数据项,则称为外部耦合。
控制耦合一一若一模块明显地把开关量、名字等信息送入另一模块,控制另一模块的功能,则称为控制耦合。
标记耦合一一若两个以上的模块都需要其余某一数据结构的子结构时,不使用其余全局变量的方式而全使用记录传递的方式,这样的耦合称为标记耦合。
数据耦合一一若一个模块访问另一个模块,被访问模块的输入和输出都是数据项参数,则这两个模块为数据耦合。
非直接耦合一一若两个模块没有直接关系,它们之间的联系完全是通过程序的控制和调用来实现的,则称这两个模块为非直接耦合,这样的耦合独立性最强。
2.模板对类型的参数化提供了很好的支持,因此( )。(B)
A. 类模板的主要作用是生成抽象类
B. 类模板实例化时,编译器将根据给出的模板实参生成一个类
C. 在类模板中的数据成员都具有同样类型
D. 类模板中的成员函数都没有返回值
解析:本题考查类模板的基本概念。类模板的定义和声明都以关键字template开头。关键字后面是一个用逗号分隔的模板参数表,用尖括号“”括起来,这个表被称为类模板的模板参数表。类模板是类的抽象,类是类模板的实例。类模板使类中的一些数据成员和成员函数的参数或返回值可以取任意的数据类型。所以B选项正确。
3.下列关于二叉树的叙述中,正确的是(B)
A. 叶子结点总是比度为2的结点少一个
B. 叶子结点总是比度为2的结点多一个
C. 叶子结点数是度为2的结点数的两倍
D. 度为2的结点数是度为1的结点数的两倍
解析:由二叉树的性质可以知道在二叉树中叶子结点总是比度为2的结点多一个。
4.在软件开发中,需求分析阶段产生的主要文档是( )。(D)
A. 软件集成测试计划
B. 软件详细设计说明书
C. 用户手册
D. 软件需求规格说明书
解析:在软件开发过程中,需求分析阶段产生的主要文档是软件需求规格说明书。
5.有如下程序:
#include
using namespace std;
class Part{
public:
Part(int x=0):val(x){cout<<val;}
-Part(){cout<<val;)
private:
int val;
);
class Whole{
public:
Whole(int x,int y,int z=O):p2(x),pl(y),val(z){cout<<val;}
-Whole(){cout<<val;}
private:
Part pl,p2;
int val;
);
int main(){
Wh01e obj(1,2,3);
return 0:
)
程序的输出结果是( )。(B)
A. 123321
B. 213312
C. 213
D. 123123
解析:此题考查的是类的构造与析构。建立类的对象时,构造函数的执行顺序如下:执行基类的构造函数,调用顺序按照各个基类被继承时声叫的顺序 (自左向右)接着执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序,最后执行自身的构造函数。析构顺序与之相反。本题中,Whole类中_仃两个Part类的成员p1和p2,根据它们定义的顺序,先构造p1再构造p2。所以,首先被构造的是pl(y),输出2;第二个被构造的是p2(x),输出1;最后调用析构函数,输出val的值3;析构函数调用顺序与构造函数相反。故最后输出213312。
6.下面属于黑盒测试方法的是( )。(C)
A. 语句覆盖
B. 逻辑覆盖
C. 边界值分析
D. 路径覆盖
解析:采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。
7.数据库系统的三级模式不包括( )。(D)
A. 概念模式
B. 内模式
C. 外模式
D. 数据模式
解析:数据库系统的三级模式包括概念模式、外模式和内模式(物理模式)。
8.数据库设计中反映用户对数据要求的模式是( )。(C)
A. 内模式
B. 概念模式
C. 外模式
D. 设计模式
解析:概念模式,是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。它是由数据库管理系统提供的数据模式描述语言(Data Description Language,DDL)来描述、定义的,体现、反映了数据库系统的整体观。
外模式对应于用户级,它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。外模式是从模式导出的一个子集,也称为子模式或用户模式。它是用户的数据视图,也就是用户所见到的数据模式,它反映了用户对数据的要求。包含模式中允许特定用户使用的那部分数据,用户可以通过外模式描述语言来描述、定义对应于用户的数据记录(外模式),也可以利用数据操纵语言(DataManipulation Language,DML)对这些数据记录进行描述。
内模式,对应于物理级,它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库。内模式由内模式描述语言来描述、定义,它是数据库的存储观。
9.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。(B)
A. 一对一
B. 一对多
C. 多对一
D. 多对多
解析:两个实体集间的联系可以有下面几种:一对一的联系、一对多或多对一的联系和多对多的联系。由于一个宿舍可以住多个学生,所以它们的联系是一对多联系。
10.下列关于C++函数的叙述中,正确的是( )。(C)
A. 每个函数至少要具有一个参数
B. 每个函数都必须返回一个值
C. 函数在被调用之前必须先声明
D. 函数不能自己调用自己
解析:此题考查的是函数的性质。当调用无参函数时主函数并不将数据传送给被调函数,且可以带回或不带回函数值。函数的递归调用就是直接或间接的调用自己。
11.下列有一维数组a的定义中,语法正确的是( )。(D)
A. int a(10);
B. int n=7,a[n];
C. int n;cin>>n;int a[n];
D.
本文档预览:3600字符,共8902字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载