一維數組元素的引用
數組元素是組成數組的基本單元。數組元素也是一種變量, 其標識方法為數組名后跟一個下標。下標表示了元素在數組中的順序號。數組元素的一般形式為:
數組名[下標]
其中下標只能為整型常量或整型表達式。
注意:
(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