C C++程序设计 第2版 陈卫卫 C第4章 -1新.pptVIP

C C++程序设计 第2版 陈卫卫 C第4章 -1新.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C/C++程序设计技术 (第二版) 制作者:陈卫卫 王庆瑞 第4章 函数 主要内容 4.1 函数定义和调用 4.2 参数传递方式 4.3 变量的作用域和存储属性 4.4 函数的嵌套调用和递归调用 4.5 函数设计示例 4.1 函数定义和调用 4.1.1 函数定义 一般定义格式 每项内容的含义及规定 0)存储属性(后述) 1)函数名——标识符 2)函数类型——返回值类型 若函数不带返回值,其类型为“void” (无类型、空类型或哑类型) 3)形式参数表(形参表)列出所用的全部形式参数(形参) 形参说明的格式: 形参类型 形参(标识符) 形式参数用于主调函数和被调函数之间的数据传递 调用语句将实在参数(实参)传给形参 不同类型的参数,传递的方式可能不同(造成的结果不同) 函数可以不带参数(无参函数——形参部分为空) 但圆括号不能少 4)函数体(用{ }括起来) 说明部分——定义局部量 语句部分——具体处理操作(主体) 空函数:函数体只有花括号,没有具体内容 其作用,预留功能 5)函数的执行步骤(流程) 调用函数时: 计算各实参的值(当实参是带运算的表达式时) 完成参数传递(形实结合) 将控制转移到被调函数 被调函数的形参及局部量开始起作用 执行函数体 函数体执行完毕(执行return语句,或最后一条语句) 调用结束 形参和局部量的作用消失 返回到主调函数 ,继续执行 例4-1 计算n!的函数 //函数定义 long fac(int n ) //函数首部,此尾部没有分号 //以下是函数体 { long t=1; int i; //定义两个局部量t和i //以上是函数体的局部量定义部分 //以下是函数体的语句部分 for(i=1;i=n;i++)t=t*i; return(t); //t是函数返回值 } //函数定义结束,此尾部没有分号 4.1.2 函数调用 一般格式: 函数名 (实在参数表) 例如,主调函数中使用语句: printf(%ld\n,fac(5)); 关于实参表有下列注意事项: 1)实参个数与形参个数相同,类型相配 2)实参可以是常量、变量或一般的表达式 3)先计算实参(是真表达式)再传给相应的实参 注意,不同系统,实参求值次序的规定不同 或左?右或右?左(结果可能不同) 函数调用的三种情况 1)独立的调用语句 调用不带返回值的函数 或有返回值而不准备使用其返回值 单独使用一个语句调用 例4-3 调用两个整数较大值函数求5个数中最大值 #include stdio.h int max(int x,int y) //定义子函数max { if(xy)return x; else return y; //返回两个数的较大值 } void main( ) //主函数 { int a,b,c,d,e,f,g; printf(请输入5个变量a,b,c,d,e的值:\n); scanf(%d%d%d%d%d,a,b,c,d,e); f=max(a,b); //函数调用作为表达式 g=max(max(f,e),max(c,d)); //函数调用作为实参 printf(这5个变量的最大值=%d\n,g); } 语句: g=max(max(f,e),max(c,d)); max函数进行了三次调用,相当于: a1=max(f,e); a2=max(c,d); g=max(a1,a2); 前两次调用作为外层调用的实参 (属于函数嵌套调用) 实质上也是以表达式身份出现的 函数调用应满足的条件 主调函数和被调函数在同一个源程序文件中 必须满足下列条件之一 1)被调函数定义于主调函数之前(可不加函数声明) 2)在主调函数之前或主调函数之中,对被调函数加以声明 函数调用应满足的条件 主调函数和被调函数不在同一个源程序文件中 必须满足下列条件之一 1)在调用前用文件包含命令将被调函数说明(函数定义或声明)所在的文件包含到主调函数所在的文件中 2)被调函数必须是外部函数,在调用前要对被调函数进行声明,而且这两个文件必须在同一个工程文件中 例4-4:函数声明示例 #include stdio.h int add (int x, int y); //函数声明,带分号 void main ( ) { int a, b, c ; scanf (%d%d, a,b); c=add (a

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档