C程序设计教案(第7章第2次).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
周次:第 周 课次:第课 授课时间:年 月 日 章节内容: 第七章 指针 7.3 指针与数组 7.4 指针与字符串 教学目标: 通过学习,要求能掌握指针的基本概念,熟练掌握一维数组的指针和二维数组指针的表示方法与使用方法,字符串指针变量的说明与用法,和字符数组的使用。为本章后续的指针与函数的学习做好准备。 教学重点: 数组的指针表示方法 指针与变量的关系 数组的指针和指向数组的指针变量; 字符串指针变量与字符数组 教学难点: 指针与变量的关系 数组的指针和指向数组的指针变量; 字符串指针变量与字符数组 教学方法和授课手段 多媒体教室,电子课件。 教学过程: 预备(复习):指针的基本概念,指针和指针变量的基本概念,指针变量的类型说明和指针变量的赋值和运算方法。 (5分钟) 课前提问 (5 分钟) 课程引入: a[0]=1 a[0]=1 a[1]=3 a[2]=5 a[3]=7 a[4]=9 a[5]=11 pa , a pa+1,a+1 pa+2,a+2 pa+3,a+3 pa+4,a+4 pa+5,a+5 图7-3 一维数组的指针 设有实数组a,指向a的指针变量为pa,如图7-3可以看出以下关系: pa,a,a[0]均指向同一单元,它们是数组a的首地址,也是0 号元素a[0]的首地址。pa+1,a+1,a[1]均指向1号元素a[1]。类推可知a+i,a+i,a[i]指向i号元素a[i]。 一个数组是由连续的一块内存单元组成的。数组名是代表数组在内存中的首地址;字符串代表字符串在内存中的首地址;一个指针变量既可以指向一个数组,也可以指向一个数组元素。只要用一个指针指向这个首地址,便可以找出它的内容。(10分钟) 课程新授:(60分钟) 7.3 指针与数组 7.3.1一维数组的指针 指向数组的指针变量称为数组指针变量。 数组指针变量说明的一般形式为: 类型说明符 * 指针变量名 【例7.7】分别用下标法、地址法和指针访问一维数组元素。 /* 源文件名:Li7_7.cpp */ #include stdio.h void main() {int a[6]={1,3,5,7,9,11},i,*pa; /*定义一个整型数组并初始化 */ for(i=0;i6;i++) /*循环语句*/ printf(a[%d]=%d\t,i,a[i]); /*用下标法访问一维数组元素 */ printf(\n); /*输出换行*/ for(i=0;i6;i++) printf(a[%d]=%d\t,i,*(a+i)); /*用地址法访问一维数组元素 */ printf(\n); for(i=0,pa=a;paa+6;pa++) printf(a[%d]=%d\t,i++,*pa); /*用指针访问一维数组元素 */ printf(\n); } 程序运行后,屏幕显示: a[0]=1 a[1]=3 a[2]=5 a[3]=7 a[4]=9 a[5]=11 a[0]=1 a[1]=3 a[2]=5 a[3]=7 a[4]=9 a[5]=11 a[0]=1 a[1]=3 a[2]=5 a[3]=7 a[4]=9 a[5]=11 7.3.2 数组名和数组指针变量作函数参数 数组名就是数组的首地址,实参向形参传送数组名实际上就是传送数组的地址,形参得到该地址后也指向同一数组。指针变量的值也是地址,数组指针变量的值即为数组的首地址,当然也可作为函数的参数使用。 【例7.8】使用数组指针变量作函数参数,计算数组元素的平均值。 /*源文件名:Li7_8.cpp */ #include stdio.h float aver(float *pa); void main() {float sco[5],av,*sp; int i; sp=sco; printf(\n请输入5个成绩:); for(i=0;i5;i++) scanf(%f,sco[i]); av=aver(sp); printf(平均成绩是:%5.2f\n,av); } float aver(float *pa) {int i; float av,s=0; for(i=0;i5;i++) s=s+*pa++; av=s/5; return av; } 程序运行后,屏幕显示: 请输入5个成绩:65 70 75 80 85 平均成绩是:75.00 7.3.3 【例7.9】分别使用不同的方法访问二维数组元素。 /*源文件名:Li7_8.cpp */ #include stdio.h #define PF %d,%d,%d,%d,%d,\n vo

文档评论(0)

autohhh + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档