
第1部分 实验指导
实验1 熟悉C语言编程环境
一、实验目的
(1)熟悉C语言编程环境下的Visual C++6.0,掌握运行一个C程序的基本步骤,包括编辑、编译、连接和运行。
(2)了解C程序的基本框架,能够编写简单的C程序。
(3)了解程序调试的思想,能找到并改正程序中的语法错误。
二、实验内容
1.编程示例
在屏幕上显示“THIS IS A PROGRAM.”

运行结果:

下面在Visual C++的编程环境下,以上述C语言程序源程序为例,介绍运行一个C程序的基本步骤。
(1)建立自己的文件夹。在计算机磁盘中新建一个用于存储C程序的文件夹,比如C:\C_PRO。
(2)启动Visual C++。执行“开始”→“所有程序”→Microsoft Visual Studio 6.0→Microsoft Visual C++ 6.0,进入编程环境,如图1-1所示。

图1-1 Visual C++窗口
(3)新建文件。执行“文件”→“新建”命令,选择“文件”选项卡(见图1-2),在“文件名”文本框中输入pro_test.c,在“位置”下拉列表框中选择已经建立好的文件夹,比如:C:\C_PRO;然后选择C++ Source File选项,单击“确定”按钮,在C:\C_PRO下新建文件,显示编辑窗口和信息窗口(见图1-3)。

图1-2 新建文件

图1-3 编辑源程序
(4)编辑和保存。在编辑窗口中输入源程序,然后执行“文件”→“保存”命令,保存源程序。
(5)编译。执行“组建”→“编译pro_test.c”命令(见图1-4),在弹出的信息窗口(见图1-5)中单击“是”,开始在信息窗口中显示编译信息(见图1-6)。

图1-4 编译源程序

图1-5 产生一个工作区

图1-6 编译正确
(6)连接。执行“组建”→“组建”命令,开始连接,并在信息窗口中显示连接信息,如图1-7所示。

图1-7 连接成功并产生运行文件
(7)运行。执行“组建”→“执行pro_test.exe”命令(见图1-8),自动弹出运行窗口(见图1-9),显示运行结果。

图1-8 运行程序

图1-9 运行窗口
(8)关闭程序工作区。执行“文件”→“关闭工作空间”命令(见图1-10),在弹出的信息框(见图1-11)中单击“是”,关闭工作区。

图1-10 关闭程序工作区

图1-11 关闭所有文档窗口
2.验证实验
改正下列程序中的错误。在屏幕上显示“How do you do?”
源程序(有错误的程序):

(1)打开源程序err01_1.c文件。
(2)编译。执行“组建”→“编译err01_1.c”命令,信息窗口显示____error(s),____warning(s)。
(3)找出错误。在信息窗口中双击第一条出错信息,编辑窗口就会出现一个箭头指向程序出错的位置(见图1-12),一般在箭头的当前行或者上一行,可以找到出错语句,并在状态栏显示当前错误信息。图1-12中箭头指向第4行,状态栏显示“'How' : undeclared identifier”,出错信息指出“How”是一个未定义的变量,但是“How”并不是变量,出错的原因是“How”前少了前双引号。

图1-12 编译产生的错误信息
(4)改正错误。在“How”前加上前双引号。
(5)重新编译。信息窗口显示____条本次编译的错误信息。双击第一条出错信息(见图1-13),箭头指向出错位置,出错信息指出在“return”前少了分号,改正错误。

图1-13 重新编译后产生的错误信息
(6)再次编译。信息窗口中显示编译正确。
(7)连接。执行“组建”→“组建err01_1.c”命令,信息窗口显示连接错误信息(见图1-14)。仔细观察,引起错误的原因是____。

图1-14 连接产生的错误信息
(8)改正错误后,重新编译和连接,信息窗口中没有出现错误信息。
(9)运行,执行“组建”→“执行err01_1.c”命令,自动弹出运行窗口(见图1-15),显示运行结果,与题目要求的结果一致,按任意键返回。

图1-15 程序运行窗口
3.陷阱实验
改正下列程序中的错误,在屏幕上显示以下3行信息(源程序err01_2.c)。

源程序(有错误的程序):

(1)编译后信息窗口显示____error(s),____warning(s),分别记下错误信息及其中文含义。
错误信息1:________,中文含义________。
错误信息2:________,中文含义________。
错误信息3:________,中文含义________。
错误信息4:________,中文含义________。
(2)双击第一个错误信息,这时候编辑窗口箭头指向行号为____的语句,错误的原因是____,正确语句为:____;重新编译,再次双击第一个错误信息,此时编辑窗口箭头指向行号为____的语句,错误的原因是____,正确语句为:____。
(3)再次编译后无错误信息,进行连接,信息窗口显示____error(s),____warning(s),错误原因是____,改正后运行____(正确/错误)。
4.提高实验
(1)在屏幕上显示一个短句“what is a computer?”(2)在屏幕上显示下列图形。
*
***
*****
*******