C语言教案-第十二周.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  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文档。上传文档
查看更多
第十二节 函数 1:通过本节课学习,使学生理解函数的嵌套是什么并能够调用,学习局部变量和全局变量。 1.1学习目的: 1.理解函数的嵌套调用 2.理解数组作为函数参数 3.灵活使用局部变量和全局变量 1.2学习内容: 1.函数的嵌套调用 2.数组作为函数参数 3.局部变量与全局变量 1.3学习重点: 局部变量与全局变量的应用 1.4教学方法: 讲授法、举例 1.5学习方法: 练习、总结 1.6学习时间 第十八周 2:回顾上一节: [10分钟] 举例:实参与形参 3:课程知识点讲解: 具体知识点1:函数的嵌套调用 [ 25分钟] 知识讲解:函数的嵌套调用 案例讲解: 计算s=22!+32!。 编程分析:可用两个函数,实现求解。一个是用来计算平方值的函数f1,另一个是用来计算阶乘值的函数f2。主函数先调f1计算出平方值,再在f1中以平方值为实参,调用 f2计算其阶乘值,然后返回f1,再返回主函数,在循环程序中计算累加和。程序如下: long f1(int p) /*定义求平方值的函数*/ { int k; long r; long f2(int); k=p*p; r=f2(k); return r; } long f2(int q) /*定义求阶乘值的函数*/ { long c=1; int i; for(i=1;i=q;i++) c=c*i; return c; } main() /*主函数*/ { int i; long s=0; for (i=2;i=3;i++) s=s+f1(i); /*调用函数,进行累加,参数为i*/ printf(\ns=%ld\n,s); } 程序运行结果:s=362904 具体知识点2:数组作为函数参数 [20分钟] 知识点讲解:数组可以作为函数的参数使用,进行数据传送。数组用作函数参数有两种形式,一种是把数组元素(下标变量)作为实参使用;另一种是把数组名作为函数的形参或实参使用。 数组元素作函数实参: 数组元素就是下标变量,它与普通变量并无区别。 因此它作为函数实参使用与普通变量是完全相同的,在发生函数调用时,把作为实参的数组元素的值传送给形参,实现单向的值传送。 数组名作为函数参数:多维数组也可以作为函数的参数 案例讲解: void nzp(int a[8]) { int i; printf(\nvalues of array are:\n); for(i=0;i8;i++) { if(a[i]0)a[i]=0; printf(%d ,a[i]); }} main() { int b[5],i; printf(input 5 numbers: ); for(i=0;i5;i++) scanf(%d,b[i]); printf(initial values of array b are:\n); for(i=0;i5;i++) printf(%d ,b[i]); nzp(b); printf(\nlast values of array b are:\n); for(i=0;i5;i++) printf(%d ,b[i]); } 程序运行结果:input 5 numbers: 1 3 5 7 9回车 initial values of array b are: 1 3 5 7 9 values of array are: 1 3 5 7 9 0 292 3522 last values of array b are: 1 3 5 7 9 老师提问: 问题1:按址传递会影响原始变量的值吗? 问题2:按值与按址的区别? 具体知识点3:局部变量与全局变量 [20分钟] 知识点讲解: 局部变量 在一个函数内部或复合语句内定义的变量,这些变量只在本函数或本复合语句内才能使用,所有形参都是局部变量。 auto(默认) 所在函数调用结束时,其值自动消失 。 局部变量 register 如不赋初值,取不确定值为初值。 static 所有函数调用结束,其值仍保留。 案例讲解: 判断程序运行结果。 main() { int a=2,i; clrscr(); for (i=0;i3;i++) printf(%4

文档评论(0)

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

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

1亿VIP精品文档

相关文档