合工大计算机学院 程序设计 04第四章 函数.ppt
《合工大计算机学院 程序设计 04第四章 函数.ppt》由会员分享,可在线阅读,更多相关《合工大计算机学院 程序设计 04第四章 函数.ppt(29页珍藏版)》请在三一办公上搜索。
1、第四章 函数,函数的声明与调用 参数传递方式 标识符的作用域 变量的生存期 递归程序设计 C+语言常用库函数,4.1 C+语言的函数 一、函数的建立与使用,函数的建立函数声明:定义函数的名字、执行的语句序列、传递和使用的数据参数、返回值等;函数的使用函数调用:指明函数去“做什么”;函数调用的控制流程:如右图,函数调用程序(主调函数),调用F,调用F,被调用函数F,例1:,#include float max(float x,float y)float z;/求两个数的最大值if(x=y)z=x;else z=y;return z;int main()float i,j,k;/用户输入的三个数f
2、loat temp;/临时最大者cout i j k;/用户输入三个数/找出最大数存放在temp中temp=max(i,j);/main()是主调函数,max()是被调函数temp=max(temp,k);/输出找到的最大数cout The maximum number is temp n;return 0;,3.说明,C+语言中,函数是平行的,相互独立。一个函数不从属于另一个函数,即函数不能嵌套定义例:fun1()fun2()这是不合法的,无法通过编译,从函数声明的角度看:标准函数(库函数):由C+语言的集成开发环境提供,存放在库(Library)函数中,用户在链接相应的库函数头文件后便可以
3、直接使用。用户自定义的函数从函数的形式看:无参函数:调用该函数时,主调函数不需函数要将数据传递给被调用函数,只执行指定的一组操作有参函数:主调需传递数据给被调函数,4.2 函数的声明与调用 一、函数声明,函数声明(函数的定义性声明)函数类型 函数名(形式参数表)说明部分(变量声明)语句部分 函数类型指函数返回值的数据类型,由return语句获得:float max(float x,float y)return xy?x:y;若函数定义时没有说明函数类型,则缺省认为函数返回类型是int main()若函数无返回值,则应明确定义函数类型为void void handle(),函数名是标识符函数名后
4、一定要有一对圆括号(),这是函数的标志,使函数与其他标识符名区分开来形式参数用于接收从主调函数传给这个函数的数据一般形式:(数据类型 变量1,数据类型 变量2,)形参个数不受限制函数体声明部分:用于声明在函数中使用到的变量语句部分:在函数中用于实现某项任务的语句序列空函数:函数体为空(没有语句,但 不能省略),二、函数调用,函数调用的一般形式:当作表达式使用函数名(实际参数表)实际参数出现在函数调用表达式中,是函数调用时,实际使用的参数一般形式:(表达式1,表达式2,)实际参数表是用逗号分隔的表达式列表,其中每一个表达式称为实际参数,有时也简称为实参。在函数调用时,需要将实际参数的值传送给对应
5、位置的形式参数实际参数与形式参数必须一一对应,位置、个数以及数据类型都匹配 例:p82,2.函数调用表达式,函数调用作为一个表达式,其类型是函数返回值的类型 函数调用可用于任何表达式可以出现的地方例1:if(max(i,j)k)例2:temp=max(max(i,j),k);3.函数的嵌套调用:在调用一函数的过程中,又调用另一函数C+允许函数的嵌套调用不允许函数的嵌套定义,4.对被调用函数的声明和函数原型,函数使用必须遵循“先声明、后使用”原则,因为C+编译系统在编译时必须先知道该函数实现的形式(接口形式)。对于用户自定义函数如果被调用函数的定义位于主调函数的后面,则必须在调用函数表达式之前对
6、被调用函数做引用性声明函数的定义性声明:完整的、独立的函数单位,包括函数类型、函数名、形参及其类型,并且具有完整的函数体;函数的引用性声明(函数原型):无函数体部分,一般形式:函数定义的首部;函数原型必须与函数定义保持一致,例:,#include int main()float i,j,k;float temp;cout i j k;temp=max(i,j);temp=max(temp,k);cout=y)z=x;else z=y;return z;,float max(float x,float y);,函数原型:float max(float x,float y);float max(f
7、loat,float);float max(float t,float k);,4.3 参数传递,一、参数传递方式 主调函数与被调函数的数据交换:由参数传递与返回值实现按值调用:单项的参数传递按引用调用:双向的参数传递二、按值调用(传值,按拷贝调用)单向的,实际参数形式参数,传递的是参数的值例:p91#include cout i is i n;int square(int x)cout j is j n;/求一个整数的平方 return 0;x=x*x;return x;int main()int i,j;i=8;j=square(i);,8,64,64,64,三、缺省参数,C+语言允许在函
8、数原型或函数定义中为形式参数指定缺省值,具有缺省值的形式参数称缺省形参用初值表达式定义缺省值缺省行参必须从右边开始定义int func(int a,float b,int c=0);若在函数调用时指定了形式参数对应的实际参数,则形式参数使用实际参数的值,否则未指定相应的实际参数则形式参数使用缺省值。,例2:,#include#include/给出函数原型double distance(double x1,double y1,double x2=0,double y2=0);int main()cout(1,2)to(0,0)is distance(1,2)n;cout(-1.5,2)to(1.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 合工大计算机学院 程序设计 04第四章 函数 合工大 计算机 学院 04 第四
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6555747.html