2022年C++程序设计上机考试题库 .pdf

上传人:Che****ry 文档编号:27261626 上传时间:2022-07-23 格式:PDF 页数:5 大小:84.02KB
返回 下载 相关 举报
2022年C++程序设计上机考试题库 .pdf_第1页
第1页 / 共5页
2022年C++程序设计上机考试题库 .pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《2022年C++程序设计上机考试题库 .pdf》由会员分享,可在线阅读,更多相关《2022年C++程序设计上机考试题库 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、【第 1 页 共 5 页】江西财经大学1011 第一学期期末考试上机考试100 题一、第一类题目 (20道,每题 7 分,在 word 中保留代码并将输出结果窗口保留)1定义盒子 Box类,要求具有以下成员:长、宽、高分别为x,y,z ,可设置盒子形状;可计算盒子体积;可计算盒子的表面积。2有两个长方柱,其长、宽、高分别为:(1)30,20,10;(2)12,10,20。分别求他们的体积。编一个基于对象的程序,在类中用带参数的构造函数。3有两个长方柱,其长、宽、高分别为:(1)12,20,25;(2)10,30,20。分别求他们的体积。编一个基于对象的程序,且定义两个构造函数,其中一个有参数,

2、一个无参数。4声明一个类模板,利用它分别实现两个整数、浮点数和字符的比较,求出大数和小数。5建立一个对象数组,内放5 个学生的数据(学号、成绩),用指针指向数组首元素,输出第 1,3,5 个学生的数据。初值自拟。6建立一个对象数组,内放5 个学生的数据(学号、成绩),设立一个函数max ,用指向对象的指针作函数参数,在max函数中找出 5 个学生中成绩最高者,并输出其学号。初值自拟。7用 new建立一个动态一维数组,并初始化int10=1,2,3,4,5,6,7,8,9,10,用指针输出,最后销毁数组所占空间。8定义一个复数类Complex,重载运算符“ +”,使之能用于复数的加法运算。将运算

3、符函数重载为非成员、非友元的普通函数。编写程序,求两个复数之和。初值自拟。9定义一个复数类Complex,重载运算符“”,“”,使之能用于复数的加,减运算,运算符重载函数作为Complex类的成员函数。编程序,分别求出两个复数之和,差。初值自拟。10定义一个复数类Complex ,重载运算符“*”,“ / ”,使之能用于复数的乘,除。运算符重载函数作为Complex类的成员函数。编程序,分别求出两个复数之积和商。初值自拟。提示:两复数相乘的计算公式为:(a+bi)*(c+di)=(ac-bd)+(ad+bc)i。两复数相除的计算公式为: (a+bi)/(c+di)=(ac+bd)/(c*c+d

4、*d)+(bc-ad) /(c*c+d*d)i。11定义一个复数类Complex ,重载运算符“”,使之能用于复数的加法运算。参加运算的两个运算量可以都是类对象,也可以其中有一个是整数,顺序任意。例如:c1+c2,i+c1 ,c1+i 均合法(设 i 为整数, c1,c2 为复数)。编程序,分别求两个复数之和、整数和复数之和。初值自拟。12有两个矩阵 a 和 b,均为 2 行 3 列。求两个矩阵之和。重载运算符“+”,使之能用于矩阵相加。如 c=a+b。初值自拟。13将运算符“”重载为适用于复数加法,重载函数不作为成员函数,而放在类外,作为 Complex类的友元函数。初值自拟。14. 定义一

5、个字符串类String ,用来存放不定长的字符串,重载运算符“”,用于两个字符串的等于比较运算。初值自拟。15. 定义一个字符串类String ,用来存放不定长的字符串,重载运算符 ,用于两个字符串的大于的比较运算。初值自拟。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 【第 2 页 共 5 页】17定义一个描述学生基本情况的类,数据成员包括姓名、学号、C+ 成绩、英语和数学成绩,成员函数包括输出数据,求出总成绩和平均成绩。数

6、据自拟。18先建立一个 Point (点)类,包含数据成员x,y(坐标点)。以它为基类,派生出一个 Circle (圆)类,增加数据成员r (半径),再以 Circle类为直接基类,派生出一个Cylinder (圆柱体)类,在增加数据成员 h(高)。编写程序, 重载运算符“”,使之能够用于输出以上类对象。19写一个程序,定义抽象类型Shape,由他派生三个类: Circle (圆形), Rectangle(矩形), Trapezoid (梯形),用一个函数printArea分别输出三者的面积, 3 个图形的数据在定义对象是给定。20定义一个人员类Cperson,包括数据成员:姓名、编号、性别和

7、用于输入输出的成员函数。在此基础上派生出学生类CStudent( 增加成绩 ) 和老师类 Cteacher( 增加教龄 ),并实现对学生和教师信息的输入输出。二、第二类题目 (20道,每题 9 分,请自行设计输出格式)1某商店经销一种货物,货物成箱购进,成箱卖出,购进和卖出时以重量为单位,各箱的重量不一样,因此,商店需要记下目前库存货物的总量,要求把商店货物购进和卖出的情况模拟出来。2设计一个Time 类,包括三个私有数据成员:hour,minute,sec,用构造函数初始化 ,内设公用函数display(Date &d),设计一个Date类,包括三个私有数据成员:mo nt h, d a y

8、 , y e a r , 也 用 构 适 函 数 初 始 化 ; 分 别 定 义 两 个 带 参 数 的 对 象t1(12,30,55),d1(3,25,2010),通过友员成员函数的应用,输出d1 和 t1的值。3. 设计一个 Time 类,包括三个私有数据成员:hour,minute,sec,用构造函数初始化 , ,设计一个 Date 类,包括三个私有数据成员:month,day,year ,也用构适函数初始化;设计一个普通函数 display(,), 将 display分别设置为 T ime 类和 Date 类的友元函数,在主 函 数 中 分 别 定 义 两 个 带 参 数 的 对 象t

9、 1( 12 , 3 0, 55 ) , d 1( 3, 25, 2 01 0) ,调用 desplay, 输出年、月、日和时、分、秒。4可以定义点类( Point ),再定义一个类( Distance )描述两点之间的距离,其数据成员为两个点类对象,两点之间距离的计算可设计由构造函数来实现。5定义点类( Point ),再定义一个函数( Distance )描述两点之间的距离,其数据成员为两个点类对象,将两点之间距离函数声明为Point 类的友元函数。6实现重载函数Double(x) ,返回值为输人参数的两倍;参数分别为整型、浮点型、双精度型,返回值类型与参数一样。(用类模板实现)7有一个

10、Time类,包含数据成员minute (分)和 sec(秒),模拟秒表,每次走一秒,满 60 秒进一分钟,此时秒又从0 开始算。要求输出分和秒的值。初值自拟。8声明一个教师( Teacher)类和一个学生( Student )类,用多重继承的方式声明一个研究生( Graduate)派生类。教师类中包括数据成员name (姓名), age(年龄),title(职称)。学生类中包括数据成员name (姓名), age(年龄), score (成绩)。在定义派生类对象时给出初始化的数据(自已定),然后输出这些数据。初值自拟。9在上题的基础上,在Teacher 类和 Student 类之上增加一个共同

11、的基类Person,如下图所示。作为人员的一些基本数据都放在Person 中,在 Teacher 类和 Student 类中再增加一些必要的数据( Student 类中增加 score,Teacher类中增加职称 title,Graduate类中增加工资 wages)。初值自拟。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 【第 3 页 共 5 页】10. 写一个程序,定义抽象类型Shape,由他派生三个类: Circle (

12、圆形), Rectangle(矩形), Trapezoid (梯形),用一个函数printArea分别输出三者的面积, 3 个图形的数据在定义对象是给定。11 声明一个 Shape抽象类, 在此基础上派生出 Rectangle 和Circle类, 二者都有 GetArea( )函数计算对象的面积, GetPerim( ) 函数计算对象的周长。12分别用成员函数和友元函数重载运算符,使对实型的运算符“=”适用于复数运算。13分别用成员函数和友元函数重载运算符,使对实型的运算符“+” 适用于复数运算。14分别用成员函数和友元函数重载运算符,使对实型的运算符“*” 适用于复数运算。提示:两复数相乘的

13、计算公式为:(a+bi)*(c+di)=(ac-bd)+(ad+bc)i。15分别用成员函数和友元函数重载运算符,使对实型的运算符“/ ” 适用于复数运算。提示:两复数相除的计算公式为:(a+bi)/(c+di)=(ac+bd)/(c*c+d*d)+(bc-ad) /(c*c+d*d)i。16定义一个国家基类Country ,包含国名、首都、人口等属性,派生出省类Province ,增加省会城市、人口数量属性。17定义一个车基类Vehicle ,含私有成员 speed,weight 。派生出自行车类Bicycle ,增加 high 成员;汽车类 Car,增加 seatnum(座位数 ) 成员。

14、从 bicycle和 car 中派生出摩托车类 Motocycle 。18把定义平面直角坐标系上的一个点的类Cpoint 作为基类,派生出描述一条直线的类Cline, 再派生出一个矩形类Crect 。要求成员函数能求出两点间的距离、矩形的周长和面积。设计一个完整程序。数据自拟。19声明一个哺乳动物Mammal 类,再由此派生出狗Dog类,二者都定义 Speak( ) 成员函数,基类中定义为虚函数。声明一个Dog类的对象,调用 Speak() 函数,观察运行结果。20定义一个抽象类Cshape ,包含纯虚函数 Area( 用来计算面积 ) 和 SetData( 用来重设形StudentTeach

15、erGraduatePerson名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - 【第 4 页 共 5 页】状大小 )。然后派生出三角形Ctriangle类、矩形 Crect 类、圆 Ccircle类,分别求其面积。最后定义一个 CArea类,计算这几个形状的面积之和,各形状的数据通过Carea 类构造函数或成员函数来设置。编写一个完整程序。三、第三类题目(10 道,每题 11 分,请自行设计输出格式)1商店销售某一商品,商店每天

16、公布统一的折扣(discount )。同时允许销售人员在销售时灵活掌握售价( price ),在此基础上,对一次购10 件以上者,还可以享受9.8 折优惠。现已知当天 3 名销货员的销售情况为:销货员号( num )销货件数( quantity )销售单价( price ) 101 5 23.5 102 12 24.56 103 100 21.5 请编程序,计算出当日此商品的总销售款sum ,以及每件商品的平均售价。要求用静态数据成员和静态成员函数。(提示:将折扣discount 、总销售款 sum和商品销售总件数n声明为静态数据成员,再定义静态成员函数average(求平均售价)和displ

17、ay (输出结果)。2请编写程序,处理一个复数与一个double 数相加的运算,结果存放在一个double 型的变量 d1中,输出 d1 的值,再以复数形式输出此值。定义Complex(复数)类,在成员函数中包含重载类型转换运算符:operator double() return real; 。初值自拟。3定义一个 Teacher(教师)类和一个 Student (学生)类,二者有一部分数据成员是相同的,例如 num (号码), name (姓名), sex(性别)。编写程序,将一个Student 对象(学生)转换为 Teacher(教师)类,只将以上3 个相同的数据成员移植过去。可以设想为:

18、一位学生大学毕业了,留校担任教师,他原有的部分数据对现在的教师身份来说仍然是有用的,应当保留并成为其教师的数据的一部分。4有一个 Time类,包含数据成员minute (分)和 sec(秒),模拟秒表,每次走一秒,满 60 秒进一分钟,此时秒又从0 开始算。要求输出分和秒的值,且对后置自增运算符的重载。5定义一个基类 Student(学生),在定义 Student 类的公用派生类 Graduate(研究生),用指向基类对象的指针输出数据。为减少程序长度,在每个类中只设很少成员。学生类只设 num(学号) ,name(姓名) 和 score( 分数 )3 个数据成员, Gradute 类只增加一

19、个数据成员pay(工资)。具体初始化数据自己设定。6分别定义 Teacher(教师)类和 Cadre(干部)类,采用多重继承方式有这两个类派生出新类 Teacher_Cadre(教师兼干部)。要求:(1) 、在两个基类中的包含姓名、年龄、性别、地址、电话、等数据成员。(2) 、在 Teacher 类中包含数据成员title(职称),在 Cadre类中还包含数据成员post(职务),在 Teacher_Cadre 类中还包含数据成员wages (工资)。(3) 、对两个基类中的姓名、年龄、性别、职称、地址、电话等数据成员用相同的名字,在引用数据成员时制定作用域。(4) 、在类中声明成员函数,在类

20、外定义成员函数。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - 【第 5 页 共 5 页】(5) 、在派生类 Teacher_cadre 的成员函数 show中调用 Teacher 类中的 display函数。输出姓名,年龄,性别,职称,地址,电话,然后再用cout 语句输出职务与工资。7写一个程序,定义抽象类型Shape ,由他派生五个类: Circle (圆形), Square(正方形), Rectangle (矩形), T

21、rapezoid (梯形), Triangle (三角形)。用虚函数分别计算几种图形的面积,并求它们的和。要求用基类指针数组,使它的每一个元素指向一个派生类的对象。8. 写一个程序,定义抽象类型Shape ,由他派生五个类: Circle (圆形), Square(正方形), Rectangle (矩形), Trapezoid (梯形), Triangle (三角形)。用虚函数分别计算几种图形的面积,并求它们的和。要求用基类指针数组,使它的每一个元素指向一个派生类的对象。9编程序实现以下功能:(1) 按职工号由小到大的顺序将5 个员工的数据 (包括号码 , 姓名, 年龄, 工资) 输出到磁盘文

22、件中保存(2) 从键盘输入两个员工的数据( 职工号大于已有的职工号 ) ,增加到文件的末尾。(3) 输入文件中全部职工的数据(4) 从键盘输入一个号码, 从文件中查找有无此职工号, 如有则显示此职工是第几个职工,以及此职工的全部数据。如没有,就输出“无此人”。可以反复多次查询,如果输入查找的职工号是 0,就结束查询。10给出三角形的三边 a,b,c求三角形的面积。只有a+bc,B+ca,a+cb 时才能构成三角形。设置异常处理,对不符合三角形条件的输出警告信息,不予计算。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁