资源描述:
《数组及其应用ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、程序设计技术C语言数据描述和C程序设计初步结构化程序设计基础和C语言的控制结构数组及其应用函数与C程序结构指针与函数指针与数组字符串及其应用结构体类型和联合体类型C语言的文件处理及其应用位运算与枚举类型本章概要和学习目标数组是程序设计中使用的一种重要的数据结构。为了能够描述出若干相同类型的相关变量之间内在的联系,以便合理地使用程序的控制结构对它们进行处理,就需要把相同类型的多个变量按有序的形式组织起来,这些按序排列的相同数据类型的存储单元称为数组。在C语言中, 组成数组的每个成员的数据类型可以是基本数据类型,指针类型或其他构造类型,因此数组可分为数值数组、
2、字符数组、指针数组、结构数组等,本章仅讨论数值类型的数组及其简单应用。数组及其应用3.1一维数组3.1.1一维数组的定义和初始化3.1.2一维数组元素的引用方法3.2二维数组和多维数组3.2.1二维数组和多维数组的定义3.2.2二维数组和多维数组元素引用方法3.3数组的简单应用3.3.1数组元素值的随机生成3.3.2常用排序方法3.3.3常用查找方法一维数组一维数组是一组按线性排列有序且个数有限的同类型变量构成的数据集合,集合中的数据元素使用同一个名字来描述他们之间的共性,同时又通过各自不同的序号描述数据集合中各个数据元素之间的关系。一维数组在存储时需要占
3、用连续的内存空间,它们在存储器中的映像如图3.1所示,其每一个数据元素所占用的字节长度与它们的数据类型相关。3.1.1一维数组的定义和初始化在C程序设计中必须首先对数组进行定义,然后才能进行数组的各种操作。一维数组定义的一般形式:数据类型名数组名[常量表达式];其中,方括号在此处是数组运算符,方括号中的常量表达式值用以指定该数组可以拥有数组元素个数,也称为数组的长度。数组的长度一但定义就不能在程序的运行过程中进行修改,在定义数组时应该根据应用的实际情况为数组长度留有余地。下面是一些数组定义的示例:intarray_int[10];float b[10],c
4、[20];doublearr[100];3.1.1一维数组的定义和初始化定义数组还要注意以下几点:(1)数组名的命名必须符合C语言关于标识符的书写规定。(2)数组名也是变量,因此在定义数组时数组的名字不能与同一范围内已经定义的其它变量名字相同。(3)定义数组时,不能用变量来表示数组的长度(注:在C99标准中可以用变量表示数组长度),但是可以用符号常数或常量表达式。下面是一组用于比较的定义形式:(4)允许在同一个定义语句中,定义多个数组或者混合定义同类型的数组和简单变量。例如: int a,b,c,d,k1[10],k2[20];3.1.1一维数组的定义和初
5、始化(5)可以在定义数组时用“存储类型”对数组进行说明,指定数组的存储单元分配到内存的静态存储区或是动态存储区。存储类型可以是自动的(auto)、静态的(static)或者外部的(extern),关于存储类别将在4.3节中详细介绍。例如,一个静态的单精度实型数组可以定义为:staticfloatscore[50];C语言允许在数组定义时给数组元素赋予初值,这个过程称为数组初始化。数组初始化的一般形式:数据类型名 数组名[存储单元数]={常量列表};其中,常量列表中两项之间用逗号分隔。初始值用常量形式表示,也可以使用常量表达式,但不允许使用含变量的表达式。例
6、如:int a[10]={ 1,2,3,4,5,6,7,8,9,10 };intb[3]={1,3*5,4*3-2};3.1.1一维数组的定义和初始化对数组进行初始化应当注意以下几点:(1)可以对数组部分初始化,即{ }中常量值的个数少于指定的数组元素个数。例如:int a[10]={0,1,2,3,4};//为a[0]~a[4]元素赋值(2)若需要将数组全部元素初始化为0值,可以用如下形式实现:inta[10]={0};(3)不能给数组整体赋值。 例如,int a[5]={1,1,1,1,1};表示将数组的所有元素值初始化为1,但不能将其写成int a[
7、10]={1};。(4)可以省略数组的长度。例如:int a[5]={1,2,3,4,5};和int a[]={1,2,3,4,5};等效。(5)初始化列表中值的个数不能超过指定的数组长度。例如下面的数组定义是错误的:inta[5]={1,2,3,4,5,6};//初始值的个数超过了数组长度3.1.2一维数组元素的引用方法C语言中规定,在一般情况下数组不能作为一个整体参加数据处理,而只能通过处理每一个数组元素(下标变量)达到处理数组的目的。一维数组元素(下标变量)的表示形式为:数组名[下标]其中,下标值应该是整型常数或表达式,该值表示了数组元素在一维数组中
8、的顺序号,实型下标值系统会自动取整。数组的下标变量和普通变量的用法