第七章函数2讲课.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序设计 Contents 1. Introduction 2. Strategy 3. Challengers Forward 4. Conclusion 学 习 内 容 7.1 概述 7.2 函数的参数和函数的值 7.3 函数间的参数传递 7.4 数组作为函数参数 7.5 函数的嵌套调用与递归调用 7.6变量的作用域和存储方式 程序举例 模块化程序设计 函数的定义与调用 函数的参数 函数的返回值 被调函数的声明 上节课内容回顾 函数间的参数传递 7.3 C程序中,函数间的参数传递有两个方面: (1)函数调用时传递给函数的值; (2)函数调用结束时返回给主调函数的值。 1 函数的参数 函数的参数有形参和实参两种,形参是出现在函数定义中,在整个函数体内部都有效,离开该函数则无意义。实参是出现在主调函数中,其作用是把实参的值传递给被调函数的形参,从而实现主调函数向被调函数传递数据的功能。 6.2 函数参数传递 实参 实参与形参 参数传递 void main() { int x, y, z; scanf(“%d%d”,x,y); z=max( x, y ); printf(“%d”,z) } int max(int a , int b ) { int c; c=ab ? a : b; return c; } 常量 变量 表达式 形参:变量 实参与形参 参数传递 int max(int a , int b ) { int c; c=ab ? a : b; return c; } void main() { int x, y, z; scanf(“%d%d”,x,y); z=max( x, y ); printf(“%d”,z) } x 3 y 5 z a b c 5 3 5 5 1、实参与形参:个数相同、类型一致、按顺序传递 2、实参 - 形参,值传递 单向 形参值的变化不会影响实参的值 实参和形参可以同名 实参与形参 参数传递 void main() { int x, y, z; scanf(“%d%d”,x,y); z=max( x, y ); printf(“%d”,z) } int max(int a , int b ) { int c; c=ab ? a : b; return c; } 函数调用 流程 a、为被调函数的局部变量(包括定义的变量和形参)开辟存储单元。 b、将实际参数的值复制给形式参数。 c、流程从主调函数的调用处转移到被调函数,执行被调函数体中的语句序列。 d、当执行到被调函数的“return (表达式);”语句时,将表达式的值返回到主调函数的调用处,即以该表达式的值作为函数值替换“函数名(实际参数表)”,结束被调函数的执行;如无return语句,则遇函数体的右花括号“}”也结束被调函数的执行。 e、释放局部变量的存储单元,流程从被调函数转移到主调函数的调用处。 f、继续从主调函数的调用处向下执行。 一、普通变量作为 函数实参 int swap(int a,int b) { int t; printf(a=%d,b=%d\n,a,b); t=a;a=b;b=t; printf(a=%d,b=%d\n,a,b); } #include stdio.h main() { int x=3,y=5; swap(x,y); printf(x=%d,y=%d\n,x,y); } kan swap函数的功能是交换两个参数的值。从上面运行结果可以看出,交换了两个形参变量a和b的值,而main函数中实参x和y的值没有交换,这是因为实参向形参的数据传递是单向的,因而形参值的改变不会影响实参。 swap 图7-10 参数的单向传递 b a 实参 形参 3 5 5 x 3 y a 实参 形参 b 5 3 5 x 3 y 函数调用时 函数调用结束时 二、数组元素作为 函数实参 int swap(int a,int b) { int t; printf(a=%d,b=%d\n,a,b); t=a;a=b;b=t; printf(a=%d,b=%d\n,a,b); } #include stdio.h main() { int x[2]={3,5}; swap(x[

文档评论(0)

花仙子 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档