1、第四章 函 数 函数是对数据进行运算和操作的重要手段。在面向过程程序设计中,函数是程序模块划分的基本单位。在面向对象程序设计中它是实现对象功能和行为的手段。第一节 函 数( 1)n 在数学中,经常用下面的方法表示函数:f (x,y)=x2+y+10如果,已知自变量 x、 y的值分别为 a、 b, 那么,则可根据运算表达式就可以计算出 f( )的值。即:f (a,b)=a2+b+10n 如果用 C+语言来书写这个函数(设数据类型为 float型),则为:函数名自变量自变量float f (float x,float y) return (x*x+y+10); 第一节 函 数( 2)n 在程序设计
2、中,函数是作为一个独立的程序单位写在主函数外部的。n 在程序中需要使用这个函数时,需要写出函数名并用实际值或实际变量代入括号中对应的 形参 位置。n 要代入的实际值或变量叫做 实际参数 (实参)。例如:#include float f (float x,float y) float z,g; z= x*x; g=z+y+10; return g; void main() coutf (10.0,6.5)endl; float a=28.7; float b=30.5; coutf(a,b)endl; 形参 形参实参 实参实参实参第一节 函 数( 3)C+要求,函数要先定义后使用。也可以在使用这
3、个函前,使用函数原型对这个函数进行声明,然后在其他适当的位置对函数进行实现。 函数原型 的声明方法为: 函数的定义数据类型 函数名(数据类型 形参 1,数据类型 形参 2, )函数体返回值类型 函数名(形参列表或形参类型列表);第一节 函 数( 4)n 可以给形参定义 默认值 。这样,在调用该函数时,如果给出了实参,则用实参初始化形参;如果没有给出实参,则使用默认值初始化形参。 n 注意 :第一,在函数的形参列表中, 默认的形参值必须从右向左顺序定义。即在有默认值的形参右边,不能出现无默认值的形参 ;第二, 只能在声明函数原型时声明默认值 。为了在实现函数时清楚起见,可以在形参列表中添加适当的
4、注释,例如: int add (int x,int y/*y=9*/)。 带默认参数值的函数 第二节 函数的调用( 1)第二节 函数的调用( 2)n 值传递 是指当发生函数调用时,用实参的值对形参进行初始化。所以形参与实参互不干扰,也就是说,在函数中,无论形参的值发生了什么变化,都不会改变实参的值。n 引用传递 C+允许为一个变量命名多个名称,也就是说可以给变量起 别名 , 这个变量的别名就叫做该变量的 引用 。 如果在定义函数时,把形参名定义为实参名的引用,那么在调用该函数时,传递的就是实参本身,这样,在函数中对形参的改变也就是对实参的改变,因为形参和实参代表的是同一个变量。函数参数的传递 数据类型