詳細介紹VB編程中的數組
數組是在程序設計中,為了處理方便, 把具有相同類型的若干變量按有序的形式組織起來的一種形式。這些按序排列的同類數據元素的集合稱為數組。
在C語言中, 數組屬于構造數據類型。一個數組可以分解為多個數組元素,這些數組元素可以是基本數據類型或是構造類型。因此按數組元素的類型不同,數組又可分為數值數組、字符數組、指針數組、結構數組等各種類別。下面主要介紹VB中的數組。
1、數組的概念
(1) 引例
若我們要求一個班60個學生的平均成績,然后統計高于平均分的人數。按以前簡單變量的使用和循環結構相結合,求平均成績程序段如下:
- Dim ave As Single, sum As Single, mark As Single
- Dim i As Integer
- ave = 0
- sum = 0
- For i = 1 To 6
- mark = InputBox("輸入第" & i & "個學生的成績")
- sum = sum + mark
- Next
- ave = sum / 6
- Print "平均分是:"; ave
但若要統計高于平均分的人數,則無法實現。mark是一個簡單變量,存放的是最后一個學生的成績。已有知識解決方法:再重復輸入成績,帶來兩個問題:
(1)輸入數據的工作量成倍增加;
(2)若本次輸入的成績與上次不同,則統計的結果不正確。
解決此問題的根本方法,引入數組,始終保持輸入的數據,一次輸入,多次使用。
(2)數組的概念
數組就是把有限個類型相同的變量用同一個名字命名,然后用編號區分它們的變量的集合。這個名字稱為數組名,編號稱為下標。組成數組的各個變量稱為數組的分量,也稱為數組的元素,有時也稱為下標變量。
在引例中,可以定義一個數組mark(1 to 60),記錄60個學生的成績,如果第一個學生的成績是90分,則mark(1)=90;如果第2個學生的成績為80分,則mark(2)=80,第60個學生的成績為96分,則mark(60)=96,依此類推。
2、數組的定義。
聲明數組的一般格式如下:
Dim 數組名([下界 to ] 上界 [,[下界 to ] 上界…])As 數據類型
對于VB的數組,表示數組元素時應注意:
① 下標要緊跟在數組名后,而且用圓括號括起來(不能用其他括號);
② 數組名的命名與變量名的命名規則相同;
③ 下標可以是常量、變量或表達式,但其值必須是整數(如果是小數將四舍五入為整數);
④ 數組中可以存儲數據的個數是由下標的下界和上界決定的,當下界省略時,默認的下界值為0。
- Dim x(10 to 20) As Integer ‘下標范圍是10~20,可保存11個數據
- Dim y(1 to 20) As Integer ‘下標范圍是1~20,可保存20個數據
- Dim z(20) As String ‘下標范圍是0~20,可保存21個數據
⑤ 通過指定數組名和下標來使用數組中的元素,下標可以是一個表達式。例如:
- x(10)=100
- x(11)=150
- z(1)=“Visual Basic”
- i=10
- y(i+5)=30
⑥ 在同一數組中,數組變量的類型必須是聲明時指定的數據類型。下面的情形是不允許的:x(10)= “Visual Basic”
但是,因為把一個數值賦給一個字符串類型的變量時,系統會自動進行類型轉換,所以下面的語名是允許的:z(2)=100
⑦ 如果數組只有一個下標則稱為一維數組,但有許多場合一個下標是不夠的。例口,在電影院確定位置,要有行數和位數(如第3行8號),如果要用一個數組來記錄這種位置就得有兩個下標。 如:
- Dim x(1 to 20,1 to 30) As Integer
有幾個下標的數組就稱為幾維數組(VB最多允許60維)。
⑧ 數組應該在使用前定義。定義數組用“Dim”語句。例如:
- Dim Cscore(1 to 40) As Single, K(20,30) As Long
這個Dim浯句定義了兩個數組。數組Cscore足Single類型的一維數組,有40個分量,下標的下界是1,上界是40。而數組K(20,30)是Long型的二維數組,下標省略了下界(對省略下界的情況VB自動用0做下界),它的第一維的下標范圍是0—20,第二維的下標范圍是0—30,數組K有2l x 31=651個分量。
⑨ 對于預先不能確定數組元素個數情形,可以使用動態數組。聲明一個動態數組的方法是:在聲明數組時不指定下標范圍,當明確下標范圍時,用ReDim語句再次聲明該數組。例如:
- Dim x() As Integer ‘聲明數組時不指定下標范圍
當數組x的元素明確后(例如20個),則用ReDim語句聲明如下:
- ReDim x(20)
如果動態數組的元素個數需要多次改變,可以多次應用ReDim語句。為了保留數組中原有的數據,必須在使用ReDim語句時使用Preserve關鍵字。例如要把數組x的元素個數改為30,并保留原來的20個元素中的數據,聲明語句如下:
- ReDim Preserve x(30)
由于第一次用Dim語句聲明數組時已經指定了數組的類型,因此不能在ReDim語句中再次用As關鍵字來指定數組的類型。
3、數組元素的輸入和輸出。
數組元素往往有很多,因此輸入和輸出有時需要用一些比較特殊的方法。
數組元素的輸入,可以使用賦值語句、文本框、InputBox函數等等。
數組元素輸出時,一般可以考慮兩種方法:
①用PRINT方法直接輸出到窗體,但當數據量大時難以實現數據的滾動;
②使用控件,如標簽、文本框等,并且設置滾動條。
4、數組的應用
判斷程序運行結果
- Private Sub Command1_Click()
- Dim i As Integer
- Dim a(1 To 10) As Integer
- For i = 1 To 10
- a(i) = 2 * i + 1
- Next i
- For i = 1 To 5
- Print a(2 * i - 1);
- Next i
- End Sub
希望通過本文的介紹,可以對初學者有幫助。
【編輯推薦】