C程序课件chap8.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)
《C程序课件chap8.ppt》由会员分享,可在线阅读,更多相关《C程序课件chap8.ppt(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第8章章 函数函数一、函数的引入一、函数的引入二、二、C语言函数定义的两种形式语言函数定义的两种形式形式形式1:类型名类型名类型名类型名 函数名(类型名函数名(类型名函数名(类型名函数名(类型名 形参形参形参形参1 1,类型名,形,类型名,形,类型名,形,类型名,形参参参参2 2,类型名,类型名,类型名,类型名 形参形参形参形参n n)说明语句;说明语句;说明语句;说明语句;执行语句;执行语句;执行语句;执行语句;形式形式2:类型名类型名类型名类型名 函数名(形式参数表)函数名(形式参数表)函数名(形式参数表)函数名(形式参数表)形式参数说明;形式参数说明;形式参数说明;形式参数说明;说明语
2、句;说明语句;说明语句;说明语句;执行语句;执行语句;执行语句;执行语句;例如:例如:例如:例如:intint max(intmax(int x,x,intint y)y)等价于:等价于:等价于:等价于:intint max(x,y)max(x,y)intint x,y;x,y;几点重要说明几点重要说明函数的定义在程序中都是平行的,即不允许在函数的定义在程序中都是平行的,即不允许在函数的定义在程序中都是平行的,即不允许在函数的定义在程序中都是平行的,即不允许在一个函数的内部再定义另一个函数一个函数的内部再定义另一个函数一个函数的内部再定义另一个函数一个函数的内部再定义另一个函数函数名是用户自定
3、义标识符,当函数值为整型函数名是用户自定义标识符,当函数值为整型函数名是用户自定义标识符,当函数值为整型函数名是用户自定义标识符,当函数值为整型时类型名可省略,当函数只完成某个操作而不时类型名可省略,当函数只完成某个操作而不时类型名可省略,当函数只完成某个操作而不时类型名可省略,当函数只完成某个操作而不返回值时,可用类型名返回值时,可用类型名返回值时,可用类型名返回值时,可用类型名voidvoid形参表中的形参是用户自定义标识符,没有参形参表中的形参是用户自定义标识符,没有参形参表中的形参是用户自定义标识符,没有参形参表中的形参是用户自定义标识符,没有参数时,圆括号不能省略,函数为无参函数数时
4、,圆括号不能省略,函数为无参函数数时,圆括号不能省略,函数为无参函数数时,圆括号不能省略,函数为无参函数三、函数的参数三、函数的参数几个定义几个定义函数调用函数调用函数调用函数调用调用函数调用函数调用函数调用函数被调函数被调函数被调函数被调函数形式参数(形参)形式参数(形参)形式参数(形参)形式参数(形参)实际参数(实参)实际参数(实参)实际参数(实参)实际参数(实参)#include#include void main()void main()intint a,b,c;a,b,c;scanf(“%d%d”,&a,&bscanf(“%d%d”,&a,&b););c=f(c=f(a,ba,b);
5、);printf(“cprintf(“c=%dn”,c);=%dn”,c);intint f(f(intint x,intx,int y)y)intint z;z;z=x+y;z=x+y;return(zreturn(z););主调函数主调函数主调函数主调函数函数调用函数调用函数调用函数调用被调被调被调被调函数函数函数函数实际参数实际参数实际参数实际参数形式参数形式参数形式参数形式参数说明说明形参在定义时不占内存空间,只在调用函数时为形参在定义时不占内存空间,只在调用函数时为形参在定义时不占内存空间,只在调用函数时为形参在定义时不占内存空间,只在调用函数时为其分配存储单元,且在调用结束后释放内
6、存空间其分配存储单元,且在调用结束后释放内存空间其分配存储单元,且在调用结束后释放内存空间其分配存储单元,且在调用结束后释放内存空间实参可以是常量、变量、表达式,但必须预先有实参可以是常量、变量、表达式,但必须预先有实参可以是常量、变量、表达式,但必须预先有实参可以是常量、变量、表达式,但必须预先有确定值确定值确定值确定值实参变量与形参变量发生实参变量与形参变量发生实参变量与形参变量发生实参变量与形参变量发生“单向值传递单向值传递单向值传递单向值传递”,但当,但当,但当,但当数组名作为实参进行传递时,传递的是数组的首数组名作为实参进行传递时,传递的是数组的首数组名作为实参进行传递时,传递的是数
7、组的首数组名作为实参进行传递时,传递的是数组的首地址地址地址地址四、函数的返回值四、函数的返回值格式:格式:return(表达式表达式);或或 return 表达式表达式;void main()void main()intint a,b,c;a,b,c;scanf(“%d%d”,&a,&bscanf(“%d%d”,&a,&b););c=f(a,b);c=f(a,b);printf(“cprintf(“c=%d”,c);=%d”,c);intint f(intf(int x,x,intint y)y)intint z;z;z=x+y;z=x+y;return(z);return(z);调用调用调
8、用调用返回返回返回返回说明说明说明说明一个函数中可以有多个一个函数中可以有多个一个函数中可以有多个一个函数中可以有多个returnreturn语句;当执行到某个语句;当执行到某个语句;当执行到某个语句;当执行到某个returnreturn语句时,程序的控制流程返回到调用函数中,语句时,程序的控制流程返回到调用函数中,语句时,程序的控制流程返回到调用函数中,语句时,程序的控制流程返回到调用函数中,并将并将并将并将returnreturn语句中表达式的值作为函数值带回语句中表达式的值作为函数值带回语句中表达式的值作为函数值带回语句中表达式的值作为函数值带回若没有若没有若没有若没有returnret
9、urn,就一直执行到函数体末尾,返回函就一直执行到函数体末尾,返回函就一直执行到函数体末尾,返回函就一直执行到函数体末尾,返回函数时,带回一个不确定值。所以若不带回函数值,数时,带回一个不确定值。所以若不带回函数值,数时,带回一个不确定值。所以若不带回函数值,数时,带回一个不确定值。所以若不带回函数值,应将函数定义为应将函数定义为应将函数定义为应将函数定义为voidvoid类型类型类型类型returnreturn语句中表达式的类型应与函数值类型一致。语句中表达式的类型应与函数值类型一致。语句中表达式的类型应与函数值类型一致。语句中表达式的类型应与函数值类型一致。若不一致时,则以函数值的类型为准
10、,并由系统按若不一致时,则以函数值的类型为准,并由系统按若不一致时,则以函数值的类型为准,并由系统按若不一致时,则以函数值的类型为准,并由系统按赋值兼容的原则进行处理赋值兼容的原则进行处理赋值兼容的原则进行处理赋值兼容的原则进行处理五、函数调用五、函数调用格式格式 函数名(实参表);函数名(实参表);说明说明实参表中,实参个数多于一个时,各参数实参表中,实参个数多于一个时,各参数实参表中,实参个数多于一个时,各参数实参表中,实参个数多于一个时,各参数之间用逗号分隔,实参个数、类型必须与之间用逗号分隔,实参个数、类型必须与之间用逗号分隔,实参个数、类型必须与之间用逗号分隔,实参个数、类型必须与对
11、应的形参一致对应的形参一致对应的形参一致对应的形参一致无参函数在调用时,没有参数传递,但圆无参函数在调用时,没有参数传递,但圆无参函数在调用时,没有参数传递,但圆无参函数在调用时,没有参数传递,但圆括号不能省略括号不能省略括号不能省略括号不能省略两种方式调用函数两种方式调用函数作为表达式出现在任何允许表达式出现的地方作为表达式出现在任何允许表达式出现的地方作为表达式出现在任何允许表达式出现的地方作为表达式出现在任何允许表达式出现的地方参与运算,此种调用只能用于函数有返回值的参与运算,此种调用只能用于函数有返回值的参与运算,此种调用只能用于函数有返回值的参与运算,此种调用只能用于函数有返回值的情
12、况。情况。情况。情况。如:如:如:如:c=2*max(a,b);c=2*max(a,b);作为一条独立的语句进行函数调用,此种调用作为一条独立的语句进行函数调用,此种调用作为一条独立的语句进行函数调用,此种调用作为一条独立的语句进行函数调用,此种调用多用于函数没有返回值的情况,即函数类型为多用于函数没有返回值的情况,即函数类型为多用于函数没有返回值的情况,即函数类型为多用于函数没有返回值的情况,即函数类型为voidvoid类型。类型。类型。类型。如:如:如:如:printstarprintstar();();调用函数与被调用函数的相对位置关系调用函数与被调用函数的相对位置关系先定义,后调用先定
13、义,后调用先定义,后调用先定义,后调用若被调函数的定义在调用函数之后出现,必须若被调函数的定义在调用函数之后出现,必须若被调函数的定义在调用函数之后出现,必须若被调函数的定义在调用函数之后出现,必须在调用函数中对被调函数加以说明,在调用函数中对被调函数加以说明,在调用函数中对被调函数加以说明,在调用函数中对被调函数加以说明,intint、charchar型函数除外型函数除外型函数除外型函数除外 格式:类型名格式:类型名格式:类型名格式:类型名 被调用函数名被调用函数名被调用函数名被调用函数名();();函数的调用可以嵌套函数的调用可以嵌套函数的调用可以嵌套函数的调用可以嵌套函数的调用可以递归函
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序 课件 chap8
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内