【计算机类职业资格】二级C++笔试-440及答案解析.doc
《【计算机类职业资格】二级C++笔试-440及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-440及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-440 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列关于栈叙述正确的是( )。A栈顶元素最先能被删除 B栈顶元素最后才能被删除C栈底元素永远不能被删除 D以上三种说法都不对(分数:2.00)A.B.C.D.2.在深度为 5 的满二叉树中,叶子结点的个数为( )。A31 B32C16 D15(分数:2.00)A.B.C.D.3.结构化程序设计方法的 3 种基本控制结构中不包括( )。A循环结构 B递归结构C顺序结构 D选择结构(分数:2.00)A.B.C.D.4.下列不属于软件调试技术的是( )。A强行排错法 B集成测
2、试法C回溯法 D原因排除法(分数:2.00)A.B.C.D.5.以下不属于数据库系统模型的是( )。A选择型数据库系统 B关系型数据库系统C层次型数据库系统 D网状型数据库系统(分数:2.00)A.B.C.D.6.数据库系统与文件系统的最主要区别是( )。A数据库系统复杂,而文件系统简单B文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决C文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件D文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量(分数:2.00)A.B.C.D.7.在软件开发中,需求分析阶段产生的主要文档是( )。A软件集成测试计划 B软件详细设计说明
3、书C用户手册 D软件需求规格说明书(分数:2.00)A.B.C.D.8.软件需求分析阶段的工作,可以分为四个方面:需求获取,需求分析,编写需求规格说明书,以及( )。A阶段性报告 B需求评审C总结 D都不正确(分数:2.00)A.B.C.D.9.已知数据表 A 中每个元素距其最终位置不远,为节省时间,应采用的算法是( )。A堆排序 B直接插入排序C快速排序 D直接选择排序(分数:2.00)A.B.C.D.10.树是结点的集合,它的根结点数目是( )。A有且只有 1 B1 或多于 1C0 或 1 D至少 2(分数:2.00)A.B.C.D.11.设 a 和 b 均为 double 型变量,且 a
4、=5.5、b=2.5,则表达式(int)a+b/b 的值是( )。A6.500000 B6C5.500000 D6.000000(分数:2.00)A.B.C.D.12.如果有以下定义及初始化:int a=3,*p=则由此可以推断,*p 的值是( )。A变量 a 的值,即 3 B变量 a 的地址值C变量 p 的地址值 D无意义(分数:2.00)A.B.C.D.13.一个函数为 void f(int,char ch=a),另一个函数为 void f(int),则它们( )。A不能在同一程序中定义B可以在同一程序中定义并可重载C可以在同一程序中定义,但不可以重载D以上说法均不正确(分数:2.00)A
5、.B.C.D.14.关于类和对象描述错误的是( )。A对象(Object)是现实世界中的客观事物,对象具有确定的属性B类是具有相同属性和行为的一组对象的集合C对象是类的抽象,类是对象的实例D类是对象的抽象,对象是类的实例(分数:2.00)A.B.C.D.15.对类的构造函数和析构函数描述正确的是( )。A构造函数可以重载,析构函数不能重载B构造函数不能重载,析构函数可以重载C构造函数可以重载,析构函数也可以重载D构造函数不能重载,析构函数也不能重载(分数:2.00)A.B.C.D.16.派生类的构造函数的成员初始化列表中,不能包含( )。A基类的构造函数 B派生类中子对象的初始化C基类中子对象
6、的初始化 D派生类中一般数据成员的初始化(分数:2.00)A.B.C.D.17.下列表达式的值为 false 的是( )。A13 Binta2=1,2,3,4;Cint a22=1,2,3; Dint a2=1,2,3,4;(分数:2.00)A.B.C.D.19.有如下程序:#include iostreamusing namespace std;int main()int f,f1=0,f2=1;for(int i=3;i=6;i+)f=f1+f2;f1=f2;f2=f;coutfendl;return 0;运行时的输出结果是( )。A2 B3C5 D8(分数:2.00)A.B.C.D.20
7、.下列语句段将输出字符“*”的个数为( )。int i=100;while(1)i-;if(i=0)break;cout*;A98 个 B99 个C100 个 D101 个(分数:2.00)A.B.C.D.21.下列有关指针的用法中错误的是( )。Aint i;int *ptr= Bint i;int *ptr;i=*ptr;Cint *ptr;ptr=0; Dinti=5;int *ptr;*ptr(分数:2.00)A.B.C.D.22.系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是( )。A参数个数 B参数的类型C函数名称 D函数的类型(分数:2
8、.00)A.B.C.D.23.对于结构体中定义的成员,其默认的访问权限为( )。Apublic BprotectedCprivate Dstatic(分数:2.00)A.B.C.D.24.假定 MyClass 为一个类,则该类的拷贝构造函数的声明语句为( )。AMyClass BMyClass(MyClass x);CMyClass(MyClass DMyClass(MyClass*x);(分数:2.00)A.B.C.D.25.有如下程序:#include iostreamusing namespace std;int main()int *p;*p=9;cout“The value at p
9、:“*p;return 0;编译运行程序将出现的情况是( )。A编译时出现语法错误,不能生成可执行文件B运行时一定输出:The value at p:9C运行时一定输出:The value at p:*9D运行时有可能出错(分数:2.00)A.B.C.D.26.执行语句:coutsetfill(*)setw(10)setfll(#)left123“OK“endl;return 0;后将输出( )。A123*OK B123#OKC123*OK* D123#OK#(分数:2.00)A.B.C.D.27.类 MyClass 的定义如下:class MyClasspublic:MyClass() va
10、lue=0;SetVariable(int i) value=i;private:int value;则对下列语句序列正确的描述是( )。MyClass*p,my; p=A语句 p=是把对象 my 赋值给指针变量 pB语句 MyClass*p,my;会调用两次类 MyClass 的构造函数C对语句*p.SetVariable(5)的调用是正确的D语句 p-SetVariable(5)与语句 my.SetVariable(5)等价(分数:2.00)A.B.C.D.28.下列 do.while 循环的循环次数为( )。int i=5;docouti-endl;i-;while(if!=0);A0
11、B1C5 D无限(分数:2.00)A.B.C.D.29.在下面格式化命令的解释中,错误的是( )。Aios:skipws_跳过输入中的空白字符Bios:showpos_标明浮点数的小数点和后面的零Cios:fill()_读当前填充字符(缺省值为空格)Dios:precision()_读当前浮点数精度(缺省值为 6)(分数:2.00)A.B.C.D.30.若 PAT 是一个类,则程序运行时,语句“PAT(*ad)3;“调用 PAT 的构造函数的次数是( )。A0 B1C2 D3(分数:2.00)A.B.C.D.31.有如下程序:#include iostreamusing namespace s
12、td;classApublic:A()cout“A“;A()cout“A“;;class B:public AA*p;public:B()cout“B“;p=new A();B() cout“B“;deletep;int main()B obj;return0;执行这个程序的输出结果是( )。ABAAABA BABABAACBAABAA DABAABA(分数:2.00)A.B.C.D.32.若有以下程序:#include iostreamusing namespace std;classApublic:A(int i,int j)a=i;b=j;void move(int x,int y)a+
13、=x;b+=y;void show()couta“,“bendl;private:int a,b;class B:private Apublic:B(int i,int j):A(i,j)void fun()move(3,5);void f1()A:show();;int main()B d(3,4);d.fun();d.f1();return 0;程序执行后的输出结果是( )。A3,4 B6,8C6,9 D4,3(分数:2.00)A.B.C.D.33.下面叙述错误的是( )。A基类的 protected 成员在派生类中仍然是 protected 成员B基类的 protected 成员在 pu
14、blic 派生类中仍然是 protected 成员C基类的 protected 成员在 private 派生类中是 pnvate 成员D基类的 protected 成员不能被派生类的对象访问(分数:2.00)A.B.C.D.34.设有以下定义和程序:#include iostream.hclass A1public:void show1()cout“class A1“endl;;class A2:public A1public:void show2()cout“class A2“endl;;class A3:protected A2public:void show3()cout“class A
15、1“endl;;void main()A1 obj1;A2 obj2;A3 obj3;则以下不合语法的调用语句是( )。Aobj1.show1(); Bobj2.show1();Cobj3.show1(); Dobj2.show2();(分数:2.00)A.B.C.D.35.多继承的构造顺序可分为如下四步:所有非虚基类的构造函数按照它们被继承的顺序构造所有虚基类的构造函数按照它们被继承的顺序构造所有子对象的构造函数按照它们声明的顺序构造派生类自己的构造函数体这四个步骤的正确顺序是( )。A BC D(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:30.00)36.测试的目的是
16、暴露错误,评价程序的可靠性;而 1 的目的是发现错误的位置并改正错误。(分数:2.00)填空项 1:_37.在面向对象方法中, 1 描述的是具有相似属性与操作的一组对象。(分数:2.00)填空项 1:_38.需求分析最终结果是产生 1。(分数:2.00)填空项 1:_39.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体集“项目主管”与实体集“项目”的联系属于 1 的联系。(分数:2.00)填空项 1:_40. 1 结构,也称为重复结构,即算法中有一组操作要求反复被执行。(分数:2.00)填空项 1:_41.operator 是运算符重载时必须使用的关键字,它和被重载的运算符连在一
17、起,作为运算符函数的专用函数名,务必把该函数说明为 1 的。(分数:2.00)填空项 1:_42.在一个函数的定义或声明前加上关键字 1 时,该函数就声明为内联函数。(分数:2.00)填空项 1:_43.下面程序运行时输出结果为_。#include iostream.h#include malloc.hclass Rectpublic:Rect(int l,int w) length=l;width=w;)void Print() cout“Area:“length*widthendl;void *operator new(size-t size) return malloc(size);vo
18、id operator delete(void *p)free(pprivate:int length,width;void main()Rect *p;p=new Rect(5,4);p-Print();deletep;(分数:2.00)填空项 1:_44.表达式 c3=c1.operator+(c2)或 c3=operator+(c1,c2)还可以表示为 1。(分数:2.00)填空项 1:_45.以下程序输出的结果是_。#include iostream.hvoid main()int a=5,b=4,c=3,d;d=(abc);coutd;(分数:2.00)填空项 1:_46.以下程序的
19、执行结果是_。#include iostrearn.hintf (int b,int n)int i,r=1;for(i=0;in;i+)r=r*bi;return r;void main()int x,a=2,3,4,5,6,7,8,9;x=f(a,3);coutxendl;(分数:2.00)填空项 1:_47.下列程序运行后的输出结果是_。#include iostream.hvoid main()int s=0,k;for(k=7;k=0;k-)switch (k)case 1:case 4:case 7: s+;break;case 2:case 3:case 6: break;cas
20、e 0:case 5: s+=2;break;(分数:2.00)填空项 1:_48.以下程序的输出结果是_。#include iostream.hint add(int x,int y)return x+y;double add(double x,double y)return x+y;void main()int a=4,b=6;double c=2.6,d=7.4;coutadd(a,b)“,“add(c,d)endl;(分数:2.00)填空项 1:_49.有如下程序:#include iostreamusing namespace std;class Conchar ID;public:
21、Con(char ID):ID(ID) cout2;Con(Con char getID()const return ID;void show(Con c) coutc.getID(); int main()Con c1;show(c1);Con c2(B);show (c2);return 0;执行上面程序的输出是_。(分数:2.00)填空项 1:_50.下列程序将 x、y 和 z 按从小到大的顺序排列,请将下面的函数模板补充完整。template class Tvoid order(_)T a;if (xy)a=x;x=y;y=a;if(yz)a=y;y=z;z=a;if(xy)a=x;x
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 440 答案 解析 DOC
