面向对象程序设计C++ 实验大纲.docx
《面向对象程序设计C++ 实验大纲.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计C++ 实验大纲.docx(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象程序设计C+实验大纲实验课程名称:面向对象程序设计C+实验英语译名:Experiments of Object-OrientedProgramming C+课程性质:专业基础课适用学生层次:本科适用专业:计算机科学与技术、物联网工程实验项目数:8实验总学时数:18教材及参考书:1.C+面向对象程序设计教程(第3版)陈维兴,林小茶编著清华大学出版社 2009.62.实用C+教程高教出版社3.实用C+实验教程高教出版社考核方式:实验报告和实验程序操作考查面向对象程序设计C+实验大纲1第一部分实验教学的指导思想和要求31、教学目标:32、基本要求:33、实验前的准备工作。34、撰写实验报告4
2、5、实验报告提交注意事项:4第二部分、实验学时分配5第三部分、实验内容5实验1 熟悉VC+6.0的编程环境(2学时)5实验2 数组(2学时)15实验3函数(2学时)16实验4 指针和引用(4学时)18实验5 类与对象的应用(4学时)23实验6 继承与派生类(2学时)34实验7 虚函数和多态性(2学时)37实验8 文件(2学时)40第一部分实验教学的指导思想和要求1、教学目标:C+是一门高效的程序设计语言,即可进行过程化设计,也可进行面向对象程序设计,是目前面向对象程序设计语言中具有最广泛基础的一门语言,也是作为应用软件和系统软件的最佳开发工具之一。通过该课程的学习,学生能掌握C+程序设计基础知
3、识,程序设计方法与基本数据结构。通过上机实践,培养学生分析具体问题、建立数学模型、用C+解决实际问题的能力,培养学生创新意识和提高学生实践能力。在课程教学的整个过程中要帮助学生抛弃原来的编程习惯和思考方法,建立面向对象的编程思想。2、基本要求:l 了解计算机处理信息的过程以及描述用计算机解决问题的表示方法;l 熟悉和使用C+程序设计的开发环境;l 理解面向对象程序设计的基本概念;l 掌握面向对象程序设计的基本方法与基本思路;l 掌握可视化编程的方法。3、实验前的准备工作。l 了解所用的计算机系统(包括Visual C+6.0)的性能和使用方法。l 复习和掌握与本实验有关的教学内容,设计好上机操
4、作步骤。l 准备好上机所需的程序,切忌不编程序或抄别人的程序去上机。l 对实验中出现的问题应事先估计,对程序中自己有疑问的地方应先作上记号,以便上机时给予注意。4、撰写实验报告l 实验报告格式实验报告必须是word文档,其他格式一律不接受。上机实验报告格式实验题目:_学院及班级:学号:姓名:一、实验目的:1. 2. 二、实验内容:要求有算法设计、代码编写,程序代码含有一定的注释,运行结果图示。三、实验总结通过上机实践,对所学内容的某个知识点有了更深入的理解,写出一些体会、学习心得。也可以写算法设计、代码编写、程序调试、程序改进等相关的收获、感悟。5、实验报告提交注意事项:l 邮箱地址:wl_m
5、aryl 邮件标题格式:学号+姓名+班级+实验名称l 附件标题格式:学号+姓名+班级+实验名称按上述要求提交实验报告,实验报告必须在本学期19周周日之前提交,过后不再受理,后果自负。注:实验报告一定要以附件(word格式,其他格式一律不接受!)的形式发送,邮件标题、附件标题、邮箱一定不要写错啊!第二部分、实验学时分配序号试验项目名称类型学时1实验1熟悉VC+6.0的编程环境(2学时)验证22实验2数组(2学时)验证23实验3函数(2学时)验证24实验4指针和引用(4学时)综合性45实验5类与对象的应用(4学时)验证46实验6继承与派生类(2学时)验证27实验7虚函数和多态性(2学时)验证2第三
6、部分、实验内容实验1 熟悉VC+6.0的编程环境(2学时)一、实验目的:1熟悉 VC+6.0 集成开发环境;掌握简单C+ 程序的编辑、编译、连接和运行;2理解 C语言中的数据类型、表达式;掌握简单C+程序的编写及调试方法;3悉C+程序的顺序、分支和循环控制结构及其实现方法;掌握结构化程序设计的基本方法和步骤,进一步学习程序的调试过程;二、实验内容:1从键盘输入两个整数,求其最大值。提示参考程序如下:#include int max(intx,int y) /定义求最大值函数if(xy)return x;else return y;void main()intm,n,s;cout输入两个整数:m
7、n;s=max(m,n);cout两个数中的最大值为:sendl;要求l 输入24 6,观察程序运行结果;l 输入24,6,观察程序运行结果;l 输入非整数时,观察程序运行结果;/大家想一想为什么?写实验报告2编程将一个已知的三位整数按倒序形式输出。如已知一个三位整数123,其倒序形式为321。提示输入的三位数为整数,变量类型按整型进行处理。可采用求余数的方法计算各位上的数,并输出,再用除10所得的商作为输出低位后剩余的数。参考程序如下:#include void main()intx,k;cout请输入一个整数:x;cout按倒序输出整数:endl;while(x!=0)k=x%10;cou
8、tk;x=x/10;coutendl;要求l 修改程序,将三位数倒序后存入整型变量中,并输出倒序后的整数。写实验报告3. 求两个整数的和。程序如下:提示参考程序如下:#include int add(intx,int y) /求和int s;s=x+y;return s;void main()intx,y,sum;cout输入两个实数:xy;sum=add(x,y); /调用函数,求和coutx+y=sumn),当余数不为零时,m取n的值,n取r的值,再求两个数相除的余数,反复进行直到余数为零,除数n是最大公约数。最小公倍数=mn最大公约数。要求l 按照上面思想,编程实现从键盘上输入的两个自然
9、数的最大公约数和最小公倍数;l 输入两个数m=56,n=12观察程序运行结果;l 用递归调用的方法实现求最大公约数,参考程序如下:int fun1(int c,int d)int r;r=c%d;if(r!=0)c=d;d=r;fun1(c,d); return d;l 编程实现求三个数的最大公约数和最小公倍数;写实验报告2编程求下式的值:n1+n2+n3+n4+n8 其中n=1, 2, 3,编写函数时,设置参数n的默认值为2。提示上述表达式可以写为:f(n)= n1+n2+n3+n4+n10 (n=1, 2, 3) ,注意表达式值的溢出问题。要求l 定义f(n)函数,实现求上述表达式的值,并
10、设置函数的参数n的默认值为2;l 在主函数中调用f(n)函数,实现输入n值时,求出表达式的值;写实验报告3使用函数重载的方法定义四个同名函数max,分别求取两个整数、三个整数,两个双精度数、三个双精度数的最大值。提示 C编译器根据函数参数表中参数类型和个数进行匹配,调用相应的重载函数,函数返回值不能用来识别重载函数。注意重载函数中使用默认参数时可能产生的二义性。要求l 在每个重载函数中输出该函数的参数值和求出的最大值;l 在main函数中,当输入不同类型、个数的数据时,调用不同的重载函数,求其最大值;写出实验报告。实验4指针和引用(4学时)一、实验目的:1、熟练掌握各种类型指针的定义、引用和运
11、算;2、掌握数组指针和指向数组的指针变量,以及字符串的指针和指向字符串的指针变量;3、了解指针与链表关系。二、实验内容:1 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。提示把输入的10个整数存入数组中,10个中最小的放与数组的第一个元素对换,最大的数与数组的第10个元素对换。其他的保持不变。要求定义3个函数:void input(int *p); /*此函数向数组输入10个元素*/void max_min_value(int *p);/*此函数交换数组的对应元素*/void output(int*p);/*此函数输出数组的10个元素*/在main函数中调用上述3个
12、函数,实现题目要求的功能;撰写实验报告2建立一个学生信息链表,每个结点包括:学号、姓名、成绩。实现链表的建立、显示和查询。查询是指输入一个学号,如果链表中存在该学号的的结点,则显示此结点的数据。提示采用动态分配内存,用new分配内存空间,不需要时用delete释放空间。由于结点结构中包含两三个域,可以采用C+语言中的结构体类型实现。structstructNode /定义一个结点结构类型 intnum;char name10;float score;structNode *next; stNode;要求在程序中定义了三个函数:void initStLink();/初始化链表void creat
13、eStLink(); /创建学生成绩信息链表void dispStLink();/输出链表信息定义一个查询函数stNode * search(stNode *head,int number),其中,第一参数是链表的头结点,第二个参数是学生的学号。实现当输入一个学生学号,如果链表中存在该学号的的结点,则显示此结点的数据,否则输出没有该学号的结点。定义一个删除函数bool delete(int number),用于删除指定学号的结点。实现当输入一个学生学号,如果链表中存在该学号的的结点,则删除该结点,否则显示链表中没有该学号的结点。撰写实验报告以下选作题目:3. n个人围成一圈,从第一个人开始报数
14、,报到5的人就退出圈(图中白色的表示退出圈),再从下个人开始报数,问最后剩下的那个人是第几个人。(1)提示:1)建立一个结构体:struct Node /定义一个结点结构类型 intnum; /序号 char name10; /姓名struct Node *next; stNode;并将头指针设为全局变量stNode *head;2)要求在程序建立几个函数:void initStLink()/初始化链表void CreateStLink( ) /创建循环链表,void dispStLink( )/输出链表信息stNode *find( ) /报数为5的人出队列在主函数中调用以上函数,实现程序的
15、要求。(3)撰写实验报告实验5类与对象的应用(4学时)一、实验目的:1掌握类和对象的概念、定义和使用方法。2掌握不同特性对象成员的访问方法,以及this指针的概念和使用方法。3掌握构造函数和析构函数的使用方法。二、实验内容:1写出下列程序的执行结果,然后上机进行验证。#include #include class X int n;public:X( );X(int a); X( );X:X( ):n(3) cout调用构造函数 X()setw(8)nendl;X:X(int a ):n(6) n=n+a;cout调用构造函数 X(int a)setw(5)nendl; X:X() cout调用
16、析构函数 nendl; void main() X a;cout-a-endl;X b(7);cout-b-endl;cout析构函数执行情况:endl;提示通过设置断点,以单步执行的方式跟踪构造函数、析够函数的执行顺序。所谓断点就是程序运行时需要暂时停止执行的语句。程序员可以为程序需要观察的语句设置断点,以“单步执行”的方式跟踪和检查程序当前的各种状态值。在C程序文件中设置断点,并以“单步执行”的方式跟踪程序执行的过程和检查变量的值的操作步骤是:l 在主窗口中打开源文件“ex10_8”,并对该文件进行编译和链接;l 把光标移动到需要设置断点的语句,单击鼠标右键,弹出如图10-8所示的快捷菜单
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象程序设计C+ 实验大纲 面向 对象 程序设计 C+ 实验 大纲
限制150内