文档介绍:第八讲数组
一维数组的定义和引用
二维数组的定义和引用
数组:是有序并具有相同性质的数据的集合,它是某种类型的数据,按照一定的顺序组成的。
数组属于构造类型。
当处理大量的、同类型的数据时,利用数组很方便。
一维数组的定义和引用
一维数组的定义
格式:类型说明符数组名[常量表达式];
功能:定义一个一维数组,常量表达式的值,就是数组元素的个数。
例:int a[10];
数组名
元素个数
说明:
(1)数组名规定和常量名相同,遵守标识符命名规则。
(2)数组名后是用方括弧括起来的常量表达式,不能有圆括弧。
(3)常量表达式表示元素个数,即数组的长度。
(4)数组元素的下标从0开始。
(5)常量表达式中可以包括常量和符号常量,不能包含变量。C不允许对数组作动态定义。
例如,下面的定义是错误的。
int n;
scanf(“%d”,&n);
int a[n];
一维数组元素的引用
数组必须先定义,后使用。C语言规定只
能逐个引用数组元素。
数组元素表示形式为:
数组名[下标]
下标可以是整型常量或整型表达式。
建立一个数组,数组元素a[0]到a[9]的值为0~9,然后按逆序输出。
main( )
{int I,a[10];
for(i=0;i<=9,i++)
a[i]=i;
for(i=9;i>=0;i--);
printf(%d “,a[i]);
}
运行结果
9 8 7 6 5 4 3 2 1 0
一维数组的初始化
格式:static 类型说明符数组名={常量列表};
功能:在定义数组时对数组元素赋以初值。
说明:
(1)常量列表可以是数值型、字符常量或字符串。
(2)关键字static是“静态存储”的意思,可以省略,
但意义上是有区别的。
(3)数组元素的初值必须依次放在一对花括号内。
举例:
(1)给数组a各元素赋以初值:
static int a[10]={0,1,2,3,4,5,6,7,8,9};
(2)可以只给一部分元素赋初值,后几个元素值为0。
static int a[10]={0,1,2,3,4};
(3)如果想使一个数组中全部元素值为0,可以写成:
static int a[10]={0,0,0,0,0,0,0,0,0,0}
或static int a[10];
(4)在全部数组元素赋初值时,可以不指定数组长度:
static int a[5]={1,2,3,4,5};
可以写成:
static int a[ ]={1,2,3,4,5};
一维数组应用举例
已有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;i<10;i++)
if(n[i]>a)
a=n[i];
printf(“a=%d\n”,a);
}
运行结果:
a=85
从键盘任意输入10个整数,求偶数的个数。
#include “”
#define N 10
main( )
{ int i,num[N],s=0;
printf(“enter %dinteger:\n”,N);
for(i=0;i<N;i++)
{ printf(“\n num[%d]=“,i);
scanf(“%d”,&num[i]);
}
for(i=0;i<N;i++)
if(num[i]%2==0) s+=1;
printf(“sum=%d\n”,s);
}