break-word; clear: both; text-indent: 28px; color: rgb(24, 30, 51); font-family: PingFangSC, 微软雅黑, 黑体, Arial, Helvetica, sans-serif; font-size: 18px; background-color: rgb(255, 255, 255);">数组元素是组成数组的基本单元。数组元素也是一种变量, 其标识方法为数组名后跟一个下标。下标表示了元素在数组中的顺序号。数组元素的一般形式为:
数组名[下标]
其中下标只能为整型常量或整型表达式。
注意:
(1)下标表示了数组中元素和数组中最开头元素之间的相对位置,最小值为0,最大值为数组中的元素个数减去1.
(2)下标可以是常量也可以在取值范围之间的,有固定值的变量。如为小数时,Vc++编译将自动取整。
例如:
a[5]
a[i+j]
a[i++]
都是合法的数组元素。
必须先定义数组,才能使用下标变量。在C语言中只能逐个地使用下标变量,而不能一次引用整个数组。例如,输出有10个元素的数组必须使用循环语句逐个输出各下标变量:
for(i=0; i<10; i++)
printf("%d",a[i]);
而不能用一个语句输出整个数组。因此,下面的写法是错误的:
printf("%d",a);
【例5-1】使用for循环为一个数组赋值,并将数组倒序输出。
程序的算法流程图如图5-1所示。
例5-1算法流程图
根据流程图写出的程序如下:
#include <stdio.h>
int main()
{
int i,a[10];
for(i=0;i<=9;i++)
a[i]=i;
for(i=9;i>=0;i--)
printf("%d ",a[i]);
return 0;
}
程序运行结果:
9 8 7 6 5 4 3 2 1 0
【例5-2】用一维数组来处理斐波那契数列,存储并输出斐波那契数列的前20项。
程序的算法流程图如图5-2所示。
例5-2算法流程图
根据流程图写出的程序如下:
#include <stdio.h>
int main()
{
int i;
long f[20]; /*定义整型数组f,20个元素用来存放斐波那契数列的前20项*/
f[0]=1;f[1]=1; /*对斐波那契数列中的前2项赋初值*/
for(i=2;i<20;i++)
f[i]=f[i-1]+f[i-2]; /*计算斐波那契数列的每一项*/
for(i=1;i<21;i++)
{
printf("%10d",f[i-1]);
if(i%5==0)
printf("\n"); /*每输出5项,换行输出 */
}
return 0;
}
程序运行结果:
1 1 2 3 5
8 13 21 34 55
89 144 233 377 610
987 1597 2584 4181 6765