C语言函数篇讲解_精品文档.ppt
- 文档编号:2561036
- 上传时间:2022-11-01
- 格式:PPT
- 页数:41
- 大小:433KB
C语言函数篇讲解_精品文档.ppt
《C语言函数篇讲解_精品文档.ppt》由会员分享,可在线阅读,更多相关《C语言函数篇讲解_精品文档.ppt(41页珍藏版)》请在冰豆网上搜索。
第六章第六章函数函数教学目标:
掌握函数的定义教学目标:
掌握函数的定义;理解并运用函数的理解并运用函数的调用调用;理解函数的声明。
理解函数的声明。
教学重点:
函数的定义教学重点:
函数的定义;函数的调用。
函数的调用。
教学难点:
函数的定义。
教学难点:
函数的定义。
教学时数:
教学时数:
4学时学时6.16.1概述概述printstar()printf(“*n”);main()printstar();printmessage();printstar();printmessage()printf(“Howdoyoudo!
n”);例例:
结果结果:
*Howdoyoudo!
*说明:
说明:
1111.一个源程序文件由一个或多个函数组成,但一个源程序文件由一个或多个函数组成,但一个源程序文件由一个或多个函数组成,但一个源程序文件由一个或多个函数组成,但必须有且仅必须有且仅必须有且仅必须有且仅有一个有一个有一个有一个mainmainmainmain函数。
函数。
函数。
函数。
2.C2.C2.C2.C程序的执行程序的执行程序的执行程序的执行从从从从mainmainmainmain函数函数函数函数开始,调用其他函数后,流程开始,调用其他函数后,流程开始,调用其他函数后,流程开始,调用其他函数后,流程回到回到回到回到mainmainmainmain函数,函数,函数,函数,mainmainmainmain函数函数函数函数结束整个函数的运行。
结束整个函数的运行。
结束整个函数的运行。
结束整个函数的运行。
3333.由主函数调用其他函数,其他函数也可互相调用,由主函数调用其他函数,其他函数也可互相调用,由主函数调用其他函数,其他函数也可互相调用,由主函数调用其他函数,其他函数也可互相调用,但但但但不能调用不能调用不能调用不能调用mainmainmainmain函数。
函数。
函数。
函数。
同一个函数可以被一个或多个函同一个函数可以被一个或多个函同一个函数可以被一个或多个函同一个函数可以被一个或多个函数调用任意多次。
数调用任意多次。
数调用任意多次。
数调用任意多次。
4.4.4.4.从用户角度看,函数分为两种:
从用户角度看,函数分为两种:
从用户角度看,函数分为两种:
从用户角度看,函数分为两种:
标准函数标准函数标准函数标准函数:
即库函数,由系统提供。
:
即库函数,由系统提供。
:
即库函数,由系统提供。
:
即库函数,由系统提供。
用户自定义函数用户自定义函数用户自定义函数用户自定义函数:
用户自己定义的。
:
用户自己定义的。
:
用户自己定义的。
:
用户自己定义的。
5.5.5.5.从函数形式看,函数分为两种:
从函数形式看,函数分为两种:
从函数形式看,函数分为两种:
从函数形式看,函数分为两种:
无参函数。
无参函数。
无参函数。
无参函数。
有参函数。
有参函数。
有参函数。
有参函数。
6.26.2函数定义的一般形式函数定义的一般形式一一函数定义的一般形式函数定义的一般形式列表列表列表列表类型标识符类型标识符类型标识符类型标识符函数名函数名函数名函数名(类型类型类型类型1111形参形参形参形参1,1,1,1,类型类型类型类型2222形参形参形参形参2,2,2,2,)声明部分声明部分声明部分声明部分语句语句语句语句二二说明:
说明:
1.1.1.1.所有函数在定义时都是互相独立的,即不能嵌套定义;所有函数在定义时都是互相独立的,即不能嵌套定义;所有函数在定义时都是互相独立的,即不能嵌套定义;所有函数在定义时都是互相独立的,即不能嵌套定义;2.2.2.2.类型标识符类型标识符类型标识符类型标识符:
说明了函数返回值的类型,当返回值为:
说明了函数返回值的类型,当返回值为:
说明了函数返回值的类型,当返回值为:
说明了函数返回值的类型,当返回值为intintintint时时时时,可省略不写可省略不写可省略不写可省略不写;3.3.3.3.函数名函数名函数名函数名:
遵循标识符的命名规则;:
遵循标识符的命名规则;:
遵循标识符的命名规则;:
遵循标识符的命名规则;同一个函数中函数名同一个函数中函数名同一个函数中函数名同一个函数中函数名必须唯一必须唯一必须唯一必须唯一;4.4.4.4.形参:
只能是变量,每个形参前要有类型名;当定义的形参:
只能是变量,每个形参前要有类型名;当定义的形参:
只能是变量,每个形参前要有类型名;当定义的形参:
只能是变量,每个形参前要有类型名;当定义的函数没有形参时叫作函数没有形参时叫作函数没有形参时叫作函数没有形参时叫作“无参函数无参函数无参函数无参函数”;形式:
类型标识符形式:
类型标识符形式:
类型标识符形式:
类型标识符函数名()函数名()函数名()函数名()声明部分声明部分声明部分声明部分语句语句语句语句5.5.5.5.函数体:
当声明部分和语句都没有时函数体:
当声明部分和语句都没有时函数体:
当声明部分和语句都没有时函数体:
当声明部分和语句都没有时,称为称为称为称为“空函数空函数空函数空函数”,空函数没有任何实际作用;空函数没有任何实际作用;空函数没有任何实际作用;空函数没有任何实际作用;形式:
类型说明符形式:
类型说明符形式:
类型说明符形式:
类型说明符函数名(函数名(函数名(函数名()例如:
例如:
例如:
例如:
dummy()dummy()例如例如:
intintmax(intx,inty)max(intx,inty)intz;intz;z=xyz=xy?
x:
y;x:
y;return(z);return(z);函数名函数名返回值返回值类类型型形参形参1形参形参2声明部分声明部分声明部分声明部分语句(执语句(执语句(执语句(执行部分)行部分)行部分)行部分)函数体函数体函数体函数体6.36.3函数参数和函数的值函数参数和函数的值一一一一形式参数和实际参数形式参数和实际参数形式参数和实际参数形式参数和实际参数实际参数:
实际参数:
实际参数:
实际参数:
调用函数时,函数名后面括弧中的参数称为调用函数时,函数名后面括弧中的参数称为调用函数时,函数名后面括弧中的参数称为调用函数时,函数名后面括弧中的参数称为“实际参数实际参数实际参数实际参数”(简称(简称(简称(简称实参实参实参实参)。
)。
)。
)。
形式参数:
形式参数:
形式参数:
形式参数:
定义函数时,函数名后面括弧中的参数称为定义函数时,函数名后面括弧中的参数称为定义函数时,函数名后面括弧中的参数称为定义函数时,函数名后面括弧中的参数称为“形式参数形式参数形式参数形式参数”(简称(简称(简称(简称形参形参形参形参)。
)。
)。
)。
例如例如例如例如:
main()main()main()main()inta,b,c;inta,b,c;inta,b,c;inta,b,c;scanf(scanf(scanf(scanf(“%d,%d%d,%d%d,%d%d,%d”,&a,&b);,&a,&b);,&a,&b);,&a,&b);c=max(c=max(c=max(c=max(a,ba,ba,ba,b););););printf(printf(printf(printf(“Maxis%dMaxis%dMaxis%dMaxis%d”,c);,c);,c);,c);max(intmax(intmax(intmax(intxxxx,int,int,int,intyyyy)intz;intz;intz;intz;z=xy?
x:
y;z=xy?
x:
y;z=xy?
x:
y;z=xy?
x:
y;return(z);return(z);return(z);return(z);二二关于关于形参与实参的说明:
形参与实参的说明:
1.未出现函数调用时,形参变量不占内存中的存储未出现函数调用时,形参变量不占内存中的存储单元。
在发生函数调用时,形参才被分配内存单单元。
在发生函数调用时,形参才被分配内存单元。
调用结束后,形参所占的内存单元被释放。
元。
调用结束后,形参所占的内存单元被释放。
2.实参可以是实参可以是常量、变量或表达式常量、变量或表达式,必须有确定的,必须有确定的值。
在调用时,将实参的值赋给形参变量。
值。
在调用时,将实参的值赋给形参变量。
3.实参与形参的类型应相同或兼容。
实参与形参的类型应相同或兼容。
如果类型不一如果类型不一致,则将实参转换为和形参类型一致时再赋值。
致,则将实参转换为和形参类型一致时再赋值。
例如例如例如例如:
main()main()intc;c=max(intc;c=max(3.53.5,5+25+2););printf(“Maxis%d”,c);printf(“Maxis%d”,c);max(intmax(intxx,int,intyy)intz;z=xy?
x:
y;return(z);intz;z=xy?
x:
y;return(z);4.实参变量对形参变量是单向的实参变量对形参变量是单向的“值传递值传递”。
即即只能实参传给形参,不能由形参传回来给实参。
只能实参传给形参,不能由形参传回来给实参。
在内存中,在内存中,实参单元与形参单元是不同的单元。
实参单元与形参单元是不同的单元。
main()inta=10,b=20;alter(a,b);printf(“a=%d,b=%dn”,a,b);alter(intx,inty)intt;t=x;x=y;y=t;1020aabbxxyy10202010总结:
总结:
形参的值发生形参的值发生改变,并不能改变,并不能影响实参。
影响实参。
三三函数的返回值函数的返回值11.函数通过函数通过returnreturn语句返回函数的值,若不需要语句返回函数的值,若不需要返回函数值,可以不要返回函数值,可以不要returnreturn语句。
语句。
形式:
形式:
return(表达式);(表达式);return(变(变量);量);return(常(常量);量);例如:
例如:
returnz;或或return0;或或return(a+b);22.定义函数时定义函数时,函数的返回值类型应与函数的返回值类型应与returnreturn语句语句中的表达式类型一致。
如果不一致,则以中的表达式类型一致。
如果不一致,则以函数函数类型类型为准。
为准。
括号可省略括号可省略3.3.若函数中没有若函数中没有若函数中没有若函数中没有returnreturnreturnreturn语句,函数语句,函数语句,函数语句,函数也会带回一个不确定也会带回一个不确定也会带回一个不确定也会带回一个不确定的值的值的值的值,为了明确表示为了明确表示为了明确表示为了明确表示“不带回值不带回值不带回值不带回值”,用关键字用关键字用关键字用关键字“voidvoidvoidvoid”定义定义定义定义“无类型无类型无类型无类型”(或称或称或称或称“空类型空类型空类型空类型”)。
例例:
voidvoidprintstar()printf(“*n”);main()printstar();printmessage();printstar();voidvoidprintmessage()printf(“Howdoyoudo!
n”);这样,系统就保证使函数不带回任何值。
这样,系统就保证使函数不带回任何值。
6.46.4函数的调用函数的调用一一函数调用的一般形式函数调用的一般形式函数名(实参表列);函数名(实参表列);或或函数名();函数名();说明说明:
1.:
1.各实参间用逗号格开。
各实参间用逗号格开。
2.2.实参与形参的个数应相同,类型应一致。
实参与形参的个数应相同,类型应一致。
3.3.被调用函数必须是已经存在的函数。
被调用函数必须是已经存在的函数。
有参函数的有参函数的调用形式调用形式无参函数的无参函数的调用形式调用形式二二函数调用的方式函数调用的方式按出现的位置分,有如下三种函数调用方式:
按出现的位置分,有如下三种函数调用方式:
按出现的位置分,有如下三种函数调用方式:
按出现的位置分,有如下三种函数调用方式:
1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 函数 讲解 精品 文档
![提示](https://static.bdocx.com/images/bang_tan.gif)