您的位置:首页 > 编程语言 > C语言/C++

c语言学习笔记23之面向过程的模块化编程

2016-06-04 22:15 369 查看
     在60年代计算机发展的初期,程序设计是少数聪明人的玩具,程序员可以根据自己的喜好,像捏泥巴一样进行程序设计,注释几乎是一行没有,想到哪写到哪,大多数程序代码组织混乱,可以说只有作者本人可以看懂,有的甚至作者读起来也不知所以,常称为被称为“意大利面条式编程”。

这种个人英雄主义的单打独斗在解决小规模问题时勉强可以,但程序规模的不断扩大,一大堆的问题凸现出来:程序质量低下,进度延误,预算严重超支,这就是“软件危机”,给程序开发的前景蒙上了一层暗淡的色彩。

结构化程序设计方法就是在这个背景下提出的,除了前面章节讲过的3种控制结构:顺序、分支和循环外,结构化程序设计的另一个关键概念是模块化设计。

    生活中常常接触到模块化的概念,模块化程序设计大致有点像小时候玩的积木游戏,用木块组合的方式很容易地就构筑起了“大厦”,模块化至少有两点好处:一是封装,“积木块”是“基本砖块”的组合,对外是个整体,使用方便,二是可复用,“柱子”封装好后,既可以用在这个建筑上,又可以用在那个建筑上。程序设计也可以借鉴这一思想,用模块化的方法进行程序设计,函数正是模块化方法的体现。

虽说语句是C语言的基本单位,但从程序设计总体把握上来看,将函数视为一个整体,大大降低了问题的复杂程度。在解决复杂问题时,首先考虑的是问题的概貌,而不是微小细节,这是人的思维和行动习惯,程序设计也是如此,先将问题分割成一个个函数,每个函数实现特定的功能,确定函数之间的联系和依赖关系,这是从整体解决某个问题。其次才是考虑每个函数应怎么写,算法流程怎么走这些问题,这就是“分而治之、逐步求精“的设计方法学。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: