版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东莞理工学院(本科)试卷(A卷)
2023-2023学年第二学期
《面向对象程序设计》试卷
一
学
曲开课单位:计算机学院,考试形式:闭、开卷,允许带入场
然
丹
麟
一二三
三题序四五六总分
瓶
K得分
一
屎评卷人
鞭
单项选择题(15小题,每小题2分,共30分,请将对的答案填写在以下
相应的答题表格中)
题号12345678910
答案
题号1112131415
答案
•
nr料
1.下列关于C++函数的叙述中,对的的是。
A.每个函数至少要具有一个参数B.每个函数都必须返回一个值
C.函数在被调用之前必须先声明D.函数不能自己调用自己
2、下列关于类和对象的叙述中,错误的是o
点
一个类只能有一个对象对象是类的具体实例
三A.B.
C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的
关系
3、对于语句cout«x<vend1;错误的是描述是。
A.“cout”是一个输出流对象B“end1”的作用是输出回车换行
C.“x”是一个变量D.“<<”称作提取运算符
4、有如下类声明,则类MyDERIVED中保护的数据成员和成员函数的个数是.
classMyBASE
{private:intk;
public:voidset(intn){k=n;}
intget()const{returnk;}};
classMyDERIVED:protectedMyBASE
{protected:intj;
public:voidset(intm,intn)(MyBASE::set(m);j=n;}
intget()const{returnMyBASE::get()+j;}};
A.4B.3C.2D.1
5、下列关于C++标记符的命名不合法的是o
A.iPadoB.nameJLIC.A&BD._al68
6、下面四个选项中,是用来声明虚函数的。
A.virtualaB.public«>C.includeoD.usingnamespace
7、以下成员函数表达纯虚函数。
A.virtualintvf(int);B.voidvf(int)=0;
OC.virtualvoidvf()=0;D.virtualvoidvf(int){}
8.以下不属于对象基本特点的是o
A.耦合性.B.多态性继承性“D.封装性
9.关于静态数据成员的描述中对的的是o
A.类的静态数据成员不是类的所有对象共享的数据
B.类的静态数据成员不能被类的成员函数调用
C.类的静态数据成员不能被类的构造函数调用
D.类的静态数据成员必须进行初始化
10.C++语言对C语言做了很多改善,C++语言相对于C语言的最主线的变化是
A.增长了一些新的运算符
B.允许函数重载,并允许设立缺省参数
C.规定函数说明符必须用原型
D.引进了类和对象的概念
11.在类的定义中,用于为对象分派内存空间,对类的数据成员进行初实化并执行其他内
部管理操作的函数是O
A.友元函数B.虚函数.C.构造函数。。D.析构函数
12.下列说法对的的是。
A.内联函数在运营时是将该函数的目的代码插入每个调用该函数的地方
B.内联函数在编译时是将该函数的目的代码插入每个调用该函数的地方
C.类的内联函数必须在类体内定义
D.类的内联函数必须在类体外通过加关键字inline定义
13.关于抽象类下面说法对的的是。
A.抽象类就是其中有函数定义但没有实现的类
B.抽象类是可以被实例化的
C.派生类不能成为抽象类
D.抽象类的子类必须实现父类中的纯虚函数
14.一个函数功能不太复杂但规定被频繁调用,应选用«
A.内联函数B.重载函数。。递归函数。D.嵌套函数
15.类的析构函数是在什么时候调用的?。
A.类创建时出.创建对象时C.删除对象时D.不自动调用
二.填空题(每空2分,共20分)
1、表达式“101%4"的值是。
2.表达式“2<3&&6<9”的布尔值是。
3.数组b[2][4]L10]的元素共有个。
4、在用class定义一个类时,数据成员和成员函数的默认访问权限是o
5、具有的类称为抽象类。
6.函数重载时规定同名函数的参数纯虚函___________或不同,否则无法拟定
是调用哪个函数。
7,在C++语言的面向对象程序设计框架中,是程序的基本组成单元。
8.在C语言的结构化程序设计中是程序的基本组成单元。
9.派生类的成员一般分为两部分,一部分是从,另一部分是自己定义的新成
员
三.判断题(5小题,每小题2分,共10分)
1.字符串"sdfgh"的长度是5。()
2.在C++中,运算符重载以后,其优先级和结合性也许改变。()
3.类中所提供的成员函数可以直接访问类内所有私有成员。()
4.私有继承中,基类中所有成员对派生类的对象都是不可见的。()
5.构造函数和析构函数都不能被继承。()
四.程序填空(每题6分,共18分)
根据程序的功能描述,将程序下划线空白处内容补充完整(每空白3分)
1.输入一个整数n,求出它的所有因子。
#inc1ude<iostream>
usingnamespacestd;
intmain(){
Antn;
®cout«"Enterapositiveinteger:
ocin»n;
»cout<<"Number"<<n«Factors
for()
if()
。cout<<k«"";
cout«end1;
return0;
)
2.寻找并输出11〜999之间的数m,它满足m、m2和m3均为回文数。
#include<iostream>
usingnamespacestd;
boolsymm(unsignedn){//判断n是否为回文数
unsignedi=n;
unsignedm=0;
awhile(i>0){
returnm==n;
)
intmain(){
for(unsignedm=11;m<1000;m++)
if(symm(m)&&symm(m*m)&&
。symm(m*m*m)){
cout«"m="<<m;
cout«m*m="<<m*m;
coutV<”m*m*m=
«><<m*m*m<vend1;
°}
return0;
)
3.使用I/O流以文本方式建立一个文献test.txt,写入字符“已成功写入文献!”,然后再用
I/O流以文本方式打开该文献,并在此文献后面添加字符“已成功添加字符!”,然后读出
整个文献的内容显示出来
#include<fstream>
usingnamespacestd;
intmain()
(
ofstreamfile("test.txt");
。理e«”已成功写入文献!”;
。file.c1ose();
1el«”已成功添加字符!”;
ofi1el.close();
。chara;
®while(file2.get(a))
cout«a;
sfile2.close();
®return0;
五'程序执行(每题5分洪10分)
阅读下面的程序,并分别写出程序执行的完整输出结果。
1.程序1
#inelude<iostream>
usingnamespacestd;
classBase1{
public:
virtua1voiddisplay()const?
);
voidBasel::display()const{
cout«"Base1::disp1ay()"<<endl;
)
classBase2:publicBasei{
pub1ic:
voiddisp1ay()const;
);
voidBase2::display()const{
cout«HBase2::disp1ay()M«end1;
)
classDerived:pub1icBase2{
public:
ovoiddisp1ay()const;
);
voidDerived::display()const{
ocout<<"Derived::display()"«endl;
)
voidfun(Base1*ptr){
叩tr->display。;。
)
intmain(){//主函数
Base1basei;//定义Basel类对象
Base2base2;。//定义Base2类对象
erivedderived;。//定义Derived类对象
«>fun(&basel);
fun(&base2)?
»fun(&derived);
return0;
)
输出结果:
2.程序2
#include<iostream>
#inc1ude<cmath>
usingnamespacestd;
classPoint卜
pub1ic»
6voidinitPoint(floatx=0,floaty=0){this->x=x;this->y=y;}
ovoidmove(floatoffX,floatoffY){x+=offX;y+=offY;
floatgetX()const{returnx;}
ofloatgetY()const{returny;}
private:。
floatx,y;
);
classRectang1e:publiePoint{。
public:
woidinitRectangle(f1oatx,floaty,floatw,f1oath){
sinitPoint(x,y);//调用基类公有成员函数
his->w=w;
this->h=h;
)
floatgetH()const{returnh;}
floatgetW()const{returnw;}
private://
afloatw,h;
);
intmain(){
oRectanglerect;
rect.initRectangle(2,3,20,10);。
^rect.move(3,2);。
cout«”Thedataofrect(x,y,w,h):°«endl;
ocout«rect.getX()«",”。
<<rect.getY()«
。«rect.getW()«","
<<rect.getH()«endl;
6return0;
)
输出结果:
六、程序设计(12分)
编写程序计算“圆形、长方形”两种图形的面积,规定(1)编写一个抽象基类shape;
(2)在shape基础上派生出类rectangle和cirele,两者都有计算对象面积和周长的
函数getarea和getperim;(3)编写主函数并测试。
+东莞理工学院(本科)试卷(A卷)参考答案
2023-2023学年第二学期
开课单位:计算机学院,科目:面向对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Lesson 3 The elephants'journey home教学设计初中英语冀教版2024七年级下册-冀教版2024
- 2025年共享电单车大数据分析平台构建
- 第3课时 队列表演(二)(教学设计)三年级下册数学北师大版
- 第二节 文治武功卓著的唐太宗教学设计高中历史北师大版2010选修4中外历史人物评说-北师大版2010
- 高盛-马奎观点:人工智能无处不在瞬间涌现…-Marquee Views:AI Everywhere,All at Once-20260606
- 第5课 触觉(教学设计)六年级科学下册同步备课(青岛版)
- 北师大版三年级下册数学第三单元第4课时《相等的周长》教学课件(新教材)
- Unit 2 No rules,no order Section A 2a-2f 教案 人教版英语七年级下册
- 2025-2026学年圆图形设计教学
- 2026年教师资格证考试小学综合素质终极预测与答案
- GB/T 47421-2026多式联运单证业务流程规范
- 磨玻璃样肺腺癌医患共同决策诊疗共识总结2026
- 2025年湖北十堰市地理生物会考考试真题及答案
- 郑州市外国语中学2025-2026学年初三第一次适应性测试(一模)物理试题含解析
- 2026上海市保健医疗中心(华东疗养院)招聘笔试备考试题及答案解析
- 2026西城区社区工作者题
- 抓好劳动教育工作培养奋斗精神的经验2026年春季学期劳动教育工作总结
- 湖南2025年湖南蓝山县事业单位招聘45人笔试历年参考题库附带答案详解
- 质量管理案例典型分析
- 全国结核病技能竞赛题及答案
- 部队蔬菜供应协议书
评论
0/150
提交评论