第五章 VB中的數組(重點概述) |
第五章 VB中的數組 5.1 數組的概念 1.引例 求100個學生的平均成績及超過平均成績的人數。 如果用一般變量來表示成績,需要用100個變量,如:mark1、mary2、……mark100。若用數組,可以只用一個來表示mark(1 2.基本概念 數組:是同類型變量的一個有序的集合。 如:A(1 To 100),表示一個包含100個數組元素的名為A的數組。 數組元素: 即數組中的變量。用下標表示數組中的各個元素。 表示方法:數組名(P1,P2,……) 其中P1、P2表示元素在數組中的排列位置,稱為“下標”。 如:A(3,2)代表二維數組A中第3行第2列上的那個元素。 數組維數: 由數組元素中下標的個數決定,一個下標表示一維數組,二個下標表示二維數組。 VB中有一維數組、二維數組、……最多60維數組。 下標: 下標表示順序號,每個數組有一個唯一的順序號,下標不能超過數組聲明時的上、下界范圍。下標可以是整型的常數、變量、表達式,甚至又是一個數組元素。 下標的取值范圍是:下界 To 上界 ,缺省下界時,系統默認取0。 3.數組聲明 數組必須先聲明后使用。聲明數組就是讓系統在內存中分配一個連續的區域,用來存儲數組元素。 聲明內容:數組名、類型、維數、數組大小。 一般情況下,數組中各元素類型必須相同,但若數組為Variant時,可包含不同類型的數據。 靜態數組:聲明時確定了大小的數組。 動態數組: 聲明時沒有給定數組大。ㄊ÷粤死ㄌ栔械南聵耍,使用時需要用ReDim語句重新指出其大小。 使用動態數組的優點是根據用戶需要,有效地利用存儲空間,它是在程序執行到ReDim語句時才分配存儲單元,而靜態數組是在程序編譯時分配存儲單元。 5.2 靜態數組及聲明 1. 一維數組 靜態一維數組的聲明形式: Dim 數組名(下標) [As 類型] 說明:(1)下標必須為常數,不可以為表達式或變量; 例:。1) Dim A(10) As Integer 2.多維數組 靜態多維數組的聲明形式: 說明:。1)下標個數決定數組的維數,最多60維。 例:Dim C(-1 To 5, 4) As Long 3.注意事項 (1)在有些語言中,下界一般從1開始,為了便于使用,在VB的窗體層或標準模塊層用Option Base n 語句可重新設定數組的下界,如Option Base 1。 5.3 動態數組及聲明 1. 動態數組的建立與聲明 建立動態數組的方法是:利用Dim、Private、Public語句聲明括號內為空的數組,然后在過程中用ReDim語句指明該數組的大小。語法是: 例: Dim D() As Single 2.注意事項 (1)在動態數組ReDim語句中的下標可以是常量,也可以是有了確定值的變量; 3.動態數組使用示例 5.4 數組的基本操作 1. 給數組元素賦初值 (1) 利用循環結構 例:Dim iA(1 To 10) As Integer (2) 利用Array函數 例:Dim a As Variant, b As Variant, i% 2.數組的輸入 (1) 通過InputBox函數輸入適合輸入少量數據。 例:Dim sB(3,4) As singer (2) 通過文本框控件輸入 對大批量的數據輸入,采用文本框和函數split()\join()進行處理,效率更高。 3.數組的賦值 在VB6.0中可以直接將一個數組的值賦值給另一個數組: 注意:(1)賦值號兩邊的數據類型必須一致; 4.數組的輸出 用For……Next循環語句輸出。 5.求數組中最大元素和所在下標及各元素之和 求數組中最大元素及下標,一般假設第一個元素及下標為最大,然后將該數與數組中的其他元素逐一比較,若有比其大的就替換,同時替換下標。 6.交換數組中各元素 交換的要求是將數組第一個元素與最后一個交換,第二個與倒數第二個交換,依次類推。 5.5 控件數組 1.控件數組的概念 控件數組是由一組相同類型的控件組成的,它們共用一個控件名,具有相同的數組?丶䲠到M適用于若干個控件執行的操作相似的場合,控件組共享同樣的事件過程。控件數組通過索引號(屬性中的Index)來標識各控件,第一個下標是0 。如:Text1(0)、Text1(1)、Text1(2)、Text1(3)…… 2.控件數組的建立 (1)在設計時建立 (2)運行時添加控件數組 方法:1)在窗體上畫出某控件,設置該控件的Index值為0,表示該控件為數組。 使用示例:建立一個類似國際象棋的棋盤,要求黑白交替,運行時單擊某個棋格,會改變顏色并顯示其序號。 5.6 自定義數據類型 1. 自定義數據類型的定義 是指由若干標準數據類型組成的一種復合類型,也稱為記錄類型。 (1)定義方式: Type 自定義類型名 元素名:表示自定義類型中的一個成員 例:定義一個學生信息的自定義類型: (2)注意事項 1)自定義類型一般在標準模塊(.bas)中定義,默認是Public 2. 自定義型變量的聲明和使用 使用形式: Dim 變量名 As 自定義類型名 3.自定義類型數組的使用 自定義類型數組就是數組中的每個元素都是自定義類型。 |