16.1多角度统计人口增长率(教案)-《C语言程序设计》同步教学(电子科技大学出版社)

2024-03-31
| 5页
| 130人阅读
| 19人下载
普通

内容正文:

课题 多角度统计人口增长率 课时 2课时(90 min) 教学目标 知识目标: (1)掌握指针变量作为函数参数的使用 (2)掌握指针作为函数的返回值的使用 能力目标: 能利用指针编写程序 素质目标: 通过统计人口增长率,理解我国的人口可持续发展战略 教学重难点 教学重点:指针变量作为函数参数,指针作为函数的返回值,指向函数的指针 教学难点:指针作为函数的返回值 教学方法 问答法、讨论法、讲授法、实践法 教学用具 电脑、投影仪、多媒体课件、教材 教学过程 主要教学内容及步骤 课前任务 【教师】布置课前任务,和学生负责人取得联系,让其提醒同学通过文旌课堂APP或其他学习软件,完成课前任务 请同学们回顾之前函数调用相关知识,明确按值传递与地址传递的区别。 【学生】完成课前任务 考勤 【教师】使用文旌课堂APP进行签到 【学生】班干部报请假人员及原因 问题导入 【教师】请同学们扫码观看“函数参数的数据类型”视频(详见教材),讨论并回答以下问题: 哪些数据类型可以作为函数参数?哪些数据类型作为函数参数时,实参与形参的传递方式是“地址传递”? 【学生】思考、举手回答 传授新知 【教师】讲解指针变量作为函数参数,指针作为函数的返回值,指向函数的指针 一、指针变量作为函数参数 ✈【教师】多媒体观看“指针变量作为函数参数”视频(详见教材),让学生了解指针变量作为参数时的作用和使用方法 指针变量作为函数的参数时,其作用是将一个变量的地址传送到另一个函数中,即将实参指针指向的地址值传递给对应的形参指针,从而使形参指针和实参指针指向同一个内存地址。 【课堂练习】 ✈【教师】出示【例7-4】,组织学生编写代码 利用指针作为函数参数,编写swap( )函数交换两个变量的值。 ✈【学生】编写程序、运行、对比结果 ✈【教师】解析例题 指针变量作为函数参数时,会将变量的地址传递到被调函数中。由于指针指向的单元和变量对应的单元相同,因此,可以在被调函数中通过指针运算符“*”修改主调函数中的变量值。 ……(参考程序详见教材) 【运行结果】程序运行结果如图7-9所示(详见教材) 在该程序中,swap( )函数的形参为指向整型的指针,调用swap( )函数的实参为整型变量的地址。调用swap( )函数时,指针变量p1中存入变量i的地址,指针变量p2中存入变量j的地址,即指针变量p1指向变量i,指针变量p2指向变量j。 【课堂讨论】 ✈【教师】请学生分组讨论以下问题 请同学们以小组为单位,讨论上述程序中,定义整型变量t,能否将t修改成指针类型,如果可以,程序如何进行修改? ✈【学生】讨论、总结、回答 ✈【教师】总结学生的回答 ✈高手点拨 在指针参数传递中,形参和实参共用同一个存储单元,要从被调函数中获得多个值,可用多个指针变量作为函数参数,通过修改指针所指变量的值来返回多个值。 二、指针作为函数的返回值 ✈【教师】介绍函数返回值为指针时函数的定义形式,及调用方法 一个函数既可以返回一个基本类型的数据,也可以返回一个指针类型的数据,即地址。将地址作为函数返回值时,该函数被称为指针函数,其定义形式如下。 数据类型 *函数名(形参列表) { 函数体; } 其中,函数名前面的“*”表示该函数为指针函数,即返回值类型为指针,数据类型表明指针指向的类型。因此,函数的返回值是一个指向该数据类型的指针。 【课堂练习】 ✈【教师】出示【例7-5】,组织学生编写代码 编写一个指针函数求两个一维数组对应元素之和。 ✈【学生】编写程序、运行、对比结果 ✈【教师】解析例题 使用指针函数求两个一维数组对应元素之和,返回指向数组的指针变量。 ……(参考程序详见教材) 【运行结果】程序运行结果如图7-10所示(详见教材) 【课堂问答】 ✈【教师】随机邀请学生回答以下问题 请同学们思考,上述程序中,如果数组长度都改成6,程序中需要修改很多地方,将5改成6,如何修改程序避免这种情况的发生? ✈【学生】聆听、思考、回答 ✈【教师】总结学生的回答 三、指向函数的指针 ✈【教师】介绍函数指针的概念,定义函数指针的方法,引用函数指针的方法 如果程序中定义了一个函数,在编译时,编译系统会为该函数分配一段存储空间,这段存储空间的起始地址称为入口地址。当调用该函数时,系统会从这个入口地址开始执行该函数。存放函数入口地址的指针就是一个指向该函数的指针,简称函数的指针,其定义形式如下 类型标识符 (*指针变量名)(函数参数列表); 例如: int (*p)(int); 【课堂讨论】 ✈【教师】请学生分组讨论以下问题 请同学们以小组为单位,讨论函数指针与返回值为指针的函数有何区别? ✈【学生】讨论、总结、回答 ✈【教师】总结学生的回答 ✈提示 在C语言中,括号的优先级比*高

资源预览图

16.1多角度统计人口增长率(教案)-《C语言程序设计》同步教学(电子科技大学出版社)
1
16.1多角度统计人口增长率(教案)-《C语言程序设计》同步教学(电子科技大学出版社)
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。