2015年職稱計算機考試基礎知識:陣列
一、陣列的概念
(一)陣列的定義
在Visual Basic中,可以用4個語句來定義陣列,這4個語句格式相同,但適用範圍不一樣。Dim用在窗體模組或標準模組中,定義窗體或標準模組陣列,也可用於過程中ReDim 用在過程中Static 用在過程中
Public 用在標準模組中,定義全域性陣列
(二)預設陣列與巢狀陣列
在Visual Basic中,允許定義預設陣列,並可用一個數組作為另一個數組的元素,即陣列巢狀。
1.預設陣列
預設陣列就是預設資料型別的陣列。在一般情況下,定義陣列應指明其型別。
2.巢狀陣列
在一般情況下,陣列元素是一個具體的資料。而在Visual Basic中,可以用陣列作為另一個數組的元素,這樣的陣列稱為巢狀陣列。
二、靜態陣列與動態陣列
靜態陣列和動態陣列由其定義方式決定,即:
1.用數值常數或符號常量作為下標定維的陣列是靜態陣列;
2.用變數作為下標定維的陣列是動態陣列。
三、陣列的基本操作
(一)陣列元素的輸入、輸出和複製
1.陣列的引用
陣列的引用通常是指對陣列元素的引用,其方法是,在陣列後面的括號中指定下標。
2.陣列元素的輸入
陣列元素一般通過For迴圈語句及InputBox函式輸入。
3.陣列元素的輸出
陣列元素的輸出可以用Print方法來實現。
4.陣列元素的複製
單個數組元素可以像簡單變數一樣從一個數組複製到另一個數組。
(二)For Each…Next語句
For Each…Next語句類似於For…Next語句,兩者都用來執行指定重複次數的一組操作,但For Each…Next語句專門用於陣列或物件“集合”(本書不涉及集合),其一般格式為:For Each成員In 陣列
迴圈體
[Exit For]
……
Next[成員]
Examda提示:這裡的“成員”是一個變體變數,它是為循壞提供的,並在For Each…Next結構中重複使用,它實際上代表的是陣列中的每個元素。“陣列”是一個數組名,沒有括號和上下界。
用For Each…Next語句可以對陣列元素進行處理,包括查詢、顯示或讀取。它所重複執行的次數由陣列中元素的個數確定,也就是說,陣列中有多少個元素,就自動重複執行多少次。
四、陣列的初始化
一般來說,陣列變數可以通過以下3種方式定義:
(1)顯示定義為Variant變數。例如im Numbers As Variant
(2)在定義時不指明型別。例如im Numbers
(3)不定義而直接使用。
五、控制元件陣列
控制元件陣列是針對控制元件建立的,因此與普通陣列的定義不一樣。可以通過以下兩種方法來建立控制元件陣列:
第一種方法,步驟如下:
(1)在窗體上畫出作為陣列元素的各個控制元件;
(2)單擊要包含到陣列中的某個控制元件,將其啟用;
(3)在屬性視窗中選擇“(名稱)”屬性,並鍵入控制元件的名稱;
(4)對每個要加到陣列中的控制元件重複(2)、(3)步,鍵入與第(3)步中相同的`名稱。
當對第二個控制元件鍵入與第一個控制元件相同的名稱後,Visual Basic將顯示一個對話方塊,詢問是否確實要建立控制元件陣列。單擊“是”將建立控制元件陣列,單擊“否”則放棄建立操作。
第二種方法,步驟如下:
(1)在窗體上畫出一個控制元件,將其啟用;
(2)執行“編輯”選單中的“複製”命令(熱鍵為Ctrl+C),將該控制元件放入剪貼簿;
(3)執行“編輯”選單中的“貼上”命令(熱鍵為Ctrl+V),將顯示一個對話方塊,詢問是否建立控制元件陣列;
(4)單擊對話方塊中的“是”按鈕,窗體的左上角將出現一個控制元件,它就是控制元件陣列的第二個因素,執行“編輯”選單中的“貼上”命令,或按熱鍵Ctrl+V,建立控制元件陣列中的其他元素。
Examda提示:控制元件陣列建立後,只要改變一個控制元件的“Name”屬性值,並把Index屬性置為空(不是0),就能把該控制元件從控制元件陣列中刪除。控制元件陣列中的控制元件執行相同的事件過程,通過Index屬性可以決定控制元件陣列中的相應控制元件所執行的操作。