2009年C++上机考试试题(容易)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2009年C++上机考试试题

1.编写一个使用冒泡排序法进行排序操作的函数模板,并对整型数据和字符型数据进行排序。

2.编写一个程序计算球的表面积和体积。要求:

(1)定义一个基类,至少含有一个数据成员半径,并设为保护成员;

(2)定义基类的派生类球,含有求表面积和体积的成员函数和输出函数;

(3)编写主函数,求球的表面积和体积。

(球的表面积计算公式:S=4πr^2, r为球半径。)

(球的体积计算公式:V=(4/3) πr^3, r为球半径。)

3.编写一个程序计算圆柱的表面积和体积。要求:

(1)定义一个基类,至少含有一个数据成员半径,并设为保护成员;

(2)定义基类的派生类圆柱,含有求表面积和体积的成员函数和输出函数;

(3)编写主函数,求圆柱的表面积和体积。

4.编写一个程序计算圆锥的体积。要求:

(1)定义一个基类,至少含有一个数据成员半径,并设为保护成员;

(2)定义基类的派生类圆锥,含有求体积的成员函数和输出函数;

(3)编写主函数,求圆锥的体积。

(圆锥体积:3分之1 × 圆周率×r的平方× 圆锥的高)

5.设计并测试一个名为Ellipse的椭圆类,其数据成员为外切矩形的左上角与右下角两个点的坐标,计算并输出椭圆的面积。(椭圆面积公式S=圆周率×a×b(其中a,b分别是椭圆的长半轴,短半轴的长)

6.声明一个名为Ellipse的椭圆类,其公有的(public)数据成员为椭圆的外切矩形的左上角与右下角两个点的坐标;声明两个Ellipse类的对象,分别输入顶点坐标,计算并输出椭圆的面积;(椭圆面积公式S=圆周率×a×b(其中a,b分别是椭圆的长半轴,短半轴的长)

7.声明一个名为Ellipse的椭圆类,其私有的(private)数据成员为椭圆的外切矩形的左上角与右下角两个点的坐标,声明公有的(public)成员函数访问椭圆的外切矩形的顶点坐标;声明两个Ellipse类的对象,分别输入顶点坐标,计算并输出椭圆的面积;(椭圆面积公式S=圆周率×a×b(其中a,b分别是椭圆的长半轴,短半轴的长)

8.声明一个名为Ellipse的椭圆类,其私有的(private)数据成员为椭圆的外切矩形的左上角与右下角两个点的坐标,设计构造函数Ellipse(int,int,int,int)对椭圆的外切矩形的顶点坐标赋值,设计函数Area()计算椭圆的面积;声明两个Ellipse类的对象,计算并输出椭圆的面积。(椭圆面积公式S=圆周率×a×b(其中a,b分别是椭圆的长半轴,短半轴的长)

9.编写并测试一个函数,该函数实现求数列运算中从n个不同的数中取r个数的所有选择的个数。要求:

(1)将main()函数放在一个文件中;

(2)将另外两个函数fn(int n) ,Cnr(int n, int r)放在另一个文件中;

(3)将函数原型说明放在一个头文件中;

(4)建立一个项目,将这三个文件加到该项目中。

10.设计一个Employee类,并在Employee类中增加一个静态数据成员来设置本公司员工编号基数,新增加的员工编号将在创建对象的同时自动在基数上增加。另外,将Employee类的声明部分和实现部分分成两个文件来实现。编程实现并测试该类。

11.设计一个点类point,该类具有两个实数坐标。希望主程序使用这个类完成下述功能:(l)主程序为类point申请10个连续存储空间。

(2)要求调用一个函数Set()从键盘输入10个对象的属性,并顺序存入申请的内存中。(3)要求调用一个函数Display()显示10个对象的值。

(4)要求调用一个函数Lenth(),计算将这些点连成一条折线时,这条折线的长度。

(5)程序结束时,删除申请的内存。

(6)输出析构对象(动态对象或堆对象)的执行顺序。

设计该类和各个函数并验证运算结果的正确性。

12.用成员函数重载运算符,使对整型的运算符=、+、-、*、/ 适用于分数运算。要求:(1)输出结果是最简分数(可以是带分数);

(2)分母为1,只输出分子。

13.用友元函数重载运算符,使对整型的运算符=、+、-、*、/ 适用于分数运算。

(1)输出结果是最简分数(可以是带分数);

(2)分母为1,只输出分子。

14.定义一个CPU类,包含等级(rank)、频率(freqlaency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中,rank为枚举类型CPU—Rank,定义为enum CPU—Rank{Pl=1,P2,P3,P4,P5,P6,P7},frequency为单位是MHz的整型数,voltage为浮点型的电压值。设计构造函数和析构函数并输出其调用顺序。

15.编写一个学生和教师数据输入和显示程序。其中,学生数据有编号、姓名、班级和成绩,教师数据有编号、姓名、职称和部门。要求:

(1)将编号、姓名输入和显示设计成一个类person;

(2)设计类person的派生类:学生类student和教师类teacher;

(3)各个类的声明放在相应的头文件中(*.h),类的实现放在相应的实现文件中(*.cpp):person.h,person.cpp,student.h,student.cpp,teacher.h,teacher.cpp;

(4)编写一个主文件(mainsys.cpp),在该文件中分别定义student、teacher的对象,完成相应功能。

16.分别声明Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。要求:

(1)在两个基类中都包含一部分相同名字的数据成员name(姓名),age(年龄)和成员函数display()。

(2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职

相关文档
最新文档