【计算机类职业资格】二级C++笔试16及答案解析.doc
《【计算机类职业资格】二级C++笔试16及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试16及答案解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 16及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.算法的空间复杂度是指(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间2.有以下程序: #includeiostream using namespace std; class R public: R(int r1,int r2) R1=rl; R2=r2; void print(); void print()const; private: int R1,R2; ; void R:print() co
2、utR1“,“R2end1; void R:print() const cotR1“,“R2end1; int main() Ra(5,4); const R b(20,52); b.print(); return 0; 执行后的输出结果是(分数:2.00)A.5,4B.20,52C.0,0D.4,53.函数定义为 Fun(int static void add() s+=n; ; int sample:s=0; int main() sample a(2),b(5); sample:add(); coutSend1; return 0; 程序运行后的输出结果是(分数:2.00)A.2B.5C
3、.7D.35.在软件生存周期小,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(分数:2.00)A.概要设计B.详细设计C.可行性分析D.需求分析6.定义如下枚举类型:enumMonday,Tuesday,Wednesday,Thrusday,Friday=2:则下列语句正确的是(分数:2.00)A.表达式 Wednesday=Friday的值是 trueB.Day day;day=3;C.Day day;day=Monday+3;D.Day day;day=Tuesday+10;7.在深度为 5的满二叉树中,叶子结点的个数为(分数:2.00)A.31B.32C.16D.158.关于
4、类和对象描述错误的是(分数:2.00)A.对象(Obiec 是现实世界中的客观事物,对象具有确定的属性B.类是具有相同属性和行为的一组对象的集合C.对象是类的抽象,类是对象的实例D.类是对象的抽象,对象是类的实例9.以下选项中合法的用户标识符是(分数:2.00)A.longB._2TestC.3DmaxD.dat10.下列关于队列的叙述中正确的是(分数:2.00)A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表11.下列对字符数组进行初始化的语句正确的是(分数:2.00)A.chara=“Hello“;B.chara=H,e,l,l,o;C.
5、char a5=“Hello“;D.chara25=“Hello“,“World“:12.对于语句 cinx 中的各个组成部分,下列叙述中错误的是(分数:2.00)A.“cin”是一个输出流对象B.“;”的作用是表示语句结束C.“x”是一个变量D.“”称作提取运算符13.下列叙述中正确的是(分数:2.00)A.在模块化程序设计中,一个模块应尽量多的包括与其他模块联系的信息B.在自顶向下、逐步细化的设计过程中,首先应设计解决问题的每一个细节C.在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则D.在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法14.在关系数据库中,
6、用来表示实体之间联系的是(分数:2.00)A.树结构B.网结构C.线性表D.二维表15.下列关于构造函数的描述中,错误的是( )。(分数:2.00)A.构造函数可以设置默认参数B.构造函数在定义类对象时自动执行C.构造函数可以是内联函数D.构造函数不可以重载16.将 E-R图转换到关系模式时,实体与联系都可以表示成(分数:2.00)A.属性B.关系C.键D.域17.若有以下程序 #include iostream using namespace std; class A public: A(int i,int j) a=i; b=j; void move(int x,int y) a+=x;
7、b+=y; void show() couta“,“bend1; private int a,b; ; class B: private A public: B(int i,int j):A(i,j) void fun() move(3,5); void fl() A:show(); int main() B d(3,4); d. fun(); d.fl(); return 0; 程序执行后的输出结果是(分数:2.00)A.3,4B.6,8C.6,9D.4,318.若有以下程序 #include iostream using namespace std; class A private: in
8、t a; public: A(int i) a=i; void disp() couta“,“; ; class B private: int b; public: B(int j) b=j; void disp() coutb“,“; ; class C: public B,public A private: int c; public: C(int k):A(k-2),B(k+2) c=k; void disp() A:disp(); B:disp(); coutcend1; ; int main() C obj(10); obj.disp(); return 0; 程序执行后的输出结果是
9、(分数:2.00)A.10,10,10B.10,12,14C.8,10,12D.8,12,1019.软件需求分析阶段的工作,可以分为四个方面:需求获取,需求分析,编写需求规格说明书,以及(分数:2.00)A.阶段性报告B.需求评审C.总结D.都不正确20.若有以下程序: #include iostream using namespace std; #define PI 3.14 class Point private: int x,y; public: Point(int a,int B) x=a; y=b; int getx() return x; int gety() reurn y; ;
10、 class Circle: public Point private: int r; public: Circle(int a,int b.int C) :Point(a,B) r=c; int getr() return r; double area() return PI*r*r; ; int main() Circle cl(5,7,10); coutc 1 .area()end1; return 0; 程序执行后的输出结果是(分数:2.00)A.314B.157C.78.5D.153.8621.语句 ofstream f(“DATA.DAT“,ios_base:app|ios_bas
11、e:binary);的功能是建立流对象 f,并试图打开文件 DATADAT 并与之连接,而且(分数:2.00)A.若文件存在,将文件指针定位于文件首;若文件不存在,建立一个新文件B.若文件存在,将其截为空文件,若文件不存在,打开失败C.若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件22.若执行语句:coutsetfill(*)setw(10)setfill(#)left123“OK“end1 后将输出(分数:2.00)A.123*OKB.123#OKC.123*OK*D.123#OK#23.下列叙述中正确的是(分数:2.0
12、0)A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上三种说法都不对24.若有以下程序: #includeiostream using namespace std; class sample private: int n; public: sample() sample(int m) n=m; void addvalue(int m) sample s; s.n=n+m; *this=s; void disp() cout“n“=nend1; ; int main() sample s(10); s.addvalu
13、e(5); s.disp(); return 0; 程序运行后的输出结果是(分数:2.00)A.n=10B.n=5C.n=15D.n=2025.下面关于虚函数的描述中正确的是(分数:2.00)A.虚函数是一个静态成员函数B.虚函数是一个非成员函数C.虚函数既可以在函数说明时定义,也可以在函数实现时定义D.派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型26.在面向对象的程序设计中,下列叙述中错误的是(分数:2.00)A.任何一个对象构成一个独立的模块B.一个对象不是独立存在的实体,各个对象之间有关联,相互依赖C.下一层次的对象可以继承上一层次对象的某些属性D.上述三种说法都正确27.
14、下面有关重载函数的描述中正确的是(分数:2.00)A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须具有不同的形参列表D.重载函数名可以不同28.下面类的定义,有( )处错误。 class MyClass public: void MyClass(); MyClass(int Value);private: int i=0; ;(分数:2.00)A.1B.2C.3D.429.在 C+语言中函数返回值的类型是由( )决定的。(分数:2.00)A.调用该函数时系统临时B.return语句中的表达式类型C.定义该函数时所指定的函数类型D.调用该函数时的主调函数类型30.
15、下列对模板的声明中正确的是(分数:2.00)A.templateTB.templateclass T1,T2C.templateclassT1,classT2D.templateclassT1;classT231.有如下函数模板的定义: templateclass T T func(T x,T y)return x*x+y*y; 在下列对func的调用中不正确的是(分数:2.00)A.func(3,5);B.func(3,5);C.func(3,5.5);D.funcint(3,55);32.重载输入流运算符必须使用的原型为(分数:2.00)A.ostream 则上述定义中非法的表达式是(分数
16、:2.00)A.k=i*jB.int k;C.retum i;D.void make()35.如果表达式-x/y 中的“-”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为(分数:2.00)A.operator/(operator-(),;B.operator/(operator-(,;C.operator-().operator/(;D.operator/(operator-();二、B填空题/B(总题数:15,分数:30.00)36.设一棵完全二叉树共有 700个结点,则在该二叉树中有U 【1】 /U个叶子结点。(分数:2.00)填空项 1:_37.在面向对象
17、方法中,类之间共享属性和操作的机制称为U 【2】 /U。(分数:2.00)填空项 1:_38.在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为U 【3】 /U。(分数:2.00)填空项 1:_39.在数据库的概念结构设计中,常用的描述工具是U 【4】 /U。(分数:2.00)填空项 1:_40.数据库系统中实现各种数据管理功能的核心软件称为U 【5】 /U。(分数:2.00)填空项 1:_41.求 1100 的和,可写成 for(s=0,i=1;U 【6】 /U;i+) s+=i;的形式。(分数:2.00)填空项 1:_42.假定用户没有给一个名为 MyClass的类定义析构
18、函数,则系统为其定义的默认析构函数首部形式为U【7】 /U。(分数:2.00)填空项 1:_43.下面程序的输出结果是U 【8】 /U。 #includeiostream using namespace std; int x; void funA(int coutcount:test()end1; return 0; (分数:2.00)填空项 1:_45.以下程序运行后的输出结果是U 【10】 /U #include iostream #include string using namespace std; class Y; class X int x; char *strx; public:
19、 x(int a,char *str) x=a; strx=new charstrlen(str)+1; strcpy(strx,str); void show(Y ; class Y private: int y; char *stry; public: Y(int b,char *str) y=b; stry=new charstrlen(str)+1; strcpy(stry, str); friend void X:show(Y ; void X:show(Y class Derived1:virtual public Base public: Derived1() x=10; ; c
20、lass Derived2:virtual public Base public: Derived2() x=20; ; class Derived:public Derived1, protected Derived2 ; int main() Derived obj; coutobj.xend1; return 0; 该程序运行后的输出结果是U 【14】 /U。(分数:2.00)填空项 1:_50.下面是复数类 complex的定义,其中作为友元函数重载的运算符“-”的功能是将参数对象的实部减1,然后返回对该对象的引用:请补充完整。 class complex private: int r
21、eal; int imag; public: complex(int r=0,int i=0):real(r),imag(i) void show() coutreal(imag0?“-“:“+“)imagi; U 【15】 /U; ; complex static void add() s+=n; ; int sample:s=0; int main() sample a(2),b(5); sample:add(); coutSend1; return 0; 程序运行后的输出结果是(分数:2.00)A.2B.5 C.7D.3解析:解析 本题考核静态数据成员和静态成员函数的应用。程序中定义一个
22、类 sample,它包括一个静态数据成员 n和一个静态成员函数 add,并在类的构造函数中给类私有静态数据成员 n赋值。在主函数main中,定义对象 a(2)时,通过构造函数使静态数据成员 n的值变为 2,在定义对象 b(5)时,通过构造函数使静态数据成员 n=5(覆盖了前面的 n=2),再执行 sample:add()使全局变量 s=5。5.在软件生存周期小,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(分数:2.00)A.概要设计B.详细设计C.可行性分析D.需求分析 解析:解析 在需求分析阶段中,根据可行性研究阶段所提交的文档,特别是从数据流图出发,对目标系统提出清晰、准确和
23、具体的要求,即要明确系统必须做什么的问题。本题的正确答案为 D。6.定义如下枚举类型:enumMonday,Tuesday,Wednesday,Thrusday,Friday=2:则下列语句正确的是(分数:2.00)A.表达式 Wednesday=Friday的值是 true B.Day day;day=3;C.Day day;day=Monday+3;D.Day day;day=Tuesday+10;解析:解析 本题考查枚举类型的定义和使用。枚举类型定义了一些整型符号常量的集合,使用枚举类型时应该注意以下几点:枚举类型的第一个常量默认值是 0:枚举类型常量的值允许彼此相同:虽然枚举类型常量是
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 16 答案 解析 DOC