函数与编译预处理.ppt

函数与编译预处理.ppt

ID:49262916

大小:497.00 KB

页数:51页

时间:2020-02-02

函数与编译预处理.ppt_第1页
函数与编译预处理.ppt_第2页
函数与编译预处理.ppt_第3页
函数与编译预处理.ppt_第4页
函数与编译预处理.ppt_第5页
资源描述:

《函数与编译预处理.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六章函数与编译预处理6.1模块化程序设计与函数6.2函数的定义与调用6.3函数的嵌套调用6.4函数的递归调用6.5变量的作用域与存取方式6.6编译预处理C语言程序设计教程2021/7/2116.1模块化程序设计与函数在解决较复杂的问题时,我们一般采用的方法是:把问题分成几个部分,每部分又可分成更细的若干小部分,逐步细化,直至分解成很容易求解的小问题。这样的话,原来问题的解就可以用这些小问题来表示。2021/7/212一、模块与函数一个较大的程序一般应分为若干个程序模块,每个模块实现一个特定的功能。在C语言中用函数来实现模块,故一个C程序可由一个主

2、函数和若干个函数构成。由主函数调用其他函数,其他函数也可以互相调用,同一个函数可以被一个或多个函数调用任意多次。通过函数的调用来实现完成大任务的全部功能。任务、模块与函数的关系:一个大任务分成多个功能模块,功能模块则由一个或多函数实现。模块化的程序设计是靠设计函数和调用函数实现的。2021/7/213二、模块设计的原则1、模块独立:独立性原则表现在模块完成独立的功能,和其它模块间的关系简单,各模块可以单独调试。修改某一模块,不会造成整个程序的混乱,即要求数据局部化。2、模块规模适当:模块不能太大,但也不能太小。模块的功能复杂,可读性就不好,而且也违

3、背独立性原则。但如果做得太小,实际上也会复杂各个模块间反复调用,可读性也会降低。这点需要慢慢积累经验,好好把握。2021/7/214三、简单的模块函数举例例6_1:求三个数的最大值main(){inta,b,c,maxval;printf("pleaseinputthreedatastoa,b,c:");scanf("%d%d%d",&a,&b,&c);maxval=max(a,b);maxval=max(maxval,c);printf("themax=%d",maxval);}intmax(intx,inty){intz;if(x>y)z=

4、x;elsez=y;returnz;}2021/7/2156.2函数的定义与调用在C语言中,函数(Function)是一个处理过程,可以进行数值运算、信息处理、控制决策,即一段程序的工作放在函数中进行,函数结束时可以携带或不携带处理结果。从用户使用函数的角度来看,函数有两种:★库函数(标准函数):系统提供 ★用户自定义函数:用户自己写C语言程序处理过程全部都是以函数形式出现,最简单的程序至少也有一个main函数。函数必须先定义和声明后才能调用。2021/7/216一、标准库函数C语言有丰富的库函数,这些函数的说明在不同的头文件(*.h)中。想要调用

5、标准的库函数,就必须用编译预处理命令include把程序中所用到的头文件包含进来。#includemain(){printf(“%f”,sqrt(2*3)); }调用sqrt函数时, 必须#include2021/7/2171.根据函数是否需要参数,可将函数分为无参函数和有参函数两种。(1)定义无参函数的一般形式函数类型函数名(void){[说明语句部分;]可执行语句部分;}注意:如果不需要参数,则用“void”表示,也可以括号里面什么也不写。二、函数的定义2021/7/218(2)定义有参函数的一般形式函数类型函数

6、名(数据类型参数[,数据类型2参数2,……]){[说明语句部分;]可执行语句部分;}有参函数比无参函数多了一个参数表。调用有参函数时,调用函数将赋予这些参数实际的值。为了与调用函数提供的实际参数区别开,将函数定义中的参数表称为形式参数表,简称形参表。★说明:函数定义不允许嵌套。在C语言中,所有函数(包括主函数main()都是平行的。一个函数的定义,可以放在程序中的任意位置,主函数main()之前或之后。但在一个函数的函数体内,不能再定义另一个函数,即不能嵌套定义。2021/7/219在C语言中可把函数分为有返回值函数和无返回值函数两种:(1)函数返

7、回值与return语句有返回值的函数,是通过函数中的return语句来获得的。①return语句的一般格式:return(返回值表达式);②return语句的功能:返回调用函数,并将“返回值表达式”的值带给调用函数。注意:如果所定义的函数不需要返回值,则可以用“void”定义成“无(空)类型”。如:voidprint(inta){printf(“%d”,a);}3、函数类型与返回值2021/7/2110(2)函数类型:即函数的返回值类型在定义函数时,对函数类型的说明,应与return语句中、返回值表达式的类型一致。如果不一致,则以函数类型为准。

8、如果缺省函数类型,则系统一律按整型处理。良好的程序设计习惯:为了使程序具有良好的可读性并减少出错,凡不要求返回值的函数都应

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

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

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