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