C程序设计试验参考指导书(2).doc
《C程序设计试验参考指导书(2).doc》由会员分享,可在线阅读,更多相关《C程序设计试验参考指导书(2).doc(55页珍藏版)》请在咨信网上搜索。
1、杜红燕 编C+程序设计课程试验指导书长 沙 学 院 计 算 机 科 学 和 技 术 系前 言本书是C+程序设计课程试验指导书。初学程序设计人,全部有一个体会,看程序轻易,但自己动手写程序难,甚至感觉无从下手,究其原因就在于没有把握住学习程序设计根本方法,学习程序设计关键是多实践,经过上机体会和掌握程序设计思想和方法,经过上机验证程序正确性,为此我们编写了这本试验指导书。本书关键内容分为三个部分,第一部分为试验内容,对每个试验试验目标、试验类型、试验课时、试验原理及知识点、试验环境(硬件环境、软件环境)和试验内容及步骤进行简单介绍,第二部分为试验指导,对每个试验试验方法,试验步骤及补充试验知识进
2、行具体介绍,第三部分为试验汇报。C+程序设计环境有很多,在这里我们选择是MicroSoft Visual C+ 6.0。对书中每个试验题目,在试验指导部分全部给出了编程提醒,部分试验给出了程序参考代码,最终还介绍了常见标准库函数函数原型。需要强调一点,程序设计是一个创作过程,处理一个问题方法不是唯一,所以请大家在阅读本书试验指导之前,已经独立思索过对这些问题处理方法,这么才有利于程序设计水平提升。 编者2 月目 录第一部分 试验内容试验1:类定义和结构2试验2:堆和拷贝结构函数、静态组员和友元、运算符重载4试验3:经过继承进行软件渐增式开发8试验4:I/O流和文件操作.11试验5:模板和异常处
3、理13第二部分 试验指导Visual C+ 6.0集成环境.16试验1:类定义和结构26试验2:堆和拷贝结构函数、静态组员和友元、运算符重载31试验3:经过继承进行软件渐增式开发34试验4:I/O流和文件操作.39试验5:模板和异常处理 43C/C+常见标准库函数 46第一部分试验内容试验1:类定义和结构一、试验目标1、掌握类定义和使用2、学习结构类方法3、掌握怎样定义结构函数和析构函数4、掌握初始化对象方法5、了解面向对象程序设计思想二、试验类型验证三、试验课时4课时四、试验原理及知识点1、类定义2、类组员访问控制3、类数据组员和组员函数4、结构函数和析构函数5、对象定义和初始化五、试验环境
4、(硬件环境、软件环境)1、软件:Windows 操作系统,Visual C+ 6.02、硬件:CPU 飞跃;内存64兆以上(最好128兆以上);六、试验内容及步骤1、定义一个描述学生通讯录类,数据组员包含:姓名、学校、电话号码和邮编;组员函数包含:输出各个数据组员值,分别设置和获取各个数据组员值。2、将第一个上机试验题中组员函数Init改为结构函数,将组员函数FreeSpace改为析构函数。增加一个缺省结构函数,使指针pName,pSchool和pNum初值为0,使Box包含空字符串。3、定义分数类Rational,要求在private部分用整数表示分子和分母,分子和分母以简化形式表示,即24
5、/36应该以2/3形式表示,并提供public组员函数实现以下功效:(1) 两个分数相加,结果表示为简化形式;(2) 两个分数相减,结果表示为简化形式;(3) 按a/b形式输出分数值,a、b为整数;(4) 按浮点数形式输出分数值。七、思索和练习1、编写Time类,要求:(1) 包含年、月、日、时、分、秒信息;(2) 结构函数将类对象初始化为系统目前时间(使用头文件time.h中time()函数);(3) 能按标准格式输出对象表示时间。2、编写矩形类,要求能够提醒用户输入矩形长度和宽度,并显示该矩形长度、宽度和面积。试验2:堆和拷贝结构函数、静态组员和友元、运算符重载一、试验目标1、领会拷贝结构
6、函数实质2、学会使用堆对象分配和释放3、领会运算符重载意义4、学会使用this指针5、了解友元语法和含义6、在此基础上领会和掌握面向对象程序设计思想。二、试验类型验证三、试验课时4课时四、试验原理及知识点1、堆对象分配和释放2、拷贝结构函数3、类复合4、This指针5、静态数据、友元函数和友元类6、运算符重载概念7、单目运算符重载8、双目运算符重载9、重载流插入和流提取运算符10、赋值运算符重载五、试验环境(硬件环境、软件环境)1、软件:Windows操作系统,Visual C+ 6.02、硬件:CPU 飞跃;内存64兆以上(最好128兆以上);六、试验内容及步骤1、建立一个Stock类,含有
7、股票代码和股票现价两个数据组员。用new自动为Stock类对象分配内存,并将股票”600001”,现价8.89存入内存对应域中。在类中增加静态数据组员记载创建对象个数,增加拷贝结构函数并调用。2、对以下圆柱类Column定义:class Column public:Column(double x, double y, double r, double h);Column();double area();/求圆柱面积double volume();/求圆柱体积private:double height;/高度double radius;/半径double x;/底面圆心x坐标double y;/
8、底面圆心y坐标;要求:(1) 实现类Column中四个组员函数;(2) 增加一个友元函数,实现从键盘读取四个double类型数据对类Column对象进行赋值功效;(3) 增加一个友元函数,实现将类Column对象输出到屏幕功效,输出信息包含对象基础信息和对象面积和体积。3、对于下面定义类Test:class Test private:int a;double b;要求:(1) 为类Test每个数据组员增加一个set函数,并使这些set函数全部能够被连续调用;(2) 为类Test每个数据组员增加一个get函数。(3) 假如要求全部get函数全部能够被连续调用,这些函数该怎样编写?4、 定义一个复
9、数类,经过重载运算符: *,/,直接实现二个复数之间乘除运算。编写一个完整程序,测试重载运算符正确性。要求乘法“*”用友元函数实现重载,除法“/”用组员函数实现重载。七、思索和练习1、定义一个复数类,经过重载运算符: *,/,直接实现二个复数之间乘除运算。编写一个完整程序,测试重载运算符正确性。要求乘法“*”用友元函数实现重载,除法“/”用组员函数实现重载。2、定义包含年、月、日信息日期类Date,并重载二元运算符“+”,使之含有日期对象和整数(天数)相加功效,并编程测试。3、下列程序定义了一实部为real,虚部为imag复数类complex,要求重载运算符“+”、“-”、“*”实现复数对象加
10、法、减法、乘法运算,并编写测试程序。假如要进行a = b + c * d;(a、b、c、d全部是类Complex对象)这么运算,需要重载赋值运算符吗?为何?class Complexpublic:complex(double r=0, double i=0)real=r; imag=i; private:double real, imag;4、于下面类MyString,要求重载部分运算符后能够计算表示式:a = b + c;,其中a、b、c全部是类MyString对象。请重载对应运算符并编写程序测试。class MyString public:MyString(char *s) str = n
11、ew charstrlen(s)+1;strcpy(str, s);MyString() delete str;private:char *str;5、对于下面Time类:class Time public:Time(int h = 0, int m = 0, int s = 0);private:int hour, minute, second;要求:(1) 实现结构函数,是类Time数据组员能够得到正确赋值;(2) 重载流插入运算符,根据hh-mm-ss格式输入类Time对象。试验3:经过继承进行软件渐增式开发一、试验目标1、掌握继承方法,了解多态性2、掌握虚函数使用方法,观察其多态性3、
12、掌握软件渐增式开发方法二、试验类型设计三、试验课时6课时四、试验原理及知识点1、继承和派生基础概念2、继承定义3、基类和派生类对象转换4、类指针使用5、多态性意义和作用6、虚函数定义方法7、抽象基类作用和定义方法8、虚析构函数作用和使用方法9、怎样在程序中实现多态性10、软件渐增式开发方法五、试验环境(硬件环境、软件环境)1、软件:Windows操作系统,Visual C+ 6.02、硬件:CPU 飞跃;内存64兆以上(最好128兆以上);六、试验内容及步骤1、下面是一个形状类Shape,编写类Shape派生类:圆类Circle、三角形类Triangle和矩形类Rectangle,并重定义基类
13、组员函数使之返回正确结果(show函数要输出对象基础信息),然后编写程序测试它们。class Shape public:/形状面积double area() return 0;/形状周长double girth() return 0;/输出对象信息void show() coutShape Object: b+c,ba+c,ca+b;编写程序,输入a,b,c,检验a,b,c是否满足以上条件,如不满足,由cerr输出相关犯错信息。2、建立两个磁盘文件f1.dat和f2.dat,编写程序实现以下工作:(1) 从键盘输入20个整数,分别存放在两个磁盘文件中(每个文件放10个);(2) 从f1.dat
14、读入10个数,然后存放到f2.dat文件原有数据后面;(3) 从f2.dat中读入20个整数,将它们按从小到大次序存放到f2.dat(不保留原来数据)。3、设计一个管理图书目标简单程序,提供基础功效包含:可连续将新书存入文件“book.dat”中,新书信息加入到文件尾部;也能够依据输入书名进行查找;把文件“book.dat”中同书名全部书显示出来。为简单起见,描述一本书信息包含:书号,书名,出版社和作者。试验5: 模板和异常处理一、试验目标了解模板概念、定义,了解C+异常处理机制。二、试验类型验证三、试验课时4课时四、试验原理及知识点1、异常基础概念2、异常触发、传输和处理3、类属程序设计4、
15、模板定义和使用五、试验环境(硬件环境、软件环境)1、软件:Windows操作系统,Visual C+ 6.02、硬件:CPU 飞跃;内存64兆以上(最好128兆以上);六、试验内容及步骤1、编写一个程序,使用new运算符动态分配空间,当空间分配失败时抛出异常,并捕捉处理该异常,处理异常时要考虑不能有内存泄漏。2、写一个函数模板,求数组中最大元素。使得函数调用时,数组类型和返回值类型能够是整数也能够是双精度类型。3、以下是一个整数栈类定义:const int SIZE=100;class Stackpublic:Stack(); Stack();void Push(int n);int Pop(
16、);private:int stackSIZE;int tos;(1) 编写一个栈类模板(包含其组员函数定义),方便为任何类型对象提供栈数据结构操作(2) 在应用程序中创建整数栈、字符栈和浮点数栈,并提供部分数据供进栈、退栈和打印操作七、思索和练习求一元二次方程式ax2+bx+c=0实根,假如方程没有实根,则利用异常处理机制输出相关警告信息。第二部分试验指导Visual C+ 6.0集成环境一、VC+6.0关键菜单、工具可视化和面向对象编程技术是当今世界流行编程技术,在众多开发工具中,Microsoft企业VC+6.0独树一帜,深得广大程序员青睐。VC+6.0提供了编写应用程序全部工具,它包含
17、了很多单独组件,并由窗口、对话框、菜单、工具栏等组成了一个统一整体。首先,看一下开启主界面:1.VC+6.0菜单Visual C+ 6.0菜单栏图所表示,其中包含File,Edit,View等共九个菜单选择项,经过它们,你能够轻松地完成编辑程序和资源、编译、链接及调试程序等各项工作。要激活菜单栏中菜单有两种方法:一是用鼠标左键直接单击对应菜单,另一个方法是在按住Alt键同时,按下对应菜单热键,比如要激活Edit菜单只要按下Alt+E键即可。下图 是Visual C+ 6.0主菜单,当激活某个菜单后,会弹出对应下拉子菜单。其中包含了多个菜单项,用于实施对应功效或命令有部分常见菜单命令含有快捷键,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 试验 参考 指导书
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。