5.3函数调用 言53.1函数调用 程 序 53.2函数传值调用 5.3.3函数沤回值 60 环 境 返回本目录
《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 返回本章目录 5.3.2 函数传值调用 5.3.1 函数调用 5.3 函数调用 5.3.3 函数返回值
53.1函数调用 函数调用的一般形式为:函数名(实际参数表 切记:实参的个数、类型和顺序,应该与被调用函数所要求的 参数个数、类型和顺序一致,才能正确地进行数据传递 据言程设计 在C语言中,可以用以下几种方式调用函数 (1)函数表达式。函数作为表达式的一项,出现在表达式中,以 函数返回值参与表达式的运算。这种方式要求函数是有返回值 的 (2)函数语句。C语言中的涵数可以只进行某些操作而不返回函 数值,这时的函数调用可作为一条独立的语句。 (3)函数实参。函数作为另一个函数调用的实际参数出现。这种 情况是把该函数的返回值作为实参进行传送,因此要求该函数 必须是有返回值的。 60 环 境 返回不目录
5.3.1 函数调用 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 函数调用的一般形式为: 函数名([实际参数表]) 切记:实参的个数、类型和顺序,应该与被调用函数所要求的 参数个数、类型和顺序一致,才能正确地进行数据传递。 在C语言中,可以用以下几种方式调用函数: (1)函数表达式。函数作为表达式的一项,出现在表达式中,以 函数返回值参与表达式的运算。这种方式要求函数是有返回值 的。 (2)函数语句。C语言中的函数可以只进行某些操作而不返回函 数值,这时的函数调用可作为一条独立的语句。 (3)函数实参。函数作为另一个函数调用的实际参数出现。这种 情况是把该函数的返回值作为实参进行传送,因此要求该函数 必须是有返回值的。 返回本节目录
53.1函数调用 说明: (1)调用函数时,函数名称必须与具有该功能的自定义函数名称 完全一致 悟言程序设计 (2)实参在类型上按顺序与形参,必须一一对应和匹配。如果类 型不匹配,C编译程序将按赋值兼容的规则进行转换。如果实 参和形参的类型不赋值兼容,通常并不给出出错信息,且程序 仍然继续执行,只是得不到正确的结果。 (3)如果实参表中包括多个参数,对实参的求值顺序随系统而异。 有的系统按自左向右顺序求实参的值,有的系统则相反 60 环 境 返回不目录
5.3.1 函数调用 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 说明: (1)调用函数时,函数名称必须与具有该功能的自定义函数名称 完全一致。 (2)实参在类型上按顺序与形参,必须一一对应和匹配。如果类 型不匹配,C编译程序将按赋值兼容的规则进行转换。如果实 参和形参的类型不赋值兼容,通常并不给出出错信息,且程序 仍然继续执行,只是得不到正确的结果。 (3)如果实参表中包括多个参数,对实参的求值顺序随系统而异。 有的系统按自左向右顺序求实参的值,有的系统则相反。 返回本节目录
5.3.2函教传值调用 1函数的参数分为形参和实参两种,作用是 实现数据传送。 程 形参出现在函数定义中,只能在该函数体内使用。发生函 序 数调用时,调用函数把实参的值复制1份,传送给被调用函数的 形参,从而实现调用函数向被调用函数的数据传送。 【例53】实参对形参的数据传递。 /*实参对形参的数据传递。* /*程序代码文件名:15_3.cpy void maino 60 void so(int n); /*说明函数* int n=100 *定义实参n,并初始化* 环 境 返回不目录
5.3.2 函数传值调用 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 返回本节目录 1.函数的参数分为形参和实参两种,作用是 实现数据传送。 形参出现在函数定义中,只能在该函数体内使用。发生函 数调用时,调用函数把实参的值复制1份,传送给被调用函数的 形参,从而实现调用函数向被调用函数的数据传送。 【例5.3】 实参对形参的数据传递。 /*实参对形参的数据传递。*/ /*程序代码文件名:l5_3.cpp/ void main() { void so(int n); /*说明函数*/ int n=100; /*定义实参n,并初始化*/
5.3.2函教传值调用 so(n) /*调用函数* printi("nso=%dn";n),/*输出调用后实参的值,便于进行比较* getch0: 据言程设计 VO oid so(int n) Int 1, printf("n x=%d\n", n); /*输出改变前形参的值* for(i=n-1;p>=1;i-)n=ni;/*改变形参的值* printf("nx=%odn"n); /*输出改变后形参的值* 程序运行结果为: 60 nx=100 nx=5050 nx=100 环 境 返回不目录
5.3.2 函数传值调用 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 返回本节目录 so(n); /*调用函数*/ printf("n_so=%d\n",n); /*输出调用后实参的值,便于进行比较*/ getch(); } void so(int n) { int i; printf("n_x=%d\n",n); /*输出改变前形参的值*/ for(i=n-1; i>=1; i--) n=n+i; /*改变形参的值*/ printf("n_x=%d\n",n); /*输出改变后形参的值*/ } 程序运行结果为: n_x=100 n_x=5050 n_x=100