C语言课件---数组.ppt

C语言课件---数组.ppt

ID:59421158

大小:717.00 KB

页数:36页

时间:2020-09-19

C语言课件---数组.ppt_第1页
C语言课件---数组.ppt_第2页
C语言课件---数组.ppt_第3页
C语言课件---数组.ppt_第4页
C语言课件---数组.ppt_第5页
资源描述:

《C语言课件---数组.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第七讲Begin:一维数组二维数组学习的意义到目前为止,我们已经讨论了C语言中的基本数据类型,如果用基本数据类型来定义某些变量,那么这些变量在内存中将占用各自的内存单元,变量之间的制约关系无法体现,不能表现出这些变量之间的关联性,看不出它们之间有任何的联系,我们把这些变量称之为“离散变量”,对它们的访问只能通过变量名逐一进行。下面来思考一个问题:如何编程来实现对100个数进行排序呢?太复杂了!晕!!!解题思路:定义100个整型变量来分别存放这100个整数,然后再对这些变量的值进行比较、交换等操作。有没有

2、更好的方法来解决呢?有!就是用数组来编程。构造数据类型之一数组:有序数据的集合,用数组名标识元素:属同一数据类型,用数组名和下标确定数学中:a1,a2,a3,···,ai,···,anC程序中:a[0],a[1],a[2],···,a[i-1],···a[n-1]数组是数目固定,类型相同的若干变量的有序集合。数组中的每一个数称为数组元素,数组中的每一个元素都属于同一个数据类型。在内存中数组占有一段连续的存储空间。一维数组的定义、初始化和引用一维数组的定义、初始化和引用一维数组的定义定义方式:数据类型数组

3、名[常量表达式];合法标识符表示元素个数下标从0开始数组元素的类型[]:数组运算符单目运算符优先级(1)左结合例inta[6];a[0]0145a[1]a[2]a[3]a[4]a[5]23a编译时分配连续内存内存字节数=数组元素个数*sizeof(元素数据类型)数组名表示内存首地址,是地址常量例如:inta[10];//定义了有10个数据元素的int型数组afloatf[20];//定义了有20个数据元素的float型数组fcharstr1[10],str2[20];//定义了有10个和20个数据元素的

4、char型数组str1和str2定义说明:(1)数组定义时,必须指定数组的大小(或长度),数组大小必须是整型常量表达式,不能是变量或变量表达式。(2)数组定义后,系统将给其分配一定大小的内存单元,其所占内存单元的大小与数组元素的类型和数组的长度有关。数组所占内存单元的字节数=数组大小×sizeof(数组元素类型)(3)数组中每个数组元素的类型均相同,它们占用内存中连续的存储单元,其中第一个数组元素的地址是整个数组所占内存块的低地址,也是数组所占内存块的首地址,最后一个数组元素的地址是整个数组所占内存块的

5、高地址(末地址)。例如,下面对数组的定义是错误的:intn=10;inta[n];//数组的大小不能是变量intb[10.3];//数组的大小不能是浮点常量intc[n+10];//数组的大小不能是变量表达式例如:shortinta[20];则数组a所占内存单元的大小为:20*sizeof(short)=20*2=40(字节)。2、一维数组的引用引用格式:数组变量名[下标]引用说明:(1)下标可以是整型常量、整型变量或整型表达式。C语言规定,下标的最小值是0,最大值则是数组大小减1。占用的字节数为:10

6、*sizeof(short)=10*2=20a[0]a[1]a[2]a[9]……内存地址2000200220042018a……第1个元素……第2个元素第3个元素第10个元素例:shortinta[10];引用说明:(2)只能逐个引用数组元素,不能一次引用整个数组(3)数组定义以后,数组中的每一个元素其实就相当与一个变量,所以我们有时也把数组元素称为下标变量。对变量的一切操作同样也适合于数组元素。(4)数组引用要注意越界问题。(5)数组必须先定义,后使用例inta[10];printf(“%d”,a);(

7、)必须for(j=0;j<10;j++)printf(“%dt”,a[j]);()例:inta[3];a[0]=2;//将数组a的第1个元素赋值为2a[1]=4;//将数组a的第2个元素赋值为4a[2]=a[0]+a[1];//将数组a的第1个元素的值与第2个元素的值相加赋给第3个元素(值为6)存储单元有效地址=数组的起始地址+下标×sizeof(数组元素类型)shortinta[10];shortx=a[10];//引用越界,a[10]的地址为:2000+10*2=2020,只能引用a[0]~a

8、[9]例intx=a[1];//错误,应先定义数组a,再引用inta[10];3、一维数组的赋值一维数组的初始化赋值数据类型符数组变量名[常量表达式]={表达式1,表达式2,…,表达式n};初始化赋值说明:(1)“=”后面的表达式列表一定要用{}括起来,被括起来的表达式列表被称为初值列表,表达式之间用“,”分隔;(2)表达式的个数不能超过数组变量的大小;例inta[4]={1,2,3,4,5};//超出了数组的大小(3)表达式1是第1个数组

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

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

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