【计算机类职业资格】国家二级(C++)机试模拟试卷160及答案解析.doc
《【计算机类职业资格】国家二级(C++)机试模拟试卷160及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C++)机试模拟试卷160及答案解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C+)机试模拟试卷 160 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是( )。(分数:2.00)A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性2.下列叙述中正确的是( )。(分数:2.00)A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈与队列都是非线性结构D.以上三种说法都不对3.软件测试
2、的目的是( )。(分数:2.00)A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误4.在软件开发中,需求分析阶段产生的主要文档是( )。(分数:2.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书5.软件生命周期是指( )。(分数:2.00)A.软件产品从提出、实现、使用维护到停止使用退役的过程B.软件从需求分析、设计、实现到测试完成的过程C.软件的开发过程D.软件的运行维护过程6.面向对象方法中,继承是指( )。(分数:2.00)A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间
3、共享属性和操作的机制7.层次型、网状型和关系型数据库划分原则是( )。(分数:2.00)A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式8.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是( )。(分数:2.00)A.一对一B.一对多C.多对多D.多对一9.数据库设计中反映用户对数据要求的模式是( )。(分数:2.00)A.内模式B.概念模式C.外模式D.设计模式10.有三个关系 R、S 和 T 如下: (分数:2.00)A.自然连接B.差C.交D.并11.下列符号中能够作为 C+标识符的是( )。(分数:2.00)A.con
4、stB.2aC._shapeD.-count12.已知枚举类型声明语句为:enum COLORWHITE,YELLOW,GREEN=5,RED,BLACK=10;则下列说法中错误的是( )。(分数:2.00)A.枚举常量 YELLOW 的值为 1B.枚举常量 RED 的值为 6C.枚举常量 BLACK 的值为 10D.枚举常量 WHITE 的值为 113.执行下列语句段后,输出字符“*”的个数是( )。for(int i=50;i1;i-=2)cout*;(分数:2.00)A.24B.25C.26D.5014.有如下定义:int a5=1,3,5,7,9,*p=a;下列表达式中不能得到数值 5
5、 的是( )。(分数:2.00)A.a2B.a3C.*(p+2)D.*p+415.下列语句中错误的是( )。(分数:2.00)A.const int a;B.const int a=10;C.const int*point=0;D.const int*point=new int(10);16.已知函数 FA 调用函数 FB,若要把这两个函数定义在同一个文件中,则( )。(分数:2.00)A.FA 必须定义在 FB 之前B.FB 必须定义在 FA 之前C.若 FA 定义在 FB 之后,则 FA 的原型必须出现在 FB 的定义之前D.若 FB 定义在 FA 之后,则 FB 的原型必须出现在 FA
6、的定义之前17.下列关于运算符函数的描述中,错误的是( )。(分数:2.00)A.运算符函数的名称总是以 operator 为前缀B.运算符函数的参数可以是对象C.运算符函数只能定义为类的成员函数D.在表达式中使用重载的运算符相当于调用运算符重载函数18.为了提高函数调用的实际运行速度,可以将较简单的函数定义为( )。(分数:2.00)A.内联函数B.重载函数C.递归函数D.函数模板19.若要对 Data 类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。(分数:2.00)A.Data+(Data);B.Data operator+(Data);C.Data+operator(D
7、ata);D.operator+(Data,Data);20.已知函数 f 的原型是 void f(int*a,long&b);,变量 v1、v2 的定义是:int v1;long v2;下列调用语句中正确的是( )。(分数:2.00)A.f(v1,&v2);B.f(v1,v2);C.f(&v1,&v2);D.f(&v1,v2);21.已知 Value 是一个类,value 是 Value 的一个对象。下列以非成员函数形式重载的运算符函数原型中,正确的是( )。(分数:2.00)A.Value operator+(Value v,int i);B.Value operator+(Value v
8、=value,int i);C.Value operator+(Value v,int i=0);D.Value operator+(Value v=value,int i=0);22.下列关于运算符重载的描述中,正确的是( )。(分数:2.00)A.运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符B.一元运算符只能作为成员函数重载C.二元运算符重载为非成员函数时,参数表中有一个参数D.C+中可以重载所有的运算符23.下列有关类成员的叙述中,正确的足( )。(分数:2.00)A.友元函数是类的成员函数B.类成员的默认访问权限是私有的C.类成员函数必须声明为公有的D.类的静态数据成员
9、不能是常成员24.有如下类定义:class Pointprivate:static int how_many;_how_many=0;要初始化 Point 类的静态成员 how_many,下画线处应填入的内容是( )。(分数:2.00)A.intB.static intC.int Point:D.static int Point:25.有如下头文件:int f1();static int f2();class MApublic:int f3();static int f4();在所描述的函数中,具有隐含的 this 指针的是( )。(分数:2.00)A.f1B.f2C.f3D.f426.下列有
10、关类继承的叙述中,错误的是( )。(分数:2.00)A.继承可以实现软件复用B.虚基类可以解决由多继承产生的二义性问题C.派生类构造函数要负责调用基类的构造函数D.派生类没有继承基类的私有成员27.在下列关键字中,不能用来表示继承方式的是( )。(分数:2.00)A.privateB.staticC.publicD.protected28.有如下两个类定义:class XXprivate:double x1;protected:double x2;public:double x3;class YY:protected XXprivate:double y1;protected:double y
11、2;public:double y3;在类YY 中保护成员变鼍的个数是( )。(分数:2.00)A.1B.2C.3D.429.有如下类定义:class MyClassint vallie;public:MyClass(int n):value(n)int getValue()constreturn value;则类 MyClass 的构造函数的个数是( )。(分数:2.00)A.1 个B.2 个C.3 个D.4 个30.有如下类和对象的定义:class Constantspublic:static double getPI()return31416;Constants constants;下列
12、各组语句中,能输出 31416 的是( )。(分数:2.00)A.coutconstants-getPI();和 coutConstants:getPI();B.coutconstantsgetPI();和 coutConstantsgetPI();C.coutconstants-getPI();和 coutConstants-getPI();D.coutconstantsgetPI();和 coutConstants:getPI();31.有如下程序:#includeiostreamusing namespace std;class VACpublic:int f()constreturn3
13、;int f()return5;int main()VAC v1;const VAC v2;coutv1f()v2f();return0;执行这个程序的输出结果是( )。(分数:2.00)A.53B.35C.55D.3332.有如下程序:#includeinstreamusing ntirnespace std;class MyClasspublic:MyClass(int i=0)cout1;MyClass(const MyClass&x)cout2;MyClass&operator=(const MyClass&x)tout3;return*this;MyClass()cout4;int
14、main()MyClass obj1(1),obj2(2),obj3(obj1);return0;执行这个程序的输出结果是( )。(分数:2.00)A.112444B.11114444C.121444D.1131444433.有如下类声明:class Baseprotected:int amount;public:Base(int n=0):mount(n)int getAmount()constreturn mount;class Derived:public Baseprotected:int value;public:Derived(int m,int n):value(m),Base(
15、n)int getData()constreturn value+amount;已知 x 是一个 Derived 对象,则下列表达式中正确的是( )。(分数:2.00)A.xvalue+xgetAmount()B.xgetData()-xgetAmount()C.xgetData()-xamountD.xvalue+xamount34.有如下程序:#includeiostreamusing namespace std;class AAint k;protected:int n;void setK(int k)this-k=k;public:void setN(intn)this-n=n;cla
16、ss BB:public AA*类体略*;int main()BB x;xn=1:1xsetN(2);2xk=3:3xsetK(4);4return0;在标注号码的四条语句中正确的是( )。(分数:2.00)A.1B.2C.3D.435.有如下程序:#includeiostreamusing namespace std;class Baseint x;public:Base(int n=0):x(n)coutn;int getX()constreturn x;class Derived:public Baseint y;public:Derived(int m,int n):y(m),Base
17、(n)toutm;Derived(int m):y(m)coutm;int main()Derived d1(3),d2(5,7);return0;执行这个程序的输出结果是( )。(分数:2.00)A.375B.357C.0375D.035736.有如下程序:#includeiostreamusing namespace std;class GApublic:drtual int f()return1;class GB:public GApublic:virtual int f()return2;void show(GA g)coutgf();void display(GA &g)coutgf
18、();int main()GA a;show(a);display(a);GB b;show(b);display(b);return0;执行这个程序的输出结果是( )。(分数:2.00)A.1111B.1211C.1112D.121237.下列有关模板的叙述中,正确的是( )。(分数:2.00)A.函数模板不能含有常规形参B.函数模板的一个实例就是一个函数定义C.类模板的成员函数不能是模板函数D.用类模板定义对象时,绝对不能省略模板实参38.下面是一个模板声明的开始部分:templatetypename Tdouble由此可知( )。(分数:2.00)A.这可能是一个函数模板的声明B.这可能
19、是一个类模板的声明C.这既可能是一个函数模板的声明,也可能是一个类模板的声明D.这肯定是一个错误的模板声明39.C+系统预定义了 4 个用于标准数据流的对象,下列选项中不属于此类对象的是( )。(分数:2.00)A.coutB.cinC.CelTD.cset40.下列语句都是程序运行时的第 1 条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是( )。(分数:2.00)A.coutinternal12345;B.coutleft12345:C.coutright12345;D.coutsetw(6)12345;二、基本操作题(总题数:1,分数:2.00)41.使用 VC6 打开考生
20、文件夹 proj1 下的工程 proj1,其中定义了一个 CD 类。程序中位于每个ERROR*found*下的语句行有错误,请加以更正,不得修改程序的其他部分。更正后程序的输出应该是:歌唱祖国 30 义勇军进行曲 95 注意:只能修改每个ERROR*found*下的那一行,不要改动程序中的其他内容。#includeiostream#includecstringusing namespace std;class CDchar name20;int number;public:void init(char*aa,int bb)ERROR*found*name=an;number=bb;char*g
21、etName()ERROR*found*return*name;int getNumber()return number;void output()ERROR*found*coutname20 numberendl;void main()CD dx,dy;dxinit(“歌唱祖国“,30);dyinit(“义勇军进行曲“,3*dxgetNumber()+5);dxoutput();dyoutput();(分数:2.00)_三、简单应用题(总题数:1,分数:2.00)42.请使用 VC6 或使用【答题】菜单打开考生文件夹 proj2 下的工程 proj2,此工程包含有一个源程序文件 proj2c
22、pp,其中定义了 Stack 类和 ArrayStack 类。stack 是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack 为抽象类,它只定义了栈的用户接口,如下所示:公有成员函数功能 push入栈:在栈顶位置添加一个元素 pop 退栈:取出并返回栈顶元素 ArrayStack 是 Stack 的派生类,它实现了 Stack 定义的接口。ArrayStack 内部使用动态分配的字符数组作为栈元素的存储空间。数据成员maxSize 表示的是栈的最大容量,top 用于记录栈顶的位置。成员函数 push 和 pop 分别实现具体的人栈和退栈操作。请在程序中的横线处填写适当的代码,
23、然后删除横线,以实现上述功能。此程序的正确输出结果应为:a,b,Cc,b,a 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“*found*”。proj2cpp#includeiostreamusing namespace std;class Stackpublic:virtual void push(char c)=0;virtual char pop()=0;class ArrayStack:public Stackchar*p;int maxSize;int top;public:ArrayStack(int s)top=0;maxSize=s;*found*
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 模拟 试卷 160 答案 解析 DOC
