WL第7章-用函数实现模块化程序设计.ppt

WL第7章-用函数实现模块化程序设计.ppt

ID:48030090

大小:604.51 KB

页数:53页

时间:2020-01-13

WL第7章-用函数实现模块化程序设计.ppt_第1页
WL第7章-用函数实现模块化程序设计.ppt_第2页
WL第7章-用函数实现模块化程序设计.ppt_第3页
WL第7章-用函数实现模块化程序设计.ppt_第4页
WL第7章-用函数实现模块化程序设计.ppt_第5页
资源描述:

《WL第7章-用函数实现模块化程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第7章用函数实现模块化程序设计程序设计的艺术结构化程序设计有两大最高级的艺术算法设计艺术结构设计艺术函数(function)是结构设计的最基本单位“一个程序应该是轻灵自由的,它的子过程就象串在一根线上的珍珠。”GeoffreyJames的《编程之道》模块化程序设计的核心:函数设计。重要概念:①把解决问题的方案设计成一个个独立的模块。②程序通过调用模块功能来解决问题。③这些模块通过函数来实现,又称为函数模块。④每一个函数具有独立的功能,程序通过各模块之间的协调工作完成复杂的程序功能。数学函数(1)自变量因变量函数名参数函数返回值数学函数(2)一个自

2、变量,一个因变量两个自变量,一个因变量程序设计中的函数程序设计中的函数不局限于计算计算类,如打印阶乘表的程序……判断推理类,如排序、查找……用函数解决问题的要点分而治之函数把较大的任务分解成若干个较小的任务,并提炼出公用任务。复用程序员可以在其他函数的基础上构造程序,而不需要从头做起。信息隐藏设计得当的函数可以把具体操作细节对程序中不需要知道它们的那些部分隐藏掉,从而使整个程序结构清楚。说明:一个源程序文件由一个或多个函数组成。一个C程序由一个或多个源程序文件组成。C程序的执行从main函数开始,调用其他函数后流程回到main函数,在main函数中

3、结束整个程序运行。所有函数都是平行的,即函数定义时是互相独立的,一个函数并不从属于另一个函数。一、C语言中的函数一、C语言中的函数1、作用:函数是C程序的基本单位2、分类:main函数其他函数从程序角度库函数自定义函数从用户角度无参函数有参函数从表现形式举例说明二、函数的定义1、形式:返回值类型函数名(形式参数){声明部分语句}说明:(1)[返回值类型符]指的是函数体语句执行完成后,函数返回值的类型。如int,float,char等。若函数无返回值,则用空类型void来定义函数的返回值。默认情况为int型(有些编译器不支持默认情况)。(2)函数

4、名由任何合法的标识符构成。建议函数名的命名与函数内容有一定关系。程序举例判断正误例如,编写自定义函数abs_sum(),求两个任意整数的绝对值的和。intabs_sum(intm,intn){if(m<0)m=−m;if(n<0)n=−n;return(m+n);}或直接调用系统函数来实现:intabs_sum(intm,intn){return(abs(m)+abs(n));}注意:函数abs()的声明在头文件math.h。三、函数参数和函数的值1、形参和实参:a、生存期:被调函数(形参)和主调函数(实参)b、类型:一致或兼容c、数据传递方式:

5、值传递(ByVal):一般变量(形参、实参占不同内存单元)地址传递(ByRef):数组名和指针(形参、实参共用内存单元)实例说明三、函数参数和函数的值2、函数的值:a、确定的返回值:return语句b、不确定的返回值:无return语句实例说明四、函数的调用1、调用形式:函数名(实参表列)2、调用方式:函数语句、表达式3、对函数的声明:a、库函数:#include(文件包含)命令b、自定义函数:有时需要在主调函数中声明原型函数声明(函数原型)函数声明语句的形式:[返回值类型符]函数名([形参说明表]);如:intabs_sun(intm,intn

6、);举例说明不需要声明的两种情况例1:编写程序,通过调用函数intabs_sum(inta,intb),求任意两个整数的绝对值的和。/*example6_1.c*/#includeintabs_sum(intm,intn);/*函数声明*/main(){intx,y,z;scanf("%d%d",&x,&y);z=abs_sum(x,y);/*函数调用*/printf("

7、%d

8、+

9、%d

10、=%d",x,y,z);}intabs_sum(intm,intn)/*函数定义*/{if(m<0)m=-m;if(n<0)n=-n;ret

11、urnm+n;}思考:怎样求任意3个整数的绝对值之和?intx,y,z,sum;scanf("%d%d%d",&x,&y,&z);sum=abs_sum(abs_sum(x,y),z);printf("

12、%d

13、+

14、%d

15、+

16、%d

17、=%d",x,y,z,sum);五、函数中的变量1、按作用域分局部变量:在本函数内部有效。全局变量:从定义位置到源程序结束均有效。2、按存储类型分静态存储变量:程序运行时有固定的存储空间,程序结束时释放内存单元。动态存储变量:根据需要动态分配和释放内存单元。①局部变量:在函数内部或某个控制块的内部定义的变量。局部变

18、量的作用域:函数内部。作用:增强了函数模块的独立性。②全局变量:在函数外面定义的变量称为全局变量。全局变量的作用域:从

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。