- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十一节 函数的定义与调用
1:通过本节课的学习,使学生了解函数的定义,学会函数的调用以及了解形参和实参的概念和区别
1.1教学目的:
1.掌握函数的定义
2.掌握函数的调用
3.掌握形参与实参的概念与用法
1.2教学内容:
1.函数的定义
2.函数的调用
3.函数传递参数的方法
1.3教学重点:
传递参数
1.4教学方法:
讲授法、习题
1.5学习方法:
练习、总结
1.6学习时间:
第十七周
2:回顾上一节: [5分钟]
处理多个数据排序会用到数组,具体如何使用
3:课程知识点讲解:
具体知识点1:函数的定义 [ 25分钟]
知识点讲解:1.无参函数的定义
定义格式:数据类型 函数名()
{函数体(说明部分+ 语句)}
2.有参函数的定义
定义格式:数据类型 函数名(带类型形参表)
{函数体(说明部分+ 语句)}
函数的返回值通过函数体中的return语句获得。
说明:
(1)函数名不能与该程序中的其它函数名重名,也不能与函数中的其它标识符相同。
(2)定义有参函数后,形参并没有具体的值,只有被调用时才得到具体的值,形参必须是变量。函数可以没有形参,但不能省略函数名后的括号。
案例讲解:
编程分析:定义函数max( )实现两数大小的比较。定义一个主函数进行数据的输入和输出。
int max(float x,float y)/*自编函数max(float x, float y)求较大的数。*/
{float z;
z=xy?x:y;
return z; /*返回主函数*/
}
main( )
{ float a=1.5,b=5.5; /*定义两个实数*/
int c;
c=max(a,b); /*调用函数*/
printf(“Max is %d\n”,c);
}
程序运行结果:Max is 5
具体知识点2:函数的调用 [ 15分钟]
知识点讲解:一般形式为
函数名([实参1,实参2……])
其中用方括号括起来的部分为可选项。
调用时一般有三种方式:
赋值 如:c=max(x,y);
表达式中 如:c=1+max(x,y); printf(“Max=%d\n”,max(x,y));
执行函数 如:max(x,y);
说明:
(1)在一个函数中可以多次调用其他函数,但调用语句中的函数名必须与被调用函数的函数名相同。
(2)实参应与形参个数相同、位置对应、类型一致,实参可以是表达式,但在调用函数前必须确定其值。
(3)实参是变量时,可以与对应的形参同名。(原因是不同函数中的同名变量占用不同的存储空间。)
调用同一源文件中的非标准函数
数据类型 函数名(形参表)
调用其他源文件中定义的函数
extern 函数名(形参表)
在程序中要调用另一个函数,应注意以下问题:
(1)被调函数必须存在,被调用函数可以是标准库中的函数、自己建立的函数库中的函数或自编函数。
(2)被调用的函数的定义位置正确。标准库中的函数、自己建立的函数库的函数,则在主调函数前必须有#include命令行(将含有该函数信息的文件包含进来)。如果被调用函数是自编函数,应定义在主调函数之前或在主调函数中对所调函数进行说明。
(3)实参与形参的个数相同;实参与形参对应的类型一致;每个实参都必须有确定值
案例讲解:
main()
{ int x=80,y=90,c;
extern max(); /*函数说明*/
c=max(x,y)+20; /*调用max函数*/
printf(“Max is %d\n”,c);
}
extern max(int a,int b) /*extern可省*/
{ float c;
c=ab?a:b;
return c; } /* 返回到主调函数*/
程序运行结果:Max is 110
知识点讲解:函数的形参与实参 [ 30分钟]
关于形参与实参的说明:
1.在定义函数中指定的形参变量,在未出现函数调用时,它们并不占内存中的存储单元。只有在发生函数调用时函数myswap中的形参才被分配内存单元。在调用结束后,形参所占的内存单元也被释放。
2.实参可以是常量、变量或表达式,如:
myswap(3, a+b);
但要求它们有确定的值。在调用时将实参的值赋给形参变量(如果形参是数组名,则传递的是数组首地址,而不是变量的值
3.在被定义的函数中,必须指定形参的类型。
4.
文档评论(0)