<samp id="uu9tx"></samp>
        <samp id="uu9tx"><tr id="uu9tx"><nav id="uu9tx"></nav></tr></samp>
        <delect id="uu9tx"><legend id="uu9tx"><meter id="uu9tx"></meter></legend></delect>
                <samp id="uu9tx"><tr id="uu9tx"><meter id="uu9tx"></meter></tr></samp><nav id="uu9tx"></nav>
                <samp id="uu9tx"></samp>
                  <samp id="uu9tx"><tr id="uu9tx"><meter id="uu9tx"></meter></tr></samp>
                  江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
                  第五章 VB中的數組(重點概述)

                  第五章     VB中的數組

                  5.1    數組的概念

                  1.引例

                    求100個學生的平均成績及超過平均成績的人數。

                    如果用一般變量來表示成績,需要用100個變量,如:mark1、mary2、……mark100。若用數組,可以只用一個來表示mark1

                  To 100
                  )。

                  2.基本概念

                    數組:是同類型變量的一個有序的集合。

                           如:A1 To 100),表示一個包含100個數組元素的名為A的數組。

                    數組元素 即數組中的變量。用下標表示數組中的各個元素。

                             表示方法:數組名P1,P2,……)

                                  其中P1、P2表示元素在數組中的排列位置,稱為“下標”。

                             如:A3,2)代表二維數組A中第3行第2列上的那個元素。

                    數組維數 由數組元素中下標的個數決定,一個下標表示一維數組,二個下標表示二維數組。

                               VB中有一維數組、二維數組、……最多60維數組。

                    下標: 下標表示順序號,每個數組有一個唯一的順序號,下標不能超過數組聲明時的上、下界范圍。下標可以是整型的常數、變量、表達式,甚至又是一個數組元素。

                       下標的取值范圍是:下界 To 上界 ,缺省下界時,系統默認取0。

                  3.數組聲明

                      數組必須先聲明后使用。聲明數組就是讓系統在內存中分配一個連續的區域,用來存儲數組元素。

                      聲明內容數組名、類型、維數、數組大小。

                           一般情況下,數組中各元素類型必須相同,但若數組為Variant時,可包含不同類型的數據。

                      靜態數組:聲明時確定了大小的數組。

                      動態數組: 聲明時沒有給定數組大。ㄊ÷粤死ㄌ栔械南聵耍,使用時需要用ReDim語句重新指出其大小。

                      使用動態數組的優點是根據用戶需要,有效地利用存儲空間,它是在程序執行到ReDim語句時才分配存儲單元,而靜態數組是在程序編譯時分配存儲單元。

                  5.2    靜態數組及聲明

                  1.   一維數組

                     靜態一維數組的聲明形式:

                          Dim  數組名下標 [As  類型]

                  說明:1)下標必須為常數,不可以為表達式或變量;
                      2)下標下界最小為-32768,最大上界為32767;省略下界,其默認值為為0,一維數組的大小為:上界-下界+1
                      3 如果省略類型,則為變體型

                  :。1 Dim  A10 As Integer
                        聲明了A是數組名、整型、一維數組、有11個元素,下標的范圍是010。
                     2 Dim  B-3 To 5 As String*3
                        聲明了B是數組名、字符串型、一維數組、有9個元素,下標的范圍是-35,每個元素最多存放3個字符。

                  2.多維數組

                     靜態多維數組的聲明形式:
                    
                  Dim  數組名下標1[,下標2] [As  類型]

                    說明:。1)下標個數決定數組的維數,最多60維。
                        2)每一維的大小=上界-下界+1;數組的大小=每一維大小的乘積。

                    Dim  C-1 To 5, 4 As  Long
                      聲明了C是數組名、長整型、二維數組、第一維下標范圍為-15,第二維下標的范圍是04,占據7x 5個長整型變量的空間。

                  3.注意事項

                    (1)在有些語言中,下界一般從1開始,為了便于使用,在VB的窗體層或標準模塊層用Option Base n 語句可重新設定數組的下界,如Option Base 1。
                    (2) 在數組聲明中的下標關系到每一維的大小,是數組說明符,而在程序其他地方出現的下標為數組元素,兩者寫法相同,但意義不同。
                    (3) 在數組聲明時的下標只能是常數,而在其他地方出現的數組元素的下標可以是變量。

                  5.3    動態數組及聲明

                  1.  動態數組的建立與聲明

                    建立動態數組的方法是:利用Dim、Private、Public語句聲明括號內為空的數組,然后在過程中用ReDim語句指明該數組的大小。語法是:
                    ReDim  數組名下標1[,下標2] [As  類型]
                   
                  其中下標可以是常量,也可以是有了確定值的變量,類型可以省略,若不省略,必須與Dim中的聲明語句保持一致。

                    例: Dim D() As Single
                       Sub Form_Load
                  ()
                      
                  ……
                       ReDim D
                  4,6
                       ……
                      
                  End Sub

                  2.注意事項

                    1)在動態數組ReDim語句中的下標可以是常量,也可以是有了確定值的變量;
                   
                  2)在過程中可以多次使用ReDim來改變數組的大小,也可改變數組的維數。
                   
                  3)每次使用ReDim語句都會使原來數組中的值丟失,可以在ReDim語句后加Preserve參數來保留數組中的數據,但使用Preserve只能改變最后一維的大小,前面幾維大小不能改變。

                  3.動態數組使用示例

                  5.4    數組的基本操作

                  1.   給數組元素賦初值

                    (1) 利用循環結構

                      例:Dim  iA(1 To 10) As Integer
                         For i=1 To 10
                           A(i)=0
                         Next i

                    (2) 利用Array函數

                      例:Dim  a As Variant, b As Variant, i%
                         
                  a = Array (1,2,3,4,5)
                          b = Array ("abc","def","67")
                        
                  For i=0 To Ubound (a)
                              Picture1.print a(i);"";
                            Next i
                           
                  For i=0 To Ubound (b)
                              
                  Picture1.print b(i);"";
                             
                  Next i

                  2.數組的輸入

                   (1) 通過InputBox函數輸入適合輸入少量數據。

                     例:Dim  sB(3,4) As singer
                         For i=0 To 3
                         For j=0 To 4
                          SB(i,j) =InputBox("輸入" & i & j & "的值")
                          Next j
                        
                  Next i

                   (2) 通過文本框控件輸入

                      對大批量的數據輸入,采用文本框和函數split()\join()進行處理,效率更高。

                  3.數組的賦值

                      VB6.0中可以直接將一個數組的值賦值給另一個數組:
                    
                  Dim a(3) as integer, b() as integer
                    
                  A(0)=2: A(1)=5: A(2)=-2: A(3)=2
                     
                  b=a
                    在早期的VB中,這需要用循環語句才可以實現:
                    
                  ReDim b(UBound(a))
                    
                  For I=0 to UBound(a)
                      
                  b(I)=a(I)
                     
                  Next i

                     注意:(1)賦值號兩邊的數據類型必須一致;
                       2)如果賦值號左邊的是一個動態數組,則賦值時系統自動將動態數組ReDim成右邊相同大小的數組;
                       3)如果賦值號左邊的是一個大小固定的數組,則數組賦值出錯。

                  4.數組的輸出

                    For……Next循環語句輸出。

                  5.求數組中最大元素和所在下標及各元素之和

                    求數組中最大元素及下標,一般假設第一個元素及下標為最大,然后將該數與數組中的其他元素逐一比較,若有比其大的就替換,同時替換下標。

                  6.交換數組中各元素

                    交換的要求是將數組第一個元素與最后一個交換,第二個與倒數第二個交換,依次類推。

                  5.5    控件數組

                  1.控件數組的概念

                    控件數組是由一組相同類型的控件組成的,它們共用一個控件名,具有相同的數組?丶䲠到M適用于若干個控件執行的操作相似的場合,控件組共享同樣的事件過程。控件數組通過索引號(屬性中的Index)來標識各控件,第一個下標是0 。如:Text1(0)、Text1(1)、Text1(2)、Text1(3)……

                  2.控件數組的建立

                  (1)在設計時建立
                     步驟:1)在窗體上畫出某控件,并進行屬性設置。
                        2
                  )選中該控件進行“復制”和“粘貼”操作,系統提示“是否建立控件數組”,選擇是即可。多次粘貼就可以創建多個控件元素。
                        3
                  )進行事件過程的編程。

                  (2)運行時添加控件數組

                    方法:1)在窗體上畫出某控件,設置該控件的Index值為0,表示該控件為數組。
                       
                  2)在編程時通過Load方法添加其余若干個元素,也可以通過Unload刪除某個添加的元素。
                       
                  3)每個添加的控件數組通過Left Top屬性,確定其在窗體上的位置,并將Visible設置為True。

                    使用示例:建立一個類似國際象棋的棋盤,要求黑白交替,運行時單擊某個棋格,會改變顏色并顯示其序號。

                  5.6    自定義數據類型

                  1. 自定義數據類型的定義

                     是指由若干標準數據類型組成的一種復合類型,也稱為記錄類型。

                  1)定義方式:

                    Type 自定義類型名
                       元素名[(下標)]  As 類型名
                        ……
                       元素名[(下標)]  As 類型名
                   
                  End Type

                     元素名:表示自定義類型中的一個成員
                    
                  下標(可選):表示是數組,
                    
                  類型名:為標準類型

                    例:定義一個學生信息的自定義類型:
                     
                  Type studtype
                        No   As  Integer        
                  ' 定義學號
                       
                  Name  As  String*10    ' 定義姓名
                     
                    Sex  As  String*2       ' 定義性別
                     
                    Mark(1 TO 4) As Single   ' 定義4門課程的成績
                       
                  Total As Single           ' 定義總分
                     
                  End Type

                  2)注意事項

                    1)自定義類型一般在標準模塊(.bas)中定義,默認是Public
                    
                  2)自定義類型中的元素可以是字符串,但應是定長字符串
                    3)  不可把自定義類型名與該類型的變量名混淆
                   4) 注意自定義類型變量與數組的差別:它們都由若干元素組成,前者的元素代表不同性質、不同類型的數據,以元素名表示不同的元素;后者存放的是同種性質、同種類型的數據,以下標表示不同元素。

                  2. 自定義型變量的聲明和使用

                     使用形式: Dim 變量名  As  自定義類型名
                    
                  例如: Dim  student As studtypemystud  As studtype
                   
                   自定義類型中元素的表示方法是:變量名 . 元素名  如:student.name  student.mark(4)
                    
                  為了簡單起見,可以用With …… End With 語句進行簡化。 例:
                      With  student
                      
                  .no=99001
                      
                  .name=""
                      
                  .sex=""
                      
                  .total=0
                       
                  for I=1 to 4
                       .mark(I)=int(rnd*101)     '隨機產生0 - 100之間的分數
                       .total=.total+.may(I)
                     
                  next I
                     
                  End With
                     
                  Mystud=student      ' 同種自定義類型變量可以直接賦值

                  3.自定義類型數組的使用

                     自定義類型數組就是數組中的每個元素都是自定義類型。
                    
                  例如:自定義一個由學生姓名、成績組成的學生記錄類型,用來存放100個學生的記錄。

                  亚洲欧美日韩国产一区二区三区_全亚洲免费一级黄片_国产一区二区三区不卡视频手机版_国产污三级网站在线观看