《C语言程序设计案例教程》课件7.5指针数组.pptx

上传人(卖家):momomo 文档编号:4611225 上传时间:2022-12-25 格式:PPTX 页数:17 大小:4.75MB
下载 相关 举报
《C语言程序设计案例教程》课件7.5指针数组.pptx_第1页
第1页 / 共17页
《C语言程序设计案例教程》课件7.5指针数组.pptx_第2页
第2页 / 共17页
《C语言程序设计案例教程》课件7.5指针数组.pptx_第3页
第3页 / 共17页
《C语言程序设计案例教程》课件7.5指针数组.pptx_第4页
第4页 / 共17页
《C语言程序设计案例教程》课件7.5指针数组.pptx_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、CONTENTS 目 录提出问题 引入新课自主学习 明确考点案例分析 交流提升仿真演练 体验探索提出问题 引入新课PART 01回顾:1、数组指针的定义、赋值与引用?2、数组指针有什么要点?3、数组指针与数组之间有什么关联?思考:在C语言中,使用数组使编写的程序简洁、明了,但对于一些数据长度不一致的数据,我们如何定义数组呢?提出问题 引入新课自主学习 明确考点PART 02一个数组,如果它的元素都是指针型,则称为指针数组。即数组的元素都是指针变量。一维指针数组的定义形式为:类型名*数组名数据长度;例如:int*p4;由于 比*的优先级高,因此p先与结合,形成p4形式,这显然是数组形式,它有四个

2、元素,其元素的类型是整型指针。考点一:指针数组的定义说明:在书写时,要注意int(*p)4和int*p4的区别。原理:区分两者的优先级别区分两者的优先级别(1)用指针数组元素分别指向二维数组的每一行,通过指针数组元素控制对二维数组每一行元素的操作。结指针元素赋值的格式是:下标=行下标;考点二:指针数组的赋值与使用【例1】通过指针数组对二维数组的元素进行输出操作#includemain()int a33=1,2,3,4,5,6,7,8,9,*pa3;int*p=a0;/*定义指针指向每行元素的值*/int i;for(i=0;i=2;i+)pai=ai;/指针数组元素分别指向每一行 for(i=

3、0;i3;i+)printf(%d,%d,%dn,ai2-i,*ai,*(*(a+i)+i);for(i=0;i3;i+)printf(%d,%d,%dn,*pai,pi,*(p+i);说明:pa是一个指针数组,三个元素分别指三个元素分别指向二维数组向二维数组a a的各行的首地址的各行的首地址。然后用循环语句输出指定的数组元素。其中*ai表示i行0列元素值;*(*(a+i)+i)表示i行i列的元素值;*pai表示i行0列元素值;由于p与a0相同,故pi表示0行i列的值;*(p+i)表示0行i列的值。(2)用于对多个字符串的处理,让每个数组元素指向一个字符串常量,或指向存放字符串的字符数组,每个

4、指针数组元素就可以代表一个字符串进行整串的操作。对指针数组元素赋值的格式是:考点二:指针数组的赋值与使用=;考点二:指针数组的赋值与使用【例2】有若干个字符串,输出其中最长的字符串。#include main()char*p=teacher,book,pascal,hello,and,computer design;char*q;int i;q=p0;for(i=1;istrlen(q)q=pi;printf(%sn,q);运行结果为:computer design 说明:程序中用指针变量q记录最长字符串的地址。考点二:指针数组的赋值与使用【例3】有若干长度不等的字符串,请按字母顺序输出(由小

5、到大)。#include main()char*p=teacher,book,pascal,hello,and,me;int n=6,i,j,k;char*temp;for(i=0;in-1;i+)k=i;for(j=i+1;j0)k=j;if(k!=j)temp=pk;pk=pi;pi=temp;for(i=0;in;i+)printf(%sn,pi);案例分析 交流提升PART 03【例1】若有语句:char*line5;,以下叙述中正确的是()A)定义line是一个数组,每个数组元素是一个基类型为char的指针变量B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C)

6、定义line是一个指针数组,语句中的*号称为间址运算符D)定义line是一个指向字符型函数的指针【例2】有以下程序运行后的输出结果是()main()char ch34=”123”,”456”,”78”,*p3;int i;for(i=0;i3;i+)pi=chi;for(i=0;i=0;i-,i-)printf(%c,*pi);printf(n);【例4】有以下程序运行后的输出结果是()#include main()int a3=1,2,3,4,5,0,(*pa)3,i;pa=a;for(i=0;i3;i+)if(i2)pa1i=pa1i-1;else pa1i=1;printf(%dn,a0

7、1+a11+a12);A)7 B)6 C)8 D)无确定值仿真演练,体验探索PART 041、写出以下程序运行后的输出结果是()main()char *s=“one”,”two”,”three”,*p;p=s1;printf(“%c,%sn”,*(p+1),s0);A)n,two B)t,one C)w,one D)o,two2、读程序写结果main()int a34=1,2,3,4,3,4,5,6,5,6,7,8;int i;int(*p)4=a,*q=a0;for(i=0;i3;i+)if(i=0)(*p)i+i/2=*q+1;else p+,+q;for(i=0;i3;i+)printf(%d,aii);printf(%d,%dn,*(int*)p),*q);3、分析下列程序的运行结果是()main()char ch25=6937,8254,*p2;int i,j,s=0;for(i=0;i2;i+)pi=chi;for(i=0;i0;j+=2)s=10*s+pij-0;printf(%dn,s);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中职
版权提示 | 免责声明

1,本文(《C语言程序设计案例教程》课件7.5指针数组.pptx)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|