《C语言程序设计教程》电子教案-李淑华 第08讲 数组 1

上传人:E**** 文档编号:89400543 上传时间:2019-05-24 格式:PPT 页数:21 大小:87KB
返回 下载 相关 举报
《C语言程序设计教程》电子教案-李淑华 第08讲  数组 1 _第1页
第1页 / 共21页
《C语言程序设计教程》电子教案-李淑华 第08讲  数组 1 _第2页
第2页 / 共21页
《C语言程序设计教程》电子教案-李淑华 第08讲  数组 1 _第3页
第3页 / 共21页
《C语言程序设计教程》电子教案-李淑华 第08讲  数组 1 _第4页
第4页 / 共21页
《C语言程序设计教程》电子教案-李淑华 第08讲  数组 1 _第5页
第5页 / 共21页
点击查看更多>>
资源描述

《《C语言程序设计教程》电子教案-李淑华 第08讲 数组 1 》由会员分享,可在线阅读,更多相关《《C语言程序设计教程》电子教案-李淑华 第08讲 数组 1 (21页珍藏版)》请在金锄头文库上搜索。

1、第八讲 数组,6.1 一维数组的定义和引用 6.2 二维数组的定义和引用,数组:是有序并具有相同性质的数据的集合,它是某种类型的数据,按照一定的顺序组成的。 数组属于构造类型。 当处理大量的、 同类型的数据时,利用数组很方便。,6.1 一维数组的定义和引用,6.1.1 一维数组的定义 格式:类型说明符 数组名常量表达式; 功能:定义一个一维数组,常量表达式的值,就是数组元素的个数。 例:int a10;,数组名,元素个数,说明: (1)数组名规定和常量名相同,遵守标识符命名规则。 (2)数组名后是用方括弧括起来的常量表达式,不能有圆括弧。 (3)常量表达式表示元素个数,即数组的长度。 (4)数

2、组元素的下标从0开始。 (5)常量表达式中可以包括常量和符号常量,不能包含变量。C不允许对数组作动态定义。,例如,下面的定义是错误的。 int n; scanf(“%d”,6.1.2 一维数组元素的引用 数组必须先定义,后使用。C语言规定只 能逐个引用数组元素。 数组元素表示形式为: 数组名下标 下标可以是整型常量或整型表达式。,例6.1 建立一个数组,数组元素a0到a9的值为09,然后按逆序输出。 main( ) int I,a10; for(i=0;i=0;i-); printf(%d “,ai); 运行结果 9 8 7 6 5 4 3 2 1 0,6.1.3 一维数组的初始化 格式:st

3、atic 类型说明符 数组名=常量列表; 功能:在定义数组时对数组元素赋以初值。 说明: (1)常量列表可以是数值型、字符常量或字符串。 (2)关键字static是“静态存储”的意思,可以省略, 但意义上是有 区别的。 (3)数组元素的初值必须依次放在一对花括号内。,举例: (1)给数组a各元素赋以初值: static int a10=0,1,2,3,4,5,6,7,8,9; (2)可以只给一部分元素赋初值,后几个元素值为0。 static int a10=0,1,2,3,4; (3)如果想使一个数组中全部元素值为0,可以写成: static int a10=0,0,0,0,0,0,0,0,0

4、,0 或static int a10; (4)在全部数组元素赋初值时,可以不指定数组长度: static int a5=1,2,3,4,5; 可以写成: static int a =1,2,3,4,5;,6.1.4 一维数组应用举例 例6.2 已有10个数,求它们当中的最大值。 main( ) int I,a; static int n10=8,2,4,6,7,1,0,85,32,54; a=n0; for(i=1;ia) a=ni; printf(“a=%dn”,a); 运行结果: a=85,例6.3 从键盘任意输入10个整数,求偶数的个数。 #include “stdio.h” #defi

5、ne N 10 main( ) int i,numN,s=0; printf(“enter %dinteger:n”,N); for(i=0;iN;i+) printf(“n num%d=“,i); scanf(“%d”, ,例6.4 求一已知数组各元素的平均值。 #include “stdio.h” #define N 5 int a5=10,20,30,40,50; main( ) float s,v; for(s=i=0;i0) s=s+ai; v=s/N; printf(“The average is %6.2fn”,v); 运行结果: The average is 30.00,例6.

6、5 用数组来处理求Fibonacci 数列问题。 main( ) int I; static int f20=1,1; for(i=2;i20;i+) fi=fi-2+fi-1 for(i=0;i20;i+) if(i%5=0) printf(“n”); printf(“%10d”,fi); ,例6.6 main() int a11; int i,j,t; printf(“intput 10 numbers:n”); for(i=1;iai+1) t=ai;ai=ai+1;ai+1=t; for(i=1;i=10;i+) printf(“%d “,ai); ,6.2 二维数组的定义和引用,6.

7、2.1 二维数组,的定义 格式:类型说明符 数组名常量表达式1常量表达式2 功能:定义一个二维数组。表达式1是数组元素的行数,表达式2是数组元素的列数。,例如:float a34,b510; 可把二维数组看做是一种特殊的一维数组,它的元素是一个一维数组。 例如:a34,可以把a看做是一种特殊的一维数组:它有三个元素:a0,a1,a2,每个元素又是一个包含4个元素的一维数组。可以把a0、a1、a2看做是三个一维数组的名字,相当于: float a04,a14,a24 在C语言中,二维数组中元素排列的顺序按行存放,即在内存中先顺序存放第一行元素,再存放第二行元素。,6.2.2 二维数组的引用 表示

8、形式:数组名下标下标 (1)下标可以是整型表达式,例如:a23,a2-12*2-1。 (2)数组元素可以出现在表达式中,也可以被赋值。 b12=a12/3; (3)在使用数组元素时,应该注意下标值应在已定义的数组的范围内。,如: int a34; a34=3; a34元素,超过了数组的范围。 (4)要区分定义数组时用的int a34和引用数组时用的a34,前者a34是用来定义数组的维数和各维数组的大小,后者a34中的3和4是下标值。A34代表某一个元素。,6.2.3 二维数组的初始化 格式:static 类型说明符 二维数组名=常量列表, 功能:定义一个二维数组,并给每个数组元素赋初值。 例如

9、: (1)分行给二维数组赋初值。 Static int a34=1,2,3,4,5,6,7,8,9,10,11,12; (2)将所有的数据写在一个花括号内,按数组排列的顺序对各元素赋初值。 Static int a34=1,2,3,4,5,6,7,8,9,10,11,12;,(3)可以对部分元素赋初值。 如: static int a34=1,2,0,0,3,5,6; (4)如果对全部元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省略。如: static a34=1,2,3,4,5,6,7,8,9,10,11,12; 等价于: static a 4=1,2,3,4,5,

10、6,7,8,9,10,11,12;,6.2.4 二维数组应用举例 例6.7 将一个二维数组行和列元素互换,存到另一个二维数组中。例如:,程序如下: main() static int a23=1,2,3,4,5,6; static int b32,I,j; printf(“array a:n”); for(i=0;i=1;j+) for(j=0;j=2;j+) printf(“%4d”,aij); bji=aij; printf(“n”);, printf(“array b:n”); for(i=0;i=2;i+) for(j=0;j=1;j+) printf(“%4d”,bij); printf(“n”); ,例6.8 求一个33矩阵的对角线之和。 main() static int a33=1,2,3,4,5,6,7,8,9; int i,j,sum=0; for(i=0;i3;i+) for(j=0;j3;j+) if(i=j) sum=sum+aij; printf(“sum=%d”,sum); 运行结果: sum=15,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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