C语言程序设计教程 李淑华 第08讲 数组 1 新.ppt
文本预览下载声明
第八讲 数组 6.1 一维数组的定义和引用 6.2 二维数组的定义和引用 数组:是有序并具有相同性质的数据的集合,它是某种类型的数据,按照一定的顺序组成的。 数组属于构造类型。 当处理大量的、 同类型的数据时,利用数组很方便。 6.1 一维数组的定义和引用 6.1.1 一维数组的定义 格式:类型说明符 数组名[常量表达式]; 功能:定义一个一维数组,常量表达式的值,就是数组元素的个数。 例:int a[10]; 6.1.2 一维数组元素的引用 数组必须先定义,后使用。C语言规定只 能逐个引用数组元素。 数组元素表示形式为: 数组名[下标] 下标可以是整型常量或整型表达式。 6.1.3 一维数组的初始化 格式:static 类型说明符 数组名={常量列表}; 功能:在定义数组时对数组元素赋以初值。 说明: (1)常量列表可以是数值型、字符常量或字符串。 (2)关键字static是“静态存储”的意思,可以省略, 但意义上是有 区别的。 (3)数组元素的初值必须依次放在一对花括号内。 6.1.4 一维数组应用举例 例6.2 已有10个数,求它们当中的最大值。 main( ) {int I,a; static int n[10]={8,2,4,6,7,1,0,85,32,54}; a=n[0]; for(i=1;i10;i++) if(n[i]a) a=n[i]; printf(“a=%d\n”,a); } 运行结果: a=85 例6.3 从键盘任意输入10个整数,求偶数的个数。 #include “stdio.h” #define N 10 main( ) { int i,num[N],s=0; printf(“enter %dinteger:\n”,N); for(i=0;iN;i++) { printf(“\n num[%d]=“,i); scanf(“%d”,num[i]); } for(i=0;iN;i++) if(num[i]%2==0) s+=1; printf(“sum=%d\n”,s); } 例6.4 求一已知数组各元素的平均值。 #include “stdio.h” #define N 5 int a[5]={10,20,30,40,50}; main( ) float s,v; for(s=i=0;iN;i++) if(a[i]0) s=s+a[i]; v=s/N; printf(“The average is %6.2f\n”,v); } 运行结果: The average is 30.00 例6.5 用数组来处理求Fibonacci 数列问题。 main( ) {int I; static int f[20]={1,1}; for(i=2;i20;i++) f[i]=f[i-2]+f[i-1] for(i=0;i20;i++) { if(i%5==0) printf(“\n”); printf(“%10d”,f[i]); } } 例6.6 main() {int a[11]; int i,j,t; printf(“int\put 10 numbers:\n”); for(i=1;i11;i++) scanf(“%d”,a[i]); printf(“\n”); for(j=1;j10;j++) for(i=1;i=10-j;i++) if(a[i]a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;} for(i=1;i=10;i++) printf(“%d “,a[i]); } 6.2 二维数组的定义和引用 6.2.1 二维数组,的定义 格式:类型说明符 数组名[常量表达式1][常量表达式2] 功能:定义一个二维数组。表达式1是数组元素的行数,表达式2是数组元素的列数。 6.2.2 二维数组的引用 表示形式:数组名[下标][下标] (1)下标可以是整型表达式,例如:a[2][3],a[2-1][2*2-1]。 (2)数组元素可以出现在表达式中,也可以被赋值。 b[1][2]=a[1][2]/3; (3)在使用数组元素时,应该注意下标值应在已定义的数组的范围内。 6.2.3 二维数组的初始化 格式:static 类型说明符 二维数组名={{常量列表},…} 功能:定义一个二维数组,并给每个数组元素赋初值。 例如: (1)分行给二维数组赋初值。 Static int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; (
显示全部