版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
练习题一、填空题1、C++控制台应用程序的上机步骤是,先通过编辑操作得到扩展名为.cpp的源程序,再通过编译操作得到扩展名为.obj的目标程序,最后通过连接操作得到扩展名为.exe的可执行程序。2、C++程序的三种基本结构分别是顺序结构、选择结构和循环结构。3、在C++中,switch语句只能用于int型、char型和枚举类型数据。4、当定义的C++函数无返回值时,则函数类型用void关键字声明。在C++程序中函数直接或间接地调用该函数自身的过程,被称为递归调用。5、面向对象程序设计中的抽象的作用是表示同一类事物的本质。6、为了使类中的成员不能被类外的函数通过成员操作符访问,则应把该成员的访问权限定义为私有的。7、类可以体现数据的封装性和信息隐蔽。8、类拥有两类成员,即数据成员和成员函数。9、如果类A继承自类B,则类A称为派生类,类B称为基类。10、面向对象程序设计有四个主要特点:抽象、继承、封装和多态性。11、构造函数不需要用户来调用它,而是系统在建立对象时自动调用。12、析构函数的作用并不是删除对象,而是撤销对象数据成员的存储空间。13、静态数据成员的初始化形式为数据类型类名::静态数据成员名=初值。14、在继承中由基类派生新类的过程经历了吸收基类成员、调整基类成员、声明添加新成员三个步骤。15、在一个类中以另一个类的对象作为数据成员的,称为子对象。16、设置虚基类的目的是在继承间接基类时只保留一份成员,可通过关键字virtual标识虚基类。17、从系统实现的角度看,多态性可分为两类:静态多态性和动态多态性。二、单项选择0、this指针知识点。1、面向对象程序设计的英文缩写为()。A、OOAB、OODC、OOTD、OOP2、在面向对象程序设计框架中,()是程序的基本单位。A、对象B、函数C、块D、类3、一个C++控制台应用程序的执行是从()。A、本程序的主函数开始,到本程序的最后一个函数结束。B、本程序的第一个函数开始,到本程序的最后一个函数结束。C、本程序的第一个函数开始,到本程序的主函数结束。D、本程序的主函数开始,到本程序的主函数结束。4、下列C++数据类型所需存储空间最大的是()。A、longB、floatC、intD、double5、在C++语言中,char型数据在内存中的存储形式是()。A、原码B、反码C、补码D、ASCII码6、在C++语言中,所有的编译预处理命令均以()开头。A、¥B、&C、*D、#7、C++是通过引用运算符()来定义一个引用的。A、*B、<<C、->D、&8、()是给对象取了一个别名,它引入对象的同义词。A、枚举B、结构C、指针D、引用9、cin是C++中的标准()。A、输出流对象B、控制台C、输入函数D、输入流对象10、cout是C++中的标准()。A、输入流对象B、控制台C、输出函数D、输出流对象11、下列有关C++函数的叙述错误的是()。A、缺省函数类型为int类型B、同一个函数允许多次调用C、函数允许直接或间接的调用自身D、允许在主函数中定义其它函数12、C++中,将实参的值传送给形参,形参是实参的一个拷贝,这种方式称为()。A、递归方式调用B、嵌套方式调用C、引用方式调用D、传值方式调用13、函数的值通过return语句返回,下面关于return语句的形式描述错误的是()。A、return(表达式);B、一个return语句只能返回一个函数值;C、return表达式D、一个return语句可以返回多个函数值14、下列有关C++数组的叙述错误的是()。A、数组元素下标从0开始B、数组中的元素类型必须相同C、数组名表示数组的首地址D、不能对数组元素初始化15、C++允许在同一作用域中用同一函数名定义多个函数,这些函数的参数个数和参数类型不相同,这些同名的函数用来实现不同的功能,这就是()。A、函数的重复定义B、函数的同名覆盖C、函数的重新定义D、函数的重载16、系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是()。A、参数个数B、参数的类型C、函数的名称D、函数的类型17、在C++中,关于下列设置默认参数值的描述中,()是正确的。A、默认参数不会导致副作用B、设置默认参数值时,必须全部都设置C、只能在函数的定义性声明中指定参数的默认值D、在指定了默认值的参数右边,不能出现没有指定默认值的参数18、在面向对象方法中,()描述的是具有相似属性与操作的一组对象。A、对象B、代码C、函数D、类19、在类定义中,说明成员的访问控制规则的private、protected、public可以出现的次数()。A、出现public至多一次B、每种至少一次C、每种至多一次D、没有具体限定20、在关键字public后面定义的成员为类的()。A、函数成员B、私有成员C、受保护成员D、公有成员21、在类外给出成员函数定义时,需在函数名前加()。A、什么都不加B、类名C、对象名::D、类名::22、关于成员函数特征的下述描述中,错误的是()。A、成员函数可以是静态的B、成员函数可以设置默认参数C、成员函数可以重载D、成员函数一定是内联函数23、在C++中声明的具有类类型的数据称为()。A、局部变量B、全局变量C、类D、对象24、下列访问对象中的成员的方法中,错误的是()。A、通过对象名和成员运算符访问对象中的成员B、通过指向对象的指针访问对象中的成员C、通过对象的引用变量访问对象中成员D、通过成员名直接访问对象中的成员25、对象的指针,其含义是指对象空间的()。A、一个标志B、值C、名D、起始地址26、关于构造函数的说法,错误的是()。A、构造函数可以有形参B、构造函数无函数类型C、构造函数的功能是用来完成对象初始化D、一个类只能有一个构造函数27、非成员函数应声明为类的()才能访问这个类的private成员。A、构造函数B、析构函数C、拷贝构造函数D、友元函数28、一个类的友元函数或友元类能够通过成员操作符访问该类的()。A、私有成员B、公有成员C、保护成员D、公有成员、保护成员和私有成员29、通过C++的()机制,可以从现存类中构建新的类。A、信息隐藏B、数据封装C、数据抽象D、继承与派生30、C++中,若希望基类的公有成员在派生类中仍为公有成员,应采用()。A、单继承B、私有继承C、受保护继承D、公有继承31、通过派生类对象对它的基类成员中()是可以访问的。A、私有继承的公有成员B、公有继承的私有成员C、公有继承的保护成员D、公有继承的公有成员32、C++允许一个派生类同时继承多个基类,这种行为称为()。A、重复继承B、多层派生C、单继承D、多重继承33、重复继承是指()。A、只有一个直接基类B、有两个直接基类C、有两个以上直接基类D、间接继承一个基类多次34、建立含有对象成员的派生类对象时,自动调用构造函数的执行顺序依次为()。A、派生类、对象成员所属类、基类的构造函数B、基类、派生类、对象成员所属类的构造函数C、对象成员所属类、基类、派生类的构造函数D、基类、对象成员所属类、派生类的构造函数35、在C++程序中,()主要用来访问静态数据成员,而不能直接访问非静态成员。A、构造函数B、析构函数C、虚函数D、静态成员函数36、设置虚基类的目的是()A、简化程序B、提高运行效率C、减少目标代码D、消除二义性37、编译时的多态性通常使用()获得。A、继承B、虚函数C、析构函数D、重载函数38、许多情况下,在基类中不能为虚函数给出一个有意义的定义,这时可将其说明为()。A、虚基类B、友元函数C、成员函数D、纯虚函数三、综合应用1、仔细分析下列C++程序,写出执行结果:#include<iostream.h>intfiddle(intx,int&y){x=x+y;y=x-y;cout<<"x="<<x<<",y="<<y<<endl;//(分)returnx+y;}intmain(){intx(3),y(7),z;z=fiddle(x,y);cout<<"x="<<x<<",y="<<y;cout<<",z="<<z<<endl;//(分)return0;}10;3;3;3;132、仔细分析下列C++程序,按要求填空:#include<iostream.h>intfun(int);intfun(int,int);//声明函数fun。(分)intmain(){cout<<fun(2,4)<<endl;//程序输出显示为8(分)return0;}intfun(intn){returnn*n;}intfun(intm,intn){returnm*n;}3、仔细分析下列C++程序,按要求填空:#include<iostream.h>classA{protected:intx;public:voidset(intX){x=X;}};classB{protected:inty;//声明整型数据成员y(分)public:voidset(intY){y=Y;}};classC:publicA,publicB{};voidmain(){Cc1;c1.A::set(7);//设置c1对象的x为7(分)c1.B::set(9);//设置c1对象的y为9(分)}4、仔细分析下列C++程序,按要求填空:#include<iostream.h>classA{protected:intx;};classB{protected:intx;};classC:publicA,publicB{public:voidset(intXA,intXB){A::x=XA;//继承自A的x获取XA的值(分)B::x=XB;//继承自B的x获取XB的值(分)}voidshow(){cout<<A::x<<","<<B::x<<endl;//输出显示所有x的值(分)}};intmain(){Cc1;c1.set(2,3);c1.show();return0;}5、仔细分析以下程序后,在空白处补上必要的部分使程序完整:#include<iostream.h>classPILLAR{protected:floatwid;floathei;floatlen;public:PILLAR(floatw,floath,floatle){//(分)wid=w;//(2分)hei=h;len=le;}floatvol(){returnwid*hei*len;//(分)}};classPIPE{private:PILLARin_Pill;PILLARout_Pill;public:PIPE(floatw,floath,floatle,PILLARi,PILLARo):PILLAR(w,h,le),in_Pill(i),out_Pill(o){//(分)}floatvol(){returnout_Pill.vol()-in_Pill.vol();}};intmain(){PIPEp1(2.0f,3.0f,4.0f,5.0f,10.0f);cout<<p1.vol()<<endl;return0;}6、仔细分析下列C++程序,在空白处补上必要的部分使程序完整:#include<iostream.h>classA{public:voidshow(){cout<<"基类函数show"<<endl;}virtualvoiddisp(){cout<<"基类虚函数disp"<<endl;}//(分)};classB:publicA{public:voidshow(){cout<<"派生类函数show"<<endl;}voiddisp(){cout<<"派生类函数disp"<<endl;}//(分)};intmain(){A*pa;pa=newB;pa->show();//此处执行后显示:基类函数showpa->disp();//此处执行后显示:派生类函数dispdeletepa;return0;}四、问答题1、在哪些情况下程序会执行析构函数?(分)(1)static对象在主函数结束或遇exit函数(2)局部对象调用函数结束时,在对象释放前(3)全局对象在程序的流程出作用域时(4)new建立的对象,用delete释放时先调用2、在C++的派生类中,成员可以按访问属性划分为哪几种类型?(分)privatepublicprotected3、虚函数的作用是什么?其使用方法是什么?(分)虚函数的作用:在派生类中重新定义函数数体。虚函数的使用方法:在函数类型前加virtual五、程序设计题1、设计一个圆(CIRCLE)类,有数据成员Radius,要求:(1)设计构造函数完成圆类对象的初始化(默认值为1.0);(2)设计成员函数GetArea,用于计算并返回圆的面积;(3)编写main函数用于程序运行实现。(共5分)#include<iostream>usingnamespacestd;classCLRCLE{private:floatRadius;public:CLRCLE(floatr=1.0):Radius(r){}floatGetArea(){return3.14*Radius*Radius;}};intmain(){CLRCLET(3.0);T.GetArea();//T调用面积函数cout<<T<<endl;return0;}2、设计一个矩形(RECT)类,有数据成员length、width,要求:(1)设计构造函数完成矩形类对象的初始化(默认长、宽为1.0);(2)设计成员函数GetArea,用于计算并返回矩形的面积;(3)编写main函数用于程序运行实现。(共5分)#include<iostream>usingnamespacestd;classRECT{private:floatlenght;floatwidth;public:RECT(floatle=1.0,floatw=1.0):lenght(le),wid
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年全国一卷语文试题及答案
- 2026年物理答案及试题湖北
- 期中质量分析复盘会校长讲话:三组数据揭开三个真问题五条硬要求划定后半学期底线
- 《FZT 24009-2021精梳羊绒织品》(2026年)合规红线与避坑实操手册
- 《DBT 107-2025地震烈度现场评定》(2026年)合规红线与避坑实操手册
- 广西壮族自治区柳州市2025年中考二模英语试题(含答案)
- 年产吸湿耐磨抗UV罗缎4000万米技改项目可行性研究报告模板-立项拿地
- 某省市场与金融机构第12章其他金融机构
- 2025北京清华附中高二(上)期中语文试题及答案
- 【低空经济】低空飞行大数据中心与行业应用算法工厂详细设计方案
- 2026江西南昌市湾里管理局梅岭镇向阳林场面向社会招聘1人笔试参考题库及答案详解
- 2026年甘肃省兰州大学管理人员、其他专业技术人员招聘10人考试备考题库及答案解析
- 2026年市场监管局消费者权益保护岗面试题
- 毒性中药管理培训
- 中国石油大学华东2025年9月《汽车理论》作业考核试题含答案
- 2026年制式离婚协议书民政局备案版
- 2026中考英语考纲重点词汇800个及拓展
- 11《宝葫芦的秘密》课件
- GB/T 6109.22-2025漆包圆绕组线第22部分:240级芳族聚酰亚胺漆包铜圆线
- 基于S7-1200PLC的快递自动分拣控制系统设计
- 2025年事业单位招聘考试卫生类康复治疗学专业知识试卷(康复治疗专业)
评论
0/150
提交评论