函数的计算机编程.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《函数的计算机编程.ppt》由会员分享,可在线阅读,更多相关《函数的计算机编程.ppt(76页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第七章函数 Function 模块化程序设计的概念模块化程序设计的概念7.1库函数库函数7.2函数的定义和调用函数的定义和调用7.3函数的返回值及其类型函数的返回值及其类型7.4函数调用时参数间的传递函数调用时参数间的传递7.5函数的嵌套调用函数的嵌套调用7.6函数的递归调用函数的递归调用7.7局部变量和全局变量局部变量和全局变量7.8 静态存储变量和动态存储变量静态存储变量和动态存储变量7.9内部函数和外部函数内部函数和外部函数7.107.1 7.1 模块化程序设计的概念模块化程序设计的概念 在C语言中,函数分为主函数、库函数和用户自定义函数3种。程序的执行由主函数开始,然后调用其他函数,
2、最终返回主函数并结束。函数调用示意图函数调用示意图 7.2 库函数 C语言提供了丰富的标准函数,即库函数。这类函数是由系统提供并定义好的,不必用户再去编写。用户只需要了解函数的功能,并学会正确地调用标准函数即可。C C语言常用库函数语言常用库函数 对每一类库函数,在调用该类库函数时,用户在源程序的include命令中应包含该类库函数的头文件名。#include math.h“#include stdio.h 7.2.2 7.2.2 标准库函数的调用标准库函数的调用 include命令的格式为#include头文件名 或#include 头文件名说明:说明:(1 1)includeinclude
3、命命令令必必须须以以#号号开开头头,系系统统提提供供的的头头文文件件名名都都以以.h.h作作为为后后缀缀,头头文文件件名名用用一一对对双双引引号号(“”“”)或或一一对尖括号()括起来。对尖括号()括起来。(2 2)在在C C语语言言中中,调调用用库库函函数数时时不不能能缺缺少少库库函函数数的的头头文文件件,includeinclude命命令令不是语句,不能在最后加分号。不是语句,不能在最后加分号。(3 3)两种格式的区别是:)两种格式的区别是:使使用用尖尖括括号号时时,系系统统到到存存放放C C库库函函数数头头文文件件所所在在的的目目录录中中寻寻找找要要包包含含的的文文件件,即即标标准准方方
4、式式;使使用用双双引引号号时时,系系统统先先在在用用户户当当前前目目录录中中寻寻找找要要包包含含的的文文件件,若若找找不不到到,再再按按标标准准方方式式查查找。找。小例子小例子#include/*调用调用strlen函数需要函数需要包含的头文件包含的头文件*/#include/*调用调用printf函数需要函数需要包含的头文件包含的头文件*/main()charstr=abcde;inti;i=strlen(str);printf(%d,i);7.3 7.3 函数的定义和调用函数的定义和调用由用户编写的函数称为自定义函数。函数必须先定义后使用。函数的定义函数的定义 函数定义的一般格式如下:类型
5、说明符 函数名(类型名 形式参数1,类型名 形式参数2,)函数体;说明:说明:(1 1)函数名是由用户命名的、唯一)函数名是由用户命名的、唯一标识一个函数的名字。标识一个函数的名字。(2 2)各个函数必须单独定义,不能)各个函数必须单独定义,不能嵌套定义,即不能在一个函数内部再嵌套定义,即不能在一个函数内部再定义函数。定义函数。(3 3)形形式式参参数数用用于于在在调调用用函函数数和和被被调调用用函函数数之之进进行行数数据据传传递递,两两者者之之间间的数据类型应一致。的数据类型应一致。(4 4)若若在在函函数数首首部部省省略略类类型型名名,则则默默认认函函数数返返回回值值的的数数据据类类型型为
6、为intint类类型。型。(5 5)在在函函数数体体中中,除除形形参参外外,用用到到的的其其他他变变量量必必须须在在说说明明部部分分进进行行定定义义,这这些些变变量量(包包括括形形参参),只只在在函函数数调调用用时时才才临临时时开开辟辟存存储储单单元元,当当退退出出函函数数时时,这这些些临临时时开开辟辟的的存存储储单单元元全全被被释释放放掉掉。因因此此,这这种种变变量量只只在在函函数数体体内内部部起起作作用用,与与其其他他函函数数体体中中的的变变量量互互不不相相关关,它它们们可可以以和和其其他他函函数数中中的的变量同名。变量同名。例:求两实数之和例:求两实数之和 main()float add
7、(float x,float y);float a,b,c;scanf (%f%f,&a,&b);c=add(a,b);printf(%f,c);float add(float x,float y)float z;z=x+;return z;说明:说明:(1)add是函数名,该函数返回值为是函数名,该函数返回值为float型。型。(2)形式参数为实型变量)形式参数为实型变量x和和y,该,该参数接受调用本函数时实参数据的传参数接受调用本函数时实参数据的传递。递。(3)函数体内的返回值是)函数体内的返回值是z。自定义函数add的作用是求两实数之和,其返回值也是float型,由于定义add函数出现在
8、调用该函数的赋值语句“c=add(a,b);”后,因此必须在调用函数中对add函数的返回值做类型说明,即float add(float x,float y)7.3.2 7.3.2 函数的调用函数的调用1 1函数调用的一般形式函数调用的一般形式 函数调用的一般形式为函数调用的一般形式为 函数名函数名(实参表实参表););add(a,b);实参与形参的个数应相等,类型应一致。实参与形参的个数应相等,类型应一致。实参与形参按顺序对应,一一传递数据。实参与形参按顺序对应,一一传递数据。2 2函数调用的方式函数调用的方式 按函数在程序中出现的位置来分,有如下3种函数调用方式。(1)函数语句(2)函数表达
9、式(3)函数参数 (1 1)函数语句。)函数语句。函数语句的调用,是指把被调函数作为一个独立的语句直接出现在主调函数中。例如:printf(%d%d,i,j);max(a,b);/*调用有参函数max*/printstr();/*调用无参函数printstr*/这3个语句都是函数调用语句,简称函数语句。由函数语句直接调用的函数,一般不需要返回值,只要求函数完成某操作。(2 2)函数表达式。)函数表达式。必须有一个函数返回值,例如:c=5*max(a,b);(3 3)函数参数。)函数参数。例如:main()printf(%d,max(a,b);3 3调用函数时的注意事项调用函数时的注意事项(1
10、1)被调函数必须是已存在的函数。)被调函数必须是已存在的函数。(2 2)在主调函数中,要对被调函数先)在主调函数中,要对被调函数先做声明。如果被调函数在主调函数之做声明。如果被调函数在主调函数之前出现,则在主调函数中对被调函数前出现,则在主调函数中对被调函数可以不做声明。可以不做声明。(3 3)如果被调函数的返回值为)如果被调函数的返回值为intint类类型,不需要在主调函数中说明。型,不需要在主调函数中说明。(4 4)如果被调用函数的声明放在源)如果被调用函数的声明放在源文件的开头,则该声明对整个源文件文件的开头,则该声明对整个源文件都有效。都有效。(5 5)如果被调用函数的声明是在调)如果
11、被调用函数的声明是在调用函数定义的内部,则该声明仅对该用函数定义的内部,则该声明仅对该调用函数有效。调用函数有效。(6 6)函数调用应该注意以下几点。)函数调用应该注意以下几点。实参应在个数、类型和顺序上与形参相一致。实参可以是常量、变量名、数组名、数组元素或表达式,即必须具有确定的值。为了保证函数调用的正确性,在调用之前应该先弄清被调用函数的功能、输入参数、返回值等,然后再进行调用。【例例7-57-5】编制程序,求两数的乘积。编制程序,求两数的乘积。main()floatmul();/*进行两数相乘的函数进行两数相乘的函数*/floatx,y,z;/*定义主函数内部的局部函数定义主函数内部的
12、局部函数*/scanf(%f%f,&x,&y);/*输入要进行相乘的两个数输入要进行相乘的两个数*/z=mul(x,y);/*调用函数,进行两数的相乘调用函数,进行两数的相乘*/printf(Theproductis%f,z);/*输出结果输出结果*/floatmul(floatx,floaty)/*函数及形函数及形参类型定义参类型定义*/floatz;/*定义浮点变量定义浮点变量*/z=x*y;/*两数相乘两数相乘*/return(z);/*返回结果返回结果*/7.4 函数的返回值及其类型 一个函数有其特定的功能,也有其功能所实现的结果。这一结果可以通过函数的返回值表现出来。函数的返回值通过
13、函数体内的return语句实现。return语句的格式为return 表达式;或return (表达式);如果没有返回值,写为return;用“void”定义无返回值函数,只需在定义函数时,在函数名前加上void即可。例如:void printstr();/*定义pritstr为无返回值函数*/函数类型决定返回值的类型。类型不一致时,对于数值型数据可以自动进行类型转换。如果函数有返回值,则在函数定义和函数调用时,一般都应该指明返回值的类型。例如:float count(int n)float s;return(s);在以下情况中,可以不在调用函数内对被调在以下情况中,可以不在调用函数内对被调用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 函数 计算机 编程
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内