国家二级C++机试(选择题)模拟试卷214
选择题
1.按照“后进先出”原则组织数据的数据结构是(B)
A. 队列
B. 栈
C. 双向链表
D. 二叉树
解析:栈是限定在一端进行插入与删除的线性表。在栈中,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。栈顶元素总是最后被插入的元素,也是最先被删除的元素:栈底元素总是最先被插入的元素,也是最后才能被删除的元素。即栈是按照“后进先出”(LastIn First Out,简称LIFO)或“先进后出”(First In Last Out,简称FILO)的原则组织数据的。因此,栈也称为“后进先出表”或“先进后出”表。
2.以下程序的执行结果是( )。
#include<iostream.h>
class TcstClass2
{
public:
TestClass2(){};
TestClass2(int i,int j);
void printb();
private:
int a,b;
};
class TestClass1
{
public:
TestClass1(){}
TestClass1(int i,int j);
void printa();
private:
TestClass2 c;
};
TestClass1::TestClass1(int i,int j):c(i,j)
{}
void TestClass1::printa()
{c.printb();}
TestClass2::TestClass2(int i,int j)
{a=i;
b=j;
}
void TestClass2::printb()
{ cout<<’’a=\\(C)
A. a=7,b=8
B. a=8,b=7
C. a=7,b=9
D. a=8,b=9
解析:由主函数main入手,定义了TestClassl的对象m,其中参数为7和9。“m.printa();”中TestClass1中printa为“c.printb();”,其中c为TestClass2的对象,所以printb为TestClass2中的“void TestClass2::printb()”,即输出为“a=7,b=9”。
3.下列选项中不属于结构化程序设计方法的是( )。(D)
A. 自顶向下
B. 逐步求精
C. 模块化
D. 可复用
解析:结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化,限制使用goto语句。自项向下是指程序设计时应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。逐步求精是指对复杂问题应设计一些子目标过渡,逐步细化。模块化是把程序要解决的总目标先分解成分目标,再进一步分解成具体的小目标,把每个小目标称为一个模块。可复用性是指软件元素不加修改成稍加修改便可在不同的软件开发过程中重复使用的性质。软件可复用性是软件工程追求的目标之一,是提高软件生产效率的最主要方法,不属于结构化程序设计方法。
4.两个或两个以上模块之间关联的紧密程度称为( )。(A)
A. 耦合度
B. 内聚度
C. 复杂度
D. 数据传输特性
解析:模块的独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系较少且接口简单。衡量软件的模块独立性使用:内聚性和耦合性两个定性度量标准。内聚性是对…个模块内部各个元素彼此结合的紧密程度的度量;耦合性是对模块间互相连接的紧密程度的度量。一般较优秀的软件设计,应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
5.下列描述中正确的是( )。(D)
A. 软件测试应该由程序开发者来完成
B. 程序经调试后一般不需要再测试
C. 软件维护只包括对程序代码的维护
D. 以上三种说法都不对
解析:为了达到好的测试效果,应该由独立的第三方进行测试工作。因为从心理学角度讲,程序人员或设计方在测试自己的程序时,要采取客观的态度是会不同程度地存在障碍的,所以选项A错误。在程序调试时,修改了一个错误的同时可能引入了新的错误,解决的办法是在修改了错误之后,必须进行回归测试,所以选项B错误。所谓软件维护,就是将交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改,所以选项C错误。
6.下列对重载函数的描述中,( )是错误的。(A)
A. 重载函数中不允许使用默认参数
B. 重载函数中编译是根据参数表进行选择
C. 不要使用重载函数来描述毫不相干的函数
D. 构造函数重载将会给初始化带来多种方式
解析:选项A)中,重载函数中是允许使用默认参数的;为了使重载函数有意义,不要使用重载函数来描述毫无相干的函数;重载函数巾编译是根据参数表进行选择,包括参数的个数和类型。
7.下面模型中为概念模型的是(D)
A. 网状模型
B. 层次模型
C. 关系模型
D. 实体一联系模型
解析:概念模型足对真实世界中问题域内的事物的描述,不是对软件设计的描述。概念数据模型是面向用户、面向现实世界的数据模型,是与DBMS无关的。它主要刖来描述一个单位的概念化结构。实体关系模型(Entity Relationship Diagram)地理信息系统术语,该模型直接从现实世界中抽象出实体类型和实体间联系,然后用实体联系图(E-R图)表示数据模型,是描述概念世界,建立概念模型的实用工县。层次模型是指辟{一颗“有向树”的数据结构来表示表示各类实体以及实体间的联系,树中每一个结点代表一个记录类型,树状结构表示实体型之间的联系。层次模型是最早用于商品数据库管理系统的数据模型。
8.若一个函数的原型为“int*Xfun1(int x,int&y,char z);”,则该函数的返回值类型为( )。(A)
A. int*
B. int
C. int&
D. char
解析:由“int*Xfun1(int x,int&y,char z);”的定义可知,其返回值为指向int指针的函数。
9.下面是重载为非成员函数的运算符函数原型,其中错误的是( )。(C)
A. Fraction operator+(Fraction,Fraction);
B. Fraction operator-(Fraction);
C. Fraction&operator=(Fraction&,Fraction);
D. Fraction&operator+=(Fraction&,Fraction);
解析:此题考查的是运算符重载。C++语言规定,“=”运算符只能作为成员函数重载。
10.要建立文件流并打开当前目录下的文件file.dat用于输入,下列语句中错误的是( )。(A)
A. ifstrea
本文档预览:3600字符,共5766字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载