【计算机类职业资格】二级C++分类模拟257及答案解析.doc
《【计算机类职业资格】二级C++分类模拟257及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++分类模拟257及答案解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+分类模拟 257及答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:34,分数:60.00)1.计算斐波那契数列第 n项的函数定义如下: int fib(int n) if (n=0)return 1; else if(n=1) return 2; else return fib(n=1)+fib(n=2); 若执行函数调用表达式 fib(2),函数 fib被调用的次数是 _ 。(分数:2.00)A.1B.2C.3D.42.下列错误的定义语句是 _ 。(分数:2.00)A.int x3=0,1,1,2,3;B.int x43=1,2,3,1,2,3,1,2,3,1
2、,2,3;C.int x4=1,2,3,1,2,3,1,2,3,1,2,3;D.int x3=1,2,3,4;3.下列关于多态性的描述,错误的是_。(分数:1.00)A.C+语言中的多态性分为编译时的多态性和运行时的多态性B.编译时的多态性可通过函数重载实现C.运行时的多态性可通过模板和虚函数实现D.实现运行时多态性的机制称为动态绑定4.有如下程序: #include using namespace std; int main() int f, f1=0, f2=1; for(int i=3; i=6; i+) f=f1+f2; f1=f2; f2=f; coutf return 0; /f
3、运行时的输出结果是_。(分数:2.50)A.2B.3C.5D.85.在软件测试设计中,软件测试的主要目的是 _ 。(分数:2.00)A.实验性运行软件B.证明软件正确C.演示软件的正确功能D.发现软件错误而执行程序6.已知类 MyClass的定义如下: class MyClass public: MyCtass(int d)data=d; MyClass() private: int data; ; 下列对 MyClass类对象数组的定义和初始化语句中,正确的是_。(分数:2.00)A.MyClass array2;B.MyClass array2=MyClass(5);C.MyClass a
4、rray2=MyClass(5),MyClass(6),;D.MyClass*arrays=new MyClass2;7.关于关键字 class 和 typename,下列表述正确的是_ 。(分数:2.00)A.程序中所有的 typename都可以替换为 classB.程序中所有的 class都可以替换为 typenameC.A和 B都正确D.A和 B都不正确8.下列叙述中正确的是(分数:2.00)A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上三种说法都不对9.下列运算符中,在 C+语言中不能重载的是(分数:1
5、.00)A.*B.=C.:D./10.下列程序的运行结果为_。 # includeiostream.h templateclass TT class FF TT a1,a2,a3; public: FF(TT b1,TT b2,TT b3)a1=b1;a2=b2;a3=b3; TT Sum()return a1+a2+a3;); void main() FFintx(int(1.1),2.3),y(int(4.2),5,6); coutx.Sum()“y.Sum()encIl;(分数:2.50)A.6.1 15.2B.6 15C.6 15.2D.6.1 1511.有如下程序: #include
6、iostream using namespace std; class Point int x,y; public: Point(int x1=0,int y1=0):x(x1),y(y1) int get()return x+y;) ; class Circle Point cente; int radius; public: Circle(int cx,int cy,int r):center(cx,cy),radius(r) int get()return center.get()+radius; ; int main() Circle c(3,4,5); coutc.get()endl
7、; return 0; 运行时的输出结果是_。(分数:2.00)A.5B.7C.9D.1212.下面程序的结果是 #includeiostreamh class A public: A( ) cout “construtA“ end1; virtual A( ) cout “destructA“ end1; ; class B:public A ; class C:public A ; class D:public B,public C ; void main( ) Dd;(分数:1.00)A.constructAdestructAB.constructAconstructAdestructA
8、destructAC.constructAconstructAconstructAdestructAdestructAdestructAD.constructAconstructAconstructAconstructAdestructAdestructAdestructAdestructA13.下面是一个模板声明的开始部分: templatetypename Tdouble 由此可知_。(分数:1.00)A.这可能是一个函数模板的声明B.这可能是一个类模板的声明C.这既可能是一个函数模板的声明,也可能是一个类模板的声明D.这肯定是一个错误的模板声明14.函数定义为 Fun(int B.fun
9、(20+n);C.fun(n);D.funD( public: A():a(0) A(char*aa)/把 aa所指字符串拷贝到 a所指向的存储空间 a=_; strcpy(a,aa); strcpy(a,aa); A()deletea; ; 横线处应填写的表达式是_。(分数:2.50)A.new charstrlen(aa)+1B.charstrlen(aa)+1C.charstrlen(aa)D.new charsizeof(aa)-116.下列模板声明中,有语法错误的是_。(分数:2.50)A.templatetypename TT fun(T x)return x*x;B.templa
10、tetypename TT fun(T x,int n)return x+n;C.templateclass TT fun(T*p)return*p;D.templateclass TT fun()return T;17.下列关于 C+函数的说明中,正确的是_。(分数:2.00)A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是 return语句C.标准 C+要求在调用一个函数之前,必须先声明其原型D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式18.下列叙述中正确的是(分数:1.00)A.线性链表是线性表的链式存储结构B.栈与队列是非线性结构C.双向链
11、表是非线性结构D.只有根结点的二叉树是线性结构19.下列叙述中正确的是_。(分数:1.00)A.数据的存储结构会影响算法的效率B.算法设计只需考虑结果的可靠性C.算法复杂度是指算法控制结构的复杂程度D.算法复杂度是用算法中指令的条数来度量的20.为完成下面的程序,应在划线处填入的语句是 #includeiostream using namespace std; class Base private: int x; public: Base(int i) x=i; Base() ; class Derived:public Base public: _ /完成类 Derive构造函数的定义 ;
12、int main() Derived obj; return 0; (分数:2.00)A.Derived(int i):Base(i)B.Derived()C.Void Derived (int i):Base(i)D.Denved(int i)Base(i);21.面向对象方法中,继承是指_。(分数:2.50)A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制22.有如下语句序列: ifstream infile(“DATA.DAT“); if(infile.good()cout“A“; else cout“B“; ofstre
13、am outfile(“DATA.DAT“); if(outfile.fail()cout“C“;else cout“D“; 若执行这个语句序列显示的是 BD,则说明文件 DATA.DAT_。(分数:2.00)A.以读方式打开成功B.以读方式打开失败,但以写方式打开成功C.以读方式打开失败,以写方式打开也失败D.以读方式打开成功,以写方式打开也成功23.对于多重继承,下面说法中正确的是 _ 。(分数:2.00)A.一个派生类只有一个基类B.一个基类只能产生一个派生类C.一个派生类可有多个基类D.一个基类必须产生多个派生类24.有如下程序: #includeiostream using name
14、space std; void f1(int void f2(int x)+x; int main() int x=10,y=12; f1(x); f2(y); coutx+yendl; return 0; 运行这个程序的输出结果是_。(分数:3.00)A.22B.23C.24D.2525.在 E-R图中,用来表示实体联系的图形是_。(分数:2.50)A.椭圆图B.矩形C.菱形D.三角形26.下列关于类、对象、属性和方法的叙述中,错误的是 _ 。(分数:2.00)A.类是对一类相似对象的描述,这些对象具有相同的属性和方法B.属性用于描述对象的状态,方法用于表示对象的行为C.基于同一个类产生的两
15、个对象可以分别设置自己的属性值D.通过执行不同对象的同名方法,其结果必然是相同的27.在一个函数体中,定义一个变量的默认存储类型是_。(分数:1.00)A.externB.registerC.autoD.static28.下列关于类定义的说法中,正确的是_。(分数:1.00)A.类定义中包括数据成员和函数成员的声明B.类成员的缺省访问权限是保护的C.数据成员必须被声明为私有的D.成员函数只能在类体外进行定义29.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为(分数:1.00)A.publicB.protectedC.privateD.static30.有如
16、下函数模板声明: templatetypename,T T Max(T a,T b)return(ab)?a:b; 下列对函数模板 Max()的调用中错误的是_。(分数:1.00)A.Max(3.5,4.5)B.Max(3.5,4)C.Maxdouble(3.5,4.5)D.Maxdouble(3.5,4)31.有如下 4个语句: cout“A“setfill(“*“)leftsetw(7)“B“endl; coutsetfill(“*“)leftsetw(7)“A“B“endl; cout“A“serfill(“*“)rightsetw(7)“B“endl; coutsetfill(“*“)
17、rightsetw(7)“A“B“endl; 其中能显示 A*B的是_。(分数:2.00)A.和B.和C.和D.和32.有如下说明: int a10=1, 2, 3, 4,5,6, 7, 8, 9, 10, *p=a; 则数值为 9的表达式是_。(分数:1.00)A.*p+9B.*(p+8)C.*p+=9D.p+833.已知数组,d 中有 n个元素,下列语句将数组 a中从下标 x1开始的 k个元素移动到从下标 x2开始的k个元素中,其中 0=x1x2n,x2+kn。将下列语句补充为_。 for(int i=x1+k-1;i=x1;i-) a_=ai;(分数:2.00)Ax2B.x2+kC.x2
18、+k+1D.x2+k-134.C+语言类体系中,不能被派生类继承的有(分数:1.00)A.转换函数B.构造函数C.虚函数D.静态成员函数二级 C+分类模拟 257答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:34,分数:60.00)1.计算斐波那契数列第 n项的函数定义如下: int fib(int n) if (n=0)return 1; else if(n=1) return 2; else return fib(n=1)+fib(n=2); 若执行函数调用表达式 fib(2),函数 fib被调用的次数是 _ 。(分数:2.00)A.1B.2C.3 D.4解析:解析
19、 针对递归调用的含义。当 n为 2时有 fib(0),fib(1),fib(2)被调用,且 fib(0),fib(1)时调用结束,即共 3次。2.下列错误的定义语句是 _ 。(分数:2.00)A.int x3=0,1,1,2,3;B.int x43=1,2,3,1,2,3,1,2,3,1,2,3;C.int x4=1,2,3,1,2,3,1,2,3,1,2,3; D.int x3=1,2,3,4;解析:解析 本题考查数组的定义一维数组定义和初始化是允许省略行下标,不允许省略列下标,故选项 C错误。3.下列关于多态性的描述,错误的是_。(分数:1.00)A.C+语言中的多态性分为编译时的多态性和
20、运行时的多态性B.编译时的多态性可通过函数重载实现C.运行时的多态性可通过模板和虚函数实现 D.实现运行时多态性的机制称为动态绑定解析:解析 编译时的多态性是通过函数重载和模板体实现的,运行时的多态性是通过虚函数体实现的。4.有如下程序: #include using namespace std; int main() int f, f1=0, f2=1; for(int i=3; i=6; i+) f=f1+f2; f1=f2; f2=f; coutf return 0; /f 运行时的输出结果是_。(分数:2.50)A.2 B.3C.5D.8解析:解析 本题考查的知识点是循环结构。for
21、语句是 C+中最常用且功能最强的循环语句,其语法格式如下: for(表达式 1; 表达式 2; 表达式 3) 语句 其中,for 为关键字;表达式 1是 for循环的初始化部分,它一般用来设置循环控制变量的初始值;表达式 2是 for循环的条件部分,它是用来判定循环是否继续进行的条什;表达式 3是 for循环的增量部分,它一般用于修改循环控制变量的值;语句称为 for循环的循环体。5.在软件测试设计中,软件测试的主要目的是 _ 。(分数:2.00)A.实验性运行软件B.证明软件正确C.演示软件的正确功能D.发现软件错误而执行程序 解析:解析 使用人工或自动手段来运行或测定某个系统的过程,其目的
22、在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。软件测试是为了发现错误而执行程序的过程。测试要以查找错误为中心,而不是为了演示软件的正确功能。6.已知类 MyClass的定义如下: class MyClass public: MyCtass(int d)data=d; MyClass() private: int data; ; 下列对 MyClass类对象数组的定义和初始化语句中,正确的是_。(分数:2.00)A.MyClass array2;B.MyClass array2=MyClass(5);C.MyClass array2=MyClass(5),MyClass(6)
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 分类 模拟 257 答案 解析 DOC
