1 / 26
文档名称:

C语言 第六章函数.doc

格式:doc   大小:152KB   页数:26页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C语言 第六章函数.doc

上传人:文库旗舰店 2018/5/28 文件大小:152 KB

下载得到文件列表

C语言 第六章函数.doc

相关文档

文档介绍

文档介绍:第六章函数
模块化程序设计思想
在程序设计过程中,为了有效地完成任务,明智的做法是,把所要完成的任务精心分割成若干相对独立,但相互仍可有联系的任务模块,这样的任务模块还可以继续细分成更小的模块。直至那些小模块变得任务相对单纯,对外的数据交换相对简单,容易编写,容易检测,容易阅读和维护。这种逐步细化(stepwise refinement)的思想,叫做自顶向下设计(top-down design)。
这样做,除了每一个小模块便于制作外,还有一个明显的好处:一个较大的任务,可组织一个团队来完成。20世纪70年代,国外某航空公司,做了一个全球订票系统,据说其软件开发的工作量为1200人年。靠几个人是不可能完成这个项目的,但凭借模块化程序设计思想,组织一个较大的团队来开发,在不长的时间里完成这个任务就有了可能。
软件开发可以分为3个阶段:需求分析阶段、软件实现阶段和软件发布后的维护和增强阶段。需求分析阶段包括规格说明和设计。软件实现阶段包括编码、验证、测试及性能分析和测量。这两个阶段都要用到模块化的思想和方法。
在C中,使用函数来实现被细分了的各个模块的代码。一些常用的函数(含宏)由系统提供,如我们已用过的scanf()、printf()、putchar()、getchar()、fabs()、pow()、strlen()等,这些函数叫做库函数,其函数的接口在若干种头文件中。在程序的最前面,写上诸如#include <> 这样的包含指令,便可放心地使用相关的库函数。读者也可以根据任务的需要自行编写函数,并正确地使用这些函数。至于主函数main()的函数体,肯定是要读者自行编写的,而且读者已经编写过多次了。
模块设计举例
【】输入一段英文短文,再寻找文中每一个英文缩写STU,把它改成Shanghai University,然后输出这段修改了的短文。
任务分解:
⑴输入短文;
⑵搜寻短文中存在的字符串"STU",不妨把它称为子串,确定其位置;
⑶删去字符串"STU",但仍得记住这个位置;
⑷在这个位置上插入新字符串"Shanghai University";
⑸输出修改过的短文。
显然,任务⑴输入短文,是一个相对独立且单纯的任务,其功能可用一个函数func1() 来完成,因为短文可能要换行,所以输入的结束标志应该用EOF即Ctrl+z,短文应存放在字符数组中,为了其他函数引用方便,这短文最后形成字符串的样式为宜。
任务⑸输出短文,也是一个相对独立且单纯的任务,其功能可用一个函数func5()来完成,因为短文已是字符串,所以用字符串输出便可。
任务⑵、⑶、⑷是实现解决问题算法的核心,又都在子串"STU"存在的位置上作字符处理,可编一个函数func2()来实现这些功能。
主函数可简洁地写成:
#include <>
main()
{
char s[500];
void func1(char []);
void func2(char []);
void func5(char []);
fun1c(s);
func2(s);
func5(s);
}
至于3个函数如何编写,具体的代码又是怎样的,将在后面的章节中表述。
函数概念
函数定义
函数定义的一般形式如下:
函数值数据类型函数名(数据类型1 形式参数1,数据类型2 形式参数2,…)
{
说明语句
执行语句
}
若该函数对数据处理后得到一个数值结果,而调用它的函数(可称主调函数),要使用这个结果,则把这个结果当作函数值,以便主调函数使用。和其他变量要明确数据类型一样,函数值也要明确其数据类型。函数值的数据类型视需要可以是整型、浮点型、字符型、双精度型,在函数值数据类型的位置上便写上对应的int、float、char、double,以后还要介绍指针型、结构体型等。若该函数能完成某些功能,而不是向主调函数提供一个数值结果,则该函数值的数据类型为“无类型”,用标识符void表示。
函数名,要使用C的合法标识符。人们****惯用表示函数功能的英文单词或其组合来为函数命名。如函数功能是做加法,则函数名可取add,如函数的功能是检验该字符是否数字码,则函数名不妨取isdigit。这样命名显然增加了程序的可读性。
圆括号内是形式参数的表列,在有多个形式参数时,要用逗号将他们分隔开,每个形式参数之前要说明其数据类型,形式参数的参数名也要使用C的合法标识符。形式参数的真值要由主调函数在调用时提供,在未被调用时,这些参数没有被赋值,所以称之为形式参数,简称形参。形参是函数进行数据运算和处理的条件,其值由主调函数提供。
花括号内是本函数的函数体,由说明语句