程序设计的思想(结构化编程)

程序设计的思想

最近,重新翻阅了一下谭浩强老师的经典著作《C程序设计(第四版)》。才发现,里面有好多比较深刻的思想,在第一遍学的时候根本就没有感受到。再一次感受到了一本好书值得翻来覆去的好好通读。下面是自己看到的个人觉得比较精髓的点:

1.著名计算机科学家沃斯提出的公式:算法+数据结构=程序。算法:对操作的描述,即要求计算机进行操作的步骤;数据结构:在程序中要用到哪些数据以及这些数据的类型和数据的组织形式。

2.程序设计人员应该具备的四个方面的知识:算法、数据结构、程序设计方法和语言工具。四个方面中,算法是灵魂,数据结构是加工对象,语言是工具,编程需要采用合适的方法。

3.结构化程序的设计方法基本思路:把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。方法是:自顶而下、逐步细化、模块化设计、结构化编码。自顶而下意味着,在进行程序设计之前,先进行程序的整体规划,程序可以分为哪几个部分来写,逐步细化地分析每个部分实现什么样的功能,几个部分如何衔接起来。打个不太恰当的比方,就像计算机网络的7层体系结构一样,每一层仅实现自己的功能,然后传球给下一层。而在每一层中,又有具体的一些设计。模块化设计的思想告诉我们,一个很复杂的功能可能很难上手编程,但如果把这个复杂功能分成多个简单的功能,那么仅对这个简单的功能进行编程实现是很容易做到的。而后面我们只需要把多个简单的功能拼接起来就可以了。结构化编码,就是运用顺序、选择、循环三种基本结构编写程序。

4.具体来说,如果程序的功能比较多,规模比较大,把所有的程序代码都写在一个主函数(main函数中),就会使主函数变得庞杂。所以在设计一个较大的程序时,往往把它分为若干程序模块,每个模块包含一个或多个函数,每个函数实现一个特定的功能。一个C程序可由一个主函数和若干个其他函数构成。或者说一个C程序由一个或多个程序模块组成,每一个程序模块作为一个源程序文件。对较大的程序,一般不希望把所有内容全放在一个文件中,而是将它们分别放在若干个源文件中,由若干个源程序文件组成一个C程序。这样便于分别编写和编译,提高调试效率。一个源程序文件可以为多个C程序共用。

5.一个C程序由多个源文件组成时,若一个文件中想引用另一个文件中定义的外部变量,则应该在该文件中用extern做外部变量声明。

还有一段话,我也是感觉说得特别好:学习程序设计的目的不只是学习某一种特定的语言,而应当学习进行程序设计的一般方法。掌握了算法就是掌握了程序设计的灵魂,再学习有关的计算机语言的知识,就能够顺序地编写出任何一种语言的程序。脱离具体的语言去学习程序设计是困难的。但是,学习语言只是为了设计程序,它本身绝不是目的。高级语言有很多种,每种语言也都在不断发展,因而千万不能拘泥于一种具体的语言,而应当能举一反三。关键是设计算法,有了正确的算法,用任何语言进行编码都不是什么困难的事。

猜你喜欢

转载自blog.csdn.net/qq_39529052/article/details/105735760