【计算机类职业资格】二级C++分类模拟251及答案解析.doc
《【计算机类职业资格】二级C++分类模拟251及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++分类模拟251及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+分类模拟 251及答案解析(总分:70.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下列关于 C+流的描述中,错误的是_。(分数:2.50)A.cout“A“表达式可输出字符 AB.eof()函数可以检测是否到达文件尾C.对磁盘文件进行流操作时,必须包含头文件 fstreamD.以 ios_base:out模式打开的文件不存在时,将自动建立一个新文件2.下面的符号中可以用作 C+标识符的是_。(分数:2.50)A.3testB.fccotherC.elseD.radius3.下列关于虚函数的说明中,正确的是_。(分数:1.00)A.从虚基类继承的函数都
2、是虚函数B.虚函数不得是静态成员函数C.只能通过指针或引用调用虚函数D.抽象类中的成员函数都是虚函数4.关于类模板,下列表述中不正确的是_。(分数:3.00)A.类模板中声明的类称为模板类B.类模板只能有虚拟类型参数C.类模板本身在编译中不会生成任何代码D.类模板的成员函数都是模板函数5.若有以下变量和函数说明: #includeiostream.h charCh=“*“; void sub (int x,int y,char ch,double*Z) switch(ch) case“+“:*Z=x+y;break: case“-“:*Z=x-y;break: case“*“:*Z=x*y;
3、break: case“/“:*Z=X/y;break; 以下合法的函数调用语句是 _ 。(分数:1.00)A.sub(10,20,Ch,y);B.sub(1.2+3,2*2,“+“, class TV public: Tv(int s=2):size(s) TV(const TV private: int size; ; int main() TV room1(1), room2(room1), room3; TV*roomPtr=new TV(3); delete roomPtr; return 0; 运行时的输出结果是_。(分数:1.00)A.3211B.3210C.3121D.2323
4、7.某二叉树有 5个度为 2的结点,则该二叉树中的叶子结点数是_。(分数:2.50)A.10B.8C.6D.48.通过运算符重载,只能改变运算符原有的_。(分数:1.00)A.优先级B.操作数个数C.操作数类型D.结合性9.若有如下程序: #includeiostream using narnespace std; class TestClass public: void who()cout“TestClass“endl; ; class TestClassl: public TestClass public: void who()cout“TestClass1“endl; int main(
5、) TestClass*p; TcstClass1 obj1; p=obj1; p-who(); return 0; 则该程序运行后的输出结果是_。(分数:1.00)A.TestClasslB.TestClassC.0D.无输出10._ 不是构造函数的特征。(分数:1.00)A.构造函数的函数名与类名相同B.构造函数可以重载C.构造函数可以设置默认参数D.构造函数必须指定类型说明11.有如下程序: #includeiostream using namespace std; int main() void function(double val); double val; function(va
6、l); coutval; return 0; void function(double val) val=3; 编译运行这个程序将出现的情况是_。(分数:1.00)A.编译出错,无法运行B.输出:3C.输出:3.0D.输出一个不确定的数12.算法的有穷性是指_。(分数:2.50)A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用13.下列语句都是程序运行时的第 1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是_。(分数:2.00)A.coutinternal12345;B.coutleft12345;C.cou
7、tright12345;D.coutsetw(6)12345;14.下列关于函数模板的描述中,正确的是_。(分数:1.00)A.函数模板是一个实例函数B.使用函数模板定义的函数没有返回类型C.函数模板的类型参数与函数的参数相同D.通过使用不同的类型参数,可以从函数模板得到不同的实例函数15.已知 outfile是一个输出流对象,要想像 outfile的文件指针定位到当前位置之前 321字节处,正确的函数调用语句是(分数:2.00)A.outfile.seekp(321,ios_base:cur);B.outfile.seekp(321,ios_base:beg);C.outfile.seekp
8、(-321,ios_base:beg);D.outfile.seekp(-321,ios_base:cur);16.C+中的模板包括(分数:2.00)A.对象模板和函数模板B.对象模板和类模板C.函数模板和类模板D.变量模板和对象模板17.下列成对的表达式中,运算符“/”的意义相同的一对是 _ 。(分数:2.00)A.8/3和 8.0/3.0B.8/3.0和 8/3C.8.0/3和 8/3D.8.0/3.0和 8.0/318.有以下程序: #includeiostream using namespace std; class Complex public: Complex(double r=0
9、,double i=0):re(r),im(i) double real() constreturn re; double imag() constreturn im; Complex operator+(Complex c)const return Complex(re+c.re,im+c.im); private: double re,im; ; int main() Complex a=Complex(1,1)+Complex(5); couta.real()“+“a.imag()“i“endl; return 0; 程序执行后的输出结果是_。(分数:1.00)A.6+6iB.6+1iC
10、.1+6iD.1+1i19.有下列程序: #include stdio.h int fun(int (*s)4,int n,int k) int m,i; m=s0k; for(i=1;in;i+) if(sikm)m=sik; return m; void main() int a44=1,2,3,4),11,12,13,14,21,22,23,24,31,32,33,34; printf(“%d/n“,fun(a,4,0); 程序的运行结果是_。(分数:2.50)A.4B.34C.31D.3220.下列关于类模板的模板参数的叙述中,错误的是_。(分数:1.00)A.模板参数可以作为数据成员
11、的类型B.模板参数可以作为成员函数的返回类型C.模板参数可以作为成员函数的参数类型D.模板参数不能作为成员函数的局部变量的类型21.以下选项中合法的实型常数是(分数:2.00)A.5 E 2.0B.E-3C2 E0D.1.3 E22.若已知 char str 20;,且有语句 cinstr;,此时输入为“This is a program“,则所得的结果是 str= _ 。(分数:2.00)A.This is a programB.ThisC.This isD.This is a23.为完成下面的程序,应在划线处填入的语句是 #includeiostream using namespace s
12、td; class Base private: int x; public: Base(int i) x=i; Base() ; class Derived:public Base public: _ /完成类 Derive构造函数的定义 ; 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);24.为类 Matrix重载下列运算符时,只能作为 Matrix类成员函数重载的运算符是_。(
13、分数:2.50)A.+B.=C.D.+25.下列控制对齐方式的操作符中,错误的是_。(分数:2.00)A.internalB.centerC.leftD.right26.在下列字符中,不允许作为 C+标以符的是_。(分数:2.50)AbBBC._D.227.有如下函数模板定义: tempiatetypename T1,typename T2 T1 FUN(T2 n)return n*5.0; 若要求以 int型数据 9作为函数实参调用该模板,并返回一个 double型数据,则该调用应表示为_。(分数:2.50)A.FUN(9)B.FUN9C.FUNdouble(9)D.FUN9(double)
14、28.下面描述正确的是_。(分数:1.00)A.软件测试是指动态测试B.软件测试可以随机地选取测试数据C.软件测试是保证软件质量的重要手段D.软件测试的目的是发现和改正错误29.有如下类定义: class Test public: Test()a=0;c=0;/ int f(int a)constthis-a=a;/ static int g()return a;/ voidh(intb)Test:b=b;/ private: int a; static int b; const int c; ; int Test:b=0; 在标注号码的行中,能被正确编译的是_。(分数:1.00)A.B.C.
15、D.30.针对数组定义 int data10;,下列表述中错误的是(分数:1.00)A.用*data 可访问到数组的首元素B.用 data9可访问到数组的末元素C.用 data10访问数组元素会超出数组边界D.data共有 10个元素,其首元素是 data131.执行以下程序时,输入一行字符串为“Thank you very much!”,程序的输出结果为_。 #includeiostream using namespace std; int main() char a100; cina; couta“/n“; return 0;(分数:2.00)ATB.ThankC.Thank you ve
16、ry much!D.Thank you32.if语句的语法格式可描述为: 格式 1:if(条件)语句 或 格式 2:if(条件)语句 1 else语句 2 关于上面的语法格式,下列表述中错误的是_。(分数:1.00)A.条件部分可以是一个 if语句,例如 if(if(a=0)B.语句部分可以是一个 if语句,例如 if()if()C.如果在条件前加上逻辑非运算符!并交换语句 1和语句 2的位置,语句功能不变D.语句部分可以是一个循环语句,例如 if()while()33.下列属于黑盒测试方法的是_。(分数:2.50)A.语句覆盖B.逻辑覆盖C.边界值分析D.路径分析34.一个栈的初始状态为空。
17、现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是_。(分数:2.50)A.12345ABCDEB.EDCBA54321C.ABCDE12345D.5432IEDCBA35.有以下语句,则对 a数组元素的引用不正确的是(0i9) int a10=0,1,2,3,4,5,6,7,8,9,*p=a;(分数:1.00)A.ap=a)B.*(B.Decr operator -(DecrC.friend DecrD.friend Decr operator -(Decr37.下列关于派生类的说法中,错误的是_。(分数:2.00)A.一个派生类可以作为另一个派生
18、类的基类B.派生类至少有一个基类C.派生类的成员除了它自己的成员外,还包含了其基类的成员D.派生类中继承的基类成员的访问权限在派生类中保持不变38.当一个派生类对象结束其生命周期时,系统自动做的事情是_。(分数:2.50)A.先调用派生类的析构函数后调用基类的析构函数B.先调用基类的析构函数后调用派生类的析构函数C.如果派生类没有定义析构函数,则只调用基类的析构函数D.如果基类没有定义析构函数,则只调用派生类的析构函数39.有如下两个类定义: class AA); class l3B AA v1,*v2; BB v3; int*v4; ; 其中有一个成员变量的定义是错误的,这个变量是_。(分数
19、:2.50)Av1Bv2Cv3Dv440.有如下程序: #include iostream using namespace std; class A public: A() cout“A“; ; class B:public A public: B() cout“-B“;delete p; int main( ) B obj; return 0;(分数:1.00)A.BAAABAB.ABABAAC.BAABAAD.ABAABA二级 C+分类模拟 251答案解析(总分:70.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下列关于 C+流的描述中,错误的是_。(分数:
20、2.50)A.cout“A“表达式可输出字符 A B.eof()函数可以检测是否到达文件尾C.对磁盘文件进行流操作时,必须包含头文件 fstreamD.以 ios_base:out模式打开的文件不存在时,将自动建立一个新文件解析:解析 C+流有 4个预定义的流对象:cin、cout、cerr 和 clog。cin 使用提取运算符“”实现数据的输入,其余三个标准流使用插入运算符“”实现数据的输出。2.下面的符号中可以用作 C+标识符的是_。(分数:2.50)A.3testB.fccotherC.elseD.radius 解析:解析 C+标识符是以字母、下划线开头的,由字母、数字及下划线组成的,不
21、与关键字相同的字符串。选项 C中 else为关键字。3.下列关于虚函数的说明中,正确的是_。(分数:1.00)A.从虚基类继承的函数都是虚函数B.虚函数不得是静态成员函数 C.只能通过指针或引用调用虚函数D.抽象类中的成员函数都是虚函数解析:解析 在某基类中声明为 virtual并在一个或多个派生类中被重新定义的成员函数。虚函数必须是基类的非静态成员函数,其访问权限可以是 protected或 public。如果一个类包含了纯虚函数,称此类为抽象类。所以本题答案为 B。4.关于类模板,下列表述中不正确的是_。(分数:3.00)A.类模板中声明的类称为模板类B.类模板只能有虚拟类型参数 C.类模
22、板本身在编译中不会生成任何代码D.类模板的成员函数都是模板函数解析:5.若有以下变量和函数说明: #includeiostream.h charCh=“*“; void sub (int x,int y,char ch,double*Z) switch(ch) case“+“:*Z=x+y;break: case“-“:*Z=x-y;break: case“*“:*Z=x*y; break: case“/“:*Z=X/y;break; 以下合法的函数调用语句是 _ 。(分数:1.00)A.sub(10,20,Ch,y);B.sub(1.2+3,2*2,“+“, class TV public:
23、 Tv(int s=2):size(s) TV(const TV private: int size; ; int main() TV room1(1), room2(room1), room3; TV*roomPtr=new TV(3); delete roomPtr; return 0; 运行时的输出结果是_。(分数:1.00)A.3211 B.3210C.3121D.2323解析:解析 由题意可知,输出 size的值是在析构函数中,main 函数中有四个对象room1,room2,room3 和 roomPtr指向的对象,在对象 room1中,调用构造函数初始化 size的值为 1;对象
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 分类 模拟 251 答案 解析 DOC
