- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
周次:第 周 课次: 授课时间:年 月 日
章节内容:
第七章 指针
7.5 指针与函数
7.6 指针数组
教学目标:
通过学习,了解指针与函数的概念,能熟练掌握指针在字符串和函数中的使用方法。掌握指针作为函数参数的应用;学会使用字符串的指针和指向字符串的指针变量;学会使用指向函数的指针变量;了解指向指针的指针的概念及其使用方法。本章内容为后续第8章结构体、第9章文件、课程设计等作好准备,同时,本章的内容在后续课程“数据结构”奠定基础。
教学重点:
指针与函数
指针型函数与函数指针变量
指针数组
教学难点:
指针型函数
指针数组
教学方法和授课手段
多媒体教室,电子课件。
教学过程:
预备(复习):数组的指针与指向数组的指针变量的定义;字符串的指针与指向字符串的指针变量,字符串指针变量的说明与用法与字符数组的使用。(5 分钟)
课前提问: (5 分钟)
课程引入:
例如:int (*pf)(int,int);表示pf是一个指向函数入口的指针变量,该函数的返回值(函数值)是整型。
函数名就是该函数所占内存区的首地址把函数的这个首地址(或称入口地址)。赋予一个指针变量,使该指针变量指向该函数。然后通过指针变量就可以找到并调用这个函数我们把这种指向函数的指针变量称为“函数指针变量”。(10分钟)
课程新授:(60分钟)
7.5 指针与函数
7.5.1 函数指针变量
函数指针变量定义的一般形式为:
类型说明符 (*指针变量名)(形参类型1,形参类型2…);
【例7.14】用指针形式实现对函数调用的方法求两个数中的较大数
/* 源文件名:Li7_14.cpp */
#include stdio.h
int max(int a,int b)
{if(ab) return a;
else return b;
}
void main()
{
int max(int a,int b);
int(*pmax) (int,int);
int x,y,z;
pmax=max;
printf(input two numbers:\n);
scanf(%d%d,x,y);
z=(*pmax)(x,y);
printf(maxnum=%d,z);
}
程序运行后,屏幕显示:
input two numbers:
5 8
maxnum=8
调用函数的一般形式为:(*指针变量名) (实参表)
7.5.2 指针型函数
所谓函数类型是指函数返回值的类型。在C语言中允许一个函数的返回值是一个指针(即地址),这种返回指针值的函数称为指针型函数。
定义指针型函数的一般形式为:
类型说明符 *函数名(形参表)
{
…… /*函数体*/
}
其中函数名之前加了“*”号表明这是一个指针型函数,即返回值是一个指针。类型说明符表示了返回的指针值所指向的数据类型。
如:
int *ap(int x,int y)
{
...... /*函数体*/
}
表示ap是一个返回指针值的指针型函数, 它返回的指针指向一个整型变量。
7.6指向指针的指针变量
7.6.1 指针数组的概念
指针数组说明的一般形式为:
类型说明符 *数组名[数组长度]
其中类型说明符为指针值所指向的变量的类型。
7.7指针的实例
指向指针的指针变量定义如下:
类型标识符* *指针变量名
【例7.21】编写使用指针方法交换二个整数值的函数swap,在主函数中调用swap函数,完成3个整数的排序.
/* 源文件名:Li7_21.cpp */
#include stdio.h
swap(int *p1, int *p2)
{ int p;
p=*p1; *p1=*p2; *p2=p;
}
void main()
{int a,b,c;
int *p1,*p2,*p3;
printf(\nInput 3 numbers:);
scanf(%d%d%d, a,b,c);
p1=a; p2=b; p3=c;
if (ab) swap(p1,p2); /* 函数调用 */
if (ac) swap(p1,p3); /* 函数调用 */
if (bc) swap(p2,p3); /* 函数调用 */
printf(\nThe sorted numbers: %d,%d,%d\n,a,b,c);
}
程序运行后,屏幕显示:
Input 3 numbers: 100 200 150
The sorted numbers: 100 150 200
课程小结(10分钟)
通过指针可使用主调函数和被调函数之间共享变量或数据结构,便于实现双向数据通讯。
便于表示各种数据结构,编写高质量的程序
提高程序的编译效率和执行速度。
与指针、函数有关说明与意义
您可能关注的文档
- BUG管理BUG处理单填写方法.doc
- CADCAM应用技术 第二版 第6.7.8.doc
- C语言程序设计 第五版 高职计算机大类专业 董汉丽习题答案.doc
- C语言程序设计案例教程 第二版 高职计算机大类专业基础 熊锡义 授课教案C程序设计教案 第1章第1次.doc
- C语言程序设计案例教程 第二版 高职计算机大类专业基础 熊锡义 授课教案C程序设计教案 第2章第1次.doc
- C语言程序设计案例教程 第二版 高职计算机大类专业基础 熊锡义 授课教案C程序设计教案 第3章第2次课.doc
- C语言程序设计案例教程 第二版 高职计算机大类专业基础 熊锡义 授课教案C程序设计教案 第4章第1次.doc
- C语言程序设计案例教程 第二版 高职计算机大类专业基础 熊锡义 授课教案C程序设计教案 第4章第3次.doc
- C语言程序设计案例教程 第二版 高职计算机大类专业基础 熊锡义 授课教案C程序设计教案 第4章第4次.doc
- C语言程序设计案例教程 第二版 高职计算机大类专业基础 熊锡义 授课教案C程序设计教案 第5章第1次.doc
- C语言程序设计案例教程 第二版 高职计算机大类专业基础 熊锡义 授课教案C程序设计教案 第8章第1次.doc
- C语言程序设计案例教程 第二版 高职计算机大类专业基础 熊锡义 授课教案C程序设计教案 第8章第2次.doc
- C语言程序设计案例教程 第二版 高职计算机大类专业基础 熊锡义 授课教案C语言程序设计 课程教学大纲.doc
- Internet 应用教程 三版 电子教案任务1电子教案.doc
- Internet 应用教程 三版 电子教案任务2电子教案.doc
- Internet 应用教程 三版 电子教案任务4电子教案.doc
- Internet 应用教程 三版 电子教案任务9电子教案.doc
- Java Web程序设计 高职软件专业 李俊青 模拟题 复习题 真题 习题库技能测试库2.doc
- Java Web程序设计 高职软件专业 李俊青 模拟题 复习题 真题 习题库课程测试库1.doc
- Java Web程序设计 高职软件专业 李俊青 模拟题 复习题 真题 习题库全国计算机等级考试二级Java真题1.doc
最近下载
- 管材安装合同范本(12篇).docx VIP
- 滇人版 七年级 第九册 第10课 文件合并与超链接课件.pptx VIP
- 古镇商业运营与旅游开发思路.pptx VIP
- 02S515排水检查井图集.pdf VIP
- 标准图集-23S519-小型排水构筑物.pdf VIP
- 形考作业(五)配置DNS服务实训.docx VIP
- 高钾血症应急演练脚本.docx VIP
- xx河防洪治理工程施工组织设计.doc VIP
- 新解读《GB_T 17934.3-2021印刷技术 网目调分色版、样张和生产印刷品的加工过程控制 第3部分:新闻纸冷固型平版胶印》最新解读.pptx VIP
- 简式数控车床使用说明书(中英文).pdf VIP
原创力文档


文档评论(0)