c++第5章 函数及预处理.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文档。上传文档
查看更多
第五章 函数与预处理 函数的定义 函数的调用 指针与函数 函数的嵌套调用 函数的递归调用 局部变量和全局变量 变量的存储类型 §5.1.1 函数概念的引入 #include iostream.h void main() { static int a[20]={8,12,19,23,33,39,42,55,62,69,76,85}; int n=12,i,x; coutThe numbers are :\n; for (i=0;in;i++) couta[i]\t; cout*****************\n; coutinsert number is: ; cinx; for (i=n-1;i=0;i--) if (a[i]x) a[i+1]=a[i]; else break; a[i+1]=x; n++; coutThe numbers are :\n; for (i=0;in;i++) couta[i]\t; cout****************\n; } 函数的引入 #include iostream.h void main() { static int a[20]={8,12,19,23, 33,39,42,55,62,69,76,85}; int n=12,i,x; arrayprint(a,n); coutinsert number is: ; cinx; for (i=n-1;i=0;i--) if (a[i]x) a[i+1]=a[i]; else break; a[i+1]=x; n++; arrayprint(a,n); } §5.1.2 函数的定义 函数说明 函数体 N! 三角形面积 double power(int n) { int i; double l=1; for (i=1;i=n;i++) l*=i; return l; } 5.1.3 return语句 语句格式: return ; //无值void return 表达式;//有值 return (表达式);//有值 函数体中的流程控制语句。先计算表达式的值,然后从被调函数返回到主调函数,表达式的值作为函数的返回值。( 注意:只能返回一个值) 函数值的类型:以函数定义的类型为准,若不同,需将return语句表达式的值转换类型。 无返回值void时,可无return语句,执行到函数体}时返回。 return语句 在一个函数中可有多个return语句,但每次被调用只能执行一个return语句。例,判断素数(或求三角形面积) 5.1.4 函数声明 实参表可包含多个参数,用逗号分开;可为常量、变量、函数调用、表达式(先求值,再将值传递给形参)。 要求实参的类型和个数要与形参一致。 可以没有参数,但圆括号一定要有,不能省略。 函数调用一般用来构成表达式。 二、函数调用过程 1.在主调函数中通过函数调用转到被调函数从而开始执行被调函数。 2.执行被调函数时,遇到return语句或函数体的右大括号},则返回主调函数继续执行下面的语句。 3.函数间相互独立:各函数中的变量互不相关,可同名。 在函数调用时,按照书写参数的先后次序(与名字无关),将实参的值(先计算)传递给对应的形参。 要求实参和形参的类型和个数要一致。 实参将值“单向性”的“值传递”给形参。在被调函数中对形参的值的修改不会影响到实参。 当函数未被调用时,形参不占内存。当函数被调用时,为形参分配内存,并将实参的值传递给形参;函数调用结束时,释放形参所占存储空间。 地址传递: 引用调用:通过在函数中使用引用参数实现地址传递。 把形参声明为引用方式,在参数名字前加上引用运算符。引用时给已知变量起一个别名,并不占用存储空间。 §5.3 指针与函数 #includeiostream.h int fun(int *); void main() { int a=8,b; b=fun1(a); couta=“a“b=“b; } 传变量的值和地址的区别 #includeiostream.h int fun(int *); void main() { int a=8,b; b=fun1(a); couta=“a“b=“b; } int fun1(int *p) { int x=4; *p+=x; coutx*p“\n”; return *p * x; } P141例5.13:编写函数实现两数的互换 swap (int x,int y) { int t; t=x; x=y; y=t;} 指针变量作为函数参数 指针作为函数的参数时,是以变量的地址作为实参调

文档评论(0)

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

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

1亿VIP精品文档

相关文档