您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > 程序设计是实践性很强的过程
程序设计是实践性很强的过程,任何程序最终都必须在计算机上运行,以检验程序的正确与否。因此在学习程序设计中,一定要重视上机实践环节,通过上机可以加深理解C语言的有关概念,以巩固理论知识,另一方面也可以培养程序调试的能力与技巧。一.C语言程序的上机步骤按照C语言语法规则而编写的C程序称为源程序。源程序由字母、数字及其它符号等构成,在计算机内部用相应的ASCII码表示,并保存在扩展名为“.C”的文件中。源程序是无法直接被计算机运行的,因为计算机的CPU只能执行二进制的机器指令。这就需要把ASCII码的源程序先翻译成机器指令,然后计算机的CPU才能运行翻译好的程序。源程序翻译过程由两个步骤实现:编译与连接。首先对源程序进行编译处理,即把每一条语句用若干条机器指令来实现,以生成由机器指令组成的目标程序。但目标程序还不能马上交计算机直接运行,因为在源程序中,输入、输出以及常用函数运算并不是用户自己编写的,而直接调用系统函数库中的库函数。因此,必须把“库函数”的处理过程连接到经编译生成的目标程序中,生成可执行程序,并经机器指令的地址重定位,便可由计算机运行,最终得到结果。C语言程序的调试、运行步骤可以用图A-1表示:图A-1C语言程序的调试、运行步骤图A-1中,虚线表示当某一步骤出现错误时的修改路线。运行时,无论是出现编译错误、连接错误,还是运行结果不对(源程序中有语法错误或逻辑错误),都需要修改源程序,并对它重新编译、连接和运行,直至将程序调试正确为止。除了较简单的情况,一般的程序很难一次就能做到完全正确。在上机过程中,根据出错现象找出错误并改正称为程序调试。我们要在学习程序设计过程中,逐步培养调试程序目标程序的能力,它不可能靠几句话讲清楚,要靠自己在上机中不断摸索总结,它可以说是一种经验积累。程序中的错误大致可分为三类:²程序编译时检查出来的语法错误;²连接时出现的错误;²程序执行过程中的错误。编译错误通常是编程者违反了C语言的语法规则,如保留字输入错误、大括号不匹配、语句少分号等等。连接错误一般由未定义或未指明要连接的函数,或者函数调用不匹配等因素引起,对系统函数的调用必须要通过“include”说明。对于编译连接错误,C语言系统会提供出错信息,包括出错位置(行号)、出错提示信息。编程者可以根据这些信息,找出相应错误所在。有时系统提示的一大串错误信息,并不表示真的有这么多错误,往往是因为前面的一两个错误带来的。所以当你纠正了几个错误后,不妨再编译连接一次,然后根据最新的出错信息继续纠正。有些程序通过了编译连接,并能够在计算机上运行,但得到的结果不正确,这类在程序执行过程中的错误往往最难改正。错误的原因一部分是程序书写错误带来的,例如应该使用变量x的地方写成了变量y,虽然没有语法错误,但意思完全错了;另一部分可能是程序的算法不正确,解题思路不对。还有一些程序有时计算结果正确,有时不正确,这往往是编程时,对各种情况考虑不周所致。解决运行错误的首要步骤就是错误定位,即找到出错的位置,才能予以纠正。通常我们先设法确定错误的大致位置,然后通过C语言提供的调试工具找出真正的错误。为了确定错误的大致位置,可以先把程序分成几大块,并在每一块的结束位置,手工计算一个或几个阶段性结果,然后用调试方式运行程序,到每一块结束时,检查程序运行的实际结果与手工计算是否一致,通过这些阶段性结果来确定各块是否正确。对于出错的程序块,可逐条仔细检查各语句,找出错误所在。如果出错块程序较长,难以一下子找出错误,可以进一步把该块细分层更小的块,按照上述步骤进一步检查。在确定了大致出错位置后,如果无法直接看出错误,可以通过单步运行相关位置的几条语句,逐条检查,一定能找出错误的语句。当程序出现计算结果有时正确有时不正确的情况时,其原因一般是算法对各种数据处理情况考虑不全面。解决办法最好多选几组典型的输入数据进行测试,除了普通的数据外,还应包含一些边界数据和不正确的数据。比如确定正常的输入数据范围后,分别以最小值、最大值、比最小值小的值和比最大值大的值,多方面运行检查自己的程序。下面我们以TC2.0为上机平台,对C程序编译、连接和调试作简单介绍。建议一开始学习上机时,把注意力放在程序的编译、连接和运行,已能运行为目标,而把调试部分放到学习了第8章后再看,只有具有一定的程序语句量,调试才有作用。二.TurboC语言集成环境TurboC是一个常用的、最基本的C语言工具,一般简称TC。它为C语言开发提供了操作便利的集成环境。源程序的输入、修改、调试及运行都可以在TC集成环境下完成,非常方便有效。TC2.0系统非常小巧,但功能齐全。它主要支持DOS环境,因此在操作中无法使用鼠标,更多的需要通过键盘操纵菜单或快捷键完成。这也成为使用TC的一大遗憾。1.TC启动由于TC支持DOS环境,TC系统的安装十分方便。如果有安装盘,可以按照提示一步步完成安装;如果没有安装盘,可以从其他机器直接拷贝已安装好的系统。由于TC是在DOS环境下工作的,无法象Windows应用程序那样,通过“开始”菜单的程序项运行。首先要找到TC系统的安装(复制)目录,双击其上的tc.exe应用程序,可以启动TC系统,其界面如图A-2所示。图A-2TC界面图A-2中,菜单包含了所有操作的功能;编辑窗口是用于输入、修改程序的区域;信息窗口将显示程序编译、连接和运行过程中的错误信息或有关提示信息;快捷热键提示将给出常用操作的快捷键提示信息,以方便用户的操作。2.运行程序要运行一个C程序,必须经过:输入源程序、修改错误、编译连接和运行几个步骤。(1)编辑在编辑窗口中,直接输入程序。如果要进行修改,可以使用【↑】、【↓】、【←】、【→】四个方向键,移动光标到所需位置,然后删除错误,输入正确的内容。(2)编译、连接和运行同时按下【Ctrl】+【F9】键,将对编辑窗口中的程序,完成编译、连接和运行三个步骤。²如果程序没有错误,将直接运行程序;²如果存在编译错误,信息窗口中将显示错误信息,并终止连接与执行步骤;²如果编译通过,但存在连接错误,信息窗口中将显示错误信息,并终止执行步骤。任何错误都必须纠正后,重新按【Ctrl】+【F9】键运行。如果还有错,继续修改,直到能正确执行为止。即使通过了编译和连接,并不说明程序就没有错误了,解题思路错误或语句的错误使用(语句格式没有错),都会导致无法得到正确的结果,甚至程序无法正确执行。如果程序在执行过程中无法结束(死机),可以按【Ctrl】+【break】强制结束。(【break】位于键盘最右上角——功能键)。(3)输入数据如果程序中有scanf()语句,则屏幕将出现一个黑底的输入窗口,等待输入数据,通常是输入一个数据,打一个空格或回车,然后输入下一个数据。直到输入完所有的数据。如果scanf()语句中格式规定是逗号分隔,则各数据之间要输入逗号。(4)查看结果输入完数据,系统将自动关闭输入窗口,运行程序后,回到编辑窗口。但运行结果并未在屏幕上显示,若要查看运算结果,需要按【Alt】+【F5】才出现输出窗口。看完后,再按任意键将关闭输出窗口。对于没有输入要求的程序,按下【Ctrl】+【F9】运行,屏幕上不会有什么变化,但这并不表示程序未被运行,按【Alt】+【F5】就能看到结果。通过上述步骤,同学们可以快速掌握C语言的上机过程,运行自己的程序。但还只能处理一些简单的问题,如果想更有效地调试运行C程序,下面的内容是必不可少的。(5)运行环境设置第一次上机时,如果一个简单正确的程序却无法运行,需要检查一下运行环境是否设置正确。具体参看下面“TurboC菜单”中介绍的“Option”菜单项。3.TurboC菜单前面介绍的是上机过程中的最基本的一些操作。为了对TC的功能有一个全面的了解,我们将对各主要菜单项分别予以介绍。由于TC环境下不能使用鼠标,对打开菜单栏有两种方法:²按【F10】,然后按【←】或【→】选择相应菜单位置,再按回车键【Enter】。²按【Alt】+【菜单上红色大写字母】当选中一个菜单后,会弹出下拉菜单项,通过【↑】或【↓】选择相应菜单项,再按回车键【Enter】,完成菜单功能操作。按【Esc】可以取消菜单选择(不是撤销菜单功能)。TC中提供了完善的帮助信息,按【F1】屏幕上将弹出帮助窗口。但其中的信息都是英文的。TC的快捷键通常是组合键,如【Ctrl】+【F9】表示要同时按下两个键。对于三键的组合键,其前两个键要同时按下,松手后再按第三个键,如【Ctrl】+【k】+【b】表示先同时按下【Ctrl】键和【k】键,松手后再按【b】键。(1)File菜单(文件操作)●Load(【F3】):调入一个已存在的程序文件(扩展名为c)。【F3】是快捷键。●Pick(【Alt】+【F3】):从最近曾经调入过的文件中选择一个调入。●New:清除编辑窗口中的程序,供输入一个新程序。●Save(【F2】):把编辑窗口中的程序保存到文件中。如果该程序已经保存过,该操作将更新文件内容;如果该程序是新输入的,需要进一步输入文件名称或路径。●Writeto:把当前程序写到另外命名的文件上,相当于Windows文件菜单中的“另存为”功能。●Quit(【Alt】+【x】):退出TC系统。(2)Edit(编辑操作)它没有下拉菜单,按回车键【Enter】直接进入编辑窗口,在编辑过程中,一些常用的编辑功能依靠快捷键实现。●【Ctrl】+【y】:删除光标所在行的整行信息。●【Ctrl】+【k】+【b】:把光标所在位置定义为块信息的头部。●【Ctrl】+【k】+【k】:把光标所在位置定义为块信息的尾部。块头部定义与块尾部定义要按顺序配合起来使用,所定义的块变成白底蓝字。●【Ctrl】+【k】+【h】:取消所定义的块信息。若重新定义新块也会取消原定义块。●【Ctrl】+【k】+【c】:把定义的块信息复制到光标所在位置。●【Ctrl】+【k】+【v】:把定义的块信息移动到光标所在位置。●【Ctrl】+【q】+【f】:查找特定字符,它会在屏幕上部提示输入查找字符,如图A-3所示,当输入了“main”后,屏幕上出现Option信息,要求输入查找方式:²G对整个文件进行查找²回车从光标当前位置向后查找图A-3字符查找●【Ctrl】+【q】+【a】:替换字符串。它在上面查找的过程中,再输入替换字符Replace。●【Ctrl】+【L】:重复上一次查找或替换。●【Ctrl】+【q】+【[】:对光标所处位置的“(、[或{”定位相应的“}、]或)”。这在程序中检查三种括号是否匹配十分有用。在“记事本”中选中一块文本,使用鼠标能很方便地实现。而在TC中由于无法使用鼠标,只能通过键盘进行,我们需要定义文本块的开始位置与结束位置,当选中后,文字变成白底蓝字,然后才能实现文本块的复制和移动,步骤与“记事本”中相似。因此上述5个操作需要配合使用。(3)Compile菜单(编译连接操作)●Compile(【Alt】+【F9】):把编辑窗口中的程序编译成目标文件。●Link:把编辑窗口中的程序连接成可执行文件。●Make(【F9】):把编辑窗口中的程序经编译、连接,生成可执行文件。(4)Run菜单(运行操作)●Run(【Ctrl】+【F9】):执行编辑窗口中的程序。如果该程序最近未编译连接过,将先自动编译连接,然后再执行。(5)Option菜单(建立工作环境)●工作环境目录的设置:如果使用安装盘安装,该工作环境目录会自动设置好。如果是通过系统复制的,则需要对“Option”菜单的“Directories”菜单项进行设置。假设TC所在目录为:“D:\TC”,在打开的目录窗口中应填入:Includedirectories:D:\TC\INCLUDELibrarydirectories:D:\TC\LIB以确保程序连接时能从这两个位置找到系统包含文件和系统库文件。如图A-4所示。图A-4TC工作目录设置●命令行参数输入:在学习了第8章“指针”后,会用到命令行参数。可以执行“Option”菜单的“Arguments”菜单项,输入命令行参数(不包括可执行文件
本文标题:程序设计是实践性很强的过程
链接地址:https://www.777doc.com/doc-2150945 .html