4.1 一維數組
1.數組的基本概念
數組是一組同類(lèi)對象集合的一種表示。在C語(yǔ)言中,數組類(lèi)型是這樣一種數據結構:數組所有元素的數據類(lèi)型相同,元素個(gè)數固定,其元素按順序存放,每個(gè)元素對應一個(gè)序號(稱(chēng)為下標),數組元素的下標從0開(kāi)始順序編號,各元素按下標存取(引用)。數組元素變量能與相同類(lèi)型的獨立的變量一樣使用。引用數組元素變量所需的下標個(gè)數由數組的維數決定,數組有一維數組、二維數組或多維數組之分。
2.一線(xiàn)數組的定義
一維數組的定義形式為:
類(lèi)型說(shuō)明符數組名[常量表達式」;
例如:
int a[5] ;
定義一個(gè)名為a的數組,它有五個(gè)元素,每個(gè)元素都是整型。數組定義包含以下幾個(gè)要點(diǎn):
(1)類(lèi)型說(shuō)明符用來(lái)指明數組元素的類(lèi)型,同一數組的諸元素,它們的類(lèi)型是相同的。
(2)數組是一個(gè)變量,與一般變量一樣,用標識符命名,數組名遵守標識符的命名規則。
(3)方括號“[]”是數組的標志,方括號中的常量表達式的值表示數組的元素個(gè)數,即數組的長(cháng)度。例如,int a[5]中的 5表示數組 a有5個(gè)元素,下標從0開(kāi)始,這五個(gè)元素分別是:a[0]、a[1]、a[2]、a[3]和a[4]。
(4)常量表達式通常是整型常量、符號常量或sizeof(類(lèi)型名),以及由它們組成的常量表達式。定義數組大小用常量表達式,就是說(shuō)數組的大小是固定的,不可以包含引用變量值的表達式來(lái)定義數組的大小。
(5)C語(yǔ)言有一個(gè)約定,當數組名單獨出現在表達式中時(shí),數組名可以代表為它分配的內存區域的開(kāi)始地址,即數組中下標為0的元素的地址。在這種情況下,數組名起著(zhù)一個(gè)常量的作用,即a與&a[0]作用一樣。如代碼scanf(“%d”,&a[0])與 scanf(“%d”,a)都是為數組a的第一個(gè)元素輸入值。
3.一維數組的初始化
可在數組定義同時(shí),給出數組元素的初值。這種表述形式稱(chēng)為數組初始化。數組初始化可用以下幾種方法實(shí)現:
(1)數組定義時(shí),順序列出數組全部元素的初值。例如:
int d[5]={0,l,2,3,4};
將數組元素的初值依次寫(xiě)在一對花括弧內。經(jīng)上面定義和初始化之后,就有d[0]=0.d[l]=l、d[2]=2、d[3]=3、d[4]=4。
(2)只給數組的前面一部分元素設定初值。例如:
int e[5]={0,l, 2};
定義數組e有5個(gè)整型元素,其中前三個(gè)元素設定了初值,而后兩個(gè)元素末明確地設定初值。系統約定,當一個(gè)數組的部分元素被設定初值后,對于元素為數值型的數組,那些末明確設定初值的元素自動(dòng)被設定0值。所以數組e的后兩個(gè)元素的初值為0。但是,當定義數組時(shí),如未對它的元素指定過(guò)初值,對于內部的局部數組,則它的元素的值是不確定的。
(3)當對數組的全部元素都明確設定初值時(shí),可以不指定數組元素的個(gè)數。例如:
int g[]={5,6,7,8,9};
系統根據初始化的花括號內的初值個(gè)數確定數組的元素個(gè)數,所以數組g有五個(gè)元素。但若提供的初值個(gè)數小于數組希望的元素個(gè)數時(shí),則方括號中的數組元素個(gè)數不能省略。如代碼int b[10]={1,2,3,4,5}定義數組 b有10個(gè)元素,前五個(gè)元素如設定所示,后五個(gè)元素都為0。反之,如提供的初值個(gè)數超過(guò)了數組元素個(gè)數,就是一個(gè)錯誤。
4.一維數組元素的引用
程序定義了數組后,就可引用數組的元素。引用數組元素的一般形式為:
數組名[下標]
其中下標可以是整型常量、整型變量或整型表達式。例如,數組a的五個(gè)元素可分別用a[0]、a[l]、a[2]、a[3]、a[4]來(lái)引用它們。
設有定義:
int x[20], i;
以下代碼實(shí)現順序輸入數組X的全部元素:
for(i=0;i<20;i++)
scanf(“%d”,&x[i]);
相關(guān)推薦:2010年計算機軟件水平考試時(shí)間安排通知北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |