实验一
(实验课时:2 实验性质:设计)
实验名称: Visual C++6.0 开发环境的使用以及C++函数的应用
实验目的: (1)熟悉Visual C++6.0开发环境;
(2)学习使用Visual C++6.0编写标准的C++控制台程序;
(3)练习C++函数的定义及使用;
(4)熟悉C++函数实参和形参的对应关系以及“值传递”的方式;
(5)熟悉C++函数的嵌套调用和递归调用的方法;
(6)练习多文件的程序的编译和运行方法;
(7)熟悉在Visual C++6.0环境下进行程序的简单调试。
实验设备: (1)硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB);
(2)软件:操作系统为WindowsXP(或2000、server2003等),工具软件为Visual C++6.0。
实验内容: (1)熟悉Visual C++6.0编译系统的常用功能;
(2)编程1:编辑、编译及运行c++程序c1.cpp,即求a和b两个数之和。观察和分析编译信息,并观察运行结果。
(3)编程2:编写一个程序c2.cpp,用来求2个或3个整数的最大数。要求:用重载函数的方法来求最大数;函数原型:int max( int a, int b) 和 int max( int a, int b,int c)。
(4)编程3:编写一个程序c3.cpp,求: a!+ b! + c!的值。要求:使用递归函数。
(5)把第3个程序中的主程序和函数分开到两个源程序文件中,分别进行编译后,再运行;
(6)使用debug调试功能:追踪第3个程序中函数的运行。
(7)思考:
在第3个程序中,如果a,b,c的值较大,则显示的结果会怎样?这时如何解决此问题?
(提示:显示的结果会不对,可能还会是负数,定义一个数组来存放最后结果。)
实验要求: (1)掌握Visual C++6.0开发环境的常用功能及使用;
(2)掌握C++函数的定义及使用;
(3)熟悉C++函数实参和形参的对应关系以及嵌套调用和递归调用的方法;
(4)掌握多文件的程序的编译和运行方法;
(5)掌握使用Visual C++6.0的debug调试功能,并能使用step into追踪到函数内部;
(6)程序格式规范,程序运行正确;
(7)认真书写实验报告,如实填写各项实验内容。
实验步骤: (1)启动Visual C++6.0开发环境;
(2)熟悉Visual C++6.0编译系统的常用功能;
(3)在file菜单中,新建C++源程序c1.cpp;
(4)编辑C++源程序文件c1.cpp的内容。
(5) 编译c1.cpp,系统会提示是否创建工程(由于前面没有创建工程),选择“是”。则创建一个工程;
(6)程序编译正确时,则可建立可执行程序;
(注意观察每步的结果)
(7)运行可执行文件;
(8)关闭工作空间。
(9)对编程2,重复步骤(3)-(8),把程序名改动,重建一个新的程序,进行编程调试。
(10)对编程3,在file菜单中,新建C++源程序cpp3_1;
(11)编辑C++源程序文件cpp3_1的内容;
(12) 编译cpp3_1,系统会提示是否创建工程(由于前面没有创建工程),选择“是”,则创建工程;
(13)在file菜单中,新建C++源程序cpp3_2;
(14)编辑C++源程序文件cpp3_2的内容;
(15)编译文件cpp3_2时,系统提示是否加入到此工程,选择“是”,则把文件cpp3_2加入到该工程中。
(16)编译和运行此程序,并注意观察每步的结果。
(17)使用调试功能:运行到光标处、单步跟踪、查看变量值。
(18)使用关闭工作空间。
注意:若编译时出错:“fatal error c1010:unexpexted end of file while looking for precompiled header directive.”;
该文件需要包含头文件:stdafx.h,即在开头有语句:#include “stdafx.h”
思考题:假如已建立了两个C++源程序c1.cpp和c2.cpp。先用open打开c1.cpp,并完成了编译、连接和运行,再打开c2.cpp,对它进行编译和连接。此时会出现什么问题?原因何在?怎样解决?