C程序教案(第9章).docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C程序教案(第9章)

【教学课题】 指针和指针变量 (第9章 指针,1、2节) 【目的要求】 了解内存单元地址的概念和直接内存访问与间接内存访问的区别,理解指针的概念以及与指针变量的区别,掌握指针变量的定义、初始化及相应的运算。 【教学重点】 指针的概念,指针变量的定义,指针变量的运算 【教学难点】 直接访问与间接访问,指针变量与指针,指针变量的赋值运算和加减法运算 【教学方法】 任务驱动法,问题引导法 【教学手段】 讲授+多媒体演示+学生动手 【作业布置】 1、输入两个整数,求出最大值,要求用函数调用的方法实现,且函数参数为指针变量。 2、输入三个整数,按从小到大的顺序输出。要求用函数调用的方法实现,且函数参数为指针变量。 一、提出任务,引入课题 计算机存储器中保存了那么多数据,系统是如何准确找到所要的数据? 二、分析任务,讲授新课 (一)地址和指针(P139) 1、内存单元的“地址” 计算机所有信息都是以二进制的形式存储在存储器中,同时把8个二进制位规定为一个字节,也就是说存储器在存储信息时通常都是以字节为最小单位进行的,对应的,计算机系统把存储器划分成若干个以字节为单位的小块,这样的存储块通常就是存储信息的最小单元,我们称之为存储单元,为了方便管理存储器中的各个存储单元,给每个存储单元一个编号,我们称之为存储单元的“地址”。内存上的存储单元又叫内存单元。 (图9-1,内存单元之与地址有如房间之与房间号码,邮箱之与邮箱编号) 2、数据在内存中的存储 (我们知道程序的处理对象就是各种各样的数据,这些数据通常先被赋值到相应类型的变量中,然后再对变量进行相应的操作,最终得出期望的结果,所以数据如何存放到内存上的变量空间中,我们有必要了解) (1)变量的存储空间:程序中定义了变量后,程序在被编译的过程中,系统就为变量分配一定的内存空间(如:int型变量分配4个字节的空间,char型变量分配1个字节的空间); (2)变量的地址(编号):变量所对应的内存空间的第1个字节的地址即为变量的地址(图9-2所示); (3)变量地址的作用: A、具有指向作用(通过地址可以准确找到对应的变量存储空间,从而找到变量中的数据); B、隐含变量的类型(由地址的跨度可以了解这个变量的类型) 3、内存单元中数据的读取(2种访问形式) (1)直接访问 直接根据变量的地址找到变量的值。如:printf(“%d”,a); (如:你找人时知道受访对象的房间号,根据房号直接找到受访人) (2)间接访问 先在一个位置(通常有存放地址的变量)找到变量的地址,然后根据地址找到相应的变量。如:指针变量的使用。 (如:你找人时不知道受访对象的房间号,只能先找传达室,再从传达式找到房号,最后根据房号找到受访人) 4、指针和指针变量 (1)指针:一个变量的地址称为该变量的指针,简单地说指针就是地址,是一个无符号整数,通过变量的指针即地址就可以找到变量的内存单元; (2)指针变量:存放指针(地址,实际是一个数值)的变量就叫指针变量。 (3)说明: A、指针变量有类型之分。指针变量的类型与存在它里面的地址所隐含的类型相同; B、变量的指针是地址,即一个数值,指针变量是一个变量,用来存放指针(即地址)值的变量。 (二)指针变量(P140) 1、定义指针变量 (指针变量既然是变量,同样遵守变量的规则,即先定义后使用) (1)定义格式: 数据类型 *指针变量名1[,*指针变量名2……] (2)举例: int *p1,*p2; float *p3; char *p4; (3)说明: A、数据类型又叫基类型,是指指针变量所能存放地址的类型; B、“*”是指针变量的定义标识符,只起标识作用,说明定义的变量是指针,并不是变量名的一部分; C、指针变量名的命名规则遵守C中标识符的命名规则; D、相同类型的指针变量定义时可以在一个语句里,但在每个指针变量名前都必须加“*”。 2、指针运算符(2个,P141) (1):取地址运算符 A、格式为:变量名 B、如:a,b[0], 又如:p=a;(表示把变量a的地址放到变量p中,即使p指向变量a) C、运算符是单目运算符,遵循右结合性,且其后只能是变量或数组元素,不能为表达式或常量。 (2)*:取内容(值)运算符(又指针运算符或间接访问运算符) A、格式为:*指针变量名。 B、如:int *p,i; p=i;(此句不能省,否则p没有指向) *p=1; C、这里的“*”表示指针所指存储单元的内容,不是乘号,也不是指针变量定义时的指针说明符,它是单目运算符,遵循右结合性。 D、如有语句:int a,*p;p=a; 其中p表示指针变量,*p表示p所指向的变量a。 3、指针变量初始化(P142) (1)格式:基类型 指针变量名=初始化地址值; (2)举例:char c;

文档评论(0)

asd522513656 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档