第8章教案(1).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程序设计》课教学方案 教师: 序号13 授课时间 授课班级 上课地点 学习内容 第8章 善于利用指针 课时 4 教学目标 专业能力 了解指针的定义及什么是指针变量 掌握如何用指针调用数组、字符串、函数 了解指针数组和多重指针 方法能力 如何用指针简化程序,提高程序的可读性 社会能力 提高逻辑思维能力 目标群体 普专 教学环境 多媒体教室 教学方法 理论教学与上机训练相结合,即学即练 时间安排 教学过程设计 第一节 8.1 指针是什么 如果在程序中定义了一个变量,在对程序进行编译时,系统就会给该变量分配内存单元 编译系统根据程序中定义的变量类型,分配一定长度的空间 内存区的每一个字节有一个编号,这就是“地址”,它相当于旅馆中的房间号。 在地址所标识的内存单元中存放数据,这相当于旅馆房间中居住的旅客一样。 由于通过地址能找到所需的变量单元,我们可以说,地址指向该变量单元。 将地址形象化地称为“指针” 务必弄清楚存储单元的地址和存储单元的内容这两个概念的区别 一个变量的地址称为该变量的“指针” 例如,地址2000是变量i的指针 如果有一个变量专门用来存放另一变量的地址(即指针),则它称为“指针变量” i_pointer就是一个指针变量。指针变量就是地址变量,用来存放地址的变量,指針变量的值是地址(即指针) “指针”和“指针变量”是不同的概念 可以说变量i的指针是2000,而不能说i的指针变量是2000 指针是一个地址,而指针变量是存放地址的变量 8.2 指针变量 8.2.1 怎样定义指针变量 定义指针变量的一般形式为: 类型 * 指针变量名; 如:int *pointer_1, *pointer_2; int是为指针变量指定的“基类型” 基类型指定指针变量可指向的变量类型 如pointer_1可以指向整型变量,但不能指向浮点型变量 在引用指针变量时,可能有三种情况: 给指针变量赋值。如:p=a; 引用指针变量指向的变量。如有 p=a; *p=1; 则执行printf(“%d”,*p); 将输出1 引用指针变量的值。如:printf(“%o”,p); 8.2.2 怎样引用指针变量 要熟练掌握两个有关的运算符: (1) & 取地址运算符。 a是变量a的地址 (2) * 指针运算符(“间接访问”运算符) 如果: p指向变量a,则*p就代表a。 k=*p; (把a的值赋给k) *p=1; (把1赋给a) 8.2.3 指针变量作为函数参数 如果想通过函数调用得到n个要改变的值: ① 在主调函数中设n个变量,用n个指针变量指向它们 ② 设计一个函数,有n个指针形参。在这个函数中改变这n个形参的值 ③ 在主调函数中调用这个函数,在调用时将这n个指针变量作实参,将它们的地址传给该函数的形参 ④ 在执行该函数的过程中,通过形参指针变量,改变它们所指向的n个变量的值 ⑤主调函数中就可以使用这些改变了值的变量 第二节 8.3通过指针引用数组 8.3.1 数组元素的指针 一个变量有地址,一个数组包含若干元素,每个数组元素都有相应的地址 指针变量可以指向数组元素(把某一元素的地址放到一个指针变量中) 所谓数组元素的指针就是数组元素的地址 可以用一个指针变量指向一个数组元素 Int a[10]={1,3,5,7,9,11,13,15,17,19}; int *p; p=a[0]; 8.3.2 在引用数组元素时指针的运算 在指针指向数组元素时,允许以下运算: 加一个整数(用+或+=),如p+1 减一个整数(用-或-=),如p-1 自加运算,如p++,++p 自减运算,如p--,--p 两个指针相减,如p1-p2 (只有p1和p2都指向同一数组中的元素时才有意义) (1) 如果指针变量p已指向数组中的一个元素,则p+1指向同一数组中的下一个元素,p-1指向同一数组中的上一个元素。 float a[10],*p=a; 假设a[0]的地址为2000,则 p的值为2000 p+1的值为2004 P-1的值为1996 (2) 如果p的初值为a[0],则p+i和a+i就是数组元素a[i]的地址,或者说,它们指向a数组序号为i的元素 (3) *(p+i)或*(a+i)是p+i或a+i所指向的数组元素,即a[i]。 (4) 如果指针p1和p2都指向同一数组 p2-p1的值是4 不能p1+p2 8.3.3 通过指针

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档