c语言期末复习—第五章 总结.docxVIP

  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文档。上传文档
查看更多
第五章 函 数 函数的作用:功能模块化、结构化 便于阅读、编写、分工和管理 避免程序代码的雷同与重复 一. 函数的定义定义形式:P173 函数类型 函数名(形式参数类型表) { 函数体 } 说明: 函数名需符合标识符的命名规则; 例: int max ( int x , int y ) 函数类型是指函数返回值的数据类型,缺省类型为 int 型。 函数的返回值通过 return 语句带回,其形式为: return 表达式; return 语句的功能是结束函数的执行,返回调用函数; 一个 return 语句只能返回一个值; 对于没有返回值的函数,函数类型应定义为 void 型(无类型或空类型); 无 return 语句则函数返回值为不确定的; 形式参数简称形参,是函数接受调用者向函数传值的主要途径,定义时应分别给出各形参的类型,形式为: 类型 形参名 1,类型 形参名 2,… ,类型 形参名 n 例: int max ( int x , int y ) 形参可以没有,但圆括号不能省略;二. 函数的调用调用形式: 函数名([实在参数表]) 调用说明: 实参可以没有,但圆括号不能省略; 对于有返回值的函数,调用时应以表达式的形式出现; 对于 void 型函数,调用时应以语句的形式出现; 调用流程: 主函数 被调用函数 形参与实参的说明: 实参必须与形参保持个数相同,位置与类型一一对应; P177 注意及说明⑸:“值传递”为单向传递,形参的改变不会影响实参的值。 三. 函数声明(说明)1. 函数被调用的条件:被调用函数已经存在; 标准库函数: # include XXX.h ; 自定义函数: 先定义,后调用(如前例),可不必声明; 提前声明,先调用,后定义:2. 函数声明(函数原型)的形式: 5.2函数的嵌套调用 函数嵌套的说明:函数不能嵌套定义(包括在主函数中),但可以嵌套调用 二. 函数嵌套实例 例:/* 通过函数调用,求正整数 m、n 的最大公约数和最小公倍数 */ # include iostream.h int gcd(int m,int n) // 最大公约数 { int r; while (r=m%n) { m=n; n=r; } return n; } int sct(int m,int n) { // 最小公倍数 return m*n/gcd(m,n); } // 表达式中嵌套调用了 gcd 函数 void main( ) { int m,n,k; cout输入二个数:; cinmn; if (mn) { k=m; m=n; n=k; } cout最大公约数:gcd(m,n)endl; cout最小公倍数:sct(m,n)endl; } 注:函数中的参数传递为单向“传值”,故被调用函数 gcd 中形参 m、n 的变化不影响实参 m、n 的值,所以,对 sct(m,n)的调用仍然是原来的 m、n 值。 另:(除特殊说明外)不同函数中的同名参数占有各自不同的存储空间,互不干扰。因此,便于程序模块(函数)的分工编写。 5.3 函数的递归调用一. 递归函数 递归问题的特点(条件) 原始问题可转化为解决方法相同的新问题; 新问题的规模比原始问题小; 新问题又可转化为解决方法相同的规模更小的新问题,直至终结条件为止。 5.4 数组作为函数参数(P192) 前 言: P192 定义: int a[10]; 数组名 下标 a[0]~ a[9]为十个数组元素,可分别存放一个 int 型数据。 一. 数组元素作为函数实参 概念:数组元素与变量功能相同,属单向的“值传送”方式例:/* 给出一个数组中每个数与平均值之间的差值 */ #include iostream.h void sub(int x,float ave) // 求差函数(无返回值) { coutx与平均值之差:x-aveendl; } void main( ) { int s[10],i,sum=0; float ave; cout输入 10 个数组元素:\n; for (i=0;i10;i++) // 输入 10 个元素并求和 { cins[i]; sum+=s[i]; } ave=sum/10.0; // 调用求平均值函数 cout平均值:aveendl; for (i=0;i10;i++) sub(s[i],ave); // 调用求差函数 } 二. 数组名作为函数参数 概念:形参和实参都应用数组名(P194)。例 1:P194 例 7.10 说明:P195 说明⑴、⑵、⑶、⑷ 例 2:P195 例 7.11 说明:P196 注意:利用数组名传递的方法改变实参数组元素的值。 存储: 一个数组在

文档评论(0)

***** + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档