C语言上机操作指导
程序设计是实践性很强的过程,任何程序最终都必须在计算机上运行,以检验程序的正确与否。因此在学习程序设计中,一定要重视上机实践环节,通过上机可以加深理解C语言的有关概念,以巩固理论知识,另一方面也可以培养程序调试的能力与技巧。
1.C语言程序的上机步骤
按照C语言语法规则而编写的C程序称为源程序。源程序由字母、数字及其它符号等构成,在计算机内部用相应的ASCII码表示,并保存在扩展名为“.C”的文件中。源程序是无法直接被计算机运行的,因为计算机的CPU只能执行二进制的机器指令。这就需要把ASCII 码的源程序先翻译成机器指令,然后计算机的CPU才能运行翻译好的程序。
源程序翻译过程由两个步骤实现:编译与连接。首先对源程序进行编译处理,即把每一条语句用若干条机器指令来实现,以生成由机器指令组成的目标程序。但目标程序还不能马上交计算机直接运行,因为在源程序中,输入、输出以及常用函数运算并不是用户自己编写的,而直接调用系统函数库中的库函数。因此,必须把“库函数”的处理过程连接到经编译生成的目标程序中,生成可执行程序,并经机器指令的地址重定位,便可由计算机运行,最终得到结果。
C语言程序的调试、运行步骤可以用图A-1表示:
图A-1C语言程序的调试、运行步骤
图A-1中,虚线表示当某一步骤出现错误时的修改路线。运行时,无论是出现编译错误、连接错误,还是运行结果不对(源程序中有语法错误或逻辑错误),都需要修改源程序,并对它重新编译、连接和运行,直至将程序调试正确为止。
除了较简单的情况,一般的程序很难一次就能做到完全正确。在上机过程中,根据出错现象出错误并改正称为程序调试。我们要在学习程序设计过程中,逐步培养调试程序的能力,它不可能靠几句话讲清楚,要靠自己在上机中不断摸索总结,它可以说是一种经验积累。程序中的错误大致可分为三类:
程序编译时检查出来的语法错误;
连接时出现的错误;
程序执行过程中的错误。
编译错误通常是编程者违反了C语言的语法规则,如保留字输入错误、大括号不匹配、语句
少分号等等。连接错误一般由未定义或未指明要连接的函数,或者函数调用不匹配等因素引起,对系统函数的调用必须要通过“include”说明。
对于编译连接错误,C语言系统会提供出错信息,包括出错位置(行号)、出错提示信息。编程者可以根据这些信息,出相应错误所在。有时系统提示的一大串错误信息,并不表示真的有这么多错误,往往是因为前面的一两个错误带来的。所以当你纠正了几个错误后,不妨再编译连接一次,然后根据最新的出错信息继续纠正。
有些程序通过了编译连接,并能够在计算机上运行,但得到的结果不正确,这类在程序执行过程中的错误往往最难改正。错误的原因一部分是程序书写错误带来的,例如应该使用变量x的地方写成了变量y,虽然没有语法错误,但意思完全错了;另一部分可能是程序的算法不正确,解题思路不对。还有一些程序有时计算结果正确,有时不正确,这往往是编程时,对各种情况考虑不周所致。解决运行错误的首要步骤就是错误定位,即到出错的位置,才能予以纠正。通常我们先设法确定错误的大致位置,然后通过C语言提供的调试工具出真正的错误。
为了确定错误的大致位置,可以先把程序分成几大块,并在每一块的结束位置,手工计算一个或几个阶段性结果,然后用调试方式运行程序,到每一块结束时,检查程序运行的实际结果与手工计算是否一致,通过这些阶段性结果来确定各块是否正确。对于出错的程序块,可逐条仔细检查各语句,出错误所在。如果出错块程序较长,难以一下子出错误,可以进一步把该块细分层更小的块,按照上述步骤进一步检查。在确定了大致出错位置后,如果无法直接看出错误,可以通过单步运行相关位置的几条语句,逐条检查,一定能出错误的语句。
当程序出现计算结果有时正确有时不正确的情况时,其原因一般是算法对各种数据处理情况考虑不全面。解决办法最好多选几组典型的输入数据进行测试,除了普通的数据外,还应包含一些边界数据和不正确的数据。比如确定正常的输入数据范围后,分别以最小值、最大值、比最小值小的值和比最大值大的值,多方面运行检查自己的程序。
下面我们以VC++6.0为上机平台,对C程序编译、连接和调试作简单介绍。建议一开始学习上机时,把注意力放在程序的编译、连接和运行,已能运行为目标,而把调试部分放到学习了第5章后再看,只有具有一定的程序语句量,调试才有作用。
2.Visual C语言集成环境
C++语言是在C语言的基础上发展而来,它增加了面向对象的编程,成为当今最流行的一种程序设计语
言。Visual C++是微软公司开发的,面向Windows编程的C++语言工具。它不仅支持C++语言的编程,也兼容C语言的编程。由于VC++被广泛地用于各种编程,使用面很广。这里简要地介绍如何在VC++下运行C语言程序。
2.1启动VC++
VC++是一个庞大的语言集成工具,经安装后将占用几百兆磁盘空间。从“开始”—“程序”—“Microsoft Visual Studio6.0”—“Microsoft Visual C++6.0”,可启动VC++,屏幕上将显示图A-8所示的窗口。
2.2新建/打开C程序文件
选择“文件”菜单的“新建”菜单项,单击如图A-9所示的“文件”标签,
选中“C++Source File”或“TextFile”,在右边的“File”文件命名文本框中输入要建立的程序文件名,后缀为.C(如myfile.c),在右边的“Location”文件位置文本框中输入该文件所在路径,按“确定”。然后在编辑窗口中输入程序。
如果没有指定要建立程序文件的后缀,当输入结束后,保存文件时,应指定扩展名“.C”,否则系统将按C++扩展名“.CPP”保存(选中“C++Source File”)或按文本文件扩展名“.TXT”保存(选中“TextFile”)。
图A-8VC++窗口
图A-9新建文件
如果程序已经输入过,可选择“文件”菜单的“打开”菜单项,并在查范围中到正确的文件夹,调入指定的程序文件。
2.3程序保存
在打开的VC++界面上,可直接在编辑窗口输入程序,由于完全是Windows界面,输入及修改可借助鼠标和菜单进行,十分方便。当输入结束后,保存文件时,应指定扩展名“.C”,否则系统将按C++扩展名“.CPP”保存。如图A-10所示。
c语言中文网汇编语言
图A-10指定保存文件名
2.4执行程序
首先要生成可执行文件。使用VC++“编译”菜单中的“构件”菜单项,如图A-11所示,
也可使用快捷键【F7】。在编译连接过程中VC++将保存该新输入的程序,并生成一个同
名的工作区。保存文件时须填入文件名,如“4-1.C”。假如不指定扩展名.C,VC++会把扩展名定义为.CPP,即C++程序。如果程序没有错误,将在图A-12信息窗口中显示内容:
0error(s)0warning(s)
图A-12编译连接正确
表示没有任何错误。有时出现几个警告性信息(warning),不影响程序执行。假如有致命性错误(error),如图A-13所示,双击某行出错信息,程序窗口中会指示对应出错位置,根据信息窗口的提示分别予以纠正。然后用“编译”菜单中的“执行”菜单项(或快捷键【Ctrl】+【F5】)执行程序。
编译连接生成可执行程序
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论