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

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

ID:59007155

大小:78.00 KB

页数:5页

时间:2020-09-15

C语言教案-第十二周.doc_第1页
C语言教案-第十二周.doc_第2页
C语言教案-第十二周.doc_第3页
C语言教案-第十二周.doc_第4页
C语言教案-第十二周.doc_第5页
资源描述:

《C语言教案-第十二周.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十二节函数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=

2、22!+32!。编程分析:可用两个函数,实现求解。一个是用来计算平方值的函数f1,另一个是用来计算阶乘值的函数f2。主函数先调f1计算出平方值,再在f1中以平方值为实参,调用f2计算其阶乘值,然后返回f1,再返回主函数,在循环程序中计算累加和。程序如下:longf1(intp)/*定义求平方值的函数*/{intk;longr;longf2(int);k=p*p;r=f2(k);returnr;}longf2(intq)/*定义求阶乘值的函数*/{longc=1;inti;for(i=1;i<=q;i++)c=c*i;r

3、eturnc;}main()/*主函数*/{inti;longs=0;for(i=2;i<=3;i++)s=s+f1(i);/*调用函数,进行累加,参数为i*/printf("s=%ld",s);}程序运行结果:s=具体知识点2:数组作为函数参数[20分钟]知识点讲解:数组可以作为函数的参数使用,进行数据传送。数组用作函数参数有两种形式,一种是把数组元素(下标变量)作为实参使用;另一种是把数组名作为函数的形参或实参使用。数组元素作函数实参:数组元素就是下标变量,它与普通变量并无区别。因此它作为函数实参使用与普通

4、变量是完全相同的,在发生函数调用时,把作为实参的数组元素的值传送给形参,实现单向的值传送。数组名作为函数参数:多维数组也可以作为函数的参数案例讲解:voidnzp(inta[8]){inti;printf("valuesofarrayare:");for(i=0;i<8;i++){if(a[i]<0)a[i]=0;printf("%d",a[i]);}}main(){intb[5],i;printf("input5numbers:");for(i=0;i<5;i++)scanf("%d",&b[i]);prin

5、tf("initialvaluesofarraybare:");for(i=0;i<5;i++)printf("%d",b[i]);nzp(b);printf("lastvaluesofarraybare:");for(i=0;i<5;i++)printf("%d",b[i]);}程序运行结果:input5numbers:13579<回车>initialvaluesofarraybare:13579valuesofarrayare:1357902923522lastvaluesofarraybare:135

6、79老师提问:问题1:按址传递会影响原始变量的值吗?问题2:按值与按址的区别?具体知识点3:局部变量与全局变量[20分钟]知识点讲解:局部变量在一个函数内部或复合语句内定义的变量,这些变量只在本函数或本复合语句内才能使用,所有形参都是局部变量。auto(默认)所在函数调用结束时,其值自动消失。局部变量register如不赋初值,取不确定值为初值。static所有函数调用结束,其值仍保留。案例讲解:判断程序运行结果。main(){inta=2,i;clrscr();for(i=0;i<3;i++)printf("%4d"

7、,f(a));} f(inta){intb=0;staticintc=3;b++;c++;returna+b+c;}程序运行结果:789程序运行分析:aibcf(a)200→147210→158220→169知识点讲解:全局变量[10分钟]一个源文件可以包含一个或若干个函数,在函数内定义的变量是局部变量,而在函数之外定义的变量称为全局变量。全局变量可以为本文件中其他函数共用。extern(默认)允许本源文件中其他函数及其他源文件使用。全局变量static只限本源文件中使用。案例讲解:定义两个外部变量,判断程序运行结果。

8、externintx,y;/*可以省略int。如果没有此句,编译就会出错*/main(){clrscr();printf("x=%d,y=%d",x,y);}x=100,y=200;老师提问:问题1:请举出局部变量和全局变量定义的关键字。4本节总结[5分钟]考核点考核点1:数组名和数组元素作为参数的异同考核点2:全局变量与局部

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。