【计算机类职业资格】二级C++笔试303及答案解析.doc
《【计算机类职业资格】二级C++笔试303及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试303及答案解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 303及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.为了使模块尽可能独立,要求( )。(分数:2.00)A.模块的内聚程序要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强2.在结构化程序设计思想提出之前,在程序设计中强调程序的效率。与程序的效率相比,结构化程序设计思想更重视程序的( )。(分数:2.00)A.安全性B.一致性C.可理解性D.合理性3.设有如下程序
2、:#include iostream. hclass Apublic:int i;display() cout“class A/n“; ;class Bpublic:int i;display() cout“class B/n“; ;class C: public: A, public: Bint j;public:int i;show() j=i*i; display(); ;void main()C demo;demo. show();则主程序运行时,将( )。(分数:2.00)A.因为变量 i的重复定义而报错B.因为对象 demo间接调用 display函数时产生歧义性而报错C.因为类定
3、义的语法错误而不能运行D.没有语法错误,能够正常输出结果4.调试程序过程中主要会发现三类错误,不包括( )。(分数:2.00)A.语法错误B.逻辑错误C.例外错误D.常规错误5.关系 R和关系 S的并运算是( )。(分数:2.00)A.由关系 R和关系 S的所有元组合并组成的集合,再删去重复的元组B.由属于 R而不属于 S的所有元组组成的集合C.由既属于 R又属于 S的元组组成的集合D.由 R和 S的元组连接组成的集合6.下面是类 MyChss的定义,对定义中语句描述正确的是( )。class MyClasspublic:void MyClass(int a)X=a;) /int f(int
4、a, int b) /X=a;Y=b;int f(int a,int b,int c=0) /X=a;Y=b;Z=c;stahc void g ()X=10;) /private:int X,Y,Z;(分数:2.00)A.语句是类 MyClass的构造函数定义B.语句和语句实现类成员函数的重载C.语句实现对类成员变量 X的更新操作D.语句和都不正确7.下列叙述中正确的是( )。(分数:2.00)A.在模块化程序设计中,一个模块应尽量多的包括与其他模块联系的信息B.在自顶向下、逐步细化的设计过程中,首先应设计解决问题的每一个细节C.在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则D.
5、在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法8.下列关于运行符重载的描述中,正确的是( )。(分数:2.00)A.运算符重载可以改变操作数的个数B.运算符重载可以改变操作数的优先级C.运算符重载可以改变运算符的结合性D.运算符重载可以使运算符实现特殊功能9.下列选项中,不属于模块间耦合的是( )。(分数:2.00)A.数据耦合B.同构耦合C.异构耦合D.公用耦合10.数据库系统的核心是( )。(分数:2.00)A.数据模型B.数据库管理系统C.软件工具D.数据库11.下列描述中错误的是( )。(分数:2.00)A.派生类可以作为墓类派生其他的子类B.派生类继承基类的所有
6、数据成员C.派生类可以有多个基类D.派生类不能继承一些函数成员12.下列叙述中正确的是( )。(分数:2.00)A.线性链表中的各元素在存储空间中的位置必须是连续的B.线性链表中的表头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储 J顷序也是任意的13.函数定义为 Fun(int public:Sample() x=y=0; Sample(int a, int b) x=a; y=b; void (lisp()cout“x=“x“,y=“yend1;vo
7、id main()Sample s(2,3), *p=p-disp();(分数:2.00)A.x=1, y=2B.x=2, y=4C.x=2, y=3D.x=4, y=315.有如下程序:#include iostreamusing namespace std;class BASEpublic: BASE()cout“BASE“;class DERIVED: public BASEpublic: DERIVED() cout“DERIVED“; int main() DERIVED x; return 0; 执行后的输出结果是( )。(分数:2.00)A.BASEB.DERIVEDC.BASE
8、DERIVEDD.DERIVEDBASE16.若有以下程序:#include iostreamusing namespace std;class Aprivate: int a;public: void seta(int x) a=x; void showa() couta“,“; ;class Bprivate: int b;public: void setb(int x) b=x; void showb() coutb“,“; ;class C: public A, private Bprivate: int c;public: void setc(int x, int y, int z)
9、 c=z; seta(x); setb(y); void showc() showa(); showb(); coutcend1; ;int main() C c; c.setc(1,2,3); c.showc(); return 0;程序执行后的输出结果是( )。(分数:2.00)A.1,2,3B.1,1,1C.2,2,2D.3,3,317.设 x和 y均为 int型变量,则执行下面的循环后,y 值为( )。#include iostream.hvoid main()int x, y;for(y= 1,x= 1 ;y=50;y+) if(x=10) break;if (x%2=1) x+=5
10、; continue; x-=3; couty;(分数:2.00)A.2B.4C.6D.818.有如下的程序:#include cstring.h#include iostream. husing namespace std;class MyString public: MyString(const char*s); MyString() deletedata; protected: unsigned len; char*data;MyString:MyString(const char *s) len=strlen(s); data=new charlen+ 1; strcpy(data,
11、s);int main() MyString a(“C+ Programing“); MyString b(a); return0;在运行上面的程序时出错,出错的原因是( )。(分数:2.00)A.构造函数的实参不允许是本类的对象B.没有定义实现深层复制(深拷贝)的复制构造函数C.构造对象 a时实参与形参类型不符D.系统不能生成默认的复制构造函数19.下面程序的输出结果是( )。#include iostreamusing namespace std;void main()int s;for(int k=2;k6;k+=2)s=1;for(int j=k; j6;j+) s+=j;coutse
12、nd1;(分数:2.00)A.9B.1C.11D.1020.以下关于数据库系统的叙述中,正确的是( )。(分数:2.00)A.数据库只存在数据项之间的联系B.数据库的数据之间和记录之间都存在着联系C.数据库的数据之间和记录之间都不存在着联系D.数据库的数据项之间无联系,记录之间存在联系21.有如下程序:#include iostreamusing namespace std;class Base public: Base()cout“BB“; f(); Void f()cout“Bf“; ;class Derived: public Base public: Derived() cout“DD
13、“; void f() cout“Df“; ;int main() Derived d; return 0; 执行上面的程序将输出( )。(分数:2.00)A.BBBfDDB.BBDfDDDfC.DDD.DDBBBf22.下面各派生类的定义中,正确的是( )。(分数:2.00)A.class A类的成员;class B:A public类 B 中新增的成员;B.class A类的成员;private class B: A类 B中新增的成员;C.class A类的成员;class B: protected A类 B中新增的成员;D.class A类的成员;class B:A类 B中新增的成员;2
14、3.下列说法中错误的是( )。(分数:2.00)A.公有继承时基类中的 public成员在派生类中仍是 public的B.公有继承时基类中的 private成员在派生类中仍是 Private的C.私有继承时基类中的 public成员在派生类中是 private的D.保护继承时基类中的 public成员在派生类中是 protected的24.以下程序的输出结果是( )。#include iostream.hVoid main() int a33= 1,2 , 3,4 , 5,6 , i, j, s=0; for(i=1;i3;i+) for(j=0;ji; j+) s+=aij; coutsen
15、d1;(分数:2.00)A.14B.19C.20D.2125.下述内容中( )不属于软件工程管理的范畴。(分数:2.00)A.软件管理学B.软件心理学C.软件工程经济D.软件工程环境26.下列语言不属于高级语言的是( )。(分数:2.00)A.C语言B.机器语言C.FORTRAN 语言D.C+语言27.下列关于动态联编的描述中,错误的是( )。(分数:2.00)A.动态联编是以虚函数为基础的B.动态联编是在运行时确定所调用的函数代码的C.动态联编调用函数操作是指向对象的指针或对象引用D.动态联编是在编译时确定操作函数的28.下列关于构造函数的描述中,错误的是( )。(分数:2.00)A.构造函
16、数可以设置默认参数B.构造函数在定义类对象时自动执行C.构造函数可以是内联函数D.构造函数不可以重载29.对于语句 cinx;中的各个组成部分,下列叙述中错误的是( )。(分数:2.00)A.“cin”是一个输出流对象B.“;”的作用是表示语句结束C.“x”是一个变量D.“”称作提取运算符。30.若有以下程序:# inclcude iostream.hvoid main()int i;int a3 3= 1,2,3,4,5,6,7,8,9 ;for(i=0;i3;i+)couta2-i i“ “;coutend1;执行后的输出结果是( )。(分数:2.00)A.1 5 9B.7 5 3C.3
17、5 7D.5 9 131.对于 int*pa5;的描述,( )是正确的。(分数:2.00)A.pa是一个指向数组的指针,所指向的数组是 5个 int型元素B.pa是一个指向某数组中第 5个元素的指针,该元素是 int型变量C.pa5表示某个数组的第 5个元素的值D.pa是一个具有 5个元素的指针数组,每个元素是一个 int 型指针32.下列关于 C+函数的描述中正确的是( )。(分数:2.00)A.主函数是程序的入口,它由用户定义的函数调用B.函数在调用之前必须先被声明C.每个用户定义的函数只能被其他函数调用一次D.函数是 C+中面向对象程序设计框架的基本组成单元33.针对数组定义 int d
18、ata 10;,下列表述中错误的是( )。(分数:2.00)A.用*data 可访问到数组的首元素B.用 data9可访问到数组的末元素C.用 data10访问数组元素会超出数组边界D.data共有 10个元素,其首元素是 data134.重载输入流运算符必须使用的原型为( )。(分数:2.00)A.ostream static int c=3; b+; c+; return(a+ b+ c); void main() int a=2,i; for(i=0;i3;i+) coutf(a)end1; (分数:2.00)填空项 1:_46.已知数组 a中的元素个数为 n,下列语句的作用是将下标为
19、i的元素移动到下标为 i-1的单元,其中1in。例如,当 n=4,a 中原有数据为 1,2,3,4 时,则移动后 a中元素变为 2,3,4,4。请将语句补充完整: for(int i=0;in-1;i+) ai=aU 【11】 /U;(分数:2.00)填空项 1:_47.有如下程序: #includeiostream.h void main() int x=2,y=3,a,b,c,d; a=(x+=-y); b=(x=+y); c=(x-!=y); d=(+xy-); Coutabcdend1; 则程序执行后变量a,b,c,d 的值分别是U 【12】 /U。(分数:2.00)填空项 1:_48
20、.下面程序的运行结果是U 【13】 /U。 #include iostream.h double fun( double a, double b, char c=* ) double d; switch (c) case +:d=a+ b; break; case -:d=a-b; break; case *:d=a*b; break; case /:d=a/b; break; return d; void main() double d=1.0; d=d-fun(fun(2.5,3.5,+),fun(3,5),/); cout“d=“dend1; (分数:2.00)填空项 1:_49.在下面
21、横线上填上适当的语句,完成程序。 #includeiostream using namespace std; class Base int x; public: Base(int i) x=i; Base() ; class Derived: public Base public: U 【14】 /U/完成类 Derive 构造函数的定义 ; int main() Derived Obj(); return 0; (分数:2.00)填空项 1:_50.下列程序的输出结果是U 【15】 /U。 #include iostream using namespace std; class base p
22、ublic: int n; base(int x) n=x; virtual void set(int m) n=m; coutn ; ; class deriveA :public base public: deriveA(int x):base(x) void set(int m) n+=m; coutn ; ; class derive B: public base public: derive B(int x):base(x) void set(int m) n+=m; coutn ; ; int main() derive A, d1(1); derive B, d2(3); bas
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 303 答案 解析 DOC
