简单来讲,数组是由有限个相同类型的数据按照一定的次序组成的一组变量的集合体。数组有一个统一的数组名,构成数组的每一个变量都称为数组的一个元素,数组元素在数组中的次序编号称为数组元素的下标,在数组中数组元素是通过数组名和下标来区分的。
1.一维数组
用一个下标就能够区分具体数组元素的数组称为一维数组。
1.1一维数组的定义
形式:
数据类型 数组名[常量表达式];
例如: int a[10];
上面定义了一个含有10个整型元素的一维数组,数组名为a。
说明:
(1)数据类型是数组中每个元素的数据类型;
(2)数组名的命名规则与变量的命名规则相同;
(3)常量表达式的值一般是一个整型数据,它表示数组的长度;
(4)C语言规定数组元素的下标是从0开始引用的,如上面的数组a的10个元素分别为a[0],a[1],a[2]...a[9]。
1.2一维数组元素的引用
形式:
数组名[下标表达式]
例如:
#include<stdio.h>
int main()
{
int a[10],i;
a[0]=a[1]=1;
for(i=2;i<10;i++)
{
a[i]=a[i-1]+a[i-2];
}
rerutn 0;
}
以上程序时的a[0]~a[9]分别取得值1,1,2,3,5,8,13,21,34,55
注意:
(1)引用数组元素时不要超下标引用;
(2)定义数组时其长度是个常量值,而引用数组元素时其下标可以使用常量,变量或表达式。
1.3一维数组的初始化
对于一维数组进行初始化就是在定义一维数组的同时给它赋处值,其格式为:
数据类型 数组名[常量表达式]={数据1,数据2,...};
说明:
(1)花括号中的值就是对应数组元素的初始值,用逗号隔开
例如 int a[5]={1,2,3,4,5};
(2)可以只给部分元素赋值
例如 int a[5]={1,3,5};
a[3],a[4]的初值默认为0,即只要对数组进行初始化,数组的每个元素均会有值。
1.4一维数组的应用
一维数组的数学模型是数列,所以凡是对多个数据的操作都可以借助数组和循环进行。对多个数据的典型操作有排序,插入,平移,删除,查找等。
例:输入10个整数,分别按输入的原序和逆序输出:
#include<stdio.h>
#define N 10
void main()
{
int a[N],i;
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<N;i++)
{
printf("%d",a[i]);
}
printf("\n");
for(i=N-1;i>=0;i--)
{
printf("%d",a[i]);
}
}