- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
《C语言程序设计》教案
课程名称
C语言程序设计
任课教师
总课时
64
教学课题
指针与函数
授课班级
授课日期
课时
2
教学目标
知识目标:1.掌握指向函数的指针
能力目标:能够使用指针解决函数相关问题,提高执行效率。
素质目标:团队合作能力、团队互助,自我学习的习惯
重点难点
指向函数的指针变量
教学方法
演示、讲解、启发
教学资源
教材《C语言程序设计》
设备准备
VC++6.0,极域电子教室软件,分发工作任务单
教学环节(教学过程)
教学内容
教师活动
学生活动
教学目标
课时
1
演示项目效果
通过教室软件演示程序执行结果
倾听、观看、思考、陈述
给学生演示任务结果
10分钟
2
理论讲解
讲授指向函数的指针变量
讲授
预备需要的理论知识
15分钟
3
举例
通过一个案例进一步讲解指向函数的指针变量
讲授、演示
通过实际应用帮助学生理解理论知识
20分钟
4
应用
布置两个相关题目
辅导、答疑
通过做相关练习题帮助学生更好的理解相关知识
45分钟
教学内容(详细):
1指针与函数
(1)函数的返回值是指针类型
一个函数不仅可以返回int型、float型、char型和结构类型等数据类型,也可以返回指针类型的数据。返回指针类型的函数定义格式为:
类型名*函数名([参数表])
{
函数体;
}
例如:
int*func()
{
int*p;
.../*省略的其它操作语句*/
return(p);
}
func()函数的返回值是一个指向整型变量的指针。
(2)指向函数的指针变量
①指向函数的指针变量的定义
函数在内存中也占据一定的存储空间并有一个入口地址(函数开始运行的地址),这个地址就称为该函数的指针。可以用一个指针变量来存放函数的入口地址,这时称该指针指向这个函数,并称该指针变量为“指向函数的指针变量”,简称为“函数的指针变量”或“函数指针”,可以通过函数指针来调用函数,这是函数指针的主要用途。函数指针定义的一般形式为:
类型标识符(*指针变量名)(参数);
②指向函数的指针变量的赋值
与其它指针的定义一样,函数指针定义后,应给它赋一个函数的入口地址,即使它指向一个函数,才能使用这个指针。C语言中,函数名代表该函数的入口地址。因此,可用函数名给指向函数的指针变量赋值:
指向函数的指针变量=函数名;
③用函数指针变量调用函数
通过函数指针来调用函数的一般格式是:
(*函数指针)(实参表)
(3)指向函数的指针变量作函数参数
假设函数A在运行过程中要根据不同情况多次调用下列函数:B、C、D和E之一来协助它进行处理,按照以往的做法是,用条件选择语句将上述函数写在函数A的函数体中的多个位置上,这是一种笨拙的、灵活性较差的处理方法。现在,可以通过使用函数指针作为函数参数的方式向函数A传递其它函数的入口地址,从而灵活地调用其他函数。
函数指针实例,声明add()函数和times()函数分别实现两个整数相加和相乘。在main()函数体内定义函数指针。用函数指针分别调用add()函数和times()函数计算两个数的和及乘积。
#includestdio.h
intadd(inta,intb)
{
returna+b;
}
inttimes(inta,intb)
{
returna*b;
}
intfunc(int(*p)(int,int),inta,intb)
{
returnp(a,b);
}
voidmain()
{
inta,b,result;
int(*p)(int,int);
a=32;
b=12;
p=add;
result=func(p,a,b);
printf(%d+%d=%d\n,a,b,result);
p=times;
result=func(times,a,b);
printf(%d*%d=%d\n,a,b,result);
getchar();
}
作业:
完成学生成绩管理系统菜单的显示
反思改进:
备注:此教案模板包含教学设计,模板中的版块内容可根据自身课程需要进行适当修改
您可能关注的文档
- 现代物流基础与实务 课件 第二章 物流的起点—包装.pptx
- 现代物流基础与实务 课件 第一章 物流概述.pptx
- C语言程序设计 教案 1-1认识C语言及C程序、C程序的开发环境.docx
- C语言程序设计 教案 1-2运用算法描述问题.docx
- C语言程序设计 教案 2-1基本数据及其运算.docx
- C语言程序设计 教案 2-2C语言的数据类型.docx
- C语言程序设计 教案 2-3运算符和表达式.docx
- C语言程序设计 教案 3-1任务3.1 输入学生的成绩,计算总分及平均分并输出—— C语句.docx
- C语言程序设计 教案 3-1任务3.1 输入学生的成绩,计算总分及平均分并输出——数据的输入和输出.docx
- C语言程序设计 教案 3-2任务3.2 项目封面、菜单的顺序执行设计——顺序结构.docx
原创力文档


文档评论(0)