全国计算机二级C语言程序设计讲义 函数定义与嵌套调用.ppt

全国计算机二级C语言程序设计讲义 函数定义与嵌套调用.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

f8r9t5c + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档