熟悉c程序开发环境

上传人:xiao****1972 文档编号:83885866 上传时间:2019-03-01 格式:DOC 页数:10 大小:204.93KB
返回 下载 相关 举报
熟悉c程序开发环境_第1页
第1页 / 共10页
熟悉c程序开发环境_第2页
第2页 / 共10页
熟悉c程序开发环境_第3页
第3页 / 共10页
熟悉c程序开发环境_第4页
第4页 / 共10页
熟悉c程序开发环境_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《熟悉c程序开发环境》由会员分享,可在线阅读,更多相关《熟悉c程序开发环境(10页珍藏版)》请在金锄头文库上搜索。

1、实验一 熟悉C程序开发环境实验目的(1)掌握在VC6的集成开发环境编辑、编译、运行程序的主要操作。(2)学习通过查看VC6的错误信息提示定位错误。实验范例1.创建第一个C程序(1)创建步骤如下:(1) 在打开的VC6开发环境中,单击菜单“文件”-“新建”,弹出“新建”对话框,选择“文件”选项单,在文件类型列表中选择“C+ Source File”;文本框“文件名”中输入新建文件的名称,此处为“hello”。VC6会自动添加后缀名“cpp”,如果想使用“C”为后缀名,直接输入“hello.c”;文本框“位置”可输入或单击其后的按钮在“选择目录”指定新建文件存放的位置,此处为“D:C教材SAMPL

2、E”。 图1-9新建文件操作(2) 按“确定”后进入编辑界面,在编辑区编辑第一个C程序hello.cpp,程序内容如图1-10所示图1-10 编辑C程序(3) 保存编辑好的C源程序,可以直接按工具栏上的“保存”按钮,也可以执行菜单命令“文件”-“保存”。(2)编译菜单命令“组建”-“编译”将执行编译操作,检查语法错误,生成obj文件 ,在工具栏上 (compile)按钮与之对应。菜单命令“组建”-“组建”或“全部重建”将执行编译连接,生成exe文件 ,在工具栏上 (build)按钮与之对应。程序员可以根据实际情况选择。如果程序刚编写好,可能的错误较多,可执行“编译”命令,检查修改语法错误;如果

3、已有把握没有语法错误,可执行“组建”命令,准备执行程序。第一次编译程序是,系统会弹出如图1-11所示的对话框,询问是否要建立以一个默认的工作空间,这时必须单击“是”命令,因为组建时需要一个活动的工作空间。图1-11 建立默认工作空间的对话框在输出窗口中会给出是否成功的信息,如出现“hello.exe - 0 error(s), 0 warning(s)”说明hello.exe可执行程序已经正确生成成功,可进行下一步操作;否则在输出窗口中显示出错信息,需要改正错误后重新组建。(3)执行编译完成可以执行菜单命令“组建”-“执行”,或是单击工具栏上的按钮执行程序。VC6会在控制台窗口中显示执行的结果

4、,如图1-12所示。图1-12 在控制台窗口中显示结果(4)关闭工作空间当一个程序完成,要开始编写另一个程序时,一定要关闭活动工作空间,执行菜单命令“文件”“关闭工作空间”。否则新创建或打开的其它文件将不能正常的编译,因为活动工作记录的文件始终是创建活动空间时关联的那个文件。2.解读第一个C程序(1)生成的文件解读打开保存C源程序的文件夹,可以发现除源文件之外,还生成了如表1-2所示的文件和一个Debug文件夹。表1 生成C程序VC6产生的文件类型后缀名解释cpp源程序文件dsw项目工作区dsp项目文件ncb无编译浏览文件plg编译信息文件opt关于开发环境的参数文件,如工具条位置等信息除CP

5、P文件之外,其它文件都是由开发环境在“组建”时自动产生,所以保存C程序只需要保存CPP文件。Debug文件夹中存放着生成的obj文件,exe文件及其它一些中间文件。(2)程序语法解读Hello程序是常见的入门程序,它的功能从执行结果可以看出,是输出一行字符串“Hello C World!”。#includevoid main(void) printf (Hello C Worldn);对此程序简单解读如下:(1)C程序必须由一个main函数构成,系统自动执行main函数。(2)程序的执行从main函数开始,顺序执行每一条语句,到main函数右括号结束(3)printf是标准输出函数,输出的字符

6、串在一对西文双引号之间,例如Hello C Worldn。(4)C语句以分号结束。(5)控制台输出时,系统会紧跟着自动输出“press any key to continue”,等待按任意键关闭控制台窗口。(6)n是一个转义字符,转义字符是一些键盘不能输入的控制字符,此处表示“换行”(7)#include是一个预编译命令,表示要加入stdio.h文件(标准输入输出函数头文件),要在程序中使用printf函数必须使用该命令。(3)思考:如果要输出两行问候语句Hello C World!Hello C World!下面几组语句哪些是正确的,哪些是错误的(A)printf (Hello C Worl

7、d);printf (Hello C World);(B)printf (Hello C Worldn);printf (Hello C World);(C)printf (Hello C Worldn Hello C World);3.认识程序错误程序错误区分为语法错误和逻辑错误,语法错误包括编译错误和连接错误,逻辑错误又包含运行错误。(1)语法错误编译错误,是指不符合高级语言定义的语法书写规则,编译或解释程序能自动检查出语法错误,只需根据错误提示进行修改。例如,双引号是每个字符串的标志,字符串前后没有加双引号或双引号不完整就是语法错误。首先打开实验文件error1-1.cpp,可以在VC6

8、中直接执行打开文件,也可以直接在文件夹中双击该文件打开,如果机器中安装了多个VC版本,可在右键单击该文件,选择VC6打开该文件。要注意的是:在VC6集成环境中直接执行打开文件时,确保其它工作区已关闭。编译该程序文件啊。发生语法错误的程序,编译通不过,编译器会在输出窗口中给出错误信息如下图1-13所示。 图1-13 编译错误示例向上拖动输出窗口的滚动条可以看到编译错误,C语言的错误信息的形式: 文件名 行号错误编号 错误信息 D:C教材samplehello.cpp(4) : error C2001: newline in constant 双击输出窗口中的错误信息可自动定位到相应错误行,要注意

9、的是(1)错误信息往往只能起提示作用,不是特别精确反映错误产生的原因,更不会告诉你如何修改。例如上图所示,产生错误的原因是缺少右双引号,但出现的三条提示都没有提及双引号。根据提示能快速反应错误产生的原因需要经验的积累。(2)一条语句错误可能会产生若干条错误信息,只要修改了这条错误,其他错误会随之消失。特别提示:一般情况下,第一条错误信息最能反映错误的位置和类型,所以调试程序时务必根据第一条错误信息进行修改,修改后,立即重新编译程序,如果还有很多错误,再一个一个地修改,即,每修改一处错误要重新编译一次程序。(2)连接错误连接错误,是编译成功后,连接器连接外部程序的时候产生的错误。例如,打开程序文

10、件error1-2.cpp, 当main函数名写错了,连接器不认识该字符串,连接器在输出窗口中给出错误信息如下图1-14所示,提示的错误是找不到外部字符“mian”图1-14 连接错误示例连接错误不提示出错行数,但小程序的定位也比较简单,一般是函数和外部变量的名称出错,只需根据错误提示的字符串去寻找可能出现的位置 。(3)逻辑错误逻辑错误则是程序设计上或逻辑上的错误,指程序已生成可执行文件,但运行出错或不能得到正确的结果,这可能是由于算法中问题说明不足,解法不完整或不正确所造成的。逻辑错误的测试需要事先准备好测试数据,测试数据是指一组输入及对应的正确输出。测试数据的设计直接关系到能不能测试出程

11、序可能包含的错误。例如打开文件error1-3.cpp以下程序会产生一个逻辑错误。程序的功能是如果输入一个整数1,则输出“true”,输入其它整数则输出“false”。#includevoid main(void) int x; scanf(%d,&x);if(x=1) printf(true);else printf(false);这个程序的测试用例可设计如下:测试用例一:输入:1输出:true测试用例二:输入:0输出:false测试用例三:输入:10输出:false但在测试过程中,只有测试用例一的执行是正确的,其它二个测试用例的执行是错误的。说明该程序出现逻辑错误。该程序的逻辑错误在于“x

12、=1”写成了“x=1”,修改后三个测试用例均能正确。程序运行时输入测试数据,如果程序没有产生预先设计的正确结果,程序员必须查找程序的错误,修改错误,再重新测试程序。逻辑错误出错位置需要程序员对程序代码进行分析,一般会借助一些调试手段,如单步执行,设断点,watch窗口观测等等,以后陆续介绍。(4)运行错误运行错误是指程序经编译连接生成可执行文件后,在运行的过程中系统报错,没有运行结果。常见的运行错误有:除数为0;死循环;浮点指针出错等等。运行错误往往是逻辑错误引起的。逻辑错误除了运行错误还包括的情况是能得到运行结果,但那运行结果不正确,必须用测试用例来判断程序的正确性。 例如,当下面程序文件e

13、rror1-4.cpp运行时执行以下测试用例会产生运行错误 。#includevoid main(void) int x,y,z;printf(请输入x:); scanf(%d ,&x );printf(请输入y:); scanf(%d,&y);z=x/y;printf(z=%d,z);测试用例:x=8,y=0; z无效程序的错误在于对y的值没有检查,一旦y的输入值为0,就会引起异常。可修改如下#includevoid main(void) int x,y,z;printf(请输入x:); scanf(%d ,&x );printf(请输入y:); scanf(%d,&y);if(y=0) z=0;elsez=x/y;printf(z=%d,z);实验内容任务一:改错1.打开程序文件error1-5.cppint mian(void) printf(*n); printf( Welcomen) printf(*n); return 0;2.程序的功能是输出三行文本,请根据VC6的compile和link错误信息改正错误,并作记录任务二:编写程序,输出下面图案:ex01_01.cpp 注意:输出的“空格”,“ 换行”的方法。源程序清单:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号