【计算机类职业资格】二级C++-183及答案解析.doc
《【计算机类职业资格】二级C++-183及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-183及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-183 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.下列叙述中正确的是_。(分数:2.50)A.算法的效率只与问题的规模有关,而与数据的存储结构无关B.算法的时间复杂度是指执行算法所需要的计算工作量C.数据的逻辑结构与存储结构是一一对应的D.算法的时间复杂度与空间复杂度一定相关2.在结构化程序设计中,模块划分的原则是_。(分数:2.50)A.各模块应包括尽量多的功能B.各模块的规模应尽量大C.各模块之间的联系应尽量紧密D.模块内具有高内聚度,模块间具有低耦合度3.下列叙述中正确的是_。(分数:2.50)A.软件测试的主要目
2、的是发现程序中的错误B.软件测试的主要目的是确定程序中错误的位置C.为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D.软件测试是证明软件没有错误4.下面选项中不属于面向对象程序设计特征的是_。(分数:2.50)A.继承性B.多态性C.类比性D.封装性5.下列对列的叙述正确的是_。(分数:2.50)A.队列属于非线性表B.队列按“先进后出”的原则组织数据C.队列在队尾删除数据D.队列按“先进先出”原则组织数据6.对下列二叉树进行前序遍历的结果为_。 (分数:2.50)A.DYBEAFCZXB.YDEBFZXCAC.ABDYECFXZD.ABCDEFXYZ7.某二叉树中有 n 个
3、度为 2 的结点则该二叉树中的叶子结点数为_。(分数:2.50)A.n+1B.n-1C.2nD.n/28.在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是_。(分数:2.50)A井B交C.投影D.笛卡儿乘积9.在 E-R 图中,用来表示实休之间是联系的图形是_。(分数:2.50)A.矩形B.椭圆形C.菱形D.平行四边形10.下列叙述中错误的是_。(分数:2.50)A.在数据库系统中,数据的物理结构必须与逻辑结构一致B.数据库技术的根本目标是要解决数据的共享问题C.数据库设计是指在已有数据库管理系统的基础上建立数据库D.数据库系统需要操作系统的支持11.为了取代 C 中带参数的宏,
4、在 C+中使用_。(分数:2.50)A.重载函数B.内联函数C.递归函数D.友元函数12.下列关于类定义的说法中,正确的是_。(分数:2.50)A.类定义中包括数据成员和函数成员的声明B.类成员的默认访问权限是保护的C.数据成员必须被声明为私有的D.成员函数只能在类体外进行定义13.下列关于派生类构造函数和析构函数的说法中,错误的是_。(分数:2.50)A.派生类的构造函数会隐含调用基类的构造函数B.如果基类中没有缺省构造函数,那么派生类必须定义构造函数C.在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数D.在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数14.
5、通过运算符重载,可以改变运算符原有的_。(分数:2.50)A.操作数类型B.操作数个数C.优先级D.结合性15.有如下函数模板: template Tclass TT square(T x) (return x*x;) 基中 T 是_。(分数:2.50)A.函数形参B.函数实参C.模板形参D.模板实参16.使用输入/输出操作符 setw,可以控制_。(分数:2.50)A.输出精度B.输出宽度C.对齐方式D.填充字符17.下列字符串中,不可以用作 C+标识符的是_。(分数:2.50)A.y_2006B._TEST_HC.ReturnD.switch18.字面常量 42、4.2、42L 的数据类型
6、分别是_。(分数:2.50)A.long、double、intB.long、float、intC.int、double、longD.int、float、long19.执行下列语句段后,输出字符“*”的个数是_。 for(int i=50; i1; -i)cout“*“;(分数:2.50)A.48B.49C.50D.5120.有如下程序段: int i=0, j=1; int / r=j;/ int *p=/ *p=/ 基中会产生编译错误的语句是_。(分数:2.50)A.B.C.D.21.有如下函数定义: void func(int a, int b+; 若执行代码段: int x=0, y=1
7、 func(x, y); 则变量 x 和 y 值分别是_。(分数:2.50)A.0 和 1B.1 和 1C.0 和 2D.1 和 222.有如下程序: #includeiostream using namespace std; class A public stakic int a; void init()a=1; A(int a=2) init(); a+; ; int A:; a=0 A obj; int main() coutobj.a; return 0; 运行时输出的结果是_。(分数:2.50)A.0B.1C.2D.323.下列有关继承和派生的叙述中,正确的是_。(分数:2.50)A
8、.派生类不能访问基类的保护成员B.作为虚基类的类不能被实例化C.派生类应当向基类的构造函数传递参数D.虚函数必须在派生类中重新实现24.下列运算符中,不能被重载的是_。(分数:2.50)A.B.templateclassT abs(T x)return x0?-x;x;C.template Tclass Tabs(T x)return x0?-x;x;D.template T abs(T x)return x0?-x;x;26.在语句 cindata;中,cin 是_。(分数:2.50)A.C+的关键字B.类名C.对象名D.函数名27.有如下程序: #include using namespa
9、ce std; class test private: int a; public: test()cout“constructor“ENDL; test(int a)coutaendl; test(const test cout“Copy constructor“endl; test()cout“destructor“endl; ; int main() test A(3) return 0; 运行时输出的结果是_。(分数:2.50)A.3B.constructordestruclorC.copy constructordestructorD.3destruclor28.若有如下类声明: cl
10、ass My Class public: MyClass() cout1; ; 执行下列语句: MyClass a, b2, *p2; 以后,程序的输出结果是_。(分数:2.50)A.11B.111C.1111D.1111129.有如下程序: #includeiostream using namespace std; class Point public: static int number; public: Point()number+; Point()number-; ; imt Point:number=0; void main() Point *ptr; Point A, B; Poi
11、nt *ptr_point=new Point3; ptr=ptr_point; Point C; coutPoint:numberendl; deleteptr; 运行时输出的结果是_。(分数:2.50)A.3B.4C.6D.730.如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员,有如下程序,没有使用多态机制。 #includeiostream using namespace std; class Base int a, b; public: Base(int x, int y) a=x; b=y; void show()couta“, “bend
12、l; class Derived:public Base int c, d; public: Derived(int x, int y, int z, int m):Base(x, y)c=z; d=m; void show()coutc“, “dendl; ; int main() Base B1(50, 50), *pb; Derived D1(10, 20, 30, 40); pb= pb-show(); return 0; 运行时输出的结果是_。(分数:2.50)A.10, 20B.30, 40C.20, 30D.50, 5031.有如下程序: #includeiostream usi
13、ng namespace std; class A public; A(int i)x=i; void dispa()coutx=“, “; private: int x; ; class B:public A public; B(int i):A(i+10) x=i; voud dispb() dispa():coutxendl; private: int x; ; int main() B b(2); b.dispb() return 0; 运行时输出的结果是_。(分数:2.50)A.10, 2B.12, 10C.12, 2D.2, 232.虚函数支持多态调用,一个基类的指针可以指向派生类
14、的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数,而非虚函数不支持多态调用。有如下程序: #include using namespace std; class Base public: virtual void f()cout“f0+“; void g() cout“g0+“; ; class Derived:public Base public: void f() cout“f+“; void g() cout“g+“; ; int main() Derived d; Base *p= p-f(); p-g(); return 0; 运行时输出的结果是_。(分数
15、:2.50)A.f+g+B.f0+g+C.f+g0+D.f0+g0+33.下面程序中对一维坐标点类 Point 进行运算符重载: #includeiostream using namespace std; class Point public: Point(int val) x=val; Point return*this; Point operator+(int) Point old=*this, +(*this); return old; int GetX() constreturn x; private: int x; ; int main() Point a(10); cout(+a)
16、.GetX(); couta+.GETX(); return 0; 编译和运行情况是_。(分数:2.50)A.运行时输出 1011B.运行时输出 1111C.运行时输出 1112D.编译有错34.有如下程序: #includeiostream using namespace std; int main() char str100, *p; cout“please input a string:“; cinsir; p=str; for(int i=0; *p!=“/0“; p+, i+); coutiendl; return 0; 运行这个程序时,若输入字符串为 abcdefg abcd 则输
17、出结果是_。(分数:2.50)A.7B.12C.13D.10035.有如下程序: #includeiostream using namespace std; class Sample friend long fun(Sample s); public: Sample(long a)x=a; Private: long x; ; long fun(Sample s) if(s.x2)return 1; return s.x*fun(Sample(s.x-a); int main() int sum=0 for(int i=0; i6; i+) sum+=fun (Sample(i);) cout
18、sum; return 0; 运行时输出的结果是_。(分数:2.50)A.120B.16C.154D.3436.必须用一对大括号括起来的程序段是_。(分数:2.50)A.switch 语句中的 case 标号语句B.if 语句的分支C.循环语句的循环体D.函数的函数体37.以下程序的输出结果是_。 #includeiostream using namespace std; int main() int a=0, i; for(i=1; i5; i+) switch(i) case 0; case 3:a+=2; case 1: case 2:a+=3; default:a+=5; coutae
19、ndl; return 0; (分数:2.50)A.31B.13C.10D.2038.语句 int*p= p=B.int *p; p=k;C.int *p; *p=D.int *p; *p=k;39.有以下程序: #includeiostream #includecstring using namespace std; int main() char p=“abcdefgh“; coutstrlen(strcpy(p, “12345“)endl; return 0; 执行后输出的结果是_。(分数:2.50)A.8B.12C.5D.740.若有定义:int*p;则下列各选项中,不同于表达式*p=
20、*p+1;的是_。(分数:2.50)A.*p+B.+*pC.*p+=1D.+(*p)二级 C+-183 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.下列叙述中正确的是_。(分数:2.50)A.算法的效率只与问题的规模有关,而与数据的存储结构无关B.算法的时间复杂度是指执行算法所需要的计算工作量 C.数据的逻辑结构与存储结构是一一对应的D.算法的时间复杂度与空间复杂度一定相关解析:解析 算法的复杂度主要包括时间复杂度和空间复杂度。通常用时间复杂度和空间复杂度来衡量算法效率,算法的时间复杂度就是执行该算法所需要的计算工作量;算法所执行的基本
21、运算次数与问题的规模有关。而一个算法的空间复杂度,就是执行该算法所需要的内存空间;一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构。2.在结构化程序设计中,模块划分的原则是_。(分数:2.50)A.各模块应包括尽量多的功能B.各模块的规模应尽量大C.各模块之间的联系应尽量紧密D.模块内具有高内聚度,模块间具有低耦合度 解析:解析 软件设计通常采用结构化设计方法,模块的独立程度是评价设计好坏的重要度量标准。耦合性与内聚性是模块独立性的两个定性标准。内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量;耦合性是模块间相互连接的紧密程度的度量。一般较优秀的软件设计,应尽量做到高内聚、低耦
22、合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。3.下列叙述中正确的是_。(分数:2.50)A.软件测试的主要目的是发现程序中的错误 B.软件测试的主要目的是确定程序中错误的位置C.为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D.软件测试是证明软件没有错误解析:解析 关于软件测试的目的,Grenford J. Myers 在 The Art of So ftware Testing 一书中给出了深刻的阐述:软件测试是为了发现错误而执行程序的过程。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例;一个成功的测试是发现了至今尚未发现的错误的测试
23、。整体来说,软件测试的目的就是尽可能多地发现程序中的错误。4.下面选项中不属于面向对象程序设计特征的是_。(分数:2.50)A.继承性B.多态性C.类比性 D.封装性解析:解析 对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系。对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的联系。面向对象技术有三个重要特性,即封装性、继承性和多态性。5.下列对列的叙述正确的是_。(分数:2.50)A.队列属于非线性表B.队列按“先进后出”的原则组织数据C.队列在队尾删除数据D.队列按“先进先出”原则组织数据 解析:解析 队列是一种线性表,它允许在一端进行插入,在另一端进行删除。
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C183 答案 解析 DOC
