第四章C程序流程设计 4d程序计基本概念 4,若构T程序设计 4.2c语与概迷 4.3顺序结构及窦现 4.4莲择绡构及实现 4.5盾环结构及窦现 4.6转向语 4.7盾环结构程序汁举例
4.0 程序设计基本概念 4.1 结构化程序设计 4.2 c 语句概述 4.3 顺序结构及实现 4.4 选择结构及实现 4.5 循环结构及实现 4.6 转向语句 4.7 循环结构程序设计举例 第四章 C程序流程设计
■4.0程序计基本概念 程序 程序是指为让计算机完成某个任务而设计的,由有限步骤所 组成的一个有机的指令序列。 算法与数据结构 计算机科学家沃斯( N. Wirth)提出过一个经典公式: 算法+数据结构=程序 算法反映了计算机的执行过程,是对解决特定问题的操作步 骤的一种描述。数据结构是对参与运算的数据及它们之间的关 系进行的描述,算法和数据结构是程序的两个重要方面
◼ 4.0 程序设计基本概念 程序 程序是指为让计算机完成某个任务而设计的,由有限步骤所 组成的一个有机的指令序列。 算法与数据结构 计算机科学家沃斯(N.Wirth)提出过一个经典公式: 算法+数据结构=程序 算法反映了计算机的执行过程,是对解决特定问题的操作步 骤的一种描述。 数据结构是对参与运算的数据及它们之间的关 系进行的描述,算法和数据结构是程序的两个重要方面
算法 算法是由一套明确的规则组成的-些步骤,它指定了操作顺序并通过 布限个步骤将问题解决、得出结果。 算法应具有以下特性 有穷性一个算法必须总是在执行有限个操作步骤和可 以接受的时间内完成其执行过程。 确定性算法中的每一步都必须有明确的含义,不允许 存在二义性。 有效性算法中描述的每一步操作都应该能有效地执行, 并最终得到确定的结果。 输入一个算法应零个或多个输入数据。 输出一个算法应有1个或多个输出数据。没有输出的算 法是无意义的
◼ 算法 算法是由一套明确的规则组成的一些步骤,它指定了操作顺序并通过 有限个步骤将问题解决、得出结果。 一个算法应具有以下特性: ◼ 有穷性 一个算法必须总是在执行有限个操作步骤和可 以接受的时间内完成其执行过程。 ◼ 确定性 算法中的每一步都必须有明确的含义,不允许 存在二义性。 ◼ 有效性 算法中描述的每一步操作都应该能有效地执行, 并最终得到确定的结果。 ◼ 输入 一个算法应零个或多个输入数据。 ◼ 输出 一个算法应有1个或多个输出数据。没有输出的算 法是无意义的
算法的表示方法 自然语言: 用自然语言表示的算法通俗易懂,但易引起“岐义性 传统流程图 传统流程图是用规定的一组图形符号、流程线和文字说明来 表示各种操作的算法表示方法。 N-S结构图: N-S结构图取消了流程线,不允许有随意的控制流,全部算 法写在—个矩形框内,该矩形框以三种基本结构描述符号为基础 复合而成。 伪代码: 伪代码是用一种介于自然语言和计算机语言之间的文字和 符 号来描述算法,表现形式比较灵活自由,没有严谨的语法格式
◼ 算法的表示方法 ◼ 自然语言: 用自然语言表示的算法通俗易懂,但易引起“歧义性” 。 ◼ 传统流程图: 传统流程图是用规定的一组图形符号、流程线和文字说明来 表示各种操作的算法表示方法。 ◼ N-S结构图: N-S结构图取消了流程线,不允许有随意的控制流,全部算 法写在一个矩形框内,该矩形框以三种基本结构描述符号为基础 复合而成。 ◼ 伪代码: 伪代码是用一种介于自然语言和计算机语言之间的文字和 符 号来描述算法,表现形式比较灵活自由,没有严谨的语法格式
结构化程序设计的三种基本结构 顺序结构 顺序结构是最简单的基本结构,要求顺序地执行且必须执行由先 后顺序排列的每—个最基本的处理单位 顺序结构的示意图如下图所示,表示先执行“处理A”,然后再顺序执 行“处理B”。 处理A 处理A 处理B 处理B (a) b) (a)图是用传统流程图表示的顺序结构。 (b)图是用N-S结构图表示的顺序结构
结构化程序设计的三种基本结构 ◼ 顺序结构 顺序结构是最简单的基本结构,要求顺序地执行且必须执行由先 后顺序排列的每一个最基本的处理单位。 顺序结构的示意图如下图所示,表示先执行“处理A”,然后再顺序执 行“处理B” 。 处理A 处理B (a) (b) 处理A 处理B (a)图是用传统流程图表示的顺序结构。 (b)图是用N-S结构图表示的顺序结构
分支结构 分支结构又称作选择结构。在分支结构中,要根据逻辑条 件 成与否,分别选柽执行不同的处理。 分支结构的示意图如下图所示,表示当逻辑条件成立是,执 行处理A,否则执行处理B。 舆条作一假 条件 成立伓不成立 处理A 处理B处理A处理B (a) b (a)图是用传统流程图表示的顺序结构 (b)图是用N-S结构图表示的顺序结构
◼ 分支结构 分支结构又称作选择结构。在分支结构中,要根据逻辑条 件 的成立与否,分别选择执行不同的处理。 分支结构的示意图如下图所示,表示当逻辑条件成立是,执 行处理A,否则执行处理B。 处理A 处理B 真 假 条 件 (a) 条 件 处理A 处理B 成立 不成立 (b) (a)图是用传统流程图表示的顺序结构。 (b)图是用N-S结构图表示的顺序结构
循环结构 当型循环 在型循环结构中,当逻辑条件成立时,就反复执行处理 A噎到逻辑条件不成立时结束。如下图所示 条件 当条件成立时 继续 真 处理A 处理A (a)图是用传统流程图表示的顺序结构。 (b)图是用NS结构图表示的顺序结构
◼ 循环结构 ◼ 当型循环 在当型循环结构中,当逻辑条件成立时,就反复执行处理 A,直到逻辑条件不成立时结束。 如下图所示: 处理 A 假 真 条 件 (a) 当条件成立时 继续 处理 A (b) (a)图是用传统流程图表示的顺序结构。 (b)图是用N-S结构图表示的顺序结构
直到型循环 在直到型循环结构中,反复执行处理A,直到逻辑条件成立 时结束,如图所示 处理A 处理A 条件 直到条件成立时结束 (a (a)图是用传统流程图表示的顺序结构。 (b)图是用N-S结构图表示的顺序结构
◼ 直到型循环 在直到型循环结构中,反复执行处理A,直到逻辑条件成立 时结束,如图所示: 处理A 假 真 条 件 (a) 处理A 直到条件成立时结束 (b) (a)图是用传统流程图表示的顺序结构。 (b)图是用N-S结构图表示的顺序结构
4.1结构化程序计 41.1程序设计的一般步骤 分析问颕,确定解题方案。 确定算法 根据选取的数学模型和确定的解题方案,设计岀具体的操 作步骤。可用流程图表示。 编写程序。 用程序设计语言编制的源程序 调试运行程序。 对编好的程序进行试运行和检验,发现问题即对程序进行 修改,直至得出正确的结果。 建立文档资料。 整理分析计算结果,并建立相应的文档资料
4.1 结构化程序设计 4.1.1 程序设计的一般步骤 ◼ 分析问题,确定解题方案。 ◼ 确定算法。 根据选取的数学模型和确定的解题方案,设计出具体的操 作步骤。可用流程图表示。 ◼ 编写程序。 用程序设计语言编制的源程序。 ◼ 调试运行程序。 对编好的程序进行试运行和检验,发现问题即对程序进行 修改,直至得出正确的结果。 ◼ 建立文档资料。 整理分析计算结果,并建立相应的文档资料
412结构化程序设计方法 程序的质量标准是“清晰第一,效率第二” 程序的设计采用“自顶向下,逐步求精,模块化” 竹方法 程序的结构仅由三种基本结构组合、嵌套而成, 且满足: 每个程序模块只有一个入口和一个出口; 没有死语句(永远执行不到的语句); 没有死循环(永远执行不完的无终止的循环) ■程序的书写必须按一定的规范和格式进行,不能 随心所欲地拼凑。 ■程序的设计风格要以好的可读性为标准,以使用 程序的用户为中心,外表美观、结构流畅、语句 简洁
4.1.2 结构化程序设计方法 ◼ 程序的质量标准是“清晰第一,效率第二” 。 ◼ 程序的设计采用“自顶向下,逐步求精,模块化” 的方法。 ◼ 程序的结构仅由三种基本结构组合、嵌套而成, 且满足: ◼ 每个程序模块只有一个入口和一个出口; ◼ 没有死语句(永远执行不到的语句); ◼ 没有死循环(永远执行不完的无终止的循环)。 ◼ 程序的书写必须按一定的规范和格式进行,不能 随心所欲地拼凑。 ◼ 程序的设计风格要以好的可读性为标准,以使用 程序的用户为中心,外表美观、结构流畅、语句 简洁