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
仅有 1 条评论
发表新评论
- 上一篇: C程序设计(第五版) 第一章 知识总结
- 下一篇: 关于C语言隐式转换以及无符号类型赋负值的问题
欢迎大家在评论区讨论补充!