C语言基础教程六Turbo C 程序设计初步.docx
- 文档编号:23603056
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:15
- 大小:26.31KB
C语言基础教程六Turbo C 程序设计初步.docx
《C语言基础教程六Turbo C 程序设计初步.docx》由会员分享,可在线阅读,更多相关《C语言基础教程六Turbo C 程序设计初步.docx(15页珍藏版)》请在冰豆网上搜索。
C语言基础教程六TurboC程序设计初步
本节主要介绍TurboC程序设计的基本步骤及如何编译、调试和运行源程序。
并给出TurboC的常用编辑命令。
最后介绍TurboC编译、连接和运行时的常见错
误。
一、TurboC程序设计基本步骤
程序设计方法包括三个基本步骤:
第一步:
分析问题。
第二步:
画出程序的基本轮廓。
第三步:
实现该程序。
3a.编写程序
3b.测试和调试程序
3c.提供数据打印结果
下面,我们来说明每一步的具体细节。
第一步:
分析问题
在这一步,你必须:
a.作为解决问题的一种方法,确定要产生的数据(输出)。
作为这一子步的
一部分,你应定义表示输出的变量。
b.确定需产生输出的数据(称为输入),作为这一子步的一部分, 你应定义
表示输入的变量。
c.研制一种算法,从有限步的输入中获取输出。
这种算法定义为结构化的
顺序操作,以便在有限步内解决问题。
就数字问题而言,这种算法包括获取输出
的计算,但对非数字问题来说,这种算法包括许多文本和图象处理操作。
第二步:
画出程序的基本轮廓
在这一步,你要用一些句子(伪代码)来画出程序的基本轮廓。
每个句子对应
一个简单的程序操作。
对一个简单的程序来说, 通过列出程序顺序执行的动作,
便可直接产生伪代码。
然而,对复杂一些的程序来说,则需要将大致过程有条理
地进行组织。
对此,应使用自上而下的设计方法。
当使用自上而下的设计方法时,你要把程序分割成几段来完成。
列出每段要
实现的任务,程序的轮廓也就有了,这称之为主模块。
当一项任务列在主模块时,
仅用其名加以标识,并未指出该任务将如何完成。
这方面的内容留给程序设计的
下一阶段来讨论。
将程序分为几项任务只是对程序的初步设计。
整个程序设计归
结为下图所示的流程图1.。
┏━━━━━━━━━━━━━━━┓
┃ 主模块 ┃
┏━━━━━━━┓ ┃输入数据 ┃
┃ 主模块 ┃ ┃计算购房所需的金额 ┃
┃ ┃ ┃计算装修所需的金额 ┃
┃任务1 ┃ ┃计算总金额 ┃
┃任务2 ┃ ┃输出计算结果 ┃
┃任务3 ┃ ┃ ┃
┃任务4 ┃ ┗━━━━━━━┳━━━━━━━┛
┃ ┃ ┏━━━━━┳━━━━━╋━━━━┳━━━━━┓
┃ ┃┏━━┻━┓┏━━┻━┓┏━━┻━┓┏━┻━┓┏━━┻━┓
┗━━━━━━━┛┃输入数据┃┃购房额..┃┃装修额..┃┃总额..┃┃输出结果┃
┗━━━━┛┗━━━━┛┗━━━━┛┗━━━┛┗━━━━┛
图1.程序初步设计 图2.第二级程序设计
如果把主模块的每项任务扩展成一个模块,并根据子任务进行定义的话,那
么,程序设计就更为详细了(见图2.)。
这些模块称为主模块的子模块。
程序中许
多子模块之间的关系可象图2.中那样归结为一张图。
这种图称为结构图。
要画出模块的轮廓,你可不考虑细节。
如果这样的话,你必须使用子模块,
将各个模块求精,达到第三级设计。
继续这一过程,直至说明程序的全部细节。
这一级一级的设计过程称为逐步求精法。
在编写程序之前,对你的程序进行逐步
求精,对你来说,是很好的程序设计实践,会使你养成良好的设计习惯。
我们则才描述了程序设计中自上而下的设计方法。
实际上就是说,我们设计
程序是从程序的"顶部"开始一直考虑到程序的"底部"。
第三步:
实现该程序
程序设计的最后一步是编写源码程序。
在这一步, 把模块的伪代码翻译成
TurboC语句。
对于源程序,你应包含注释方式的文件编制,以描述程序各个部分做何种工
作。
此外,源程序还应包含调试程序段,以测试程序的运行情况,并允许查找编
程错误。
一旦程序运行情况良好,可去掉调试程序段,然而, 文件编制应做为源
程序的固定部分保留下来,便于你或其他人维护和修改。
二、源程序的输入、编译和运行
C语言是一种中级语言,用户用C语言编写的程序称为源程序,存放用C语言
所写源程序文件名字最后的两个字符一般必须为".c"。
计算机硬件不能直接执行
源程序,必须将源程序翻译成二进制目标程序。
翻译工作是由一个程序完成的,
这个程序称为编译程序,翻译的过程称为编译,编译的结果称为目标程序,存放
目标程序文件名字紧后的字符一般为".OBJ"或".O"。
程序翻译成目标程序后,便
可进行连接。
"连接"的目的是使程序变成在计算机上可以执行的最终形式。
在这
一阶段,从系统程序库来的程序要与目标程序连接,连接的结果称为执行程序,
存放执行程序文件名字一般以".EXE"结尾。
在TurboC集成开发环境中建立一个新程序通常有以下几个步骤:
(1).在编辑器中编写源文件。
(2).生成可执行文件。
在DOS提示符下键入TC,即可进入TurboC了。
进入主TC屏后,按F3键,即可
在随之出现的框中输入文件名,文件名可以带".C"也可以不带(此时系统会自动
加上)。
输入文件名后,按回车,即可将文件调入,如果文件不存在, 就建立一
个新文件(也可用下面例子中的方法输入文件名)。
系统随之进入编辑状态。
就可
以输入或修改源程序了,源程序输入或修改完毕以后,按Ctrl+F9(同时按下Ctrl
键和F9键),则立即进行编译、连接和执行,这三项工作是连续完成的。
下面我们试着建立一个TurboC名为"HELLO.C"的源程序(因程序很小,这里就
不画出该程序的轮廓图了):
1.操作步骤:
(1).将系统置于DOS提示符下:
(2).键入命令:
tchello.c
使系统进入TurboC集成开发环境,并建立一个名为HELLO.C的文件。
这时,系统
进入TurboC编辑环境。
(3).通过键盘输入程序,例如:
main()
{
printf("Hello,world\n");
}
则程序进入计算机存贮器。
2.程序存盘
为防止意外事故丢失程序,最好将输入的程序存贮到磁盘中。
在编辑窗口下,
可直接按F2键或按F10键,再按F键进入File菜单项,再按S或W键将文件存盘。
存
盘时屏幕最底行会显示:
"savingeditfile"
3.编译一个程序
对源程序进行编译有两种方法:
(1).直接按Alt+F9即可。
(2).按F10键返
回主菜单,选择Compile项, 屏幕显示Compile下拉菜单, 从下拉菜单中选择
Compileto.OBJ项,按回车键。
进入编译状态后,屏幕会出现一个编译窗口,几秒钟后,屏幕显示一闪烁信
息:
Success:
pressanykey
表示编译成功。
此时可按任意键,编译窗口消失,光标返回主菜单。
如果编译时产生警告Warning或出错Error信息,这些具体错误信息会显示在
屏幕下部的信息窗中,必须纠正这些错误。
对源程序进行修改,重新进行编译。
4.运行程序
源程序经编译无误后,可以投入运行。
具体操作如下:
(1).如果当前还在编辑状态,可按Alt+R,再选择RUN项即可。
(2).按Ctrl+F9。
程序投入运行时,屏幕会出现一个连接窗口,显示TurboC正在连接和程序
所需的库函数。
连接完毕后,会出现屏幕突然一闪,后又回到TC主屏幕,发生了
什么?
让我们按Alt+F5看看,此时屏幕被清除,在顶部显示"Hello,world"字样。
再按任意键,即可又回到TC主屏幕。
5.列磁盘文件目录
现在请按Alt+X退出TurboC,返回DOS提示符,键入dirhello.*,回车,则
屏幕显示:
HELLO C 42 1-09-93 10:
18
HELLO OBJ 221 1-09-93 10:
22
HELLO EXE 4486 1-09-93 10:
25
...
第一个文件HELLO.C是源文件文本,在DOS提示符下键入TYPEHELLO.C命令,
可在屏幕上显示该文件的内容。
可看到该程序只有42个字节。
第二个文件HELLO.OBJ是TurboC编择程序产生的二进制机器指令(目标码),
如果用DOS命令TYPE显示该文件,屏幕可能会出现混乱的信息。
第三个文件HELLO.EXE是TurboC连接程序产生的实际可执行文件。
在DOS提
示符下键入HELLO并按回车,屏幕将显示"Hello,world"。
TurboC常用的编辑命令
TurboC编辑程序大约有50条命令,用以移动光标,按页查看正文, 查找并
替换字符串等。
如下表所示。
表1.TurboC编辑程序命令
━━━┳━━━━━━━━━┳━━━━━━━━━━━━━
类别┃ 功能 ┃ 默认键
━━━╋━━━━━━━━━╋━━━━━━━━━━━━━
┃ 字符左 ┃ Ctrl+S或Left
基 ┃ 字符右 ┃ Ctrl+D或Right
本 ┃ 字左 ┃ Ctrl+A
光 ┃ 字右 ┃ Ctrl+F
标 ┃ 上行 ┃ Ctrl+E或Up
移 ┃ 下行 ┃ Ctrl+X或Down
动 ┃ 上滚 ┃ Ctrl+W
命 ┃ 下滚 ┃ Ctrl+Z
令 ┃ 上一页 ┃ Ctrl+R或PgUp
┃ 下一页 ┃ Ctrl+C或PgDn
━━━╋━━━━━━━━━╋━━━━━━━━━━━━━
快 ┃ 行头 ┃ Ctrl+QS或Home
速 ┃ 行尾 ┃ Ctrl+QD或End
光 ┃ 窗口头 ┃ Ctrl+QE
标 ┃ 窗口底 ┃ Ctrl+QX
移 ┃ 文件头 ┃ Ctrl+QR
动 ┃ 文件尾 ┃ Ctrl+QC
命 ┃ 块头 ┃ Ctrl+QB
令 ┃ 块尾 ┃ Ctrl+QK
┃ 上次光标位置 ┃ Ctrl+QP
━━━╋━━━━━━━━━╋━━━━━━━━━━━━━
输 ┃ 插入模式 ┃ Ctrl+V或Ins
入 ┃ 插入行 ┃ Ctrl+N
与 ┃ 删除行 ┃ Ctrl+Y
删 ┃ 删除至行尾 ┃ Ctrl+QY
除 ┃ 删除光标左边字符┃ Ctrl+H或Backspace
命 ┃ 删除光标处字符 ┃ Ctrl+G或Del
令 ┃ 删除光标右边字符┃ Ctrl+T
━━━╋━━━━━━━━━╋━━━━━━━━━━━━━
┃ 标记块首 ┃ Ctrl+KB
┃ 标记块尾 ┃ Ctrl+KK
┃ 标记单个字 ┃ Ctrl+KT
块 ┃ 复制块 ┃ Ctrl+KC
命 ┃ 删除块 ┃ Ctrl+KY
令 ┃ 块取消 ┃ Ctrl+KH
┃ 块移动 ┃ Ctrl+KV
┃ 读块 ┃ Ctrl+KR
┃ 写块 ┃ Ctrl+KW
━━━╋━━━━━━━━━╋━━━━━━━━━━━━━
┃ 异常结束操作 ┃ Ctrl+U或Ctrl+Break
┃ 制表 ┃ Ctrl+L或Tab
其 ┃ 自动缩进 ┃ Ctrl+OI
┃ 定界符配对 ┃ Ctrl+Q[或Ctrl+Q]
它 ┃ 查找 ┃ Ctrl+QF
┃ 查找并替换 ┃ Ctrl+QA
┃ 查找标记 ┃ Ctrl+QN
┃ 退出编辑 ┃ Ctrl+KQ
━━━┻━━━━━━━━━┻━━━━━━━━━━━━━
TurboC程序的调试
一个程序设计好了以后,通常会有一些错误,查找和修改程序中的错误是令
人头痛的事。
TurboC集成开发环境提供了一调试装置, 使得这一个工作容易了
许多,程序调试达到了编译和运行级。
一、TC消息窗口
使用TC最好的理由之一是它允许用户修改语法错误(编译时)和评估编译器给
出的警告。
TC将编译器和连接器发出的消息收集到一缓冲区中,然后在消息窗口
中显示,这样在访问源代码的同时,还能一下看到这些消息。
现将上面的HELLO.C制造一点语法错误,将第一行包含语句的#去掉,再去掉
第五行printf语句中的后引号。
现在程序看上去是这样的:
include
main()
{
printf("Hello,world\n);
}
按CTRL+F9重新编译之。
编译窗口将显示有多少错误和警告:
应为两个错误,0个
警告。
当看见编译窗口中的Pressanykey提示时,按空格键,消息窗口立刻被激活,
亮条出现在第一个错误或警告上,这时编辑窗口中也会有一亮条---它标志着编
译器给出的错误或警告在源代码中的相应位置。
这时可用光标键将消息窗口中的亮条上下移动,注意到编辑窗口中的亮条也
随着跟踪源代码中错误发生的位置。
如果将亮条置于"compile"上, 则编辑器显
示文件的最后位置。
如果消息窗口太长看不见,可用左、右光标水平滚动消息,为了一次能够多
看点信息,可按F5放大消息窗口。
放大后,编辑窗口不可见了,因此不进行错误
跟踪。
现在,保持分屏模式。
为了改正错误,将消息窗口中的亮条置于第一个错误消息上,回车,光标移
到编辑窗口中错误产生处,注意,编辑器状态给出所选消息(这在放大模式下是
有用的)改正之。
(将第一行拿走的#重新写上)。
当不只一个错误时,可用两种方法来修改下一错误。
第一种方法和前面一样,按F6回到消息窗口选择想修改的下一条消息。
第二种方法不用回到消息窗口,只要按Alt+F8,编译器就会将光标移至消息
窗口中列的下一个错误。
按Alt+F7可移至前一个错误。
这两种方法各有长短,视情况而定。
有时源代码中一个愚蠢的错误把编译弄
糊涂了,产生好多消息,这时选择修改第一条消息就使得其余的一些错误消息没
有什么意义了,这种情况发生时,使用方法一会方便些,一修改完第一个错误之
后回到消息窗口,再滚动到下一个有意义的消息上,选择之。
在别的情况下,按
Alt+F8会方便得多。
记住,Alt+F7和Alt+F8是热键,TC中无论何时均起作用。
因此在消息窗口中
按Alt+F8得到的不是当前亮行消息,而是下一个消息(按Enter选择当前消息)。
但如果没别的编译消息,Alt+F8就不起作用了。
注:
可以如此法选择连接消息,但它们不跟踪源文件。
在修改语法错误的过
程当中,经常需要增加、删除正文,编辑器是记住的,依然能正确定位错误位置。
没有必要记住行号和增加、删除的正文行。
二、TurboC集成调试器
一旦修改好语法错误之后程序编译就没什么问题了,但还是可能不按要求运
行,因为可能有逻辑错误(运行错误)。
这种错误跟踪就无助于发现错误位置了。
TC有一个集成调试器可以跟踪运行错误。
通过调试器可以运行, 在断点处暂停,
检查变量的值,甚至可以改变之,以看程序会有什么反应。
TurboC集成调试器是源程序级的调试器,即用同你编写程序一样的"语言"
来控制调试器。
例如,为了显示数组中的一个元素的值,可告诉调试器显示这样
的表达式的值:
Ctrl+F4 Debug/Eavluate 计算表达式,允许修改变量的值。
Debug/FindFunction 查找函数定义,显示在编辑窗口中。
仅
在调试时才有效。
Ctrl+F3 Debug/CallStack 显示调用栈, 可显示任何函数的当前执
行位置,其方法是在调用栈中选择相应的
函数名。
仅在调试时有效。
Debug/SourceDebugging 控制是否允许调试:
置为On时, 集成调
试器和单独调试器均可用; 置为
Standalone时,只能用单独调试器
调试,虽然还能在TC中运行;置为
None时,在.EXE文件不置调试信息,
两种调试均不能调试。
Ctrl+F4 Break/Watch/AddWatch 增加一监视表达式。
Break/Watch/DeleteWatch 删除一监视表达式。
Break/Watch/Edit 编辑一监视表达式。
Break/Watch/RemoveAll 删除所有监视表达式。
Watches
Ctrl+F8 Break/Watch/Toggle 设置或清除光标所在行的断点。
Breakpoint
Break/Watch/Clear 删除程序中所有断点。
Breakpoint
Break/Watch/Next 显示下一断点
Breakpoint
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
表3.调试器菜单命令及其热键
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
热键 菜单命令 功能
───────────────────────────────────
F5 在整屏和分屏之间放大缩小活动窗口。
Alt+F5 将显示转到用户屏,击任意键返回。
F6 在编辑窗口与监视窗口或消息窗口间
切换。
Alt+F6 若编辑窗口是活动的, 转到最近一次
装入编辑器的文件; 若下面窗口是活
动的,则在监视窗口和消息窗口间切换。
Ctrl+F9 Run/Run 调试运行或不调试运行程序, 必要时
编译、连接源文件,若编译、连接时
Debug/Source
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言基础教程六Turbo 程序设计初步 语言 基础教程 Turbo 程序设计 初步