




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十二节函数学习1: 通过本节课学习, 使学生理解函数的嵌套是什么并能够调用, 局部变量和全局变量。1.1 学习目的:1. 理解函数的嵌套调用2. 理解数组作为函数参数3. 灵活使用局部变量和全局变量1.2 学习内容:1. 函数的嵌套调用2. 数组作为函数参数3. 局部变量与全局变量 13 学习重点: 局部变量与全局变量的应用 1 4 教学方法: 讲授法、举例 15 学习方法: 练习、总结 16 学习时间 第十八周 2:回顾上一节 : 10 分钟 举例:实参与形参3:课程知识点讲解:具体知识点1:函数的嵌套调用25分钟知识讲解:函数的嵌套调用ifdri甬裁日谢数 b函数结束-案例讲解:计算 s
2、=22!+32!。编程分析:可用两个函数,实现求解。一个是用来计算平方值的函数fl, 另一个是用来计算阶乘值的函数f2。主函数先调fl计算出平方值,再在fl中以平方值为实参,调用f2计算其阶乘值, 然后返回fl, 序如下:long fl (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
3、( i);printf (ns=%ldn,s程序运行结果:s=362904再返回主函数,在循环程序中计算累加和。程/*/*/*);定义求平方值的函数*/定义求阶乘值的函数*/调用函数,进行累加,参数为i*/具体知识点2:数组作为函数参数 20分钟飞知识点讲解:数组可以作为函数的参数使用,进行数据传送。数组用作函数参数有两种形式,一种是把数组元素(下标变量)作为实参使用; 另一种是把数组名作为函数的形参或实参使用。数组元素作函数实参:数组元素就是下标变量,它与普通变量并无区别。因此它作为函数实参使用与普通变量是完全相同的,在发 生函数调用时,把作为实参的数组元素的值传送给形 参,实现单向的值传送
4、。数组名作为函数参数:多维数组也可以作为函数的参数案例讲解:void nzp (int a8) int i;printf( nvalues of array are:n );for (i=0;i8;i+) if ( ai0)ai=0;printf ( %d ,ai);main () int b5,i;printf( in put 5 nu mbers:);for ( i=0;i5;i+scanf( %d,&bi);printf( initial values of array b are:n);for ( i=0;i5;i+printf ( %d ,bi);nzp(b);printf( nl
5、ast values of array b are:n);for ( i=0;i5;i+printf ( %d ,bi);程序运行结果:in put 5 numbers: 1 3 5 7 9in itial values of array b are:1 3 5 7 9values of array are:1 3 5 7 9 0 292 3522last values of array b are:1 3 5 7 9老师提冋:问题1:按址传递会影响原始变量的值吗?问题2:按值与按址的区别?具体知识点3:局部变量与全局变量20分钟知识点讲解:局部变量在一个函数内部或复合语句内定义的变量, 这些
6、变量只在本函数或本复合语句 内才能使用,所有形参都是局部变量。甲8 (默认)局部变量 register J static-案例讲解:判断程序运行结果。main () int a=2,i;clrscr ();for (i=0;i3;i+)printf (%4d,f (a) f (int a ) int b=0;static int c=3; b+;c+;retur n a+b+c;所在函数调用结束时,其值自动消失如不赋初值,取不确定值为初值。所有函数调用结束,其值仍保留。程序运行结果:78 9程序运行分析:ai bc f20 0F210 F220 F(a)4 75 86 9弔知识点讲解:全局变量
7、 10分钟一个源文件可以包含一个或若干个函数,在函数内定义的变量是局部变量, 而在函数之外定义的变量称为全局变量。全局变量可以为本文件中其他函数 共用。extern(默认)允许本源文件中其他函数及其他源文件使用。全局变量-static只限本源文件中使用。案例讲解:定义两个外部变量,判断程序运行结果。extern int x,y; /*可以省略int。如果没有此句,编译就会出错*/main () clrscr ();printf (x=%d,y=%dn,x,y );x=100,y=200;老师提问:问题1请举出局部变量和全局变量定义的关键字。4本节总结5分钟考核点考核点1数组名和数组元素作为参数
8、的异同考核点2:全局变量与局部变量的定义及使用测试题铀;:测试题1写一个程序打印出 2的顺序各次幕。让它打印出2的前30个幕,看看会出现什么情况。用一个条件为真的循环打印2的各次幕,看看会出现什么情况。辄 测试题2:从键盘输入两个正整数,然后求这两个数的最大公约数。扩展部分:扩展部分1:变量的存储类型扩展部分2 :函数的递归调用学生问题汇总:7问题1:问题2:作业:疋习题1:请到查出银行一年定期存款的利率和5年定期存款的利率。假定现在要存入100元钱,存款到期后立即将利息与本金一起再次存入。请写出程序,计算按每次存一年和按照每次存 5年,总共存50年后两种存款方式的得款总额。对两种情况 都每隔5年输出一次当时的总金额。W 习题2:( 1)不用函数,直接写一个主程序计算并输出直径为100毫米和150毫米的金、银、铜、铁、锡球的重量(以 kg为单位输出)。(2)重新完成上面程序,先定义一个带有两个参数的函数,它能求出直径为x的比重为y的圆球的重量,而后在主程序里调用这个函数完成所需工作。将这样得到的解与不用函数的解比较,比较它们的长度、容易出错的程度。假设现在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/TMAC 094-2024公路工程玄武岩纤维复合筋设计与施工规范
- 江苏省蔬菜买卖合同4篇
- 上海二建试题及答案
- 2025年舞蹈教练聘用合同2篇
- 个体经营短期借款协议书8篇
- 晚会演出合同协议书范本3篇
- 文娱与体育课件
- 2025辽宁师范大学辅导员考试试题及答案
- 2025益阳教育学院辅导员考试试题及答案
- 2025赣南科技学院辅导员考试试题及答案
- TCHSA-012-2023-儿童口腔疾病治疗中静脉镇静技术规范
- 三方合伙开店协议合同
- 2025年新疆中考第一次模拟化学试题(含答案)
- 2025年危险品水路运输从业资格考试复习题库-上(单选题)
- 2025年-河北建筑安全员B证考试题库附答案
- 《2024年版煤矿安全生产化标准化管理体系基本要求及评分方法》
- 2025-2030中国床垫行业市场深度调研及投资前与投资策略景研究报告
- 码头安全隐患
- 《FTA分析案例》课件 - 深入解析自由贸易协定对经济发展的影响
- 深圳医药产业政策研究-深度研究
- 酒店公寓转让合同范本
评论
0/150
提交评论