C程序设计(第五版) 第二章 知识总结

一.程序=算法+数据结构 P15

程序包括两方面信息:

 1.**对数据的描述**。在程序中要指定用到哪些数据,以及这些数据的类型和数据的组织形式。这就是**数据结构**。
 2.**对操作的描述**。要求计算机进行操作的步骤,就是**算法**。

算法、数据结构、程序设计方法语言工具 4个方面是一个程序设计人员所应具备的知识。

什么是算法?

 广义的说,为解决一个问题而采取的方法和步骤,称为“算法”。
 计算机算法分为两大类:
     1.数值运算算法:目的是求数值解。
     2.非数值运算:常用于事务管理领域。

二.算法的特性 p20

1.有穷性

 一个算法应包含有限的操作步骤,不能是无限的。

2.确定性

 算法中每一个步骤都应当是确定的。算法含义应是唯一的。

3.有零个或多个输入
4.有一个或多个输出

 算法的目的是为了求解,“解”就是输出。一个算法得到的结果就是算法的输出。

5.有效性

 算法中每一个步骤都应当能有效执行,并得到确定的结果。

三.算法的表示方式 p21

自然语言,传统流程图,结构化流程图,伪代码

传统流程图:

    用一些图框来表示各种操作。常用的**流程图符号**有:起止框、输入输出框、判断框、处理框、流程线、连接点、注释框。
         一个**传统流程图**包括:1.表示相应操作的框 2.带箭头的流程线 3.框内外必要的文字说明
         **弊端**:使用者可以不受限制地使流程随意地转来转去,使流程图变得毫无规律,阅读时要花费大精力去追踪流程。

结构流程图:

         三种基本结构:
             1.顺序结构
             2.选择结构 选择结构又称选取结构或分支结构。
             3.循环结构 又称重复结构,反复执行某一部分操作。
                 (1)当型(while型)循环
                 (2)直到型(until型)循环
         三种基本结构特点: p27
             1.只有一个入口
             2.只有一个出口
             3.结构内部的每一部分都**有机会**被执行到。
             4.结构内不存在”死循环“
         **由基本结构所构成的算法属于“结构化”的算法**,他不存在无规律的转向,只在基本结构内才允许存在分支向前或向后。如果一个算法不能分解为若干个基本结构,则它必然不是一个结构化算法。

流程图画法

 1.传统流程图
 2.N-S流程图(盒图)
     优点:比传统流程图紧凑易画,废除了流程线。用N-S图表示的算法都是结构化算法。
 3.伪代码
     用伪代码写算法并无固定的、严格的语法规则,可以用英文,也可以中英混用。

四.结构化程序设计方法 p33

结构化程序强调程序设计风格程序结构的规范化,提倡清晰的结构。
结构化程序设计方法的基本思路把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理范围内。
采取方法:

 1.自顶向下
 2.逐步细化
 3.模块化设计
 4.结构化编码


完整文档:https://www.jianguoyun.com/p/De9rgJUQvuOmCRjB6ZAE
引用请注明出处:http://www.sgyh.xyz/archives/66.html

TAG:none

仅有 1 条评论

  1. 欢迎大家在评论区讨论补充!

    admin October 3rd, 2021 at 01:17 am回复

发表新评论