C语言程序设计中的函数分解与函数定义

C语言程序设计中的函数分解与函数定义

摘要:分而治之的模块化编程思想是C语言程序设计的指导思想,对复杂程序的函数分解则是对这一思想的实践。文章分析函数分解的时机和意义,讨论通过函数定义对分解后的子模块进行封装的一般原则,旨在指导C语言程序设计实践。

关键词:C语言:函数分解;函数定义;模块化

引言

C语言是一种面向过程的结构化程序设计语言,是UNIX操作系统的主要编写语言,也是很多高级语言发展的基石。C语言与计算机底层结合紧密、执行效率高,使得其在追求性能和效率的嵌入式编程、系统级软件开发、数据通信等领域有着突出的优势。

结构化程序设计(structured progra-ming)的思想是由荷兰学者E.W.Dijikstra 在20世纪60年代后期提出的,以过程为中心,强调功能分解和模块化设计。核心理念是采用“自顶向下逐步求精、分而治之”的方法进行大型程序设计。基本思想是:从待解决的初始问题出发,运用科学抽象的方法,把它分解成若干相对独立的小问题,依次细化,直至各个小问题获得解决为止,最后通过这些小问题的解逆向构造初始问题的解。C语言中的函数机制是实现结构化程序设计的重要保障,提供了将程序巾的代码片段抽取出来作为整体来使用和处理的手段,满足了复杂计算的分解和重组需要。编写大型程序时应特别注意程序的功能分解,以及分解后的模块封装,对C语言程序设计而言主要是程序的函数分解和函数定义。

1 函数分解的时机和意义

程序开发过程中,随着需要处理的问题变得复杂,程序也会变得越来越长。长的程序牵扯情况复杂,编程人员更难把握,同时长程序的阅读和理解也更困难,这又反过来影响程序的开发和维护。处理复杂问题的基本方法就是化繁为简,分而治之。依据结构化程序设计思想,借助C语言中函数的抽象机制,对复杂程序进行函数划分的过程就是程序的函数分解。

针对复杂问题求解所采用的模块划分通常是从功能的角度进行,划分后的模块要具备“相对独立,功能单一”的特征。也就是说,一个好的模块必须具有高度的独立性和较强的功能。实际应用中通常用“耦合度”和“内聚度”两个指标从不同角度对模块的划分情况加以度量。耦合度是对模块之间相互依赖性大小的度量,耦合度越小,模块的相对独立性越大。高耦合的系统中,一个模块的修改往往会影响其他模块,低耦合系统中这种影响相对较小。内聚度是对模块内各元素之间相互依赖性大小的度量,内聚度越大,模块内各元素之间联系越紧密,其功能越强;反之,低内聚模块内各元素的关系较为松散。因此,模块划分时应当尽可能

相关文档
C语言程序设计中的函数分解与函数定义
C语言程序设计中的函数分解与函数定义 - C 语言程序设计中的函数分解与函数定义 摘要:分而治之的模块化编程思想是 C 语言程序设计的指导思想,对复杂 程序的函数...
C语言程序设计函数练习题及参考答案
C语言程序设计函数练习题及参考答案_工学_高等教育_教育专区。C语言程序设计练习题及参考答案 C 语言程序设计练习题及参考答案 1、定义一个函数 int fun(int a,...
C语言程序设计_函数及其应用
C语言程序设计_函数及其应用_数学_自然科学_专业资料...应用函数设计模块化程序设计与函数 函数的定义与调用...根针c问题可以分解成如下步骤: (1)将n-1个金...
《C语言程序设计》C函数定义和使用
C语言程序设计C函数定义和使用_计算机软件及应用_IT/计算机_专业资料。1、...实验 5 ⒈ 实验目的 C 函数定义和使用 ⑴ 学习 C 语言中函数的定义和调用方法...
C语言程序设计第28讲 函数的定义
C语言程序设计第28讲 函数的定义 - 学习目标 (1)掌握函数的定义方法。 (2)掌握函数的形式参数和实际参数的区别。 (3)掌握函数返回值的用法。 一、函数的定义...
C语言程序设计(函数)
C语言程序设计教程 第五章 函数 第五章函数 5.1 C程序结构 5.2 函数定义 ...若子任务较复杂,还可以将子任务继 续分解,直到分解成容易解决的子任 务为止,...
C语言程序设计第27讲 函数的概念
C语言程序设计第27讲 函数的概念_数学_自然科学_专业资料。学习目标 (1)掌握函数的基本概念。 (2)掌握函数的分类方法。 一、函数的概念 难以解决的复杂的问题 ...
C语言程序设计函数资料
C语言程序设计函数资料_互联网_IT/计算机_专业资料。§回顾 ?模块化程序设计 ?...易于维护和功能扩充 ?开发方法: 自向下,逐步分解,分而治之 第8章 函数 §...
C语言程序设计(_第7章_函数
(); …… } fun2_1() {…… } fun2_2() {…… } 《C语言程序设计》 清华大学出版社 第7章 函数 7.1 二、C函数的分类 函数概述 1.从函数定义的...
C语言程序设计_第六章_函数ppt
第六章 函数 6.1 引例 6.2 C语言函数的基本概念 6.3 函数调用 6.4 函数嵌套调用和递归调用 6.5 变量与函数 6.6 模块化程序设计 6.1 引例 引例:编程...