《《c++语言程序设计》实验指导.doc》由会员分享,可在线阅读,更多相关《《c++语言程序设计》实验指导.doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C+程序设计实验指导C+程序设计实验讲义根据C+程序设计实验大纲编写,共有十三实验,其中前九个实验为必做实验,后四个为选作实验,总计24学时。实验一 VC+6.0开发环境应用入门(2学时)一、 实验目的:1了解Visual C+6.0的特点;2熟悉Visual C+6.0的开发环境;3学习用Visual C+6.0编写标准C+控制台程序;二、 实验内容:1使用VC建立一个非图形化的标准C+程序,编译、运行教材中例2-1程序。2使用VC建立一个非图形化的标准C+程序,编译、运行教材中例2-6程序。实验二 C+简单程序设计(2学时)一、实验目的:1学会编写简单的C+程序;2复习数据类型、变量、常量
2、、运算符、表达式等的应用;3复习结构化程序设计基本控制结构的运用、自定义数据类型的应用;简单的输入输出;4观察头文件的作用;5学习VC+的debug调试功能:单步执行、设置断点、观察变量值。 二、 实验内容:1编程计算图形的面积。程序可以计算圆形、长方形、正方形的面积、运行时先提示用户选择图形类型,然后,对圆形要求用户输入半径、对长方形要求用户输入长和宽的值,对正方形要求用户输入边长,计算出面积后将其显示出来。要求使用debug调试功能观察程序运行中变量值的变化情况。2定义一个表示时间的结构体,可以精确的表示年、月、日、小时、分、秒;提示用户输入年、月、日、小时、分、秒的值,然后完整地显示出来
3、。实验三 函数的应用(2学时)一、 实验目的:1掌握函数的定义和调用方法。2练习重载函数、内联函数的定义和使用以及引用的使用方法;3学习VC+的debug调试功能:使用step into 追踪到函数内部。二、 实验内容:1编写内联函数实现求n的阶乘,其中n由用户输入。2编写重载函数Max1,分别求出两个整数,两个双精度数,三个整数,三个双精度数的最大值。3编写函数,交换两个整数的值,要求参数使用引用。注:对这几个题目,学会用step into 追踪到函数内部。实验四 类与对象(4学时)一、 实验目的:1掌握类的定义和对象的声明;2复习具有不同访问属性的成员的访问方式;3观察构造函数和析构函数的
4、执行过程;4学习类的聚集使用方法;5使用VC+的debug调试功能观察程序流程:跟踪观察类的构造函数、析构函数和成员函数的执行顺序;二、 实验内容:1声明一个Dog类,包含age、weight等属性,以及对这些属性操作的方法。实现并测试这个类。2设计并测试一个名为Rectangle的矩形类,其属性为矩形的左下角和右上角两个点的坐标,有成员函数能计算矩形的面积。3定义一个CPU类,包含等级、频率,电压等属性,并编写构造函数、析构函数,以及成员函数run、stop模拟CPU的状态。其中,等级为整型,频率为单位是兆赫兹的整数,电压为浮点型。要求自己设计各个属性的标识。4定义一个简单的Computer
5、类,包含数据成员cpu、ram、cdrom等等,有两个成员函数run、stop。其中cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,定义并实现这个类。5设计一个用于人事管理的People类。考虑到通用性,可以只抽象出所有人员都 具有的属性:number(编号),sex(性别) ,birthday(出生日期),id(身份证号)等等。其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员函数的录入和显示。要求包括:编写构造函数和析构函数、拷贝构造函数、内联成员函数,类的组合。实验五 C+程序的结构(2学时)一、 实验目的:1观察程序运行中变
6、量的作用域、生存性和可见性;2学习类的静态成员和友元函数的使用;3学习多文件结构在C+程序中的使用;二、 实验内容:1编译、运行教材例5-2,观察变量的生存期和可见性。2编译、运行教材例5-3,观察具有静态、动态生存期对象的特点。3编写程序,实现并测试客户机(Client)类。定义字符型静态数据成员ServerName10,保存其服务器名称;整型静态数据成员ClientNum,记录定义的客户数量;定义静态函数ChangeServerName()改变服务器名称。在头文件client.h中定义类,在文件client.cpp中实现,在文件test.cpp中测试这个类,观察相应的成员变量的取值的变化情
7、况。4定义类X、Y、Z,函数h(X *),满足:类X有私有成员i,Y的成员函数g(X *)是X的友元函数,实现对X的成员i加1,类Z是类X的友元类,其成员函数f(X *)实现对X的成员i加5,函数h(X *)是X的友元函数,实现对X的成员i加10。在一个文件中声明类,在一个文件中实现类,在另一个文件中测试类。实验六 数组、指针与字符串(4学时)一、实验目的:1学习使用数组、字符串数据的组织和处理;2学习标准C+库的使用;3掌握指针的使用、通过debug观察指针的内容及其所指的对象的内容;4练习通过动态内存分配实现动态数组,体会指针在其中的作用;5分别使用字符数组和标准C+库练习处理字符串的方法
8、;二、实验内容:1编写实现一个33矩阵转置的函数,在main()函数中输入数据。2编写实现一个矩阵转置的函数,矩阵的行数、列数在程序中由用户输入。3编程实现两个m行n列矩阵的加法,其中m和n由用户输入。4修改实验四第5题的程序,要求类中加入一个成员age(年龄),在程序中使用对象数组求出若干人员的最高年龄和平均年龄,并将具有最高年龄的人员信息输出。实验七 继承和派生(4学时)一、 实验目的:1学习定义和使用类的继承关系、定义派生类;2熟悉不同继承方式下对基类成员的访问控制;二、 实验内容:1声明一个基类Shape,在此基础上派生Rectangle和Circle,二者都有GetArea()函数计
9、算对象的面积,编写程序测试。2声明一个哺乳动物类Mammal,再由此派生出狗类Dog,定义一个Dog类的对象,观察基类与派生类的构造函数和析构函数的调用顺序。3完善实验五第4题的程序,具体要求如下:任务1:从people(人员)类派生出student(学生)类,添加属性:学校、学院、专业、班号、入学成绩,设计相应的成员函数(构造函数,拷贝构造函数,录入函数,显示函数)。任务2:从people类派生出teacher(教师)类,添加属性:职务,部门,职称。并设计相应的成员函数。任务3:从student类派生出graduate(研究生)类,添加属性:导师,研究方向。并设计相应的成员函数。任务4:编写
10、程序来测试这个类。实验八 多态性(2学时)一、 实验目的:1掌握运算符重载的方法;2学习使用虚函数实现动态多态性;二、 实验内容:1定义Point类,有坐标X和Y两个成员变量,对Point类重载和运算符,实现对坐标值的改变。2定义一个车(Vehicle)类,有run,stop等成员函数,由此派生出自行车(bicycle)类、汽车(motocar)类,由bicycle类和motocar类派生出摩托车类,它们都run,stop等成员函数,编写相应的虚函数并测试。实验九 流类库与输入/输出(2学时)一、 实验目的:1流类库中常用的类及其成员函数的用法。2标准输入输出及格式控制。3对文件的应用方法(二
11、进制、文本)。二、 实验内容:1编译、运行教材习题11-7,观察运行结果。2编写程序提示用户输入一个十进制整数,分别用十进制、八进制和十六进制形式输出。3编写程序实现如下功能:打开制定的文本文件,在每一行前加行号。实验十 虚基类的使用(2学时)一、 实验目的:1学习虚基类的设计和使用方法。二、 实验内容:从实验七第3题中的graduate类和teacher类派生出TA(助教)类,注意虚基类的使用。并设计相应的成员函数,编写程序实现并测试。实验十一 异常处理(2学时)一、 实验目的:1正确理解C+的异常处理机制;2学习异常处理的定义和执行过程;二、实验内容:定义一个异常类CException,有
12、成员函数Reason(),用来显示异常的类型。在子函数中触发异常,在主程序中处理异常,观察程序的执行过程。实验十二 Windows程序设计初步(2学时)一、 实验目的:简单了解Windows程序设计的方法二、实验内容:练习使用VC+的AppWizard(应用程序向导)生成一个最简单的Windows应用程序。实验十三 学生成绩管理模拟(4学时)一、 实验目的:利用所学知识设计并编写比较实用的综合性程序。二、实验内容:设计Sudent(学生)类、Teacher(教师)类、Course(课程)类和Score(成绩)类,并模拟一个学生成绩管理系统。选用教材及参考书实验教材:C+语言程序设计实验讲义参考书: C+语言程序设计习题与实验指导 郑莉,董渊 清华大学出版社