ImageVerifierCode 换一换
格式:DOCX , 页数:57 ,大小:389.11KB ,
资源ID:15206654      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-15206654.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(面向对象程序设计试题.docx)为本站会员(b****5)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

面向对象程序设计试题.docx

1、面向对象程序设计试题C程序设计实验指导书董晓梅 张天成 编写东北大学 信息科学与工程学院计算机软件与理论研究所2006年3月前 言本书是本科生课程C+语言程序设计的配套实验指导书。C+语言程序设计是一门实践性很强的课程,学习C+语言程序设计最重要的环节就是实践,而不可能仅仅通过阅读教科书或听课来掌握。书中内容包括13个精心设计的实验,与C+语言程序设计课程的各章内容配合,每一个实验都包括“实验目的”、“实验要求”、“实验内容及实验步骤”和“思考题”几部分,使学生在实践中达到对教科书和课堂内容的深入理解和熟练掌握。本书中的实验内容不仅可以指导学生上机练习,也可以由教师作为例题在课堂上演示,以丰富

2、教学内容。Microsoft Visual C+ 6.0开发环境简介Developer Studio是VisualC6.0的核心部分,是Microsoft Windows环境下的一个集成开发环境,集成了开发C或 C应用程序所需要的所有工具和C编译器。1主窗口包括标题栏、菜单栏、工具栏、项目工作区窗口、文档窗口、输出窗口和状态栏,如图1所示。图1 Visual C6.0集成开发平台的主窗口2菜单栏包括以下菜单项:File, Edit, View, Insert, Project, Build, Tools, Windows和 Help。3工具栏默认时显示三个工具栏:Standard, Build

3、和WizardBar。4采用项目开发应用程序采用项目开发一个应用程序的一般步骤如下:(1) 创建一个项目,系统自动创建了应用程序所需的基本文件。(2) 采用工作区窗口建立项目中的类、文件和资源。(3) 将文件添加到项目中,或从项目中删除文件。(4) 编辑项目中的源代码和资源。(5) 连编项目。(6) 执行应用程序。Exercise 1 熟悉语言及程序开发环境1 实验目的熟悉Microsoft Visual C 6.0集成开发环境,学习创建控制台应用程序项目、编辑源程序、编译和调试程序。2 实验要求(1)熟悉程序开发环境(2)编辑源程序(3)编译并调试程序3 实验内容及实验步骤31 熟悉Micr

4、osoft Visual Studio 6.0 的开发环境(1) 启动Visual C+6.0;(2) 用鼠标左键分别单击各主菜单项,观察各下拉菜单的项目内容;(3) 单击“文件新建”,观察弹出的对话框;(4) 分别单击“新建”对话框的各选项卡,查看其中的内容;(5) 单击“结束”按钮,关闭对话框;(6) 单击“帮助帮助目录”,熟悉帮助的内容和使用方法。32 编辑并调试下面的程序321 在Visual C环境中编辑并调试下面的程序(1)启动Visual C+6.0;(2)向AppWizard提供关于新项目的有关信息:(a)单击“文件新建”,(b)在“新建”对话框中: 单击“工程”选项卡; 在列

5、表中选中“Win32 Console Application”; 在名为“工程”的文本框中输入项目名“Time” 在“位置”文本框中设置项目的位置; 选择“创建新工作区”选项; 确认在“平台”列表框中选中了“Win32”; 单击“确定”按钮。以上过程如图1.1所示。(3)选择项目类型:An empty project。(4)单击“完成”按钮。(5)在开发环境的主窗口中单击“插入新建类”,类型为“Generic Class”,名字为“TimeType”,单击“确定”。见图1.2。图1.1向AppWizard提供关于新项目的有关信息图1.2 新建类(6)在左侧的“Class View”中选择类“T

6、imeType”,单击右键,选择“添加成员变量”,在弹出的对话框中填入变量hrs的类型和名称,见图1.3和图1.4;重复此过程,加入成员变量mins和secs。图1.3 选择类“TimeType”,单击右键图1.4 添加成员变量(7)选择类“TimeType”,单击右键,选择“添加成员函数”,在弹出的对话框中填入函数Set的原型说明,并在代码编辑窗口中填入函数体的代码,见图1.5和图1.6;重复此过程,加入所有的成员函数。图1.5添加成员函数图1.6 添加代码(8)保存文件。(9)单击“文件新建”,在“新建”对话框的“文件”选项卡中选择“C源文件”,名字为“diary”。(10)在代码编辑窗口

7、中写入代码,保存文件。(11)编译和执行程序:单击“编译构件Time.exe”,或者按F7键,生成可执行文件Time.exe;单击“编译执行Time.exe”,或者同时按下“Ctrl”和“F5”键,执行程序,查看运行结果。322 源程序:(1)文件TimeType.h:/“TimeType.h”class TimeType public: void Set(int hours, int minutes, int seconds); void Increment(); void Write() const; bool Equal(TimeType otherTime) const; bool L

8、essThan(TimeType otherTime) const; private: int hrs; int mins; int secs;(2)文件TimeType.cpp:/“TimeType.cpp”#include “timetype.h”#include void TimeType:Set(int hours, int minutes, int seconds) hrs = hours; mins = minutes; secs = seconds;void TimeType:Increment() secs+; if (secs59) secs=0; mins+; if (mi

9、ns59) mins=0; hrs+; if (hrs23) hrs=0; void TimeType:Write() const if (hrs10) cout 0; cout hrs :; if (mins10) cout 0; cout mins :; if (secs10) cout 0; cout secs;bool TimeType:Equal(TimeType otherTime) const return (hrs=otherTime.hrs & mins=otherTime.mins & secs=otherTime.secs);bool TimeType:LessThan(

10、TimeType otherTime) const return (hrsotherTime.hrs|hrs=otherTime.hrs & minsotherTime.mins|hrs=otherTime.hrs & mins=otherTime.mins & secsotherTime.secs);(3)文件Diary.cpp:/Diary.cpp#include #include TimeType.hint main() TimeType time; int hours; int minutes; int seconds; coutEnter a time (use hours hour

11、sminutesseconds; while(hours=0) time.Set(hours, minutes, seconds); time.Increment(); coutIncremented time is ; time.Write(); coutendl; coutEnter a time (use hours hoursminutesseconds; return 0;4 思考题(1) 如何启动Microsoft Visual Studio 6.0?(2) 如何用AppWizard新建一个控制台项目?(3) 如何新建一个类,并添加类的成员?(4) 如何编译和连接一个程序?(5)

12、如何执行一个程序?(6) 如何使用帮助?Exercise 2 C+简单程序设计1 实验目的(1)学会编写简单的C+程序。(2)复习基本数据类型变量和常量的应用。(3)复习运算符与表达式的应用。(4)复习结构化程序设计基本控制结构的运用。(5)复习自定义数据类型的应用。(6)练习使用简单的输入输出。(7)观察头文件的作用。(8)学会使用Visual C+6.0开发环境中的debug调试功能:单步执行、设置断点、观察变量值。2 实验要求(1)输入并运行教材C+语言程序设计中的例题2-7,即:用do-while语句编程,求自然数110之和。程序正确运行之后,去掉源程序中#include语句,重新编译

13、,观察会有什么问题。(2)将do-while语句用for语句代替,完成相同的功能。(3)编程计算图形的面积。程序可计算圆形、长方形、正方形的面积,运行时先提示用户选择图形的类型,然后,对圆形要求用户输入半径值,对长方形要求用户输入长和宽的值,对正方形要求用户输入边长的值,计算出面积的值后将其显示出来。(4)使用debug调试功能观察任务3程序运行中变量值的变化情况。(5)定义一个表示时间的结构体,可以精确表示年、月、日、小时、分、秒;提示用户输入年、月、日、小时、分、秒的值,然后完整地显示出来。3 实验内容及实验步骤(1) 建立一个控制台应用程序项目lab2_1,向其中添加一个C+源文件lab

14、2_1.cpp(方法见实验1),输入教材C+语言程序设计中例2-7的代码,检查一下确认没有输入错误,选择菜单命令Build | Build 1ab2_1.exe编译源程序,再选择Build | Execute运行程序,观察输出是否与教材中的答案一致。(2)程序正确运行之后,在源程序第一行“#include”前面加注释标记“/”使之成为注释行,重新编译,查看此时编译器会输出什么样的提示。现在,删除注释标记,将程序恢复正确。(3)另建立一个项目lab2_2,包含一个C+源程序1ab2_2.cpp,将do-while语句用for语句代替,完成与实验任务1相同的功能。(4)建立项目lab2_3,计算图

15、形的面积。圆形的面积计算公式为S=PI*r*r,长方形的面积计算公式为S=a*b,正方形的面积计算公式为S=a*a。程序中定义一个整型变量iType表示图形的类型,用cout语句输出提示信息让用户选择图形的类型,用cin读入iType的值,然后,使用switch语句判断图形的类型,分别提示用户输入需要的参数值,计算出面积的值后用cout语句显示出来。最后,编译运行程序。(5)学习简单的debug调试功能,参考程序如下:lab2_3.cpp#includeconst float PI=3.1416;void main() int iType; float radius,a,b,area; COU

16、tiType; switch(iType) case 1: coutradius; area=PI*radius*radius ; cout”面积为:”areaendl; break; case 2: couta; coutb; area=a*b; cout”面积为:”areaendl; break; case 3: couta; area=a*a; cout”面积为:”areaendl; break; default: cout不是合法的输入值!endl;1)首先在第10行处设置调试断点。用鼠标右键单击源程序第10行左边的空白处,出现一个菜单,如图2.1所示。图2.1 插入断点2)选择Ins

17、ert|Remove Breakpoint选项,可看到左边的边框上出现了一个褐色的圆点,这代表已经在这里设置了一个断点。所谓断点就是程序运行时的暂停点,程序运行到断点处便暂停,这样我们就可以观察程序的执行流程,以及执行到断点处时有关变量的值。3)然后选择菜单命令Build | Start Debug | Go,或按下快捷键F5,系统进入Debug(调试)状态,程序开始运行,一个DOS窗口出现,此时,Visual Studio的外观如图2.2所示,程序暂停在断点处。图2.2 调试状态4)单步执行:从Debug菜单或Debug工具栏中单击Step Over选项或按钮两次。在程序运行的DOS窗口中输

18、入选择的图形类型,例如,输入3,代表正方形,这时,回到Visual Studio中,把鼠标放在变量名iType上片刻,可看到出现了一个提示:iType=3;此时,在Variables窗口中也可看到iType以及其他变量的值。单步执行时每次执行一行语句,便于跟踪程序的执行流程。因此为了调试方便,需要单步执行的语句不要与其它语句写在一行中。5)在Watch窗口中,在Name栏中输入iType,按回车键,可看到Value栏中出现3,这是变量iType现在的值(如果没看到Variables窗口或Watch窗口,可通过View菜单的Debug Windows | Variables或Debug Wind

19、ows | Watch选项打开它们)。图23是此时Variables窗口和Watch窗口的状态。6)继续执行程序,参照上述的方法,再试试Debug菜单栏中别的菜单项,熟悉Debug的各种方法。(6)建立一个项目lab2_4,包含一个C+源程序lab2_4cpp。定义一个表示时间的结构体,有表示年、月、日、小时、分、秒的成员,可以使用short类型;在主程序中实现输入输出。4 思考题(1) 如何在集成环境中建立一个简单的C+程序?(2) 如何设置断点?(3) 如何单步运行一个程序?(4) 如何观察程序运行过程中某个变量的值?Exercise 3 函数的应用1 实验目的(1)掌握函数的定义和调用方

20、法(2)练习重载函数的使用。(3)练习使用系统函数。(4)学习使用VC+的debug调试功能,使用step into追踪到函数内部。2 实验要求(1)编写一个函数把华氏温度转换为摄氏温度,转换公式如下 C=(F-32)*5/9(2)编写重载函数Max1可分别求两个整数,三个整数,两个双精度数,三个双精度数的最大值。(3)使用系统函数pow(x,y)计算xy的值,注意包含头文件math.h。(4)用递归的方法编写函数求Fibonacci级数,观察递归调用的过程3 实验内容及实验步骤(1)编写函数float Convert(float TempFer),参_数和返回值都为float类型,实现算法C

21、=(F-32)*5/9,在main()函数中实现输入、输出。程序名:lab3_1.cpp。#includeusing namespace std;float Convert(float F) float C; C=(F-32)*5/9; return C;void main() float F; coutF; coutendl; cout摄氏温度是:Convert(F)endl;(2) 分别编写四个同名函数max1,实现函数重载,在main()函数中测试函数功能。程序名:lab3_2.cpp#includeusing namespace std; int Maxl(int a,int b) i

22、nt max1; if(a=b)max1=a; else max1=b; return max1; int Maxl(int a,int b,int c) int max2; if(a=b) if(b=c)max2=a; else if(a=c)max2=a; else max2=c; else if(b=b)max3=a; else max3=b; return max3; double Maxl(double a,double b,double c) double max4; if(a=b) if(b=c)max4=a; else if(a=c)max4=a; else max4=c; e

23、lse if(b=c)max4=c; else max4=b; return max4;int main() int a1,a2,b1,b2,b3; couta1a2; coutendl; cout两个整数中最大的是:Maxl(a1,a2)endl; coutb1b2b3; coutendl; cout三个整数中最大的是:Maxl(b1,b2,b3)endl; double c1,c2,d1,d2,d3; coutc1c2; coutendl; cout两个双精度数中最大的是:Maxl(c1,c2)endl; coutd1d2d3; coutendl; cout三个双精度数中最大的是:Maxl

24、(d1,d2,d3)2;fib(1)=fib(2)=1。使用if语句判断函数的出口,在程序中用cout语句输出提示信息。程序名:lab3_5.cpp(5)使用debug中的Step Into追踪到函数内部,观察函数的调用过程,参考程序如下: /lab3_5 #include int fib(int n); int main() int n,answer; coutn; cout”nn”; answer=fib(n); coutanswer”is the”n”th Fibonacci numbern”; return 0;int fib(int n) cout”Processing fib(“n

25、”)”; if(n3) cout”Reutrn 1!n”; return(1);else cout”Call fib(“n-2”)and fib(“n-1”).n”; return(fib(n-2)+fib(n-1);(6)调试操作步骤如下:1)选择菜单命令Build | Start Debug | Step in,或按下快捷键F11,系统进入单步执行状态,程序开始运行,并出现一个DOS窗口,此时Visual Studio中光标停在main()函数的入口处。2)把光标移到语句answer=fib(n)前,从Debug菜单或Debug工具栏中单击Run to Cursor,在程序运行的DOS窗口

26、中按提示输入数字3,这时回到Visual Studio中,光标停在第11行,观察一下n的值(观察方法见实验2)。3)从Debug菜单或Debug工具栏中单击Step Into,程序进入fib函数,观察一下n的值,把光标移到语句return(fib(n-2)+fib(n-1)前,从Debug菜单或Debug工具栏中单击Run to Cursor,再单击Step Into,程序递归调用fib函数,又进入fib函数,观察一下n的值。4)继续执行程序,参照上述的方法,观察程序的执行顺序,加深对函数调用和递归调用的理解。5)再试试Debug菜单栏中的菜单项,熟悉Debug的各种方法。4 思考题(1) 如何利用系统函数来实现一些常用的功能?(2) 如何查找系统函数?(3) 如何实现函数重载?(4) 如何编写一个递归程序?Exercise 4 类与对象1 实验目的(1)掌握类的定义和使用。(2)掌握类的定义和对象的声明。(3)复习具有不同访问属性的成员的访问方式。(4)观察构造函数和析构函数的执行过程。(5)学习类的聚集使用方法。(6)使用VC+的debug调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。2 实验要求(1)定义一个CPU类,包含等级(rank)

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2