内容正文:
课题
统计国内生产总值
课时
2课时(90 min)
教学目标
知识目标:
(1)掌握数组元素作为函数参数的使用方法
(2)掌握数组名作为函数参数的使用方法
能力目标:
能够使用数组作为函数参数来定义和调用函数
素质目标:
通过统计国内生产总值的增长率,增强民族自信心和自豪感
教学重难点
教学重点:数组元素作为函数参数,数组名作为函数参数
教学难点:理解“值传递”方式与“地址传送”方式
教学方法
问答法、讨论法、讲授法、实践法
教学用具
电脑、投影仪、多媒体课件、教材
教学过程
主要教学内容及步骤
课前任务
【教师】布置课前任务,和学生负责人取得联系,让其提醒同学通过文旌课堂APP或其他学习软件,完成课前任务
请同学们回顾函数的使用,思考函数使用时形参与实参的区别。
【学生】完成课前任务
考勤
【教师】使用文旌课堂APP进行签到
【学生】班干部报请假人员及原因
问题导入
【教师】请同学们扫码观看“函数参数的传递”视频(详见教材),讨论并回答以下问题:
简述数组元素和数组名作为函数参数的区别。
【学生】思考、举手回答
传授新知
【教师】多媒体观看“数组作为函数的参数”视频(详见教材),让学生熟悉数组元素作为函数参数、数组名作为函数参数时函数的定义及调用
一、数组元素作为函数参数
✈【教师】介绍数组元素作为函数的实参时的用法
当数组元素作为函数的实参时,其用法与普通变量相同,是单向传递的,即“值传递”方式;数组元素不能作为函数的形参使用。
【课堂练习】
✈【教师】出示【例6-4】,组织学生答题
试分析以下程序的运行结果,程序代码参考教材。
✈【学生】聆听、思考、分析
✈【教师】解析例题
程序运行结果如图6-9所示(详见教材)。
在主函数中,定义了数组a,并赋初值a[0]=4,a[1]=9。因此,主函数中的第一次输出结果是a[0]=4,a[1]=9。
调用swap( )函数,将a[0]和a[1]作为实参传递给swap( )函数中的形参i和j,交换两数。因此,在swap( )函数中输出结果是i=9,j=4。
但由于数组元素作为函数的参数时,数值是单向传递的,在调用swap( )函数后,主函数中的a[0]和a[1]的值是不会发生改变的,故主函数中第二次输出结果仍然是a[0]=4,a[1]=9。
【课堂问答】
✈【教师】随机邀请学生回答以下问题
请同学们思考,存放a[0],a[1]的是内存当中的某两块地址,数组元素作为函数的参数时,a[0],a[1]的值分别赋值给了形参变量i和j,那么存放i和j的内存地址是否跟存放a[0],a[1]的内存地址相同?
✈【学生】聆听、思考、回答
✈【教师】总结学生的回答
二、数组名作为函数参数
✈【教师】介绍数组名作为函数的实参时的用法
数组名作为函数参数时,既可以作为实参也可以作为形参。数组名作为实参时,会将实参数组的起始地址传递给形参数组,这样两个数组就会共用一段内存单元,这种传递方式称为“地址传送”。
【课堂讨论】
✈【教师】请学生分组讨论以下问题
请同学们以小组为单位,讨论“地址传送”的传递方式与“值传递”方式的区别,如何选择使用哪种方式。
✈【学生】讨论、总结、回答
✈【教师】总结学生的回答
【课堂练习】
✈【教师】出示【例6-5】,组织学生答题
修改例6-4程序,用数组名作为函数的参数交换a[0]和a[1]的值。
✈【学生】聆听、思考、修改
✈【教师】解析例题
……(参考程序详见教材)
程序运行结果如图6-10所示(详见教材)。
(1)用数组名作为函数参数,须在主调函数和被调用函数中分别定义数组,本例在swap( )函数中定义形参数组x,在主函数中定义实参数组a。
(2)实参数组与形参数组数据类型应一致(都为整型),如不一致,结果将出错。
(3)数组名作为函数参数时,是把实参数组的起始地址传递给形参数组,这样两个数组将共用同一段内存单元,形参数组中各元素的值发生变化时,实参数组元素的值同时发生了变化。因此,调用swap( )函数可实现a[0]和a[1]的交换。
(4)形参数组可不指定大小,即定义数组时在数组名后跟一个空的方括号即可。例如,上述的函数头可写成:
void swap(int x[]) /*定义swap()函数,形参数组不指定大小*/
【课堂问答】
✈【教师】随机邀请学生回答以下问题
请同学们思考,存放数组a的是内存当中的某块地址,数组名作为函数的参数时,数组a的值分别赋值给了形参数组x,那么存放数组x的内存地址是否跟存放数组a的内存地址相同?
✈【学生】聆听、思考、回答
✈【教师】总结学生的回答
三、任务实施
✈【教师】多媒体观看“统计国内生产总值”视频(详见教材),让学生熟悉国内生产总值的增长率的计算公式,程序的设计思路,代码的实现