- 1、本文档共132页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
T-C-2-第7章_函数
第七章 7.1 函数是什么 本章小结 1.在C语言中,函数是用来完成某一个特定功能的。C程序是由一个或多个函数组成的。函数是C程序中的基本单位。 2.有两种函数:系统提供的库函数和用户根据需要自己定义的函数。 3.函数的“定义”和“声明”不是一回事。 4.函数原型有两种形式: (1)函数类型 函数名(参数类型1 参数名1,参数类型2 参数名2,…,参数类型n 参数名n); (2)函数类型 函数名(参数类型1,参数类型2,…,参数类型n); 5.调用函数时要注意实参与形参个数相同、类型一致(或赋值兼容)。 本章小结 6. 在调用一个函数的过程中,又调用另外一个函数,称为函数的嵌套调用。在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。 7. 用数组名作函数实参,向形参传递的是数组首元素的地址 8. 变量的作用域是指变量有效的范围。根据定义变量的位置不同,变量分为局部变量和全局变量。凡是在函数内或复合语句中定义的变量都是局部变量,在函数外定义的变量都是全局变量, 9. 变量的生存期指的是变量存在的时间。 10. 变量的存储类别共有4种:auto, static, register, extern。 程序如下: #include stdio.h void main() { void hanoi(int n,char one,char two,char three); /* 对hanoi函数的声明 */ int m; printf(input the number of diskes:); scanf(“%d”,m); printf(The step to moveing %d diskes:\n,m); hanoi(m,A,B,C); } void hanoi(int n,char one,char two,char three) /* 定义hanoi函数,将n个盘从one座借助two座,移到three座 */ { void move(char x,char y); /* 对move函数的声明 */ if(n==1) move(one,three); else { hanoi(n-1,one,three,two); move(one,three); hanoi(n-1,two,one,three); } } void move(char x,char y) /* 定义move函数 */ { printf(“%c--%c\n,x,y); } 运行情况如下: input the number of diskes:3↙ The steps to noving 3 diskes: A-->C A-->B C-->B A-->C B-->A B-->C A-->C 2、 static---声明静态变量 (1)静态局部变量:当函数中的局部变量的值在函数调用结束后不消失而保留原值时,该变量称为静态局部变量。用关键字static进行声明。 输出1到5的阶乘值。 例题 7.12 解题思路 可以编一个函数用来进行一次累乘,如第1次调用时进行1乘1,第2次调用时再乘以2,第3次调用时再乘以3,依此规律进行下去。这时希望上一次求出的连乘值保留,以便下一次再乘上一个数。可以用static来指定变量不释放,保留原值。 #include stdio.h void main() {int fac(int n); int i; for(i=1;i<=5;i++) printf(″%d!=%d\n″,i,fac(i)); } Int fac(int n) {static int f=1; f=f*n; return(f); } 编写程序 运行结果如下: 1! =1 2! =2 3! =6 4! =24 5! =120 说明: 在第1次调用fac(1)时,f的值为1,return语句将1带回主函数输出1!的值。函数调用结束后,其他局部变量都释放了,只有变量f由于已声明为static,所以不释放,仍然保留原值1。在第2次调用fac函数(即fac(2))时,f的初值是1,n是2,因此f的新值为2,在主主函数输出2!的值2。调用结束后,f仍不释放,仍然保留最后的值2,以便下次再乘3,…… 对静态局部变量的说明: 1. 静态局部变量属于
您可能关注的文档
- 第五章 控制流——循环结构.ppt
- 需求报告书2.1.docx
- 2009年初级电算化考点精粹四.doc
- Java_2实用教程第4版_第12章_Java多线程机制.doc
- 《第三节 盐类的水解.ppt
- 【AL】Until You Are Here With Me.doc
- 2013实验要求.doc
- 盐类水解35414654465.ppt
- sphinx在windows下的安装使用.docx
- 溶液中离子浓度的判断1.ppt
- 000727_2023_#CSR_冠捷科技_2023年社会责任报告_2024-04-30.pdf
- 000568_2023_#CSR_泸州老窖_2023年社会责任报告_2024-04-27.pdf
- 002017_2023_#CSR_东信和平_2023年社会责任报告_2024-04-20.pdf
- 002056_2023_#CSR_横店东磁_2023年社会责任报告_2024-03-09.pdf
- 000905_2023_#CSR_厦门港务_2023年社会责任报告_2024-03-30.pdf
- 001339_2023_#CSR_智微智能_2023年社会责任报告_2024-04-26.pdf
- 688609_2023_#CSR_九联科技_广东九联科技股份有限公司2023年度社会责任报告_2024-04-27.pdf
- 002017_2023_#CSR_东信和平_2023年社会责任报告_2024-04-20.pdf
- 002139_2023_#CSR_拓邦股份_2023年社会责任报告_2024-03-27.pdf
- 688499_2023_#ESG_利元亨_广东利元亨智能装备股份有限公司2023年环境、社会及公司治理(ESG)报告_2024-04-20.pdf
最近下载
- J16J157 蒸压加气混凝土砌块应用构造.pdf VIP
- 人教版(2024)七年级下册英语Unit 4 Eat Well 单元教学设计(共6课时).docx VIP
- 前期物业服务方案 投标.docx VIP
- 广东省东莞市高级中学2024年高一物理第二学期期末联考试题含解析.doc VIP
- 《支持低空智联网服务的5G网络规划建设技术规范》.pdf VIP
- (最新)有限空间作业安全培训考试试题(+答案).docx VIP
- 网络供应链安全管理制度.docx VIP
- 二手房学区房学位未使用协议.doc VIP
- 五年(2020-2024)高考数学真题分类汇编 专题10 解三角形(原卷版).pdf VIP
- 采购管理中的创新思维与实践.docx VIP
文档评论(0)