- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
全国计算机二级C语言程序设计讲义 函数定义与嵌套调用
第12讲 函数的嵌套调用; 4、 函数原型
5、 数组作为函数的参数
三、函数的调用
1、 函数调用的一般形式
2、 函数嵌套调用
;1、 C程序的模块化结构;格式一 :
[类型符] 函数名称( [形参表] )
[形参说明]
{ 数据说明语句
可执行语句 }
格式二 :
[类型符] 函数名称( 类型 形参1 [ ,··· ] )
{ 数据说明语句
可执行语句 };函数定义的一般形式举例:;函数定义的一般形式说明:;float sum ( x , y )
float x , y ;
{ int z ;
z = x + y ; return z ;
};float sum ( float x , float y )
{ ……
}
float sum ( x , y )
float x , y ;
{ int z ;
z = x + y ; return z ;
};float sum ( x , y )
float x , y ;
{ int z ;
z = x + y ; return z ;
};例 编写自定义函数计算:;例 编写一个自定义函数求 n!;实参(实际参数)是函数调用时调用函数传送给被调用函数参数的实际值。实参可以是常量、变量和表达式,实参必须有确定的值。
例如: fabs( -2 );
putchar( c );
sqrt((x*x+2)*(y+z));;形参(形式参数)是函数定义时,参数表中的参数。形式参数只能是变量。在函数定义时,参数表中的形参并没有具体的值,系统也不为其分配存储单元。
例如:max( float x, float y )
{ ··· }
float ftoc( float temp )
{ ··· } ;例 形参和实参的运用;说明:;函数的返回值:当被调用函数在完成一定的功能后,可以将处理的结果返回到调用函数。
方式:return 语句
作用:将表达式的值传给调用函数,并把控制权转向调用函数实现函数的返回,即结束被调用函数的执行,并将控制返回到调用它的函数。
格式:
return [ [ ( ] 表达式 [ ) ] ];; 对于不需要提供返回值的函数可以直接用void作为函数类型定义,以表明此函数返回值为”无类型”或”空类型”。
例:void psch( ) { printf(Wuhan University\n); }
main()
{ psch( ); };函数原型:在定义或调用函数前,对该函数进行声明。
作用:将函数名、函数类型及形参个数、类型、顺序等通知编译系统,当函数被调用时,可对实参、形参的类型、个数匹配情况进行检查。
格式:
类型符 函数名(参数类型1,··· );
或:
类型符 函数名(类型符 形参1,··· );;例 利用变量换数 ;例 判定素数。;数组元素做函数实参,遵循”值传送”特性,此时形参为变量。
数组名可做实参和形参,传送的是整个数组。
在用数组名做函数参数时,实参和形参都应该用数组(或指针变量)。;数组元素作为函数参数举例:;szdy1( int x[10] ) ;
szdy2( int x[4][5] ) ;
main( )
{ int a[10], b[4][5] ;
···
szdy1 ( a );
szdy2 ( b );
··· };数组名作函数参数时应注意:;数组名作函数的参数举例:;例 利用数组换数 ;void huanshu2(int shuzu[ ], int n )
{ int t, i;
printf(\n);
for (i=0;in;i++)
printf(2)shuzu[%d]=%2d ,i,shuzu[i]);
for (i=0;in-1;i++)
{ t=shuzu[i]; shuzu[i]=shuzu[i+1];
shuzu[i+1]=t; }
printf(\n);
for ( i=0; in; i++ )
printf(3)shuzu[%d]=%2d
文档评论(0)