《c语言程序设计教学课件》第8章.ppt
《《c语言程序设计教学课件》第8章.ppt》由会员分享,可在线阅读,更多相关《《c语言程序设计教学课件》第8章.ppt(32页珍藏版)》请在三一办公上搜索。
1、(The C Language Programming),C语言程序设计,2,教学目的与要求:掌握程序的基本结构了解C语句概述熟记数据的输入及输出函数的一般格式,并能编写简单的顺序结构程序。教学手段:多媒体课件为主,辅以黑板板书教学内容、重点、难点及作业详见课件,3,第八章 指针,8.3 指针与数组8.4 指针与字符串8.5 指针数组与命令行参数8.6 程序举例,4,8.3 指针与数组,8.3.1 指向一维数组的指针将一个一维数组的起始地址(数组名)赋给一个指针变量,则该指针变量就是一个指向一维数组的指针。例如:int a5=1,2,3,4,5,*p;p=a;或:p=,1,2,3,4,5,a数
2、组,p,a0,a1,a2,a3,a4,5,若有如下定义:int a5=0,2,4,6,8,*p=a;则a数组中第i个元素可用以下4种方法表示:(1)下标法:ai。(2)数组名法:*(a+i)。(3)指针法:*(p+i)。(4)指针下标法:pi。,6,例8.7 使用不同方法输出整型数组a各元素。,main()int a5=1,2,3,4,5,i,*p;for(i=0;i5;i+)printf(%4d,ai);printf(n);for(i=0;i5;i+)printf(%4d,*(a+i);printf(n);for(p=a;pa+5;p+)printf(%4d,*p);printf(n);p=
3、a;for(i=0;i5;i+)printf(%4d,pi);,7,例8.8 从键盘上输入5个整数到数组a中,然后输出。,main()int a5,i,*p;p=a;for(i=0;i5;i+)scanf(%d,p+);p=a;for(i=0;i5;i+)printf(“%6d”,*(p+);/*不可(*p)+*/printf(n);,8,8.3.2 指向二维数组的指针,1.二维数组的地址与一维数组类似,二维数组名代表二维数组的首地址,但该地址是二级地址。如有下面的定义:int a23=1,2,3,4,5,6;对于第0行的元素a00,a01,a02,可以看成是一维数组a0的三个元素,即把a0看
4、成一维数组名,这样a0即代表第0行的首地址,也是第0行第0列元素的地址:&a00。,9,因此,a0,a1 分别代表2行的首地址,而a0又可以表示为*(a+0),a1可表示为*(a+1)。因此元素aij的地址可表示为ai+j或*(a+i)+j。而元素值则表示为*(ai+j)或*(*(a+i)+j)。例如:a02元素可表示为*(a0+2)或*(*(a+0)+2)。这就是二维数组元素的指针表示形式。由此得出二维数组元素的三种表示形式:1、aij(下标法)2、*(ai+j)(一维数组名法)3、*(*(a+i)+j)(二维数组名法)。,10,二维数组的指针表示如图所示:int a34=1,2,3,4,5
5、,6,7,8,9,10,11,12;,11,main()int a23=1,2,3,4,5,6,i,j,k,*p;for(i=0;i2;i+)for(j=0;j3;j+)printf(%4d,*(ai+j);printf(n);for(i=0;i2;i+)for(j=0;j3;j+)printf(%4d,*(*(a+i)+j);printf(n);p=*(a+0);for(i=0;i2;i+)for(j=0;j3;j+)printf(%4d,*(p+);printf(n);,例8.9:,12,2.指向二维数组的指针变量,(1)直接指向二维数组元素的指针变量 例8.10 找出二维数组中的最大元素
6、,并指出其所在的位置(行列号)。main()/*用数组名法实现*/int i,j,m,n,max,a34=1,2,3,4,5,6,7,8,9,10,11,12;max=*a;/*将第一个元素值赋给max*/for(i=0;i3;i+)for(j=0;j4;j+)if(max*(*(a+i)+j)max=*(*(a+i)+j);m=i;n=j;printf(max is:a%d%d=%dn,m,n,max);,13,main()/*用指针法实现*/int i,j,m,n,max,*p;int a34=1,2,3,4,5,6,7,8,9,10,11,12;p=a0;max=*p;/*将第一个元素值
7、赋给max*/for(i=0;i3;i+)for(j=0;j4;j+,p+)if(max*p)max=*p;m=i;n=j;printf(max is:a%d%d=%dn,m,n,max);,14,(2)指向二维数组一行的指针,指向二维数组一行的指针亦称行指针。行指针定义形式为:类型标识符(*指针变量名)元素个数;例如:int a35,(*p)5;p=a;/*或p=a+0;*/由于p是行指针,所以p+1不是指向数组的下一元素a01,而是指向下一行a1。,15,例8.11 用行指针实现例8.10的功能。,main()int i,j,m,n,max,(*p)4;int a34=1,2,3,4,5,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言程序设计教学课件 语言程序设计 教学 课件
链接地址:https://www.31ppt.com/p-5896102.html