版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、«5.2指针的应用目标概述3分钟2回顾5分钟2课程知识点讲解23.1.指针移动20分钟23.2旨针作为函数参数20分钟41.3. 任务解决25分钟4精练15分钟4小结2分钟5考核点5作业答案6扩展练习6学生问题汇总610.教学后记6本节目标?本节中将讲述如下主要内容:?指针的移动?指针作为函数参数?通过教学使学生掌握指针的应用本节重点?指针的移动?指针作为函数参数本节难点?指针作为函数参数授课课时?2课时教法建议1. 目标概述3分钟本节主要讲述指针的应用。提出本节的任务。2. 回顾5分钟回顾上一节的相关内容。3. 课程知识点讲解3.1. 指针移动20分钟引入:我们知道数组是相同类型元
2、素的有序集合。在内存中,它占据一组连续的内存位置。如果我们将数组的首元素地址赋给一个指针变量,就可以通过修改指针变量的值来实现让指针变量指向不同的数组元素,这就是所谓的指针移动。主题:1. 指针变量自增运算自增运算格式:指针变量+;或+指针变量;自增运算功能:逻辑地址加1,使指针变量指向基类型相同的后一个元素。2. 指针变量自减运算自减运算格式:指针变量;或一一指针变量;语句功能:逻辑地址减1,使指针变量指向基类型相同的前一个元素。3. 指针变量加n运算语句格式:指针变量=指针变量+n;语句功能:逻辑地址加n,使指针变量指向基类型相同的后面第n个元素。4. 指针变量减n运算语句格式:指针变量=
3、指针变量-n;语句功能:逻辑地址减n,使指针变量指向基类型相同的前面第n个元素。5. 逻辑步长与物理步长在上述操作中,加1减1,或加n减n都是指逻辑步长,而实际的物理步长则取决丁指针的基类型所占的存储空间的大小。C+给变量规定数据类型的目的是为了在分配内存的时候能根据数据类型分配合适大小的存储空间。指针变量区分基类型的目的是为了在修改针时确定物理步长的。而作为高级语言的C+,提供了友好的编程接口,如用户程序需要修改指针变量,只要指明同一数组空间的逻辑地址之差就可以了,而具体的物理地址之差由编译系统根据指针变量的基类型确定。通常逻辑步长就是数组元素序号之差,物理步长就是物理地址之差,者关系为:物
4、理步长=埋辑步长X基类型数据字节数练习5.2.1设有如下代码物理步长=逻辑步长X基类型数据字节数并include<k»trcam>usingnamespacestd;inin】;iin()floatphce5|=(123t24.Z11*(X2117.6;fhKit*p_pricc;p_prk:e=&¥iceO:cout«p_price«endl:问题1emit«*(+p_price«endl;加可题2eout«p_prk.e«endl;问超3cout«+p_pice+2)«c
5、ndl;/问题,4system("pause');return0;假定price0的物理地址为0x00A0,请回答以下问题:(1问题1处代码的输出结果是多少?(2问题2处代码的输出结果是多少?(3问题3处代码的输出结果是多少?(4问题4处代码的输出结果是多少?分析与解答:0x00A024.20X00A421.83.2. 指针作为函数参数20分钟引入:指针的应用不仅可以使程序的运算高效、简洁,而且可以用丁函数的参数定义、调用中。也就是说函数的参数的类型可以是指针类型。主题:指针类型参数的作用是将一个变量的地址传给被调用函数的形参,这种调用方式也称为传址”调用。带有指针类型参数的
6、函数的一般定义形式如下:函数类型函数名称(参数类型*指针参数名1,;而且这种函数调用不会改变实参指针的值,但可以改变实参指针变量所指向变量的值。也就是说这种函数可以实现从函数中返回多个值的功能,即达到了通过调用函数使变量的值发生变化,然后在主调函数中使用这些改变了的值”的目的。示例讲解:示例5.2.1题目同示例5.1.2,用函数处理,而且用指针类型的数据作函数参数,对输入的两本书价格按从小到大的顺序输出。分析与解答:具体见P2273.3. 任务解决25分钟任务:HNS软件学院图书馆在书写各种报表时,经常需要查询现有馆藏书籍中价格最高和最低的数据。现指派您使用指针技术编写一函数完成如下任务:1.
7、 实现从馆藏书库中找出书价最高的书号和书价;2. 实现从馆藏书库中找出书价最低的书号和书价。分析与解决:具体见P232-2344. 精练15分钟任务:请您根据本节所学的有关知识,并参考下面给出的流程图,解决任务25颂格解决:具体见P5-2.cpp5. 小结2分钟通过本节的学习,您熟悉了如何移动指针以及如何用指针类型参数实现函数传址调用,掌握了如何定义指针类型形参和函数的传址调用,初步培养了灵活运用指钉技术解决实际问题的能力,为后面的学习奠定了基础。下面将本节主要内容归纳如下:1.指针的移动指针的自增运算:指针变量+;或+指针变量;指针的自减运算:指针变量;或指针变量;指针变量加n运算:指针变量
8、=指针变量+n;指针变量减n运算:指针变量=指针变量-n;2.指针作为函数参数函数的参数不仅可以是一般数据类型的变量、数组名或函数名,而且可以是指针。用指针作为函数参数,在调用时实参将值传递给形参,也就是实参和形参指针变量指向同一内存地址,子函数运行过程中,对形参指针所指变量值的改变也同样影响着实参指针所指向的变量的值即实现了传地址调用。6. 考核点考核点1:指针的移动考核点2:指针参数的使用课程名称:面向对象程序设计基础(C+)第五章指针及其应用7.作业答案。1:修改指针变量时,物理步长等丁逻辑步长*数据类型字节数以下问题:2:设有如下声明:intarray34=(0,1,2,3,4,5,6,7,8,9,10设以下操作具有传递性,回答a声明一个指针变量dp,并用array对其初始化:int*dp=&array00b*(dp+(*(dp+1+1的值:cdp+;*(dp+(*(dp+1+1的值:d*(*dp1+2的值:有的类型的运算只使用一个除2运算函数。答:solution-code/5-2-T3.cpp4:编写一程序实现输入a,b和c三个整数后,按先大后小的顺序输出a,b和c(要求用函数实现数据的交换)。答:solution-code/5-2-T4.cpp2。4。3:编写一个程序,实现一个整数、长整数、浮点数和双精度数除以2的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉安职业技术学院《有机合成》2023-2024学年第一学期期末试卷
- 幼儿园投资合作协议书
- 惠州学院《商法(下)》2023-2024学年第一学期期末试卷
- 农村股份经济合作社合作协议管理制度
- 景区步道路牙施工方案
- 医院年度人才培训计划
- 通讯行业工资等级制度的对比研究
- 危急值报告制度及报告流程
- 城市餐厨垃圾链条管理方案
- 药物依赖患者康复教育制度
- 2024-2030年中国球扁钢行业发展规划及投资需求分析报告
- 大华智能交通综合管控平台-标准方案
- 空调销售及安装企业的账务处理-记账实操
- 大班冬至课件教学
- 2024-2030年中国咨询行业深度调查及投资模式分析报告
- 单板滑雪课件教学课件
- 招商专员培训资料
- 安全生产目标考核表
- 大数据分析及应用项目教程(Spark SQL)(微课版) 实训单 实训5 房产大数据分析与探索
- 2024年软件开发知识产权归属协议范本
- 2024年度中煤平朔发展集团大学本科及以上毕业生招聘87人高频难、易错点500题模拟试题附带答案详解
评论
0/150
提交评论