浙大版c语言程序设计约分最简式,大工软院c实验讲义.doc

大工软院c实验讲义

C++程序设计实验讲义

软件学院C++教学团队目录

实验1 在小范围内用C++增强C的功能3

实验2 类的定义与应用5

实验3 this指针、常量和静态成员和友元函数的使用8

实验4 派生与继承13

实验5 多态性16

实验6 IO流上机实验20

实验7 运算符重载、模板22

实验8 windows程序设计25

实验1 在小范围内用C++增强C的功能

实验目的和要求

目的:快速掌握C++语言编程的方法,在小范围内增强C++的功能,主要内容有:(1)输入流、输出流的使用;(2)函数原型;(3)new和delete运算符分配内存。

2.实验内容:

编写一个用输入和输出流运算符进行的输入和输出的程序。从键盘输入两个数,分别对两个数进行加,减,乘和除的运算。并输出计算结果,如: 23+123=146。

用new和delete运算符动态分配内存空间的方法编写程序。从键盘输入3?3整型数组的数据,并计算出所有元素之和,打印出最大值和最小值。输入输出要用流运算符实现。

编写C++风格的程序,解决百钱问题:将1元人民币兑换成1,2,5分的人民币,有多少种换法?

在主函数中定义2个整型元素a,b,用引用作函数参数的方法,在函数void swap(int & x, int & y)中实现将数据交换存放,并在主函数中打印出来。

假设我们班有50名同学,每个同学都报出自己的生日, 每个同学的生日都不相重的概率只有0.0296,如果有100个同学,不相重的概率为3.0725?10-7。相重复的概率如此之大与我们主观想象不同。写一个程序,输入同学的人数n计算出其生日不重复的概率。然后在用彷真的方法, 利用随机数产生每个同学的生日,计算出生日不重复的概率并与前面的结果进行比较。

[学生的生日可以用随机数产生,rand()产生0—32767之间的伪随机数,因为此需要一个种子,种子不同产生的随机数列不同,rand()产生的随机数也不同,可以调用srand(long int *)函数设置种子,比如我们可以获得计算机中的时间获得随机数种子, 以上函数需要包含头文件 stdlib.h]

思考题:

结合上机的体会,回答下列问题.

C++引入了I/O流运算符,与 C语言相比,它们好处是什么?

与C语言的动态分配内存函数相比,C++的new 和delete运算符的优点是什么?

引用是C++的很重要的功能,在函数定义中,如何使用引用,会实现怎样的效果?

实验2 类的定义与应用

1、实验目的和要求:

掌握类定义的方法,理解类类型,实例的含义,体会面向对象程序设计中数据隐藏的概念。理解构造函数和析构函数的作用和运行实际,掌握拷贝构造函数的作用。并熟练掌握复杂对象类型的运用。

2、实验内容:

(1)定义一个时间类Time,它能提供由时分秒组成的时间。要求能够修改时间和打印出时间。

(2)编写一个计数器类,定义一个私有数据成员,通过两个成员函数,分别使其完成加1和减1操作。用构造函数数据成员初始化为0,输出函数可以输出数据成员函数的值。

(3)设计一个时间类,要求包含以下功能:

数据成员:时、分、秒

成员函数:

各种构造函数

析构函数

可以通过函数分别设置时间的各个组成部分

也可以整体设置时间

有一个tick函数,负责给当前时间加1秒钟,然后输出新的时间

(4)定义一个分数类如下,要求实现各个成员函数,并在主函数中测试两个分数的加减乘除等运算。

class Rational{

public:

Rational(int nn=1,int mm=1);//构造

Rational R_add(Rational & A);//加

Rational R_sub(Rational & A);//减

void R_mul(Rational & A);//乘

void R_div(Rational & A, Rational &B);//除

void simple( );//约分

void print();//以分数形式显示,注意约分

private:

int m; // 分母

int n; // 分子

};

(5)定义一个类包含一个整型数的指针变量,在构造函数中用new分配10各整型数的内存空间,在析构函数中用delete释放内存空间,并编写给内存空间赋值和输出函数。

(6)编写类String 的构造函数、析构函数

已知类String 的原型为:

class String

{

public:

String(const char *str = NULL); // 普通构造函数

S

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值