欢迎来到天天文库
浏览记录
ID:37781207
大小:31.50 KB
页数:4页
时间:2019-05-31
《第三章、函数.ppt.Convertor》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、函数3.1函数定义与使用一个C++源程序通常由一个主函数和若干个子函数组成,各子函数之间的关系是平行的,因此不能嵌套定义,但能相互调用。一个C++源程序无论包含了多少个函数,程序的执行总是从主函数main()开始,并终止于主函数main()。通常将一个C++源程序分解成一个或多个文件,这些文件可分别编写、编译、最后连接为一个.exe文件。从用户使用的角度将函数分为两种:标准函数(库函数)和用户自定义函数。13.1.1、调用C++标准函数时要求在源程序的开始处使用include命令将该函数对应的头文件包含进来。如:#includ
2、e"math.h"注意:include命令不是C语句,因此不能在最后加分号。3.1.2、函数的定义一个函数必须定义后才能使用。所谓定义函数,就是编写完成函数功能的程序块也就是函数体。格式:返回值类型函数名(形参表){函数体}定义和使用函数时的几个问题:1)、函数的返回类型与函数模块中的return<表达式>对应。return的功能:1>使流程返回主调函数,宣告函数的一次执行终结;2>把函数送到调用表达式中。有些函数没有返回值(void),这时调用该函数是为了得到运行该函数内部程序段的其它效果。注意函数调用时形参与实参的对应。2
3、)、函数在没有被调用的时候是静止的,此时参数只是一个符号,在被调用时才被执行,形参与实参要类型对应。33)、函数的调用形式:一般是在主方法中调用,一要注意函数的生存周期,二要注意形参与实参的对应,三要注意函数的返回值。4)、函数可以嵌套调用5)、函数的原型C++规定,函数和变量一样,在使用之前要先声明。在C++中有一种引用性声明,即函数原型,通常也称为函数声明。例如:#includeintmax(intx,inty);voidmain(){cout<<“Entertwointeger:”;inta,b;
4、cin>>a>>b;cout<<“Themaxiumnumberis”<y?x:y;}5注意:1)main()函数由系统自动调用,不需显式调用;2)函数声明只是声明了要调用的函数返回值的类型以及形参的个数和类型,不是定义一个函数。函数声明时指定的函数返回值类型必须与该函数定义时所指定的类型一致。3)在同一个文件中,如果被调函数位于主调函数之前,或者被调函数的返回值是int型或char型时,则对被调函数的声明可以省略。4)main()可以调用其
5、它函数,各函数间可以互相调用,但不能调用main();3.2函数的参数传递函数的参数传递有两种形式:数值传递(数值复制)和引用传递(地址传递),引用传递在地址和指针中介绍。数值传递(值传递):实际参数和形式参数的对应。C++L3lzm1注意:1)在被定义的函数中,必须指定形参的类型。2)实参与形参应在位置、个数、类型上保持一致。如果实参为整型而形参为实型,或者相反,则发生“类型不匹配”的错误。但字符型与整型可以互相通用。3)C++规定,实参变量对形参变量的数据传递是“单向值传递”。即数据只能由实参传给形参,而不能由形参传回给
6、实参。73.3函数重载C++允许用同一函数名定义多个函数,这些函数的参数个数或参数类型不同。即一个函数多重用途。C++L3lzm2注意: 在使用函数重载时,同名函数的功能应当相同或相近,不要用同一函数名去实现完全不相干的功能(如求最大值和三角形面积),虽然程序也能运行,但可读性不好。3.4函数的默认参数在函数定义时,可以在部分参数后面加默认值即为函数的默认参数。如;有一个求圆柱体积的函数,形参h表示高,r为底面半径。函数原型:floatvolume(floath,floatr=12.5);//r指定默认值12.5函数调用可
7、以采用以下形式:volume(45.6);//相当于volume(45.6,12.5)volume(45.6,10.4)//r为10.4实参与形参的结合是从左向右进行。利用函数的默认参数,可以使函数的使用更加灵活。有时可以不用重载函数,而改用带有默认参数的函数。9注意:1)如果函数的定义在函数调用之前,则应在函数定义中给出默认值。如果函数的定义在函数调用之后,则在函数调用之前需要有函数声明,此时必须在函数声明中给出默认值,在函数定义时可以不给出默认值,也就是说必须在函数调用之前将默认值的信息通知编译系统2)如果在声明时已对形参
8、给出默认值,而在函数定义时又给出默认值,有的系统编译时报错,有的系统不报错,不报错时,以前出现的为准。3)一个函数不能既作为重载函数,又作为有默认参数的函数。4)默认参数的设置必须从右向左设置,不能有间隔。103.5内联函数(内置函数)函数调用时需要一定的时间和空间的开销(约
此文档下载收益归作者所有