C语言从入门到精通 第3版第8章 数组

上传人:E**** 文档编号:89108436 上传时间:2019-05-18 格式:PPT 页数:58 大小:1.94MB
返回 下载 相关 举报
C语言从入门到精通 第3版第8章  数组_第1页
第1页 / 共58页
C语言从入门到精通 第3版第8章  数组_第2页
第2页 / 共58页
C语言从入门到精通 第3版第8章  数组_第3页
第3页 / 共58页
C语言从入门到精通 第3版第8章  数组_第4页
第4页 / 共58页
C语言从入门到精通 第3版第8章  数组_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《C语言从入门到精通 第3版第8章 数组》由会员分享,可在线阅读,更多相关《C语言从入门到精通 第3版第8章 数组(58页珍藏版)》请在金锄头文库上搜索。

1、数组,1、一维数组,2、二维数组,3、字符数组,4、多维数组,5、数组的排序方法,6、字符串处理函数,7、数 组 应 用,一维数组,一维数组的定义和引用,一维数组的定义 一维数组是用以存储一维数列中数据的集合。 一维数组的一般形式如下: 类型说明符 数组标识符常量表达式; 类型说明符表示数组中的所有元素类型。 数组标识符就是这个数组型变量的名称,命名规则与变量名一致。 常量表达式定义了数组中存放的数据元素的个数,即数组长度。例如iArray5,5表示数组中有5个元素,下标从0开始,到4结束。 例如定义一个数组: int iArray5; 代码中的int为数组元素的类型,而iArray表示的是数

2、组变量名,括号中的5表示的是数组中包含的元素个数。,一维数组的定义和引用,一维数组的引用 数组定义完成后就要使用该数组,可以通过引用数组元素的方式,使用该数组中的元素。 数组元素的表示的一般形式如下: 数组标识符下标 例如引用一个数组变量iArray中的第3个变量: iArray2; iArray是数组变量的名称,2为数组的下标。有的读者会问:“为什么使用第3个数组元素,而使用的数组下标是2呢?”。在上面介绍过数组的下标是从0开始的,也就是说下标为0表示的是第一个数组元素。,#include int main() int iArray5, index, temp; /*定义数组及变量为基本整型

3、*/ printf(“Please enter a Array:n“); for (index= 0; index 5; index+)/*逐个输入数组元素*/ scanf(“%d“, ,【实例8.1】 使用数组保存数据。,printf(“Now Array is:n“); for (index = 0; index 5; index+)/*将转换后的数组再次输出*/ printf(“%d “, iArrayindex); printf(“n“); return 0; ,一维数组初始化,对一维数组的初始化可以用以下几种方法实现: 在定义数组时可直接对数组元素赋初值 例如: int i,iArr

4、ay6=1,2,3,4,5,6; 该方法是将数组中的元素值一次放在一对花括号中。经过上面的定义和初始化之后,数组中的元素iArray0=1,iArray1=2,iArray2=3,iArray3=4,iArray4=5,iArray5=6。,#include int main() int index; /*定义循环控制变量*/ intiArray6=0,1,2,3,4,5; /*対数组中的元素赋值*/ for(index=0;index6;index+=2) /*输出数组中的元素*/ printf(“%dn“,iArrayindex); return 0; ,【实例8.2】 初始化一维数组。在

5、本实例中,对定义的数组变量进行初始化操作,然后隔位进行输出。,一维数组初始化,可以只给一部分元素赋值,未赋值的部分元素值为0 第二种为数组初始化的方式是对其中一部分元素进行赋值,例如: int iArray6=0,1,2; 数组变量iArray包含6个元素,不过在初始化时只给出了3个值。于是数组中前3个元素的值对应括号中给出的值,在数组中没有得到值的元素被默认赋值为0。,#include int main() int index; int iArray6=1,2,3; /*对数组中部分元素赋初值*/ for(index=0;index6;index+)/*输出数组中的所有元素*/ printf

6、(“%dn“,iArrayindex); return 0; ,【实例8.3】 赋值数组中的部分元素。在本实例中,定义数组并且为其进行初始化赋值,但只为一部分元素赋值,然后将数组中的所有元素进行输出,观察输出的元素数值。,一维数组初始化,在对全部数组元素赋初值时可以不指定数组长度 之前在定义数组时,都在数组变量后指定了数组的元素个数。C语言还允许在定义数组时不必指定长度,例如: int iArray=1,2,3,4; 上面的语句,大括号中有4个元素,系统就会根据给定的初始化元素值的个数来定义数组的长度,因此该数组变量的长度为4。,#include int main() int index; i

7、nt iArray=1,2,3,4,5; /*不指定元素个数进行初始化*/ for(index=0;index5;index+) printf(“%dn“,iArrayindex); /*使用for循环隔位输出数组中的元素*/ return 0; ,【实例8.4】 不指定数组的元素个数。在本实例中,定义数组变量时不指定数组的元素个数,直接对其进行初始化操作,然后将其中的元素值进行输出显示。,一维数组应用,例如,在一个学校的班级中会有很多学生,此时就可以使用数组来保存这些学生的姓名,以便进行管理。,#include int main() char* ArrayName5; /*字符指针数组*/

8、int index; /*循环控制变量*/ ArrayName0=“WangJiasheng“;/*为数组元素赋值*/ ArrayName1=“LiuWen“; ArrayName2=“SuYuqun“;,【实例8.5】 使用数组保存学生姓名。在本实例中,要使用数组保存学生的姓名,那么数组中的每一个元素都应该是可以保存字符串的类型,这里使用字符指针类型。,ArrayName3=“LeiYu“; ArrayName4=“ZhangMeng“; for(index=0;index5;index+)/*使用循环显示名称*/ printf(“%sn“,ArrayNameindex); return 0

9、; ,二维数组,二维数组的定义和引用,1二维数组的定义 二维数组的声明和一维数组相同,一般形式如下: 数据类型 数组名常量表达式1常量表达式2; 其中,“常量表达式1”被称为行下标,“常量表达式2”被称为列下标。如果有二维数组arraynm,则二维数组的下标取值范围如下: 行下标的取值范围0n-1。 列下标的取值范围0m-1。 二维数组的最大下标元素是arrayn-1m-1。 例如定义一个3行4列的整型数组: int array34;,二维数组的定义和引用,1二维数组的定义 二维数组的声明和一维数组相同,一般形式如下: 数据类型 数组名常量表达式1常量表达式2; 其中,“常量表达式1”被称为行

10、下标,“常量表达式2”被称为列下标。如果有二维数组arraynm,则二维数组的下标取值范围如下: 行下标的取值范围0n-1。 列下标的取值范围0m-1。 二维数组的最大下标元素是arrayn-1m-1。 例如定义一个3行4列的整型数组: int array34;,二维数组的定义和引用,2二维数组的引用 二维数组元素的一般形式为: 数组名下标下标; 例如对一个二维数组的元素进行引用: array12; 这行代码表示的是对array数组中第2行的第3个元素进行引用。 这里和一维数组一样要注意下标越界的问题,例如: int array24; /*对数组元素进行赋值*/ array24=9; /*错误

11、!*/ 上述代码的表示是错误的: 首先array为2行4列的数组,那么它的行下标的最大值为1,列下标的最大值为3,所以array24超过了数组的范围,下标越界。,二维数组初始化,二维数组和一维数组一样,也可以在声明时对其进行初始化。在给二维数组赋初值时,有以下4种情况: 可以将所有数据写在一个大括号内,按照数组元素排列顺序对元素赋值。如: int array22 = 1,2,3,4; 如果大括号内的数据少于数组元素的个数,则系统将默认后面没被赋值的元素值为0。 在为所有元素赋初值时,可以省略行下标,但是不能省略列下标。如: int array3 = 1,2,3,4,5,6; 系统会根据数据的个

12、数进行分配,一共有6个数据,而数组每行分为3列,当然可以确定数组为2行。 也可以分行给数组元素赋值。如: int a23 = 1,2,3,4,5,6; 在分行赋值时,可以只对部分元素赋值。如: int a23 = 1,2,4,5;,二维数组初始化,二维数组也可以直接对数组元素赋值,例如: int a23; a00 = 1; a01 = 2; 这种赋值的方式就是使用数组引用的数组中的元素。,二维数组应用,#include int main() int a33; /*定义一个3行3列的数组*/ int i,j,sum=0; /*定义循环控制变量和保存数据变量sum*/ printf(“please

13、 input:n“); for(i=0;i3;i+) /*利用循环进行对数组元素进行赋值*/ for(j=0;j3;j+) scanf(“%d“, ,【实例8.7】 任意输入一个3行3列的二维数组,求对角之和。在本实例中,使用二维数组保存一个3行3列的数组,利用双重循环访问数组中的每一个元素。在循环中判断是否是对角线上的元素,然后进行累加计算。,for(i=0;i3;i+) /*使用循环计算对角线的总和*/ for(j=0;j3;j+) if(i=j) sum=sum+aij;/*进行数据的累加计算*/ printf(“the result is :%dn“,sum); /*输出最后的结果*/

14、 return 0; ,字 符 数 组,字符数组定义和引用,1字符数组的定义 字符数组的定义与其他数据类型的数组定义类似,一般形式如下: char 数组标识符常量表达式 因为要定义的是字符型数据,所以在数组标识符前所用的类型是char。后面括号中表示的是数组元素的数量。 例如定义字符数组cArray: char cArray5; 其中的cArray表示数组的表示符,而括号中的5表示数组中包含5个字符型的变量元素。,字符数组定义和引用,2字符数组的引用 字符数组的引用和其他类型数据引用一样,也是使用下标的形式。例如引用上面定义的数组cArray中的元素: cArray0=H; cArray1=e

15、; cArray2=l; cArray3=l; cArray4=o; 上面的代码依次引用数组中元素,为其进行赋值。,字符数组初始化,在对字符数组进行初始化操作时有以下几种方法: 逐个字符赋给数组中各元素 这是最容易理解的初始化字符数组的方式,例如初始化一个字符数组: char cArray5=H,e,l,l,o; 定义包含5个元素的字符数组,在初始化的大括号中,每一个字符对应赋值一个数组元素。,#include int main() char cArray5=H,e,l,l,o; /*初始化字符数组*/ int i; /*循环控制变量*/ for(i=0;i5;i+) /*进行循环*/ printf(“%c“,cArrayi); /*输出字符数组元素*/ printf(“n“); /*输出换行*/ return 0; ,【实例8.8】 使用字符数组输出一个字符串。在本实例中,定义一个字符数组,通过初始化操作保存一个字符串,然后通过循环引用每一个数组元素进行输出操作。,如果在定义字符数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号