上机实验
- 格式:doc
- 大小:47.50 KB
- 文档页数:3
上机实验
1.实验一:使用VC++6.0编写C++程序
1.1. 实验目的
1.学习使用Visual C++6.0的开发环境,学习debug调试功能(单步执行、设置断点、观
察变量值)。
2.学习用Visual C++6.0编写简单的C++程序。
3.练习编辑和调试书上的例题。
4.掌握基本数据类型和表达式的应用、程序基本结构,学会编写简单的C++程序。
1.2. 实验任务
1.建立两个磁盘文件file1.dat和file
2.dat,编写程序实现以下工作:
1)在文件file1.dat中存放20个整数;
2)编写程序,从file1.dat文件中读出数据,按照从大到小的顺序排序,并将排序后的数据存放到文件file2.dat中。
(注:文件输入、输出可使用C语言的方式,也可使用C++的方式)
2.实验二:使用C++基本数据类型和表达式编写简单程序
2.1. 实验目的
1.通过上机学会查找、修改编译的错误,并掌握单步调试和设断点调试程序的方法。
2.进一步学习并掌握C++的基本数据类型、变量、常量和表达式的概念及使用方法。
3.学习C++的基本语句、条件语句、多分支语句、循环语句和输入输出语句的语法规则及
执行过程,理解并掌握简单的C++程序的三种结构(顺序、分支和循环)。
2.2. 实验任务
1.编写一个程序,从键盘输入三个整数,然后输出最大数。
2.编写一个程序,从文件中读取数据,输出最大值和最小值。
3.写一个程序计算汽车的耗油量。
让用户输入汽车行驶前和行驶后的里程表读数,以及行
驶前后油箱的油量。
计算使用的汽油使用量、行驶的里程以及每公里耗油量。
在显示器上打印这些值和相关的指示信息。
要求:运行时提示用户输入数据。
3.循环语句及数组的应用
3.1. 实验目的
1.加深理解循环的概念,掌握while语句、do-whike语句和for语句的循环规则及执行过程。
2.学习一维数组、二维数组和字符数组的概念和使用方法。
3.练习用C++的循环语句、数组编写简单的程序,掌握循环结构的设计和调试方法。
4.掌握循环嵌套的规则及多重循环的程序设计方法。
5.掌握break语句和continue语句的使用方法。
3.2. 实验任务
1.编写一程序,实现将一个字符串str1中的小写字母变为大写字母、大写字母保持不变的
方式存入另一个字符串str2中,并显示str1 和str2的内容。
2.编写一程序,使之完成下列功能。
要求:完成矩阵转换,输出转换前和转换后的矩阵。
矩阵转换后,计算主对角线数之和,并输出。
1 2 3 4 13 9 5 1
5 6 7 8————》14 10 6 2
9 10 11 12 15 11 7 3
13 14 15 16 16 12 8 4
3.从键盘输入10个常数32,56,78,9,21,70,26,90,66,88,编一程序将这十个数
按照从小到大的顺序显示出来。
4.编写一个程序,计算用户输入的10个数的倒数的和。
但是,如果用户输入0,则立刻终
止;如果输入1,则并不加入和数。
显示程序运行的结果。
5.输入两个数x和n,并计算如下序列前n项的和
223
++++++
x x x x x x
()()...
6.按照下面的模式显示。
同行间数的间隔用tab。
由用户决定打印的行数。
5
5 4
5 4 3
5 4 3 2
5 4 3 2 1
4.函数与数组的应用
4.1. 实验目的
1.进一步掌握数据类型变量和常量的应用、运算符与表达式的应用、程序基本结构的应用。
2.熟悉定义函数的方法、函数实参和形参的对应关系以及“值”传递的方式。
3.掌握全局变量和局部变量的概念和使用方法。
4.理解并运用调用、递归调用、内联、重载和默认参数的函数,掌握函数调用的内部实现
机制。
5.学会使用头文件,理解多文件结构,理解编译预处理的概念。
4.2. 实验任务
1.设计一个程序,从文件中读取一组数据,然后计算这组数据的均值和方差,并对这组数
按照从小到大的顺序进行排序。
要求:用average(int *data, int n), variance(int *data, int n), sorti(int *data, int n)函数实现上述功能。
2.从键盘输入一个三位数abc,从左到右用a、b、c表示各位的数字,现要求编一个函数,
完成逆序输出这三位数,即输出另一个三位数cba,例如:输入123,输出321。
(算法提示:a=n/100;b=(n-a*100)/10;c=(n-a*100)%10;m=(c*100+b*10+a)。
5.类与对象
5.1. 实验目的
1.掌握声明、定义类和成员函数的方法及对成员函数的访问方法。
2.掌握构造函数、析构函数以及类成员访问权限等相关概念。
3.理解对象的概念,掌握对象的定义、对象的初始化和赋值的方法。
4.了解成员函数的特性、类的作用域及对象生存期等概念。
5.了解结构化编程和面对对象编程的方法和两者的区别,领会面向对象程序设计的方法。
6.学会使用静态数据成员和静态成员函数。
5.2. 实验任务
1.看懂书上所给出的典型例题,并在其上进行简单的修改,体会并理解本章涉及到的内容
在实际解决问题中的应用。
2.建立Complex类,执行复数的数学运算。
并写程序测试该类。
复数成员包括实部(realPart)
和虚部(imaginaryPart)。
用Double型变量表示类的私有数据。
提供可以初始化的构造函数。
在没有初始值时,构造函数应有默认值(如0+0i)。
公有成员函数完成如下任务:
a. 两复数相加。
b. 两复数相减。
c. 两复数相乘。
d. 打印复数,格式为(real,image),其中real表示实部,image表示虚部。
提示用户输入两个复数,执行复数的加、减、乘运算,并输出运算结果。
3.建立一个Time类,将当前时间存储为time_t(某种整型的别名)类型的数。
构造函数取
一个参数作为初始值,设置内部时间。
参数有默认值time(0)(该时间函数在<ctime>中定义,0表示使用当前时间)。
定义getter函数得到当前时间,和setter函数用于改变当前时间。
6.面向对象程序设计
6.1. 实验目的
1.掌握类的继承与派生,以及基类成员访问限制。
2.掌握基类和派生类构造函数、析构函数相关概念。
3.理解多态性的概念,了解虚函数的作用。
4.了解多继承和虚拟继承、纯虚函数等概念。
5.了解结构化编程和面对对象编程的方法和两者的区别,领会面向对象程序设计的方法。
6.2. 实验任务
1.写一个程序,定义抽象基类Shape和它的派生类Circle、Rectangle、Triangle,用一个函
数printArea分别输出以上三者的面积,3个图形的数据可在定义时给出。