资源描述
《C语言程序设计》教案 第5单元 第6次课
《C语言程序设计》教学设计 日期: 年 月 日
教学内容
利用指针数组、指向指针的指针引用多个数据
教学学时
2
授课教师
班级
地点
周次
星期
节次
教学
目标
素质目标
知识目标
能力目标
(1)基本职业素养:遵守工作时间,使用实践设备时注意用电安全,实践设备使用完毕后要断电并放于指定位置,程序设计要注重工程规范,养成良好的工作习惯。
(2)团结协作素养:小组内成员互查程序代码书写规范性、准确性和完整性,取长补短,具有责任意识、团队意识与协作精神。
(3)自主学习素养:能根据任务要求,查找相关资料解决实际问题;能自主完成练习,培养自主学习的意识与一丝不苟、实事求是的工作作风。
(4)思政和劳动素养:具有一定的辩证唯物主义运用能力、安全意识、劳动意识、创新意识、创新能力和强烈的爱国主义精神。
(1)掌握指针数组的概念、定义方法及简单应用
(2)掌握指向指针的指针的概念、定义方法及应用
(1)能用指针数组、指向指针的指针解决实际问题
(2)能区分:指向由n个元素组成的一维数组的指针变量(*p)[n]和指针数组*p[n]
教学重点
(1)指针数组的概念、定义方法及简单应用
(2)指向指针的指针的概念、定义方法及应用方法
教学难点
(1)区分指向由n个元素组成的一维数组的指针变量和指针数组
(2)指针数组和指向指针的指针的实际应用
能力训练任务
任务1:掌握指针数组的概念、定义方法及简单应用
任务2:掌握指向指针的指针的概念、定义方法及应用
教学材料
(1)教材:朱琨《C语言程序设计》,机械工业出版社, 978-7-111-66954-8,2021
(2)教学资源:电子教案、教学课件、微课视频、在线开放课程
(3)仪器与设备:电脑(装有VC++开发环境)
教学进度设计
步骤
教学内容及目标
思政元素
教师活动
学生活动
时间
一、复习与导入
复习:基本类型的数组(定义、赋值、引用);指向普通变量的指针和指向数组元素的指针。
导入:存放指针型数据的数组(指针数组);指向指针变量(地址)的指针
学而时习之、温故知新
提问、布置学习任务
回答、明确学习任务
5min
二、实施任务1:掌握指针数组的概念、定义方法及简单应用
1、指针数组的概念
2、定义一维指针数组
类型标识符 *数组名[数组长度];
例如: int *p[3];
区分: int (*p)[3];
3、简单例题分析
(1)利用指针数组输出多个整型变量
(2)利用指针数组输出一维整型数组的各元素
4、指针数组的实际应用
(1)利用指针数组处理多个字符串
(2)利用函数型指针数组实现对若干个函数的调用
(3)指针数组作main函数的形参
学以致用、创新意识
讲解,通过教材例题程序,引导学生掌握指针数组的应用方法,体会指针数组处理多个字符串的优点;巡回指导
分析、编写和运行教材例题程序,掌握指针数组的应用方法,并完成练习题
40min
三、实施任务2:掌握指向指针的指针的概念、定义方法及应用
1、“指向指针的指针”概念
2、定义指向指针的指针变量
类型标识符 **指针变量名;
例如: int **p; 相当于int *(*p);
分析程序,理解指向指针的指针
3、实际应用:指向指针的指针常与指针数组配合使用处理问题
(1)利用指向指针的指针依次输出数组中各元素的值
(2)利用指向指针的指针变依次输出多个字符串
善于总结规律、学以致用、创新意识
讲解,通过教材例题程序,引导学生理解指向指针的指针概念、总结指向指针的指针的应用方法;巡回指导
听讲,理解,分析、编写和运行教材例程,总结指向指针的指针的应用方法,完成练习题
40min
四、总结
概括基本内容,归纳重点内容
自主学习
引导学生归纳总结,然后布置课后任务
思考,记录,整理场地
5min
作业
通过教材、PPT和在线课程,复习巩固本次课内容;完成教材相应习题(可穿插到上述任务中);预习下次课内容(通过函数调用获取指针值、利用内存动态分配函数建立动态数组)。
课后
体会
1.对于指针数组,首先通过简单的例题使学生理解指针数组的概念和用法,然后通过处理多个字符串,使学生体会使用指针数组处理问题的好处。在此基础上,引导学生自学教材中的其他两个应用,进一步熟悉指针数组的实际应用场合。
2.指向指针的指针,概念比较抽象难懂,先通过图示和简单的例题加以理解,然后才此基础上,通过例题来掌握其实际应用方法。
7
利用指针数组、指向指针的指针引用多个数据
教学详案
步骤一:复习与导入(时间:5分钟)
复习:基本类型的数组(定义、赋值、引用);指向普通变量的指针和指向数组元素的指针。
导入:存放指针型数据的数组(指针数组);指向指针变量(地址)的指针。
步骤二:任务1:掌握指针数组的概念、定义方法及简单应用(时间:40分钟)
1、指针数组的概念:用来存放一批地址,每个元素都存放一个地址。
2、定义一维指针数组
定义形式: 类型标识符 *数组名[数组长度];
例如: int *p[3]; [ ]比*优先级高,p先与[3]结合,构成p[3]数组的形式,然后再与*结合,表示数组p的3个元素均为指向int型数据的指针变量。
区分: 指向由n个元素组成的一维数组的指针变量int (*p)[3];
3、通过简单例题理解指针数组的概念和应用方法
(1)利用指针数组输出多个整型变量【教材例5.23】
(2)利用指针数组输出一维整型数组的各元素【教材例5.24】
4、指针数组的实际应用
(1)利用指针数组处理多个字符串【教材例5.25】
一个字符串可用一维数组来存放,而多个字符串可用二维数组存放。若用字符型指针引用多个字符串,则需要多个指针,因此也可利用字符型指针数组处理多个字符串。
【引导总结】根据图示,从占用内存空间大小角度,思考用上述两种方式处理多个字符串时的区别。
【学习检验】教材单元练习第22题。
(2)利用函数型指针数组实现对若干个函数的调用【教材例5.26】
(3)指针数组作main函数的形参【课后自主学习】
【例5.27】测试带有参数的main函数。
步骤三:任务2:掌握指向指针的指针的概念、定义方法及应用(时间:40分钟)
1、“指向指针的指针”概念
int a=3;
int *num=&a; //定义指针变量num,指向变量a
printf("%d\n",*num); //通过指针变量num引用变量a
通过指针变量num间接访问变量a:“单级间址”访问方式。
若再定义一个指针变量p,存放指针变量num的地址,则可通过指针变量p访问变量a:“二级间址”访问方式。
p是指向指针数据的指针变量,简称“指向指针的指针”。
2、定义指向指针的指针变量
定义形式: 类型标识符 **指针变量名;
例如: int **p; //指针变量p指向一个整型的指针变量
相当于 int *(*p);
【例5.28】分析程序,理解指向指针的指针。
3、实际应用:指向指针的指针常与指针数组配合使用处理问题
(1)利用指向指针的指针依次输出数组中各元素的值
【例5.29】有一指针数组num,其元素分别指向一维整型数组a的各元素。现用指向指针的指针变量p,依次输出整型数组a中各元素的值。
(2)利用指向指针的指针变依次输出多个字符串
【例5.30】有一指针数组ps,其元素分别指向3个字符串。现用指向指针的指针变量p,依次输出3个字符串。
【学以致用】
教材单元练习第31、32题:对多个字符串排序。
步骤四:概括基本内容,归纳重点内容(时间:5分钟)
1、引导学生概括本次课的基本内容,归纳重点内容(指针数组的概念、定义方法和简单应用,“指向指针的指针”概念、定义方法和实际应用方法)。
2、作业布置:通过教材、PPT和在线课程,复习巩固本次课内容;完成教材相应习题,学以致用;预习下次课内容(通过函数调用获取指针值、利用内存动态分配函数建立动态数组)。
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索