1、 一、Turbo C程序设计基本步骤程序设计方法包括三个基本步骤: 第一步: 分析问题。 第二步: 画出程序的基本轮廓。 第三步: 实现该程序。 3a. 编写程序 3b. 测试和调试程序 3c. 提供数据打印结果 下面, 我们来说明每一步的具体细节。第一步: 分析问题 在这一步, 你必须: a. 作为解决问题的一种方法, 确定要产生的数据(输出)。作为这一子步的 一部分, 你应定义表示输出的变量。 b. 确定需产生输出的数据(称为输入), 作为这一子步的一部分, 你应定义 表示输入的变量。 c. 研制一种算法, 从有限步的输入中获取输出。 这种算法定义为结构化的 顺序操作, 以便在有限步内解决
2、问题。就数字问题而言, 这种算法包括获取输出 的计算, 但对非数字问题来说, 这种算法包括许多文本和图象处理操作。 第二步: 画出程序的基本轮廓 在这一步, 你要用一些句子(伪代码)来画出程序的基本轮廓。每个句子对应 一个简单的程序操作。对一个简单的程序来说, 通过列出程序顺序执 的 作, 便 产生伪代码。 而, 对 一些的程序来说, 需要 过程有 理 。对 , 应 用 而下的设计方法。 用 而下的设计方法 , 你要 程序分 来 。列出每 要 实现的 , 程序的轮廓 就有 , 这称为。 一 列在 , 用currency1以“, fi出该 fl 。这方面的内程序设计的 下一 来 。 程序分为 对
3、程序的步设计。”个程序设计 结为下图示的程图1.。 输入数据 计算需的 计算需的 1 计算 2 输出计算结果 3 4 输入数据输出结果 图1. 程序步设计 图2. 第二程序设计fl果 的每 一个, 据子 定义的 , , 程序设计就 为 细 ( 图2.)。这些称为的子。程序中许 多子 的 象图2.中 结为一 图。这种图称为结构图。 要画出的轮廓, 你 细节。fl果这 的 , 你必须 用子, 个 , 第三设计。 这一过程, 说明程序的部细节。 这一一的设计过程称为步 法。在编写程序, 对你的程序 步 , 对你来说, 的程序设计实 , 你 的设计 。 我们 程序设计中 而下的设计方法。实 就说, 我
4、们设计 程序从程序的“ 部“一 程序的“部“。 第三步: 实现该程序 程序设计的 一步编写 码程序。 在这一步, 的伪代码 Turbo C语句。 对于 程序, 你应包含注释方式的文件编制, 以 程序 个部分做 种工 作。 外, 程序还应包含调试程序 , 以测试程序的运 情况, 允许查找编 程错误。一旦程序运 情况 , 去掉调试程序 , 而, 文件编制应做为 程序的固定部分保下来, 便于你或他人维护和改。 二、 程序的输入、编 和运 C语言一种中语言, 用户用C语言编写的程序称为 程序, 存放用C 语言 写 程序文件currency1字 的两个字符一般必须为“.c“。计算机硬件 能 执 程序,
5、必须 程序 二 制目“程序。 工作由一个程序 的, 这个程序称为编 程序, 的过程称为编 , 编 的结果称为目“程序, 存放 目“程序文件currency1字紧 的字符一般为“.OBJ“或“.O“。程序 目“程序 , 便 连 。“连 “的目的 程序变 在计算机 以执 的终形式。在这 一 , 从 统程序库来的程序要与目“程序连 , 连 的结果称为执 程序, 存放执 程序文件currency1字一般以“.EXE“结尾。 在Turbo C集 发环境中建立一个新程序通常有以下 个步骤: (1). 在编辑器中编写 文件。 (2). 生 执 文件。 在DOS提示符下键入TC, 即 入Turbo C 。 入
6、TC屏 , 按F3键, 即 在随出现的框中输入文件currency1, 文件currency1 以带“.C“ 以 带( 统 )。输入文件currency1 , 按回车, 即 文件调入, fl果文件 存在, 就建立一 个新文件( 用下面例子中的方法输入文件currency1)。 统随 入编辑状态。就 以输入或改 程序 , 程序输入或改 毕以 , 按Ctrl+F9(同 按下Ctrl 键和F9键), 立即 编 、连 和执 , 这三工作连 的。 下面我们试着建立一个Turbo Ccurrency1为“HELLO.C“的 程序(因程序小, 这里就 画出该程序的轮廓图 ): 1. 操作步骤: (1). 统
7、置于DOS提示符下: (2). 键入命令: tc hello.c 统 入Turbo C集 发环境, 建立一个currency1为HELLO.C的文件。这 , 统 入Turbo C编辑环境。 (3). 通过键盘输入程序, 例fl: main() printf(“Hello, worldn“); 程序 入计算机存贮器。 2. 程序存盘 为防止意外事故丢失程序, 输入的程序存贮 磁盘中。在编辑窗口下, 按F2键或按F10键, 再按F键 入File菜单, 再按S或W键 文件存盘。存 盘 屏幕 显示: “saving edit file“ 3. 编 一个程序 对 程序 编 有两种方法: (1). 按Al
8、t+F9即 。(2). 按F10 键返 回菜单, 选择Compile, 屏幕显示Compile 下拉菜单, 从下拉菜单中选择 Compile to .OBJ, 按回车键。 入编 状态 , 屏幕 出现一个编 窗口, 秒钟 , 屏幕显示一闪烁信 息: Success: press any key 表示编 功。 按 意键, 编 窗口消失, 光“返回菜单。 fl果编 产生警告Warning或出错Error信息, 这些具体错误信息 显示在 屏幕下部的信息窗中, 必须纠正这些错误。对 程序 改, 重新 编 。 4. 运 程序 程序经编 无误 , 以投入运 。具体操作fl下: (1). fl果 还在编辑状态
9、, 按Alt+R, 再选择RUN即 。 (2). 按Ctrl+F9。 程序投入运 , 屏幕 出现一个连 窗口, 显示Turbo C 正在连 和程序 需的库函数。连 毕 , 出现屏幕突 一闪, 又回 TC屏幕, 发生 什 ? 让我们按Alt+F5看看, 屏幕被清除, 在 部显示“Hello, world“字 。 再按 意键, 即 又回 TC屏幕。 5. 列磁盘文件目录 现在 按Alt+X 出Turbo C, 返回DOS提示符, 键入dir hello.*, 回车, 屏幕显示: HELLO C 42 1-09-93 10:18 HELLO OBJ 221 1-09-93 10:22 HELLO E
10、XE 4486 1-09-93 10:25 . 第一个文件HELLO.C 文件文本, 在DOS提示符下键入TYPE HELLO.C命令, 在屏幕 显示该文件的内。 看 该程序有42个字节。 第二个文件HELLO.OBJTurbo C编择程序产生的二 制机器fi令(目“码), fl果用DOS命令TYPE显示该文件, 屏幕 能 出现 的信息。 第三个文件HELLO.EXETurbo C连 程序产生的实 执 文件。在DOS 提 示符下键入HELLO按回车, 屏幕 显示“Hello, world“。Turbo C 常用的编辑命令 Turbo C编辑程序 有50 命令, 用以 光“, 按 查看正文, 查
11、找 字符 。fl下表示。表1. Turbo C编辑程序命令 功能 键 字符 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
12、+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 Turb
13、o C 程序的调试一个程序设计 以 , 通常 有一些错误, 查找和改程序中的错误令 人 的事。Turbo C集 发环境提供 一调试置, 这一个工作 许多, 程序调试 编 和运 。一、TC消息窗口用TC 的理由一允许用户改语法错误(编 ) 和编 器 出的警告。TC 编 器和连 器发出的消息currency1集 一“中, 在消息窗口 中显示, 这 在问 代码的同 , 还能一下看 这些消息。 现 面的HELLO.C制一fi语法错误, 第一 包含语句的#去掉, 再去掉 第fl printf语句中的 。现在程序看 去这 的: include main() printf(“Hello, worldn);
14、按CTRL+F9重新编 。编 窗口 显示有多错误和警告: 应为两个错误, 0个 警告。 看 编 窗口中的Press anykey提示 , 按键, 消息窗口立 被, 出现在第一个错误或警告 , 这 编辑窗口中 有一 - “着编 器出的错误或警告在 代码中的”应 置。 这 用光“键 消息窗口中的 下 , 注意 编辑窗口中的 随着 代码中错误发生的 置。fl果 置于“compile“ , 编辑器显 示文件的 置。 fl果消息窗口 看 , 用 、 光“ 消息, 为 一 能多 看fi信息, 按F5放 消息窗口。放 , 编辑窗口 , 因 错误 。现在, 保分屏式。 为 改正错误, 消息窗口中的 置于第一个
15、错误消息 , 回车, 光“ 编辑窗口中错误产生处, 注意, 编辑器状态出选消息( 这在放 式下 有用的)改正。( 第一 的#重新写 )。 一个错误 , 用两种方法来改下一错误。 第一种方法和面一 , 按F6回 消息窗口选择改的下一 消息。 第二种方法 用回 消息窗口, 要按Alt+F8, 编 器就 光“ 消息 窗口中列的下一个错误。按Alt+F7 一个错误。 这两种方法 有 , 情况而定。有 代码中一个 的错误 编 , 产生 多消息, 这 选择改第一 消息就 的一些错误消息 有什 意义 , 这种情况发生 , 用方法一 方便些, 一改 第一个错误 回 消息窗口, 再 下一个有意义的消息 , 选择
16、。在 的情况下, 按 Alt+F8 方便多。 , Alt+F7和Alt+F8键, TC中无 作用。因 在消息窗口中 按Alt+F8 的 消息, 而下一个消息(按Enter选择 消息)。 但fl果 的编 消息, Alt+F8就 作用 。 注: 以fl 法选择连 消息, 但们 文件。在改语法错误的过 程 中, 经常需要 、 除正文, 编辑器 的, 能正确定 错误 置。 有必要 和 、 除的正文 。二、Turbo C集 调试器一旦改 语法错误 程序编 就什 问题 , 但还 能 按要运 , 因为 能有 辑错误(运 错误)。这种错误就无 于发现错误 置 。 TC有一个集 调试器 以运 错误。通过调试器
17、以运 , 在 fi处 , 查变量的 , 以改变, 以看程序 有什 应。 Turbo C集 调试器 程序的调试器, 即用同你编写程序一 的“ 语言“ 来 制调试器。例fl, 为 显示数 中的一个 的 , 告 调试器显示这 的表式的 : Ctrl+F4 Debug/Eavluate 计算表式, 允许改变量的 。 Debug/Find Function 查找函数定义, 显示在编辑窗口中。 在调试 有。 Ctrl+F3 Debug/Call Stack 显示调用 , 显示 函数的 执 置, 方法在调用 中选择”应的 函数currency1。在调试 有。 Debug/Source Debugging 制
18、 允许调试: 置为On , 集 调 试器和单 调试器 用 ; 置为 Standalone , 能用单 调试器 调试, 还能在TC中运 ; 置为 None , 在.EXE文件 置调试信息, 两种调试 能调试。 Ctrl+F4 Break/Watch/Add Watch 一表式。 Break/Watch/Delete Watch 除一表式。 Break/Watch/Edit 编辑一表式。 Break/Watch/Remove All 除有表式。 Watches Ctrl+F8 Break/Watch/Toggle 设置或清除光“在 的 fi。 Breakpoint Break/Watch/Clea
19、r 除程序中有 fi。 Breakpoint Break/Watch/Next 显示下一 fi Breakpoint 表3. 调试器菜单命令键 键 菜单命令 功能 F5 在”屏和分屏 放 小 窗口。 Alt+F5 显示 用户屏, 意键返回。 F6 在编辑窗口与窗口或消息窗口 。 Alt+F6 编辑窗口 的, 一 入编辑器的文件; 下面窗口 的, 在窗口和消息窗口 。 Ctrl+F9 Run/Run 调试运 或 调试运 程序, 必要 编 、连 文件, 编 、 连 Debug/Source Debuging和O/C/C/OBJ Debug Information为On, 运 程序 fi或程序 尾。
20、 Project/Remove Messages 除消息窗口中的内。 程序 出错或 为什 出错编程中有 意义的一方面。这里建 义你 防 设计, 具体做法为: (1). 代码写清 fi, 应作 , 用文字说明和 的变量currency1。 (2). 代码应简单, 放在简单语句中的 表式, 而 一些 语句。Turbo C的代码化机制 提代码的 , 而 调试、 、 改 来。 (3). 量用目的简单、 定义的函数构建程序。 这 便于编制调试程序和 分析结果, 而 、改 来 要一些。 (4). 应 量减 个函数要的数据和改变数据的 个数。这 便于 编制测试程序和分析结果; 同 便于 、改程序。 还限制
21、出错函数 能 的巨 的牵涉面, 便能在一个调试节中多运 函数 。 (5). 要心编写程序中的公共函数, 或 说在程序中 再用的函数。 编写、调试一个一般 的函数通常要比编写、调试两个或 多的特殊函数要。 Turbo C编 、连 和运 的常 错误 一、编 的常 错误1. 数据 型错误。 错误学 编程 的常 现象, 下面一些要 注意的错误: (1) 有变量和常量必须要以说明。 (2) 变量能赋”同 型的数据。 (3) 对scanf()语句, 用户 能输入错误 型的数据, 这 导 运 出 错, 报出错信息。为避免这 的错误出现, 你就提示用户输入正确 型的数据。 (4) 在执 算术运算 要注意: a
22、. 据语法规 书写双 度数字。要写0.5, 而 写.5; 要写1.0, 而 1。 管C语言 ”型 双 度型, 但书写双 度型个 。让C语言为你做强 这一种 的程序 设计风。 这有 能导 产生错误。 b. 要用0除。这一个灾难 的错误, 导 程序失败, 管C 语言的什 版本, 都fl , 执 除法运算要特 小心。 c. 确保有的双 度数(包括 些程序输入用的双 度数) 在实数 范围内。 d. 有”数必须在”数允许的范围内。这用于有计算结果, 包 括中 结果。2. 函数 面的“;“忘掉。 错误提示色棒 在该语句下的一 , 显 示: Statement missing ; in function 3
23、. 宏fi令fl#include, #define 语句尾 “;“。4. “和“、“(“和“)“、“/*“和“*/“ 匹。 色棒 于错误在的 , 提示出有 丢掉括的信息。5. 有用#includefi令说明 文件, 错误信息提示有 该函数 用的参 数定义。6. 用 Turbo C保 键字作为“符, 提示定义 多数据 型。7. 定义变量语句放在 执 语句 面。 提示语法错误。8. 用 定义的变量, 屏幕显示: Undefined symbol in function 9. 警告错误多。忽略这些警告错误 影响程序的执 和结果。编 警告错误数目 于某一规定 (缺省为100)便 出编 器, 这 应改变
24、集 发环境Options/Compiler/Errors中的有 警告错误 查 为off。10. 符“=“误用作赋 “=“。 屏幕显示: Lvalue required in function 二、连 的常 错误1. Turbo C库函数currency1写错。这种情况下在连 为 函数用户 定义函数。 屏幕显示: Undefined symbol in 2. 多个文件连 , 有在“Project/Project name中fi定目文件 (.PRJ 文件), 出现找 函数的错误。3. 子函数在说明和定义 型 一 。4. 程序调用的子函数有定义。三、运 的常 错误1. 路径currency1错误。在
25、MS-DOS中, 斜杠()表示一个目录currency1; 而在Turbo C 中斜 杠个某个字符 的一个义字符, 这 , 在用Turbo C 字符 出一个路径currency1 应 “的义的作用。例fl, 有这 一 语句: file=fopen(“c:newtbc.dat“, “rb“); 目的打C盘中NEW目录中的TBC.DAT文件, 但做 。这里“ 面紧 的分 “n“t“, “n“t“ 被分 编 为 tab字符, DOS 为 正确 的文件currency1而拒绝 受, 因为文件currency1中 能和 或tab字符。正确的写法应为: file=fopen(“c:newtbc.dat“,
26、 “rb“);2. 式化输入输出 , 规定的 型与变量本身的 型 一 。例fl: float l; printf(“%c“, l);3. scanf()函数中 变量 址写 变量。例fl: int l; scanf(“%d“, l);4. 循环语句中, 循环 制变量在每 循环 改, 循环 为无限循 环。5. switch语句中有 用break语句。6. 赋 “=“误用作 符“=“。7. 多层 件语句的if和else 对。8. 用 态内存分函数malloc()或calloc()分的内存 用 , 用free()函数释放, 导 函数 调用正常, 而 面调用 发生死机现象, 能返回操作 统。原因因为用 供分, 而占用 操作 统在内存 中的某些 。9. 用 态分内存 功的fi针, 统破坏。 10. 在对文件操作 , 有在 用 闭打的文件。