版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章测试1【单选题】(1分)程序应该必须包含的部分是(A.高级语言B.注释C.数据结构和算法D.头文件2【单选题】(1分)C+对C语言作了许多改进,下列描述中()使C+语言成为面向对象的语言。A.增加了一些新的运算符B.允许函数重载,并允许函数有默认参数C.规定函数说明必须用原型D.引进了类和对象的概念参考答案3【单选题】(1分)对象之间的相互作用和通信是通过消息。下列哪项不是消息的组成部分(A.接受消息的对象B.要执行的函数的名字C.要执行的函数的内部结构D.函数需要的参数参考答案4【单选题】(1分)最初的计算机编程语言是(A.低级语言B.机器语言C.高级语言D.汇编语言参考答案5【单选题
2、】(1分)下列各种咼级语言中,A.)不是面向对象的程序设计语言。DelphiB.C+C.JavaD.PASCAL参考答案6【单选题】(1分)结构化程序设计的基本结构不包含以下哪项(A.循环B.跳转C.选择D.顺序99参考答案7【判断题】(1分)C+比机器语言可读性强,但运行效率比机器语言程序低。A.对B.错参考答案【多选题】(1分)C+具有()特点。A.支持多态性B.支持数据封装和数据隐藏C.支持继承和重用D.支持泛型编程参考答案bcd【单选题】(1分)()不是属于面向对象程序设计的特性。A.封装性B.数据相关性C.多态性D.继承性参考答案10【单选题】(1分)编写C+程序一般需要经过的几个步
3、骤依次是()A.编译调试编辑连接B.编辑调试编译连接C.编辑编译连接运行D.编译编辑连接运行参考答案第二章测试1【单选题】(2分)对于动态分配内存空间描述正确的是()。A.delete运算符只能释放由new分配的动态存储空间B.delete运算符可以释放动态的存储空间和静态的存储空间C.使用new运算符分配的内存空间的长度必须是常量D.用malloc分配空间,将触发构造函数的调用参考答案2【单选题】(2分)下面的程序执行后的输出结果是()。#includeusingnamespacestd;intmain()intk=l,t=0;switch(k)easel:t+=10;case2:t+=20
4、;break;default:t+=3;coutusingnamespacestd;intmain()inta=7,b=8,*p,*q,*r;p二&a;q二&b;r=p;p=q;q=r;cout*p”,”*qendl;return。;程序运行后的输出结果是()。A.8.7B.8.8C.7,8D.7,7参考答案以下语句或语句组中,能正确进行字符串赋值的是()。A.char*sp二right!;B.chars10;s=right!;C.char*sp;*sp二right!;D.chars10;*s=right!;参考答案【单选题】(1分)以下程序段中,不能正确赋字符串(编译时系统会提示)的是()。
5、A.chars10;s=abcdefg;B.chars10=abcdefg;C.chart=abcdefg,*s=t;D.chars10;strcpy(s,abcdefg);参考答案99设有定义语句intx6=2,4,6,8,5,7,*p=x,i;要求依次输出x数组6个元素中的值,不能完成此操作的语句是()。A.for(i=0;i6;i+)cout*(p+);B.for(i=0;i6;i+)cout*(p+i);C.for(i=0;i6;i+)cout(*p)+;D.for(i=0;i6;i+)cout*p+;参考答案13【单选题】(1分)以下程序段执行后,变量b的值是()。inta10=1,
6、2,3,4,5,6,7,8,9,10,*p=&a3,b;b=p5;A.8B.5C.6D.参考答案14【单选题】(2分)有以下程序:#includeiostreamusingnamespacestd;voidsum(int*a)aO=al;intmain()intaa10=l,2,3,4,5,6,7,8,9,10,i;for(i=2;i=0;i)sum(&aai);coutaaO;return。;执行后的输出结果是()。1A.2B.3C.4D.1A.2B.3C.4D.参考答案15【判断题】(1分)不同命名空间中的标识符可以同名而不会发生冲突。A.对B.错参考答案第四章测试【单选题】(2分)所谓数
7、据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()。A.函数体B.对象C.类D.数据块参考答案【单选题】(2分)一个函数功能不太复杂,但要求被频繁调用,则应把它定义为()。A.嵌套函数B.递归函数C.内联函数D.重载函数参考答案【单选题】(2分)适宜采用inlin定义函数情况是()。A.函数代码少、频繁调用B.函数体含有递归语句C.函数代码多、不常调用D.函数体含有循环语句参考答案4【单选题】(2分)类MyA的拷贝构造函数的原型是()A.MyA(MyA&)B.extern【单选题】(2分)在类中说明的成员可以使用关键字的是()。【单选题】(2分)F列不能作为类的
8、成员的是()。自身类对象的指针另一个类的对象C.自身类对象的引用D.自身类对象参考答案【单选题】(2分)假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为()。A.(*x).a()B.x.a()C.x-aD.x.a参考答案8【单选题】(2分)静态成员函数没有()。A.指针参数B.返回值6262C.this指针D.返回类型参考答案9【单选题】(3分)下面程序输出结果是()。#includeiostreamusingnamespacestd;classexampleinta;public:example(intb=5)a=b+;voidprint
9、()a=a+1;couta;Vo”,”()”voidmain()examplex;constexampley(2);print();y.print();B.61C.52D.B.61C.52D.51参考答案10【单选题】(2分)一个类可包含析构函数的个数是()。A.0个B.至少1个C.1个D.0个或多个参考答案11【单选题】(2分)下列关于析构函数描述正确的是()。A.返回类型必须是void类型B.可以重载C.不能指定返回类型D.函数体中必须有delete语句参考答案12【判断题】(2分)拷贝构造函数创建对象时,使用已经存在的同类对象来进行初始化,由编译器自动调用。A.对B.错参考答案13【判断
10、题】(1分)this指针存在于类的成员函数中,指向被调用函数所在的类实例的地址。A.对B.错参考答案14【判断题】(1分)如果一个对象被声明为常对象,则不能调用该对象的非const型的成员函数(除了由系统自动调用的隐式构造函数和析构函数)。A.错B.对参考答案15【判断题】(1分)拷贝构造函数,是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象。A.对B.错参考答案第五章测试1【单选题】(1分)如果从原有类定义新类可以实现的是()。A.数据封装B.B.继承机制C.数据抽象D.信息隐藏参考答案【单选题】(1分)下面叙述不正确的是()。A.赋值兼容规则也适用于多
11、重继承的组合B.派生类一般都用公有派生C.基类的公有成员在派生类中仍然是公有的D.对基类成员的访问必须是无二义性的参考答案3【单选题】(1分)在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的()。A.保护成员B.保护成员或私有成员C.公有成员D.私有成员参考答案【单选题】(1分)在私有继承的情况下,基类的公有成员在派生类对象中的访问权限()。A.受保护B.不受保护C.受限制D.保持不变参考答案5【单选题】(1分)对基类和派生类的关系描述中,的是()。A.派生类是基类的特殊化B.派生类是基类的具体化C.C.基类继承了派生类的属性D.派生类是基类定义的延续参考答案6
12、【单选题】(1分)关于this指针使用说法正确的是()。A.保证基类保护成员在子类中可以被访问。B.保证基类公有成员在子类中可以被访问。C.保证基类私有成员在子类中可以被访问。D.保证每个对象拥有自己的数据成员,但共享处理这些数据的代码参考答案7【单选题】(1分)假设ClassY:publicX,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时,调用构造函数和析构函数的次序分别为()。A.Y,X;Y,XB.Y,X;X,YC.X,Y;Y,XD.C.X,Y;Y,XD.X,Y;X,Y参考答案【单选题】(1分)以下基类中的成员函数表示纯虚函数的是()。A.virtualvoidtt()=0
13、B.voidtt(int)=0C.virtualvoidtt(int)D.virtualvoidtt(int)参考答案9【单选题】(1分)关于类的静态成员函数描述的是()。A.不能直接访问非静态函数B.不能说明为虚函数C.不是对象的成员D.在创建对象前不存在参考答案10【判断题】(1分)如果派生类的成员函数的原型与基类中被定义为虚函数的成员函数原型相同,那么,这个函数自动继承基类中虚函数的特性。A.错B.对参考答案第六章测试1【判断题】(1分)重载运算符限制在C+语言中已有的运算符范围内的允许重载的运算符之中,不能创建新的运算符。A.对B.参考答案2【判断题】(1分)重载之后的运算符可以改变运
14、算符的优先级和结合性,也能改变运算符操作数的个数及语法结构。(A.错B.对参考答案3【判断题】(1分)运算符重载为类的成员函数和重载为友元函数不同的是,重载为成员函数时声明和定义中省略了第一个参数,因为成员函数总是与对象捆绑使用的,被捆绑的对象就是被操作的第一参数。(A.对B.错参考答案4【判断题】(1分)双目运算符重载为友元函数时有两个参数即运算符的两个操作数,而重载为成员函数时只有一个参数,即运算符的第二个操作数()。A.A.77错B.对参考答案5【判断题】(1分)operator运算符就是运算符重载函数的函数名,比如:operator+就是函数名。()A.错B.对参考答案6【判断题】(1
15、分)基类中定义的虚函数为整个类族提供了一个通用的框架,说明了一般类所应该具有的行为,派生类根据自己的情况给出自己的定义,即对基类中定义的虚函数进行重定义。(A.错B.对参考答案【判断题】(1分)C+中的虚函数的作用主要是实现了多态机制,即父类类别的指针(或者引用)指向其子类的实例,然后通过父类的指针(或者引用)调用实际子类的成员函数。多态机制可以简单地概括为一个接口,多种方法”。()A.错B.对参考答案8【判断题】(1分)当编译器在编译程序的过程中看到某个类中有虚函数的标志时,就会为这个类的实际对象创建一个指针即虚函数表指针vtbl以指向类中的虚函数表。虚函数表里包含了所有的虚函数代码的地址,
16、以NULL结束。虚函数如果在派生类被重写,就由派生类重写的虚函数地址来代替。()A.对B.错参考答案9【判断题】(1分)有虚函数的类,其对象的空间比没有虚函数的类多了一个指针的空间,这个指针就是指向虚函数表的指针。(A.B.析构函数的作用是在对象撤销之前做必要的“清理现场”的工作。(【判断题】(1分)构造函数可以定义为虚函数,析构函数不可以定义为虚函数。(【判断题】(1分)【判断题】(1分)当派生类的对象从内存中撤销时一般先调用派生类的析构函数,然后再调用基类的析构函数。(对B.错参考答案13【判断题】(1分)当一个类有子类时,该类的析构函数必须是虚函数,否则子类的析构函数不会被调用,使得子类
17、对象被撤销之前动态申请的资源没有被释放,造成内存泄漏。(A.错B.对参考答案14【单选题】(1分)下列属于动态多态的是()。A.虚函数B.运算符重载C.函数重载D.构造函数重载参考答案参考答案15【单选题】(1分)下面的说法的是()。A.函数重载在编译时表现出的多态性是静态多态性,而虚函数则在运行时表现出的多态性是动态多态性。B.C+的两种联编方式为:静态联编和动态联编。C.函数模板和类模板的实例化的过程是通过动态联编实现的。D.C+支持两种多态性,静态联编所支持的多态性被称为静态多态性,动态联编所支持的多态性被称为动态多态性。参考答案第七章测试1【单选题】(1分)关于函数模板,描述的是()。
18、A.用关键字template引出对类型参数名的声明B.函数模板必须由程序员实例化为可执行的模板函数C.函数模板的实例化由编译器实现D.函数模板不是函数,它需要以具体的类型为实参才能生成函数【单选题】(1分)假设有函数模板定义如下:templateintMin(T*a,intsize)Ttemp=a0;intj=0;for(inti=l;isize;i+)if(aitemp)temp=ai;j=i;returnj+1;假设ArrayX已定义为float型的数组,则求该数组前10个元素中最小元素的位置的语句为()。/temp)/size;i+)A.Min(ArrayX);B.Min(ArrayX,
19、10);C.Min(ArrayX,int);D.Min(ArrayX,size);【单选题】(1分)假设有模板定义如下:templateTMin(Tml,Tm2)return(ml下面哪个模板的不是上面模板的重载?()A.templateT1Min(T1a,T2n)T1minnum=a0;for(inti=0;iif(minnumai)minnum=ai;returnminnum;templateT1Min(T1m1,T2m2)return(m1C.templateTMin(Tm1,Tm2,Tm3)Ttemp=Min(m1,m2);returnMin(temp,m3);D.templatefl
20、oatMin(Tm1,Tm2)return(m14【单选题】(1分)建立类模板对象的实例化过程为()。A.类模板一对象B.类模板一模板类一对象C.模板类一模板函数D.基类一派生类参考答案5【单选题】(1分)类模板Array的模板参数定义如下:templatetypenameT,intn则下面哪个对象的定义是的?()A.Arraychar,10a(10);B.Arraya;C.Arraya;D.Arraya;6【单选题】(1分)下面定义类模板模板参数的定义语句的是()。A.templateclassTl,classT2=double,classT3=float,intN=100B.templat
21、eC.templateclassT1,classT2=double,classT3,intN=100D.templateclassT1,classT2,classT3=double,intN=100参考答案【多选题】(2分)以下类模板、模板类、普通类之间的派生方式正确的是(A.从模板类派生出普通类B.从类模板派生出新的类模板C.从普通类派生出类模板D.从模板类派生出类模板参考答案Bcr)【单选题】(1分)类模板templateclassX其中,函数模板f定义为该类模板实例化的每个模板类的友元,则其说明应为()。A.friendvoidX:;)B.friendvoidf;C.templatefr
22、iendvoidX:f(x&D.templateclassTfriendvoidf(X&参考答案9【单选题】(1分)下面vector容器的定义不正确的是()A.vectorintv(10);B.vectorv;C.vectorv;D.vectorcharv;参考答案参考答案121210【单选题】(1分)顺序容器(vector,list,deq中),能通过pop_front(删除最前面的元素的是()。A.vector,dequeB.vector,listC.list,dequeD.vector,list,deque参考答案11【判断题】(1分)函数模板实例化时,没有普通传值参数的类型转换机制。(
23、A.对B.错参考答案【判断题】(1分)把通过函数模板按实际类型生成的函数称为模板函数,这个过程称为实例化。编译程序实例化后的模板函数自动生成目标代码。(A.对B.错参考答案13【判断题】(1分)函数模板中可以有不止一个类型参数,每一个类型参数前面都要加typename或class来说明。()A.对B.错参考答案14【单选题】(1分)下面是类模板的定义语句templateclassT1二char,classT2二double,classT3二float,intN=100classClassX;x,y,z分别是char、double、float类型的变量,则下面定义对象的语句哪一个是的?()A.C
24、lassXobj;B.ClassXx,yobj;C.ClassXobj;D.ClassXobj;参考答案15【判断题】(1分)编译器会选择实参经过自动类型转换后能够匹配的模板函数进行匹配。(A.错B.对参考答案第八章测试【多选题】(2分)下面关于C+输入输出的说法正确的是()A.C+有专门的输入输出命令;B.C+通过一种称为流的机制提供了输入和输出方法;C+有专门的输入输出命令;B.C+通过一种称为流的机制提供了输入和输出方法;C.C+流是指信息向外部设备(如键盘和磁盘)输入输出的过程。D.流是一种灵活且面向对象的I/O方法;参考答案BD【单选题】(1分)cout是()的一个对象,处理标准输出
25、。A.clogB.cerrC.ostreamD.isteam参考答案3【单选题】(2分)下列程序的输出结果是()。#includeusingnamespacestd;intmain()inti=1;cout+ii+ii+iendl;return。;A.54535B.22335C.23345D.53525参考答案【单选题】(1分)设己定义浮点型变量data,按data在内存中的表示原样输出到显示器上,正确的语句是()。A.coutwrite(double*)&data,data);B.coutwrite(char*)&data,sizeof(double);C.coutwrite(char*)&data,data);D.cout.write(double*)&data,sizeof(double);参考答案5【单选题】(1分)若定义cinstr当输入ObjectWindowsProgramming!,所得的结果是()A.str=Objectstr=ObjectWindowsProgrammingstr=ObjectWindowsProgramming!str=ObjectWindowscinstr;coutstr;执行以下程序:【单选题】(1分)返回时换行付存储在string中。忽略开头的空白字符读取字符直至遇到换行符,如果第一个字符是换行符,则返回空strin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机械手培训课程设计
- 机械原理怎么写课程设计
- 低空经济未来发展趋势与市场前景深度分析报告
- 高中历史 3.1 英国革命的领导者克伦威尔教案2 新人教版选修4
- 七年级英语下册 Unit 5 Our school life Topic 2 A few students are running around the playground Section A教案 (新版)仁爱版
- 机械制造与实验课程设计
- 2016年湖南省株洲市中考真题语文试题(解析版)
- 机械传动与控制课程设计
- 机械产品改良课程设计
- 机械专业液压课程设计
- GB/T 11375-1999金属和其他无机覆盖层热喷涂操作安全
- 《文献阅读》课件
- 2022年新版《建设工程工程量清单计价规范》
- 无限极制度(新人)讲解版课件
- 2023年湖北农业发展集团有限公司招聘笔试题库及答案解析
- 《中值定理应用》课件
- MSD潮湿敏感器件防护培训课件
- 六年级英语上册课件-Unit4 I have a pen pal 人教pep (共23张PPT)
- 糖尿病膳食计算课件
- 文化创意产品设计及案例PPT完整全套教学课件
- DB4208T74-2022《早春大棚西瓜生产技术规程》
评论
0/150
提交评论