《2021面向对象程序设计期末考试含答案.pdf》由会员分享,可在线阅读,更多相关《2021面向对象程序设计期末考试含答案.pdf(79页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、面向对象程序设计考前练习本试卷有3种题型共120小题,作答时间为90分钟,总分120分。单选题判断题多选题一、单选题(本部分共89题,每题1分,共89分)1、在类定义的外部,可以被访问的成员有()。A.所有类成员B.private的类成员C.public或private的类成员D.public的类成员rArBrC(?D参考答案:D共137人答过,平均正确率55.47%2、下列关于C+语言类的描述中错误的是()。A.类用于描述事物的属性和对事物的操作B.类与类之间通过封装而具有明确的独立性C.类与类之间必须是平等的关系,而不能组成层次结构D.类与类之间可以通过一些方法进行通信和联络A r B 8
2、 C r D参考答案:C共117人答过,平均正确率70.09%3、定义析构函数时,应该注意()OA.其名与类名完全相同B.返回类型是void类型C.无形参,也不可重载D.函数体中必须有delete语句A r B C r D参考答案:C共116人答过,平均正确率68.97%4、下列函数中,正确的递归函数是()OA.int Fun(int n)if(nl)?return 1;?else?return n*Fun(n+l);B.int Fun(int n)if(abs(n)l)?return 1;?else?return n*Fun(n*2);D.int Fun(int n)?if(nl)?retu
3、rn 1;else?return n*Fun(n-l);rA(yBrCrD参考答案:B共115人答过,平均正确率73.04%5、在C+中编译器所生成的文件的扩展名为()。A.cppB.objC.libD.exeA c B r C D参考答案:B共 113人答过,平均正确率70.8%6、派生类的对象对它的基类成员中的()是可以访问。A.公有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.私有继承的公有成员A r B r C r D参考答案:A共112人答过,平均正确率73.21%7、C+设置虚基类的目的是().A.消除二义性B.简化程序C.提高运行效率D.减少目标代码(3 ArBr
4、CrD参考答案:A共112人答过,平均正确率71.4 3%8、以下关于t h i s指针的叙述中正确的是()。A .任何与类相关的函数都有t h i s指针B.类的成员函数都有t h i s指针C.类的友员函数都有this指针D.类的非静态成员函数才有this指针参考答案:D共107人答过,平均正确率63.55%9、实现运行时的多态性采用()。A.重载函数B.构造函数C.析构函数D.虚函数rArBrC(?D参考答案:D共107人答过,平均正确率69.16%关于类定义格式的描述中,()是错的。A.一般类的定义格式分为说明部分和实现部分B.一般类中包含有数据成员和成员函数C.类中成员有三种访问数据
5、:公有、私有和保护D.成员函数都应是公有的、数据成员都应是私有的rArBrCffD参考答案:D共108人答过,平均正确率65.74%11、关于new运算符的下列描述中,()是错误的。A.它可以用来动态创建对象和对象数组B.使用它创建的对象或对象数组可以使用运算符delete删除C.使用它创建对象时要调用构造函数D.使用它创建对象数组时必须指定初始值A f B f C D参考答案:D共108人答过,平均正确率63.89%12、在()情况下适宜采用inline定义内联函数。A.函数体含有循环语句B.函数体含有递归语句C.函数代码小,频繁调用D.函数代码多,不常调用rArBf?CrD参考答案:C共1
6、07人答过,平均正确率75.7%13、定义析构函数时,应该注意()。A.其函数名与类名完全相同B.函数返回类型是void类型C.无形参,也不可重载D.函数体中必须有delete语句rArB(?CrD参考答案:C共107人答过,平均正确率69.16%14、关于成员函数特征的下列描述中,()是错误的。A.成员函数一定是内联函数B.成员函数可以重载C.成员函数可以设置缺省参数值D.成员函数可以是私有的仃 A r B r C r D参考答案:A共107人答过,平均正确率75.7%15、下列有关类的说法不正确的是()OA.类是一种用户自定义的数据类型B.只有类中的成员函数才能存取类中的私有数据C.在类中
7、,如果不作特别说明,所有的数据均为私有类型D.在类中,如果不作特别说明,所有的成员函数均为公有类型A r B r C D参考答案:D共107人答过,平均正确率69.16%16、在C+程序中,对象之间的相互通信通过()。A.继承实现B.调用成员函数实现C.封装实现D.函数重载实现A 仃 BCD参考答案:B共107人答过,平均正确率72.9%17、对于任意一个类,析构函数的个数有()OA.0B.1C.不确定D.2rA yBrCrD参考答案:B共107人答过,平均正确率70.09%18、在下列各函数中,不是类的成员函数的是()OA.构造函数B.析构函数C.友元函数D.拷贝构造函数A r B C r
8、D参考答案:C共107人答过,平均正确率71.96%19、在多基继承的构造函数定义中,几个基类的构造函数之间用()分隔。A.:B.C.,D.:A f B CD参考答案:C共 107人答过,平均正确率70.09%20、若类A 和类B的定义如下:class Aint i,j;public:void get();/.);class B:A int k;public:void make(int);/.);void B:make(int j)k=i*j;)则上述定义中,非法的表达式是()。A.void get()B.int kC.void make(int)D.k=i*jrArBrC D参考答案:D共1
9、07人答过,平均正确率66.36%21、已知:print函数是一个类的常成员函数,它无返回值,下列表示中正确的是()。A.const void print()B.void const print()C.void print(const)D.void print()constA r B r C 俗 D参考答案:D共106人答过,平均正确率65.09%下列关于运算符重载的描述中,正确的叙述是()。A.运算符重载可以改变运算数的个数B.运算符重载可以改变语法结构C.运算符重载可以构造新的运算符D.运算符重载不可以改变优先级和结合性rArBrCffD参考答案:D共 107人答过,平均正确率68.22%
10、23、在类外部可以用p.a的形式访问派生类对象p 的基类成员a,则 a 应是()。A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员A f B f C D参考答案:D共 107人答过,平均正确率72.9%24、下列带缺省值参数的函数说明中,正确的说明是()OA.int Fun(int x=l,int y=2,int z)B.int Fun(int x,int y=2,int z=3)C.int Fun(int x,int y=2,int z)D.int Fun(int x=l,int y,int z=3)A B C D参考答案:A共 107人答过,平均正确
11、率71.96%25、C+源程序文件的缺省扩展名为()。A.cppB.exeC.objD.lik(yArBrCrD参考答案:A共 107人答过,平均正确率71.96%26、存储以下数据,占用存储字节最多的是()。A.0B.0C.0D.0.0rArBrC(tD参考答案:D共107人答过,平均正确率68.22%27、字符串a+b=12n的长度为().A.6B.7C.8D.9rAf?BrCrD参考答案:B共107人答过,平均正确率66.36%28、switch语句能够改写为()语句。A.forB.ifC.doD.whileA 仃 B r C r D参考答案:B共 107人答过,平均正确率69.16%2
12、9、函数重载是指()OA.两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B.两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C.两个以上的函数名字不同,但形参的个数或类型相同D.两个以上的函数取相同的函数名,并且函数的返回类型相同(yArBrCrD参考答案:A共 107人答过,平均正确率76.64%30、编写C+程序一般需经过的几个步骤依次是()。A.编译、编辑、连接、调试B.编辑、编译、连接、调试C.编译、调试、编辑、连接D.编辑、调试、编辑、连接A r B r C D参考答案:B共 107人答过,平均正确率71.03%31、设 inta=15,b=26;,则
13、 cout(a,b 的输出结果是()。A.15B.26,15C.15,26D.26ABC D参考答案:D共107人答过,平均正确率67.29%32、下列的符号常量定义中,错误的定义是()。A.const M=10B.const int M=20C.const char chD.const bool mark=truerArB(?CrD参考答案:C共107人答过,平均正确率71.96%33、在下面循环语句中循环体执行的次数为()Oint i=O,s=O;while(s20)i+;s+=i;A.4B.5C.6D.7rArB(?CrD参考答案:C共 106人答过,平均正确率70.75%34、以下说法
14、中正确的是()。A.C+程序总是从第一个定义的函数开始执行B.C+程序总是从main函数开始执行c.C+函数必须有返回值否则不能使用函数D.C+程序中有调用关系的所有函数必须放在同一个程序文件中rA(?BrCrD参考答案:B共 106人答过,平均正确率68.87%35、假定p 是具有double类型的指针变量,则表达式+p 使 p 的值(以字节为单位)增加()。A.1B.4C.sizeof(double)D.sizeof(p)A r B 伶 C r D参考答案:C共 107人答过,平均正确率71.96%()是析构函数的特征。A.一个类中只能定义一个析构函数B.析构函数名与类名不同C.析构函数的
15、定义只能在类体内D.析构函数可以有一个或多个参数,?ArBrCrD参考答案:A共106人答过,平均正确率75.47%37、关于delete运算符的下列描述中,()是错误的。A.它必须用于new返回的指针B.它也适用于空指针C.对一个指针可以连续使用多次该运算符D.指针名前只有一对方括号符,不管所删除数组的维数rArB?CrD参考答案:C共107人答过,平均正确率68.22%38、关于类成员函数的描述中,()是错的。A.类中可以说明一个或多个成员函数B.类中的成员函数只能定义在类体外C.定义在类体外的成员函数前加inline可以成为内联函数(内置函数)D.在类体外定义成员函数时,在函数名前除了加
16、类名外,还需加作用域符rA(yBrCrD参考答案:B共107人答过,平均正确率69.16%39、假定有struct,B O O K char title 40;float-price;B00K*book;,则不v w w vvvw vv正确的语句为()。A.BOOK*x=new bookB.BOOK x=C+Programming,27.0C.BOOK*x=new BOOKD.BOOK*x=bookAB r C r D参考答案:A共106人答过,平均正确率74.53%40、下列对引用的陈述中不正确的是()。A.每一个引用都是其所引用对象的别名,因此必须初始化B.形式上针对引用的操作实际上作用于
17、它所引用的对象C.一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行D.不需要单独为引用分配存储空间A f B L D参考答案:C共107人答过,平均正确率74.77%41、面向对象程序设计思想的主要特征不包括()OA.继承性B.功能分解,逐步求精C.封装性和信息隐藏D.多态性rAf?BrCrD参考答案:B共107人答过,平均正确率74.77%42、类中定义的成员默认访问权限为()。A.publicB.privateC.protectedD.friendA e B r C r D参考答案:B共107人答过,平均正确率69.16%43、构造函数在()时被调用。A.程序编译B.程序装
18、入内存C.创建类D.创建对象A r B r C 6 D参考答案:D共 106人答过,平均正确率68.87%44、关于构造函数,下面说法错误的是()。A.对用户来说,是否调用构造函数不可选,它由编译器在对象定义时自动完成B.构造函数也是类的一个成员函数,具有一般成员函数的特征,也可以被重载C.拷贝构造函数的作用是使用一个已经存在的对象去初始化一个新的同类的对象D.构造函数的函数名与类名相同,而且有返回值 A B C D参考答案:D共 107人答过,平均正确率64.49%45、关于析构函数,说法错误的是()OA.与构造函数几乎正好相反,析构函数用于完成对象被删除前的清理工作B.析构函数在对象的生存
19、期即将结束时由系统自动调用。调用完成后,对象消失,相应的内存单元被释放C.是类的一个公有函数成员,它的函数名与类名相同,有返回值,可以接受任何参数D.通常,如果没有显式说明定义析构函,系统将自动生成默认析构函数,不做任何事情rArB(?CrD参考答案:C共 107人答过,平均正确率73.83%46、下列关于运算符重载的描述中,错误的是()。A.可以通过运算符重载在C+种创建新的运算符B.赋值运算符只能重载为成员函数C.运算符函数重载为类的成员函数时,第一操作数是该类对象D.重载类型转换运算符时不需要声明返回类型(?ArBrCrD参考答案:A共 107人答过,平均正确率75.7%47、以下错误的
20、C+标识符是()。A.AXHB,_80C.3CD.mainA r B 廿 C r D参考答案:C共 107人答过,平均正确率67.29%48、下列代码段声明了 3个类class Person;class Studentpublic Person;class Undergraduate:Student;下列关于这些类之间的关系的描述中,错误的是()。A.类 Person 是类 Undergraduate 的基类B.类Undergraduate从类Student公有继承C.类Student是类Person的派生类D.类Undergraduate是类Person的派生类rA=A&ch=ZB .ch=
21、ZC.A=ch=A&ch=ZrArBrC D参考答案:D共106人答过,平均正确率69.81%59、下列关于类定义的说法中,正确的是()。A.类定义中包括数据成员和函数成员的声明B.类成员的缺省访问权限是保护的C.数据成员必须被声明为私有的D.成员函数只能在类体外进行定义ABCD参考答案:A共106人答过,平均正确率76.42%60、使用输入输出操作符setw,可以控制()。A.输出精度B.输出宽度C.对齐方式D.填充字符A 6 B r C r D参考答案:B共106人答过,平均正确率68.87%61、void JUQC(int a,int&B:a+;b+;,有如下函数定义:坪 行 户 码 号
22、 一 则变量X和yInt x=0,y=lj Jfunc(x,y)3值分别是()。A.0 和 1B.1 和 1C.0 和 2D.l 和 2A r B 廿 C r D参考答案:C共106人答过,平均正确率68.87%62、有如下程序:#include4jusing namespace std一class test Qprivate:int a;4jpublic:“test()(cout constructor endl;4Jtest(int a)coutaendl;vtest(const test&test)La=_test.a 3cout copy constructor endl;VWvA*s
23、AZW W1A/Wtest()(cout destructor endl;Pint main。Qtest A(3);dreturn 0;。运行时输出的结果是().A.3B.constructor destructorC.copy constructorD.3 destructorA r B r C 俗 D参考答案:D共106人答过,平均正确率66.04%下列选项中不符合良好程序设计风格的是()OA.源程序要文档化B.数据说明的次序要规范化C.避免滥用goto语句D.模块设计要保证高耦合、高内聚rArBrCffD参考答案:D共 105人答过,平均正确率69.52%64、在面对对象方法中,实现信息
24、隐蔽是依靠()OA.象的继承B.对象的多态C.对象的封装D.对象的分类A f B L D参考答案:C共106人答过,平均正确率73.58%65、已知一程序运行后执行的第一个输出操作是coutsetw(10)setfill()1234贝!此操作的输出结构是()oA.1234B*234C*2234D 1234*rAf?BrCrD参考答案:B共106人答过,平均正确率65.09%66、有如下程序:t t i n cl u d e pu s i n g n am e s p ace s t d i n t m ai n O Qi n t s u m;4 jf o r(i n t i=0;i 6;i+=
25、3)Ls u m=i;f o r(i n t j =i;j 6;j+)vs u m+=j;/运行时的输出结果是()。)一vcwowuvtws u m e n d l;r e t u r n 0;PA.3B.10C.12D.15rArBrC(?D参考答 案:D共105人 答 过,平均正确率62.86%67、若已经声明了函数原型void fun(int a,double b=0.0)-:,则下列重载函数声明中正确的是()。A.void fun(int a=90,double b=0.0)B.int fun(int a,double B)C.void fun(double a,int B)D.boo
26、l fun(int a,double b=0.0)rArB(?CrD参考答案:C共 105人答过,平均正确率75.24%68、int k=20有如下语句序列:do k+=5;coutJ$”;while(k 0)cput9*面的语句序列输出字符$和*的个数分别是()。A.0 和 25B.0 和 26C.1 和 25D.1 和 26rArB(?CrD参考答案:C共105人答过,平均正确率73.33%69、有如下类声明:class Foo int data;贝!j Foo类的成员data是()。A.公有数据成员B.公有成员函数C.私有数据成员D.私有成员函数A r B 8 CD参考答案:C共105人
27、答过,平均正确率72.38%70、in t x=3;Pdo 有如下程序:x-=2 执行这个程序的输出结果是()oCOUtX;4 Jw hile(!(x);一A.1B.30C.1-2D.死循环A r B 8 C D参考答案:C共 105人答过,平均正确率69.52%71、在语句 for(int i=50;i 1;i)cout 在,cout 是()A.C+关键字B.类名C.对象名D.函数名A r B 8 C r D参考答案:C共 105人答过,平均正确率66.67%72、#i n cl u d e A A4Z -u s i n g n am e s p ace s t d;Pcl as s Co叩
28、l e xQp u b l i c:Co i r l e x(d o u b l e r =0,d o u b l e i =0):r e(r),i m(i)4d o u b l e r e al()VcSoA/nV VsVtW W r e t u r n r e;“d o u b l e i m as()co n s t r e t u r nCo i r p l e x o p e r at o r +(Co m p l e x c co n s t/*VvWVv*vZv*V有以下程序 r e t u r n Co m p l e x(r e+c.r e,iwmw+c.iwmw);p r
29、i v at e:d o u b l e r e,i m;Wi n t m ai n O /Co i i f l e x a=Co i r?l e x(l,1)+Co n p l e x(5)co u t a.r e al ()+a.i m ag O?i e n d l;WSAAAA/V AAAAAA?V VSAAA/S/Wr e t u r n 0;程序执行后的输出结果是()oA.6+6iB.6+liC.l+6iD.1+liA 6 B r C r D参考答案:B共105人答过,平均正确率67.62%73、class MyClass Qint i;vprivate:int j;。有如下类声明:
30、protected:int k,其中,私有成员的数量为()。public:int m,n;Pint s;d A.1B.2C.3D.4rA(rBrCrD参考答案:B共105人答过,平均正确率67.62%74、以下程序输出的结果是()。#i n cl u d e pu s i n g n am e s p ace s t d;4 jv o i d f u n(i n t x=0,i n t y=0).(Pc o u t x y;p),i n t m ai n()pQf u n ;.r e t u r n 0;JPA.00B.50C.05D.55A B r C r D参考答案:B共104人答过,平均
31、正确率66.35%75、在类声明中,紧跟在public:后声明的成员的访问权限是()。A.私有B.公有c.WD.默认A G B r C r D参考答案:B共105人答过,平均正确率65.71%76、下列有关内联函数的叙述中,正确的是()。A.内联函数在调用时发生控制转移B.内联函数必须通过关键词inline来定义C.内联函数是通过编译器实现的D.内联函数函数体的最后一条语句必须是return语句AB 伶 C r D参考答案:C共105人答过,平均正确率70.48%若有下面的函数调用:Fun(a+b,3,max(n-1,b)则 Fun的实参个数是()。A.3B.4C.5D.6(yArBrCrD参
32、考答案:A共 104人答过,平均正确率74.04%78、下列有关函数重载的叙述中,正确的是()。A.重载函数的形参个数可以相同B.重载函数的形参个数必须不同C.重载函数的返回值类型必须不同D,重载函数的任何参数都不能带默认值A f B f C D参考答案:A共105人答过,平均正确率66.67%79、字面常量12、1.2、12L的数据类型分别是().A.long、double intB.long、float、intC.int、double,longD.int、float、longr A r B C r D参考答案:C共104人答过,平均正确率70.19%80、执行下列语句后,变量sum的值是(
33、)。i n t s u m =0;Pf o r(i n t i =1;i =3;i+)f o r(i n t j =1;j =i;j+)s u m+;s u m+;/A.7B.8C.9D.10rArBf fCrD参考答案:C共105人答过,平均正确率67.62%下列函数原型中,可以作为类Foo构造函数的是()。A.void Foo(int)B.int Foo()C.Foo(int)constD.Foo(int)A r B r C a D参考答案:D共105人答过,平均正确率66.67%82、若x和y是程序中的两个整型变量,则下列if语句中正确的是()0A.if(x=0)y=l;else y=2
34、B.if(x=0)then y=l else y=2C.if(x=0)y=l else y=2D.if x=0 y=l;else y=2A r B r C r D参考答案:A共105人答过,平均正确率70.48%83、下列叙述中,错误的是()OA.false是一个逻辑型常量B.b是一个字符型常量C.365是一个int常量D.3.1415926 是f double 常量rA(yBrCrD参考答案:B共104人答过,平均正确率65.38%84、#i n cl u d e 4 ju s i n g n am e s p ace s t d;vcl as s A dp u b l i c”A(i n
35、t i):r l(i).v o i d p r i n t ()(co u t,E,r l,-,;i n t m ai n()LA vaslf w(2);4 3co n s t A a2 .al.p r i n t 0;a2.p r i n t ()r e t u r n 0;P八结果是()。A.运行时出错B.E2-C16-C.C4-C16-D.E2-E4-A e B r C r D参考答案:B共105人答过,平均正确率67.62%85、计算斐波那契数列第n项的函数定义如下:i n t f i b(i n t n)Qi f (n =1)r e t u r ne l s e i f (n =2)
36、r e t u r n 若执行函数调用表达式fib,函数fibe l s e r e t u r n f i b(n-l)+f i b(n-2);PP被调用的次数是()。A.1B.2C.3D.4A r B 伶 C r D参考答案:C共105人答过,平均正确率74.29%86、i n t i =l;f wh i l e (1)Q有如下程序段:L 执行这个程序段输出字符*的i f(1 10)b r e ak;i f (i%2=0)co u t ;w w w w个数是()。A.10B.3C.4D.5A r B 8 C D参考答案:C共 105人答过,平均正确率69.52%87、下列关于C+函数的叙述
37、中,正确的是()。A.每个函数至少要具有一个参数B.每个函数都必须返回一个值C.函数在被调用之前必须声明D.函数不能自己调用自己A r B 8 C r D参考答案:C共105人 答 过,平均正确率76.19%88、#i n cl u d e Ju s i n g n am e s p ace s t d.cl as s MyCl as s vp u b l i c:MyCl as s(i n t x):v al (x)0v o i d Se t(i n t x)v al=x;v o i d P r i n t ()co n s t co u t,/v al=/v a l,t ;p r i v
38、at e:yi n t v al;d有如下程序:);,其主函数中错i n t m ai n。Qco n s t MyCl as s o b j l(l O)W VMW ZWW V?VVVVWWVSVV MyCl as s o b j 2(20);4Jo b j l.P r i n t。;语句 IPo b j 2.P r i n t ();语句 2Po b j l.Se t(20);语句 3。o b j 2.Se t(30);语句 3r e t u r n 0;。误的语句是()。A .语 句1B.语 句2C.语 句3D.语 句4A B C D参考答案:C共105人答过,平均正确率66.67%89
39、、在C+中,编译系统自动为一个类生成缺省构造函数的条件是()0A.该类没有定义任何有参构造函数B.该类没有定义彳土可无参构造函数C.该类没有定义任何构造函数D.该类没有定义任何成员函数A r B 8 CD参考答案:C共105人答过,平均正确率74.29%二、判断题(本部分共30题,每题1分,共30分)90、面向对象的特点是封装、继承、多态()。正 确 错 误参考答案:正确共 105人答过,平均正确率83.81%91、函数形参的作用域是该函数的函数体()Or正 确 错误参考答案:正确共 104人答过,平均正确率88.46%92、纯虚函数必须在抽象类中,所以抽象类中的成员函数必须是纯虚函数()Or
40、正 确 错误参考答案:错误共104人 答 过,平均正确率68.27%93、派生类中至少包含了它的所有基类的成员,在这些成员中可能有的是不可访问().r正 确 错误参 考 答 案:正确共104人 答 过,平均正确率86.54%94、可以在类的构造函数中对静态数据成员进行初始化()Or正 确 错误参考答案:错误共 104人答过,平均正确率64.42%95、构造函数和析构函数都可以定义为虚函数()Or正 确r错误参考答案:错误共 104人答过,平均正确率66.35%96、在 C+中,对于构造函数和析构函数来说,构造函数是可以重载的,而析构函数是不可以重载的()Or正 确 错误参考答案:正确共 103
41、人答过,平均正确率91.26%97、声明友元的关键字是friend()。正 确 错误参考答案:正确共104人答过,平均正确率85.58%98、派生类对基类的继承有三种方式public、protected和private()。正 确 错误参考答案:正确共103人答过,平均正确率91.26%99、要想访问基类的private成员变量,只能通过基类提供的构造函数进行间接访问().r正 确 错误参考答案:错误共103人答过,平均正确率65.05%100、C+语言支持的两种多态性分别是编译时的多态性和运行时的多态性()。r正 确 错误参考答案:正确共103人答过,平均正确率87.38%101.在C+程序
42、中包含一个头文件或程序文件的预编译命令为include()。r正 确r错误参考答案:错误共104人 答 过,平均正确率67.31%102、static加在局部变量定义前,改变局部变量的生存期但不改变它的作用域()or正 确 错误参考答案:正确共104人 答 过,平均正确率88.46%103、若在类的定义体中给出了一个成员函数的完整定义,则该函数属于外联函数()。r正 确 错误参考答案:错误共 104人答过,平均正确率73.08%104、类的私有成员只能被它的成员函数和友元函数访问()Or正 确r错误参考答案:正确共 104人答过,平均正确率87.5%105、一个抽象类的派生类可以实例化的必要条
43、件是实现了所有的纯虚函数()Or正 确 错误参考答案:正确共 103人答过,平均正确率85.44%106、假定A B 为一个类,有类AB 的两个对象al,a2;则执行语句A B-a10=&al,&a2;时系统自动调用该类的构造函数的次数为1()。正 确 错误参考答案:错误共 104 人答过,平均正确率70.19%107、通过C+语言中类的继承和派生机制,可以扩充和完善已有类以适应新的需求().r正 确 错误参考答案:正确共 104 人答过,平均正确率85.5 8%108、不同对象可以调用相同名称的函数,但可导致完全不同的行为的现象称为多态().正 确 错误参考答案:正确共 104人答过,平均正
44、确率86.54%109、对象的核心概念就是通常所说的派生、封装和多态性()O1正 确 错误参考答案:错误共 104人答过,平均正确率69.23%110、在一个类中可以定义2个析构函数()。r正 确r错误参考答案:错误共104人 答 过,平均正确率66.35%111.引用类型存储在队列中()。r正 确 错误参考答案:正确共103人 答 过,平均正确率80.58%112、函数是程序中被命名的封装实体().正 确 错 误参考答案:正确共104人答过,平均正确率89.42%113、达式 cout 99 的类型为 ostream&()or正 确 错误参考答案:正确共103人答过,平均正确率85.44%1
45、14.运 算 符 是 右 结 合 的()。r正 确 错误参考答案:错误共 103人答过,平均正确率66.99%115、X 叩 K 与*(*(*X+I)+J)+K)等价()。r正 确r错误参考答案:错误共 103人答过,平均正确率71.84%116、表达式P=0?P+=l:P+=2 不正确()。r正 确 错误参考答案:错误共 103人答过,平均正确率65.05%117.字符xl2的 ASCII 为 10()o 正 确 错误参 考 答 案:错误共104人 答 过,平均正确率69.23%118、重载运算符口不能采用成员函数方式().正 确 错误参 考 答 案:错误共104人 答 过,平均正确率66.
46、35%119、从类内部看private成员和public成员没有区别()。r正 确 错误参考答案:正确共104人答过,平均正确率81.73%三、多选题(本部分共1题,每题1分,共1分)120、以下函数的返回结果是()Oint function(char*x)char*p=x;while(*p+);return(p-x-l);)A.求字符串的长度B.将字符串x连接到字符串p后面C.将字符串x复制到字符串p中D.将字符串x反向存放厂A厂B r C r D参考答案:A共103人答过,平均正确率60.19%C+语言建立类族是通过(B)。A.类的嵌套 B.类的继承 C.虚函数 D.抽象类2 2、continue语句的作用是(C)。A.中止函数的执行B.立即中止循环C.中止本次循环,直接开始下一次循环D.从一个循环体直接跳转至另一个循环体内rArB?CrD2 4、B类中包含一个A类的成员a,则生成B类的对象时构造函数的调用顺序为(A)。A.A()B()B.B()A()C.a()B()D.B()a()AB 1 CD25、类的每一个成员函数(静态成员函数除外渚B有一个隐含的参数,叫 做)o假设类名为A,则该参数的类型为(B)。A.this,A+B.this,A*C.that,A+D.that,A*rAf?BrcrD当使用void保留字作为函数类型时,该函数不返回任何值()。正 确 错误