數(shù) 組
數(shù)組在程序設(shè)計(jì)中,為了處理方便, 把具有相同類型的若干變量按有序的形式組織起來。這些按序排列的同類數(shù)
據(jù)元素的集合稱為數(shù)組。在C語言中,數(shù)組屬于構(gòu)造數(shù)據(jù)類型。一個(gè)數(shù)組可以分解為多個(gè)數(shù)組元素,這些數(shù)組元素可
以是基本數(shù)據(jù)類型或是構(gòu)造類型。因此按數(shù)組元素的類型不同,數(shù)組又可分為數(shù)值數(shù)組、字符數(shù)組、指針數(shù)組、結(jié)構(gòu)
數(shù)組等各種類別。
本章介紹數(shù)值數(shù)組和字符數(shù)組,其余的在以后各章陸續(xù)介紹。數(shù)組類型說明 在C語言中使用數(shù)組必須先進(jìn)行類型
說明。 數(shù)組說明的一般形
式為: 類型說明符 數(shù)組名 [常量表達(dá)式],……; 其中,類型說明符是任一種基本數(shù)據(jù)類型或構(gòu)造數(shù)據(jù)類型。 數(shù)組
名是用戶定義的數(shù)組標(biāo)識符。 方括號中的常量表達(dá)式表示數(shù)據(jù)元素的個(gè)數(shù),也稱為數(shù)組的長度。
例如:
int a[10]; 說明整型數(shù)組a,有10個(gè)元素。
float b[10],c[20]; 說明實(shí)型數(shù)組 b,有 10個(gè)元素,實(shí)型數(shù)組c,有 20個(gè)元素。
char ch[20]; 說明字符數(shù)組ch,有20個(gè)元素。
對于數(shù)組類型說明應(yīng)注意以下幾點(diǎn):
1.數(shù)組的類型實(shí)際上是指數(shù)組元素的取值類型。對于同一個(gè)數(shù)組,其所有元素的數(shù)據(jù)類型都是相同的。
2.數(shù)組名的書寫規(guī)則應(yīng)符合標(biāo)識符的書寫規(guī)定。
3.數(shù)組名不能與其它變量名相同,例如:
void main()
{
int a;
float a[10];
……
}
是錯(cuò)誤的。
4.方括號中常量表達(dá)式表示數(shù)組元素的個(gè)數(shù),如a[5]表示數(shù)組 a有 5個(gè)元素。但是其下標(biāo)從 0開始計(jì)算。因此 5個(gè)元
素分別為 a[0],a[1],a[2],a[3],a[4]。
5.不能在方括號中用變量來表示元素的個(gè)數(shù), 但是可以是符號常數(shù)或常量表達(dá)式。例如:
#define FD 5
void main()
{
int a[3+2],b[7+FD];
……
}
是合法的。但是下述說明方式是錯(cuò)誤的。
void main()
{
int n=5;
int a[n];
……
}
6.允許在同一個(gè)類型說明中,說明多個(gè)數(shù)組和多個(gè)變量。
例如: int a,b,c,d,k1[10],k2[20];
數(shù)組元素的表示方法
數(shù)組元素是組成數(shù)組的基本單元。數(shù)組元素也是一種變量, 其標(biāo)識方法為數(shù)組名后跟一個(gè)下標(biāo)。 下標(biāo)表示了元
素在數(shù)組中的順序號。數(shù)組元素的一般形式為: 數(shù)組名[下標(biāo)] 其中的下標(biāo)只能為整型常量或整型表達(dá)式。如為小數(shù)
時(shí),C編譯將自動(dòng)取整。例如,a[5],a[i+j],a[i++]都是合法的數(shù)組元素。 數(shù)組元素通常也稱為下標(biāo)變量。必須先定
義數(shù)組, 才能使用下標(biāo)變量。在C語言中只能逐個(gè)地使用下標(biāo)變量,而不能一次引用整個(gè)數(shù)組。 例如,輸出有 10 個(gè)
元素的數(shù)組必須使用循環(huán)語句逐個(gè)輸出各下標(biāo)變量:
for(i=0; i<10; i++) printf("%d",a[i]); 而不能用一個(gè)語句輸出整個(gè)數(shù)組,下面的寫法是錯(cuò)誤的:
printf("%d",a);
void main()
{
int i,a[10];
for(i=0;i<10;)
a[i++]=2*i+1;
for(i=9;i>=0;i--)
printf("%d",a[i]);
printf("\n%d %d\n",a[5.2],a[5.8]);} for(i=0;i<10;)
a[i++]=2*i+1; for(i=9;i>=0;i--)
printf("%d",a[i]); printf("\n%d %d\n",a[5.2],a[5.8]);
![]() | ![]() .. 定價(jià):¥45 優(yōu)惠價(jià):¥42 更多書籍 |
![]() | ![]() .. 定價(jià):¥225 優(yōu)惠價(jià):¥213 更多書籍 |