实用软件设计技术实验指导书Word文档格式.docx
- 文档编号:15845094
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:81
- 大小:1,017.28KB
实用软件设计技术实验指导书Word文档格式.docx
《实用软件设计技术实验指导书Word文档格式.docx》由会员分享,可在线阅读,更多相关《实用软件设计技术实验指导书Word文档格式.docx(81页珍藏版)》请在冰豆网上搜索。
另一个是为一部分有能力有兴趣深入学习C++程序设计的同学提供一些练习题,从而提升这部分学生的程序设计能力;
第三就是避免有些学生在做实验的过程中盲目按照指导书中的步骤一步一步地不加思考地写程序,学生要回答这些问题,就必须看懂这些程序中隐含的知识点,从而达到理论知识和实践知识更好地结合。
对于课堂练习,本书共安排了十个实验,共32个学时,实验安排如下:
实验一C++基础(2学时)
实验二类和对象—类的构建(2学时)
实验三类和对象—构造函数与析构函数(2学时)
实验四类和对象—对象传递与静态成员(2学时)
实验五派生与继承—单重派生(2学时)
实验六派生与继承—多重派生(2学时)
实验七多态性—函数与运算符重载(2学时)
实验八多态性—类型转换与虚函数(2学时)
实验九模板类的构造(2学时)
实验十C++的I/O流类库(2学时)
实验十一C++程序、Windows程序和MFC程序(3学时)
实验十二简单单文档MFC程序设计(3学时)
实验十三简单对话框程序设计(3学时)
实验十四简单数据库程序设计(3学时)
另外本书还安排了第三部分—综合练习,作为学生提高部分,学生通过第三部分的练习不仅可以巩固前面学到的基本知识,还可以扩充相关方面的程序设计知识,更为重要的是可以让学生自主地设计一个完整的系统,从而达到提高学生综合程序设计能力的目的。
0.3如何使用本书
面向对象程序设计语言出现的目的就是为了设计大型的软件系统,但是教学过程中很难让学生在课堂上实现一个大型的(甚至是成型)的系统,所以作为教师应该引导学生在实现一个简单的功能性的程序的同时让学生思考,思考如何把这个地方的技术实现到一个复杂的应用系统中去;
另外教师要充分利用本书中第二部分的练习,引导学生去思考如何利用C++的相关技术从头到尾设计一个具有实用价值的应用程序。
作为学生如果只是简单地按照本书中提供的步骤一步一步完成某一个程序,而不去思考为什么要这样做的话,那么学生能学到的知识也仅仅是C++的语法而已,并不能真正理解C++面向对象的思想,最终不能设计出好的程序来。
所以学生不仅要全部实现本书中的课堂练习,得出正确的结果,而且在完成了程序后还要思考本程序为什么要这样设计,如果换成其它的程序设计语言会怎么实现,只有这样才能够真正理解C++的精髓,从而掌握C++。
另外学生在学习最后四个实验的时候一定不要忘记前面C++语法知识,能否合理地将C++的三大特性运用到MFC的程序设计中是提高程序运行效率,存储效率和程序封装性一个最有效的手段。
学生在设计本实验指导书第三部分程序的时候,需要自己查阅相关方面的技术资料才能完成相关功能,因为安排这部分的目的就是为了提升学生自主学习的能力和综合程序设计能力,因此这部分的内容并没有安排相关理论知识的讲解。
另外教师也可以把这部分的内容用于学生课程设计的程序设计题目。
注:
本书中所有的程序都采用VS2010(英文版)编程环境,并且全部在该环境下编译运行通过!
实验一C++基础
1.1实验目的
1.进一步了解和熟悉VS2010开发环境,学会在VS2010环境下调试程序;
2.熟悉C++中简单的标准输入输出函数的实用;
3.理解const修饰符的作用,并学会应用const修饰符;
4.理解内置(内联)函数的优缺点并学会使用内置函数;
5.理解和使用函数重载以及带默认参数的函数;
6.使用new和delete进行动态内存管理;
7.理解和使用引用。
1.2实验内容
1.2.1程序阅读
1.理解下面的程序,并在VS2010下运行查看结果,回答程序后面的问题。
#include<
iostream.h>
intmax_def(intx,inty)
{
return(x>
y?
x:
y);
}
intmax_def(intx,inty,intz)
inttemp=0;
return(temp=(x>
y))>
z?
temp:
z;
doublemax_def(doublex,doubley)
intmain()
intx1=0;
intx2=0;
doubled1=0.0;
doubled2=0.0;
x1=max_def(5,6);
x2=max_def(2,3,4);
d1=max_def(2.1,5.6);
d2=max_def(12.3,3.4,7.8);
-----------------------------------------------------①
cout<
<
"
x1="
x1<
endl;
x2="
x2<
d1="
d1<
d2="
d2<
--------------------------------------------------------②
return1;
问题一:
上述程序的输出结果是什么?
问题二:
哪些情况可以参与函数的重载?
问题三:
①处调用的是哪个函数?
问题四:
②处的输出结果为什么是d2=12,而不是d2=12.3?
2.理解下面的程序,并在VS2010下运行查看结果,回答程序后面的问题。
int*p1=newint;
-----------------------------------------------------①
int*p2=newint(0);
-----------------------------------------------------②
char*p3=newchar[64];
-----------------------------------------------------③
①、②、③处动态申请内存分别代表什么不一样的意思?
该程序存在什么隐患?
改正该程序使隐患消除。
3.理解下面的程序,并在VS2010下运行查看结果,回答程序后面的问题。
voidswap(inta,intb)
inttemp=a;
a=b;
b=temp;
voidswap(int*a,int*b)
inttemp=*a;
*a=*b;
*b=temp;
inti=5;
intj=10;
Beforeswap:
i="
i<
j="
j<
swap(i,j);
Afterthefirstswap:
swap(&
i,&
j);
Afterthesecondswap:
①处函数调用后并不能实现两个数的交换,而②处却可以,为什么?
②处调用的是哪个重载函数?
1.2.2程序设计
1.使用函数重载的方法定义两个重名函数,分别求出整形数平面间两点间距离和双精度平面间两点间距离,如果没有输入第二点的坐标则默认为圆点(0,0)。
2.设计一个函数:
exchange(floatx,floaty,floatz),当调用exchange(a,b,c)时,将a的内容赋值给b,b的内容赋值给c,c的内容赋值给a,要求采用引用的方式来实现。
1.3思考题
1.自己设计一个程序,测试const的三种用法:
指向常量的指针,常指针,指向常量的常指针。
2.编写一个函数,实现两个字符串变量的交换,要求参数用引用。
实验二类和对象—类的构建
2.1实验目的
1.类的定义;
2.类对象的使用;
3.类成员变量的定义和使用;
4.类成员函数的定义和使用;
5.理解类的作用域;
6.理解类的声明;
7.理解类中private和public权限的声明依据。
2.2实验内容
2.2.1程序阅读
classCDate
voidSet(intm,intd,inty)
{
month=m;
day=d;
year=y;
}
intIsLeapYear()
return(year%4==0&
&
year%100!
=0)||(year%400==0);
public:
voidPrint()
co
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实用 软件设计 技术 实验 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)