欢迎来到天天文库
浏览记录
ID:59422361
大小:197.50 KB
页数:51页
时间:2020-09-19
《C程序设计 第9章 数组ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章数组9.1数组的概念9.2一维数组9.3多维数组的定义和使用9.4字符数组及字符串9.5数组作函数参数9.1数组的概念数组是指一组相同类型数据的有序集合,由一个统一的数组名标识这一组数据。数组的每一个成员称作数组元素,用下标来标识数组元素在该数组中的位置。把数学中的集合和数组对照一下。假如有集合s={1,2,3,4,5,6,7,8,9,10}要表示集合中某个元素,数学中可以描述为si,其中s是集合的名字,i表示该元素在集合中的序号。为了表示C语言数组中的每一个元素,也必须确定数组名和该元素在数组中的位置信息。数组名和该元素在数组中的位置信息是确定
2、数组元素两个不可缺少的要素。在C语言中,数组元素的位置信息是由下标表示的,下标等同于集合中的序号。9.2一维数组9.2.1一维数组的定义由单一下标标识数组元素的数组称为一维数组。一维数组的定义形式为:类型标识符数组名[元素个数];数组名必须符合标识符的规定。元素个数,又称为数组长度,只能用整型常量表达式表示。数组和变量一样,也必须占据一定的存储空间。进行存储空间分配时,系统根据数组的长度和数组元素的类型确定分配存储单元的个数,C语言中数组元素的存储是连续的,数组名就是所分配内存空间的起始地址。如整型数组a,共有10个元素,每个元素分配2个字节,共分配2
3、×10个字节的存储单元,图9.3数组a的存储示意图9.2.2一维数组元素的初始化数组初始化的一般形式如下:类型标识符数组名[元素个数]={元素值表列};(1){}中的数组元素值与数组的每一个元素具备左对应关系。(2){}中的元素值表列,可以是数组所有的元素的初值,也可以是前面部分元素的初值,元素值之间使用逗号分割。(3)当给数组部分元素赋初值时,其余元素的值为0。(4)当对全部元素赋初值,数组长度可以省略,但[]不能省略。(5)数组初始化的赋值方式只能用于数组的定义,定义之后再赋值只能一个元素一个元素地赋值。9.2.3一维数组元素的引用定义一个数组,相
4、当于一次定义了许多变量。一维数组元素的引用形式:数组名[下标]例如:a[0]、a[k]、a[i+1]等。下标可以是整型常量、整型变量或者整型表达式,其范围是0~L1(L表示数组长度)。C语言不检查数组的边界。所以当引用数组元素的下标超越边界时,系统不会提示错误,但是可能导致其他变量甚至程序被破坏。例9.1数组元素引用示例。示例1:main(){inti,a[10];for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)printf("%5d",a[i]);printf("");}9.2.4一维数组
5、举例使用一维数组可以实现实际应用中的多种数学模型,如队列、数列、堆栈等数据结构。在一维数组中,数组中的各个元素都是相关联的,它们是相同数据类型的数据的集合。在实际应用中,程序设计者应注意分析数据间的关系,合理地使用数组元素,才能编制出高效率的程序。本节从下面几个例子介绍一维数组的编程方法。例9.2利用数组求出Fibonacci数列的前40项。在循环一章中讲述了利用变量计算Fibonacci数列之和的题目。数列的数据模型常用数组来表示。main(){intj;floatf[40];f[0]=1;f[1]=1;for(j=2;j<40;j++)f[j]=f
6、[j-1]+f[j-2];for(j=0;j<40;j++)printf("%10.0f",f[j]);printf("");}例9.4输入10个整数,输出最大值。main(){intarray[10],max,k;for(k=0;k<10;k++)scanf("%d",&array[k]);max=array[0];for(k=1;k<10;k++)if(max7、("max=%3d",max);}例9.5用选择法对N个数排序图9.5例9.5的流程图#defineN10main(){inta[N],min,temp,i,j;for(i=0;ia[j])min=j;temp=a[min];a[min]=a[i-1];a[i-1]=temp;}for(i=0;i8、用9.3.1多维数组的定义1.二维数组的定义二维数组的定义形式为:类型标识符数组名[行元素个数
7、("max=%3d",max);}例9.5用选择法对N个数排序图9.5例9.5的流程图#defineN10main(){inta[N],min,temp,i,j;for(i=0;ia[j])min=j;temp=a[min];a[min]=a[i-1];a[i-1]=temp;}for(i=0;i8、用9.3.1多维数组的定义1.二维数组的定义二维数组的定义形式为:类型标识符数组名[行元素个数
8、用9.3.1多维数组的定义1.二维数组的定义二维数组的定义形式为:类型标识符数组名[行元素个数
此文档下载收益归作者所有