谢丽聪老师C语言课件-7数组-2009

上传人:宝路 文档编号:47921891 上传时间:2018-07-06 格式:PPT 页数:32 大小:333.33KB
返回 下载 相关 举报
谢丽聪老师C语言课件-7数组-2009_第1页
第1页 / 共32页
谢丽聪老师C语言课件-7数组-2009_第2页
第2页 / 共32页
谢丽聪老师C语言课件-7数组-2009_第3页
第3页 / 共32页
谢丽聪老师C语言课件-7数组-2009_第4页
第4页 / 共32页
谢丽聪老师C语言课件-7数组-2009_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《谢丽聪老师C语言课件-7数组-2009》由会员分享,可在线阅读,更多相关《谢丽聪老师C语言课件-7数组-2009(32页珍藏版)》请在金锄头文库上搜索。

1、第七章 数组7.17.1 一维数组的定义和引用一维数组的定义和引用 7.27.2 二维和多维数组的定义和引用二维和多维数组的定义和引用 7.37.3 字符串和字符串和字符数组字符数组 7.47.4 程序举例(排序)程序举例(排序) n把具有相同类型相同类型的若干变量按有序的形式组 织起来。这些按序排列的同类数据元素的集同类数据元素的集 合合称为数组。n一个数组可以分解为多个数组元素数组可以分解为多个数组元素,这些数 组元素可以是基本数据类型或是构造类型。n数组有数值数组、字符数组、指针数组、结 构数组等各种类别。 7.1 7.1 一维数组的定义和使用一维数组的定义和使用7.1.17.1.1 一

2、维数组的定义方式一维数组的定义方式类型说明符类型说明符 数组名数组名 常量表达式常量表达式 ;任一种基任一种基 本数据类本数据类 型或构造型或构造 数据类型数据类型用户定义用户定义 的数组标的数组标 识符识符表示数据表示数据 元素的个元素的个 数,也称数,也称 为数组的为数组的 长度长度例如:例如: int a10; float b10,c20;char ch20;说明整型数组说明整型数组a a,有有1010个元素。个元素。说明实型数组说明实型数组b b,有有1010个元素,个元素,实型数组实型数组c c,有有2020个元素。个元素。说明字符数组说明字符数组chch,有有2020个元素。个元素

3、。注意:数组元素元素与变量一样地使用(数组不能与变量一样地使用)。数组元素元素与变量主要区别:1它们的名字形式不同2同一数组中各元素必须同类型 3. 数组名不能与其它变量名相同。 例如:main()main() intint a a ;float a10 float a10 ; 变量重名变量重名4方括号中常量表达式表示数组元素的个数,但 是其下标从0开始计算。因此5个元素分别为:a0,a1,a2,a3,a4a0,a1,a2,a3,a45定义定义时不能在方括号中用变量来表示元素的个 数,但是可以是符号常数或常量表达式。6允许在同一个类型说明中,说明多个数组和多 个变量。例如:int a,b,c,

4、d,k110,k220;例如:#define FD 5#define FD 5main() main() intint a3+2,b7+FD; a3+2,b7+FD; main()main() intint n=5 n=5;intint an an; 定义时不能用定义时不能用, , 但引用时可以但引用时可以7.1.2 7.1.2 一维数组元素的引用一维数组元素的引用数组元素是组成数组的基本单元,也是一种变量也是一种变量, 其标识方法为数组名后跟一个下标,表示元素在数 组中的顺序号。 数组元素的一般形式为:数组名数组名 下标下标 其中下标只能为整型常量或整型表达式下标只能为整型常量或整型表达式。

5、如为小数 时,C编译将自动取整。 例如:a5a5ai+jai+jai+ai+ 都是合法的数组元素。 定义时不能用定义时不能用, , 引用时可以引用时可以数组元素通常也称为下标变量数组元素通常也称为下标变量。必须先定义必须先定义 数组,才能使用下标变量数组,才能使用下标变量。在语言中只能只能 逐个地使用下标变量,而不能一次引用整个逐个地使用下标变量,而不能一次引用整个 数组数组。 例如:输出有10个元素的数组必须使用循环语句逐 个输出各下标变量:for(i=0; i=0;i-)printf(“%d “,ai); a0a00 0a1a11 1a2a22 2a3a33 3a4a44 4a5a55 5

6、a6a66 6a7a77 7a8a88 8a9a99 9运行结果:运行结果:9 8 7 6 5 4 3 2 1 09 8 7 6 5 4 3 2 1 0空空 格格逐一逐一 赋值赋值逐一逐一 输出输出例7.2void main() int i,a10;for(i=0;i=0;i-)printf(“%d“,ai);a0a00 0a1a11 1 a9a99 9a9a99 9a8a88 8 a0a00 0运行结果:运行结果:98765432109876543210例7.3 void main() int i,a10;for(i=0;imax) max=ai;printf(“maxmum=%dn“,ma

7、x);定义一个定义一个1010个元素的整型数组个元素的整型数组逐一输入十个逐一输入十个 数组元素的值数组元素的值逐一比逐一比 较较, ,得出得出 最大值最大值输输输输入入:1 4 5 2 31 4 6 7 3 0:1 4 5 2 31 4 6 7 3 0输出输出: : maxmummaxmum=31=31例7.5 void main() int i,j,p,q,s,a10;printf(“n input 10 numbers:n“);for(i=0;i10;i+)scanf(“%d“,for(i=0;i10;i+) p=i;q=ai;for(j=i+1;j10;j+)if(qaj) p=j;q

8、=aj; if(i!=p) s=ai;ai=ap; ap=s; printf(“%d“,ai); 逐一输入十个逐一输入十个 数组元素的值数组元素的值做十次循环做十次循环a0a0 a1a1 a2a2a3a3a4a4a5a5a6a6a7a7a8a8 a9a9输输输输入入:1 4 5 2 9 8 6 7 3 0:1 4 5 2 9 8 6 7 3 0 输出输出:9 8 7 6 5 4 3 2 1 0:9 8 7 6 5 4 3 2 1 0 从一维数组可以延伸到二维甚至多位数组从一维数组可以延伸到二维甚至多位数组 数组a: a0 a1 a2 a3 a29 a30 数组c: c00 c01 c02 c0

9、3 c04 c10 c11 c12 c13 c14c20 c21 c22 c23 c24 数组x: x000 x001 x002 x010 x011 x012 x100 x101 x102 x110 x111 x112 x200 x201 x202 x210 x211 x212 7.2 7.2 二维和多维数组的定义和使用二维和多维数组的定义和使用7.2.1 7.2.1 数组元素名一般形式数组元素名一般形式数组名数组名 表达式表达式11表达式表达式22表达式表达式33表达式表达式nn 例1: a3 bij c2u*4+1.5k 例2: 若i=2、j=3.7 则bij 、 bj-i+13.256

10、与 b23 表示同一个数组元素 l l若此某一表达式为若此某一表达式为实型实型,则只把该表达,则只把该表达 式值的整数部分作为相应下标;式值的整数部分作为相应下标;l l所有数组名部分相同、维数相同、相应所有数组名部分相同、维数相同、相应 下标相同的数组元素名表示同一个数组下标相同的数组元素名表示同一个数组 元素。元素。7.2.2 7.2.2 数组的定义数组的定义 把下面形式的数组说明符写在定义部分 数组名数组名 整型常量整型常量表达式表达式11整型常量整型常量表达式表达式22 整型常量整型常量表达式表达式nn例3 : #define N 10void main( ) int a ,b=2 ,

11、 f30,k;char c1 ,c2 ,a22*N+1, wk, wk ; 7.2.3 7.2.3 引用时注意:引用时注意:只引用数组元素、不引 用数组(字符型数组例外)变量下标不行变量下标不行7.2.4 7.2.4 数组的初始化数组的初始化( (在在定义部分定义部分使数组中部分或全使数组中部分或全 部元素得到值部元素得到值) ) 例4 int k , a3=5,7,2 ,l ; float v5=7.1, 2.5, f ,q=36.8 ; char c =a , ,p ,e ,n ;-字符数组字符数组 char c = a , ,p ,e ,n ,0 ; char c = ”a pen” ;

12、 int a32=1,2,3,4,5; int a32= 1,2,3,4,5; char c 2=a ,b ,c ,d V0V1V2V3V47.12.5000c0c1c2c3c4c5 a pen0a001 a012 a103 a114 a205 a210a001 a012 a103 a110 a204 a215系统自动补上系统自动补上? ?多维维数组组可按行分段赋值赋值 ;也可按行连续赋连续赋 值值。 例如对对数组组a53a53,以下,以下赋值结赋值结赋值结赋值结 果等价果等价: 1)按行分段赋值赋值 可写为为:int a53= 80,75,92,61,65,71,59,63,70,85,87,90,76,77,85; 2)按行连续赋值连续赋值 可写为为:int a53= 80,75,92,61,65,71,59,63,70,85,87,90,76,77,85;7.2.5 7.2.5 数组中各元素在内存中的排列顺序数组中各元素在内存中的排列顺序按行排列按行排列 数组c: c00 c01 c02 c03 c04 c10 c11 c12 c13 c14c20 c21 c22 c23 c24 数组x: x000 x001 x002 x010 x011 x012 x100 x101 x102 x110 x111 x112 x200 x201 x202 x210 x211 x

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

当前位置:首页 > 高等教育 > 大学课件

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