C 程序设计教程 教学课件 作者 戴水贵 敖志刚 俞海英 编著第5章 数组.ppt

C 程序设计教程 教学课件 作者 戴水贵 敖志刚 俞海英 编著第5章 数组.ppt

ID:50040727

大小:301.50 KB

页数:81页

时间:2020-03-08

C 程序设计教程 教学课件 作者 戴水贵 敖志刚 俞海英 编著第5章 数组.ppt_第1页
C 程序设计教程 教学课件 作者 戴水贵 敖志刚 俞海英 编著第5章 数组.ppt_第2页
C 程序设计教程 教学课件 作者 戴水贵 敖志刚 俞海英 编著第5章 数组.ppt_第3页
C 程序设计教程 教学课件 作者 戴水贵 敖志刚 俞海英 编著第5章 数组.ppt_第4页
C 程序设计教程 教学课件 作者 戴水贵 敖志刚 俞海英 编著第5章 数组.ppt_第5页
资源描述:

《C 程序设计教程 教学课件 作者 戴水贵 敖志刚 俞海英 编著第5章 数组.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章数组数组在内存中占用一片连续的存储空间,数组是有序数据的集合,数组中的每一个元素都属于同一种类型,用一个统一的数组名和下标来表示数组中的每一个元素。数组在程序设计中用的很多,数组给程序设计带来了很多方便。有一维数组、二维数组、三维数组和多维数组,我们仅讨论到三维数组,三维数组搞清楚后,多维数组也就会用了。数组有一些重要概念,例如:(1)数组名是数组的首地址,只要找到数组的首地址,其它元素的地址也就确定(char类型占用1个字节,int类型占用4个字节,long类型占用4个字节,float占用4个字节,dou

2、ble占用8个字节)。(2)当定义一个二维数组时,系统自动建立一个与二维数组同名的一维数组,该一维数组存放的是二维数组的行地址。(3)当定义一个三维数组时,系统自动建立一个与三维数组同名的二维数组,该二维数组存放的是三维数组的页地址,…。这些概念是用指针访问二维以上数组的关键(详见指针章节)。5.1一维数组的定义和应用(1)一维数组的定义格式为:类型说明符数组名[常量表达式];例如:inta[5];//定义整型数组

3、

4、

5、单元个数数组名(要满足变量的定义)用语句:inta[5];定义数组后,内存中有如下图(图5-1

6、)所示的一片连续的存储空间,即定义了5个下标变量,它们分别是:a[0]、a[1]、a[2]、a[3]和a[4]。&a[0]&a[1]&a[2]&a[3]&a[4]图5-1一维数组其中,0,1,2,3,4称为下标(注意下标从0开始),&a[0]为数组变量a[0]的地址,&a[1]为数组变量a[1]的地址,…。数组中所有元素的名都为a,且下标又是有序的,这给编程带来很大的方便。数组中下标变量的使用方法与普通变量一样。例如,定义一个有10个元素的实型数组,并给每个元素赋值10。main(){inti;floatb[10

7、];//定义实型数组for(i=0;i<10;i++)b[i]=10;for(i=0;i<10;i++)printf(“%4.1f”,b[i]);printf(“”);}/*运行结果:10.010.010.010.010.010.010.010.010.010.0*/(2)一维数组的初始化一维数组的另一种初始化方法为用大括号赋值,例如:longd[5]={10,15,18,30,48};//定义长整型数组,并给各个元素赋初值。其中,d[0]=10,d[1]=15,d[2]=18,d[3]=30,d[4]=48

8、。其它计算方法,例如:d[0]=d[0]+d[2];//d[0]=10+18=28d[3]+=100;//d[3]=30+100=130(3)一维数组程序例main()//数组的初始化、赋值和输出。{inti;inta[10]={0};//所有元素初始为0for(i=0;i<10;i++)a[i]=i;//a[0]=0,a[1]=1,a[2]=2,…a[9]=9for(i=0;i<10;i++)printf("%2d",a[i]);//输出}/*运行结果:0123456789_*/main()//数组的部分初始化

9、。{inti;inta[10]={1,2,3,4,5};//部分元素的初始化for(i=0;i<10;i++)printf("%2d",a[i]);//输出printf("");}/*运行结果:01234500000_*/main()//用键盘输入语句,给数组元素赋值。{inta[5],i;for(i=0;i<5;i++)scanf("%d",&a[i]);for(i=0;i<5;i++)printf(“%2d”,a[i]);}/*运行结果:1回车2回车3回车4回车5回车12345_*/main()//一维数

10、组各元素的赋值和输出。{inta[10],i;for(i=0;i<10;i++)a[i]=i+1;//给各元素赋值for(i=0;i<10;i++)a[i]*=10;//给各元素赋值for(i=0;i<10;i++)printf("a[%d]=%d",i,a[i]);//输出各元素的值}/*运行结果:a[0]=10a[1]=20a[2]=30a[3]=40a[4]=50a[5]=60a[6]=70a[7]=80a[8]=90a[9]=100*///在数组中找出最小数,并将其与第一个元素交换位置。main(){

11、inti,l,temp;inta[10]={12,43,55,22,11,12,76,9,2,33};l=0;//认为第1个数最小数(l指向最小数)for(i=0;i<10;i++)if(a[i]

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。