毛根生 2015.6
一、 实验目的。
按课程学习的进程,安排上机内容,由浅及深把课程习题通过上机解决。有5个实验,每个实验都有不同的目的。
二、 实验要求。
本大纲有5个实验,根据时间安排只有4次实验课的话,其中第5个实验可以不做。学生可以参考大纲提供的程序,打入到计算机,编译、连接、运行调试。对每一个实验要根据本实验大纲提出的要求回答问题,写出实验报告。
三、 实验课时。
实验课共_15__学时。
四、 实验环境。
windows xp 、windos 7
microsoft visual c++ 6.0
五、 实验内容(共_5_次)
第一次实验:6月13日晚上7:00—8:30
交: 6月23日晚24:00前,四个实验四个。doc文件,压缩成:xxxxxxxxxxxx(学号)xxx(姓名).rar
附件形式上传至:
实验一。 熟悉c++程序的风格和c++程序的上机全过程。
实验目的】1. 熟悉c++程序的风格,熟悉实验环境。
2. 练习c++程序的输入、修改、编译、连接与运行的全过程。
3. 本实验有4个程序。
实验内容】1. 习题2.2下面是一个c程序,改写它,使它采用c++风格的i/o语句。
#include <>
int main()
int a,b,d,min;
cout<<"输入两个整数:";
cin>>a; cin>>b;
min=a>b?b:a;
for(d=2;d if((a%d==0)&&b%d==0))break;
if(d==min)
cout<<"最小公约数是:" 1)该程序做什么工作? 2)该程序中那几个数是由键盘输入的?那几个数是输出的?那几个数是临时变量? 3)用c++风格的i/o语句是什么? 4)写出该程序的算法(用框图表示) 5)该程序你有否上机编译、连接、运行通过。 2. 习题 2.20分析下面程序的输出结果: #include <> int &f(int &i) i+=10; return i; void main() int k=0; int &m=f(k); cout< m=20; cout<} 1)该程序做什么工作? 2)该程序有几个函数?其中f函数是什么函数?其功能是什么? 3)写出该程序的算法(用框图表示) 4)该程序你有否上机编译、连接、运行通过。 3. 习题2.23 建立一个被称为sroot( )的函数,返回其参数的二次根。 重载sroot( )三次,让它分别返回整数、长整数与双精度数的二次根(为了实际计算二次根,可以使用标准库函数sqrt( ) #include <> #include <> int sroot(int i) return (int)sqrt(i); float sroot(float f) return (float)sqrt(f); double sroot(double d) return (double)sqrt(d); void main int i=12; float f=3.4; double d=5.67; cout<<"i 的二次根=" 1)该程序说明了c++的一个什么重要问题?在c语言中允许定义三个同名的函数sroot吗?为什么? 2)该程序你有否上机编译、连接、运行通过。 4. 习题2.24 编写c++风格的程序,解决百钱问题,将1元人民币兑换成1,2,5分的硬币,有多少种换法? #include <> void main() int i,j,k,n=1; for(i=1;i<=100;i++) for(j=1;j<=50;j++) for(k=1;k<=20;k++) if (i+2*j+5*k==100) cout <<换法 " 1)该程序做什么工作? 2)该程序中那几个数是输出的?那几个数是临时变量? 3)用c++风格的i/o语句是什么? 4)写出该程序的算法(用框图表示) 5)该程序你有否上机编译、连接、运行通过。 实验二。 熟悉类和对象的定义和使用,c++的封装性。 实验目的】1. 熟悉c++程序类定义的一般形式。 2. 熟悉c++程序对象的定义,对象的使用。 3. 构造函数与析构函数的定义。 4. 本实验有5个程序。 实验内容】1. 习题3.19运行下面的程序,并说明运行结果为什么?。 #include <> class example public: example(int n) ~example() int get_i() private: int i; int sqr_it(example o) cout<<"调用sqr_it开始"; return void main() example x(10); cout<< 1)该程序定义了一个什么类?数据成员是什么?函数成员是什么?函数的功能是什么? 2)该程序中是如何用类来定义对象的?数据又是如何到对象中的?又是如何输出的? 3)该程序你有否上机编译、连接、运行通过。 2. 习题 3.30 下面是一个计算机器的定义,请完成该类的实现。 #include <> class counter void increment() void decrement() int getvalue() void print() void main( ) counter ct(0); int top,low; for (int i=1; i<=100; i++ for (i=1; i<=100; i++ cout < 1)该程序定义了一个什么类?数据成员是什么?函数成员是什么?函数的功能是什么? 2)类中有否定义构造函数?说明构造函数的特点。 3)该程序中是如何用类来定义对象的?数据又是如何到对象中的?这与上一题比较有什么不同? 4)主函数在做什么? 5)该程序是否你自己独立编出的?有否上机编译、连接、运行通过。 3. 习题 3.32建立类cylinder,cylinder的构造函数被传递了两个double值,分别表示圆柱体的半径和高度。 用类cylinder计算圆柱体的体积,并存储在一个double变量中。在类cylinder中包含一个成员函数vol(),用来显示每个cylinder对象的体积。 #include <> class cylinder void vol() cout<<"园柱体的体积是:"< void main( ) cylinder obj(1.5,10.0); 1)该程序定义了一个什么类?数据成员是什么?函数成员是什么?函数的功能是什么? 2)类中有否定义构造函数?说明构造函数的特点。 3)该程序中是如何用类来定义对象的?数据又是如何到对象中的? 4)该程序是否你自己独立编出的?以后你能否不看老师的答案自己独立编出这样难度的程序? 5)有否上机编译、连接、运行通过。 课程名称 面向对象程序设计 04 07版 课程编号 20107057 20107203 课程类别 非独立设课课程性质 专业选修课。实验总学时 32 适用专业 层次 计算机科学与技术 本科 信息管理与信息系统 本科 信息与计算科学 本科 电子信息工程 本科 物理学 本科 应开实验项目数 8 先修课程 ... 一 实验课程的性质和目的。c 是一门高效实用的程序设计语言,它既可进行过程化程序设计,也可进行面向对象程序设计。随着c 逐渐成为ansi标准,这种新的面向对象程序设计语言已经成为了程序员最广泛使用的工具。本课程是一门计算机及相关专业的重要的专业基础课,开设实验课程主要目的是使学生掌握有关 c 语言的... 面向对象程序设计 实验课教学大纲。课程名称 面向对象程序设计 object oriented programming 课程编号 课程类别 专业选修课 非独立设课 学时 18学时 总学时54,其中理论36学时 实验课18学时 学分 1学分 总学分3分,其中理论2学分 实验课1学分 项目统计 8个 其中...面向对象程序设计实验大纲
面向对象程序设计实验大纲
面向对象程序设计实验大纲