久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

數(shù)組精講 | VB編程核心知識(shí)總結(jié)之?dāng)?shù)組

 阿明哥哥資料區(qū) 2023-05-17 發(fā)布于上海

數(shù)組講解

各位朋友,,今天我們來學(xué)習(xí)VB編程中最重要的知識(shí)——數(shù)組的相關(guān)知識(shí),。

為了解決大批量的數(shù)據(jù)處理問題,VB中提供了數(shù)組(Array)變量,。數(shù)組是一種重要的數(shù)據(jù)結(jié)構(gòu),,在許多程序設(shè)計(jì)語(yǔ)言中,都要直接或間接用到數(shù)組這種數(shù)據(jù)結(jié)構(gòu),。

數(shù)組的概念

在VB中,,如果把一組有序的數(shù)或變量作為一個(gè)整體來處理,這一組數(shù)或變量稱為數(shù)組,,數(shù)組中的每一個(gè)數(shù)或變量稱為數(shù)組元素,,每一個(gè)數(shù)組給定一個(gè)名稱,叫做數(shù)組名,,一個(gè)數(shù)組中各個(gè)數(shù)組元素之間的區(qū)別用數(shù)組名的下標(biāo)來表示,,放在數(shù)組名后的圓括號(hào)內(nèi)。數(shù)組中的任意一個(gè)數(shù)組元素都可以存放一個(gè)數(shù)據(jù),,和使用簡(jiǎn)單變量一樣,,所以又稱數(shù)組元素為下標(biāo)變量。

例如:用A來表示一個(gè)班50個(gè)同學(xué)的數(shù)學(xué)成績(jī),,用A(1)表示1號(hào)同學(xué)的成績(jī),;A(2)表示2號(hào)同學(xué)的成績(jī);A(3)表示3號(hào)同學(xué)的成績(jī),;...,;A(50)表示第50號(hào)同學(xué)的成績(jī)。則A為數(shù)組名,,A(1),、A(2)、A(3)等都稱為A數(shù)組的元素,。

數(shù)組也有數(shù)值型和字符串型等類型之分,。在一個(gè)數(shù)組中通常只能放置一種類型的數(shù)據(jù),并且與數(shù)組的類型一致。

此外,,數(shù)組還有靜態(tài)數(shù)組和動(dòng)態(tài)數(shù)組之分,。

注意:在使用數(shù)組前通常都要對(duì)數(shù)組進(jìn)行維數(shù)、類型及大小等內(nèi)容的定義或說明,。

靜態(tài)數(shù)組

一,、靜態(tài)數(shù)組定義

靜態(tài)數(shù)組是在定義數(shù)組時(shí)就指定了數(shù)組維數(shù)的多少及數(shù)組的大小。

1,、語(yǔ)法

Dim  Image

redim

Static

Public

2,、語(yǔ)法說明:

(1)Dim:定義窗體模塊數(shù)組。ReDim:在過程中定義,。Static:在過程中定義,。Public:在標(biāo)準(zhǔn)模塊中定義全局?jǐn)?shù)組。

(2)數(shù)組名的命名規(guī)則和變量命名規(guī)則相同,,但是數(shù)組名不能與一般變量同名,。

(3)凡是VB的數(shù)據(jù)類型,在數(shù)組中都可以說明和使用,,當(dāng)“As類型”省略時(shí),,為變體型數(shù)組(Variant)。

(4)下限值和上限值的大小范圍是從-32768至32767,。下限值及關(guān)鍵字TO可以省略,,當(dāng)省略時(shí)下限值為0。使用數(shù)組時(shí),,其下標(biāo)不能超出所定義的范圍,。下標(biāo)可以是負(fù)數(shù)。

(5)維數(shù)可以多達(dá)60維,。

(6)數(shù)組要先定義后使用,。

7在一個(gè)過程內(nèi)部,數(shù)組名不能與某個(gè)變量同名,。

8Dim語(yǔ)句定義數(shù)據(jù)組,數(shù)值型元素置0,,字符型元素置空字符串,。

9可用類型說明符說明數(shù)組類型。

(10)若在定義時(shí)不指明下標(biāo),,下標(biāo)為0,,這里可用Option Base 1定義下標(biāo)為1。

例子:數(shù)組定義舉例

定義的例子

數(shù)組維數(shù)

數(shù)組元素

Dim A(5) As Integer

'整型

一維

A(0), A(1),A(2), A(3), A(4), A(5)

Dim A(1 To 5) As String

'字符型

A(1),A(2), A(3), A(4), A(5)

Dim B(2,3) As Single

'單精度實(shí)型

二維

B(0,0),,B(0,1),,B(0,2)B(0,3)

B(1,0)B(1,1),,B(1,2),,B(1,3)

B(2,0)B(2,1),,B(2,2),,B(2,3)

Dim B(1 To 2,1 To 3) As Integer

'整型


B(1,1)B(1,2),,B(1,3)

B(2,1),,B(2,2)B(2,3)

Dim C#(2,3,2) '雙精度實(shí)型

三維

C(0,0,0),,C(0,0,1),,C(0,0,2)

C(0,1,0)C(0,1,1),,C(0,1,2)

C(0,2,0),,C(0,2,1)C(0,2,2)

C(0,3,0),,C(0,3,1),,C(0,3,2)

C(1,0,0)C(1,0,1),,C(1,0,2)

C(1,1,0),,C(1,1,1)C(1,1,2)

C(1,2,0),,C(1,2,1),,C(1,2,2)

C(1,3,0)C(1,3,1),,C(1,3,2)

C(2,0,0),,C(2,0,1)C(2,0,2)

C(2,1,0),,C(2,1,1),,C(2,1,2)

C(2,2,0)C(2,2,1),,C(2,2,2)

C(2,3,0),,C(2,3,1)C(2,3,2)

二,、測(cè)試數(shù)組上,、下標(biāo)函數(shù)

1、測(cè)試數(shù)組下標(biāo)函數(shù):Lbound數(shù)組[,,維]

2,、測(cè)試數(shù)組上標(biāo)函數(shù):Ubound數(shù)組[,,維]

例子:

Dim D(3, 5, 7,9) As String

Private Sub Form_Click()

Print LBound(D, 1),

Print UBound(D, 1)

Print LBound(D, 2),

Print UBound(D, 2)

Print LBound(D, 3),

Print UBound(D, 3)

Print LBound(D, 4),

Print UBound(D, 4)

End Sub

結(jié)果顯示:

0    3

0    5

0    7

0    9

三、變體型(默認(rèn))數(shù)組

若定義數(shù)組時(shí)不指定類型,,則該數(shù)組是一個(gè)變體型數(shù)組,。其元素的類型可以不同。

即:Dim A(2,3)等同于:Dim A(2,3) As Variant

例子:

Dim A(5)

Private Sub Form_Click()

A(1) = '中華人民共和國(guó)'

A(2) = 12345

 A(3) = 3456789

 A(4) = 987654321

 A(5) = 'ABCDE' + 'abcde'

 Print A(1)

Print A(2)

Print A(3)

Print A(4)

Print A(5)

End Sub

四,、數(shù)組的操作

數(shù)組的操作包括對(duì)數(shù)組元素進(jìn)行數(shù)值的輸入,、輸出和復(fù)制。

1,、數(shù)組元素的賦值

方法一:用賦值語(yǔ)句對(duì)數(shù)組元素逐個(gè)賦值,。

例子:

Dim A(5)

Private Sub Form_Click()

 A(1) = '中華人民共和國(guó)'

A(2) = 12345

 A(3) = 3456789

 A(4) = 987654321

 A(5) = 'ABCDE' + 'abcde'

 Print A(1)

 Print A(2)

 Print A(3)

 Print A(4)

 Print A(5)

End Sub

方法二:用賦值語(yǔ)句結(jié)合For循環(huán)語(yǔ)句。

Dim D(0 To 2, 1 To 3) As Integer

Private Sub Form_Click()

 For i = 0 To 2

   For j = 1 To 3

     D(i, j) = 100

     Print D(i, j)

   Next j

Next i

End Sub

方法三:用InputBox函數(shù),。

Dim array1(5) As Variant

Private Sub Form_Click()

For i = 1 To 5

 array1(i) = InputBox('輸入元素的值:')

Next i

For i = 1 To 5

 Print array1(i)

Next i

End Sub

方法四:對(duì)于 變體型一維數(shù)組,,可應(yīng)用Array()函數(shù)賦值。

格式Array(值1,,值2,,值3… …)

例子:設(shè)一個(gè)一維變體型數(shù)組ABC,不指定維數(shù),,用Array()函數(shù)賦值,,然后顯示元素值。

Option Base 1

Dim ABC

Private Sub Form_Click()

 ABC = Array('One', 'Two', 'Three', 'Four', 1, 2, 3, 4, 5, 6)

 For i = 1 To 10

   Print ABC(i)

 Next i

End Sub

2,、數(shù)組元素值的輸出

用Print語(yǔ)句顯示輸出,。前面有相應(yīng)的例子。這里討論如何進(jìn)行“格式”輸出,。

例子:設(shè)有一個(gè)單精度實(shí)型三維數(shù)組array2(2,3,4),,其元素值:

11 12 13 14

15 16 17 18

19 20 21 22

31 32 33 34

35 36 37 38

39 40 41 42

源程序如下:

Option Base 1

Dim array2(2, 3, 4) As Single

Private Sub Form_Click()

For i = 1 To 2

  For j = 1 To 3

     For k = 1 To 4

      array2(i, j, k) = InputBox('輸入元素的值:')

Next k

 Next j

Next i

For i = 1 To 2

  For j = 1 To 3

     For k = 1 To 4

       Print array2(i, j, k); '';

     Next k

     Print

 Next j

 Print

Next i

End Sub

3、For Each … Next語(yǔ)句

該語(yǔ)句是專門用于數(shù)組操作的語(yǔ)句,。

(1)語(yǔ)句格式

For Each 成員 in 數(shù)組

循環(huán)體

[ Exit For]

… …

Next 成員

(2)說明

利用語(yǔ)句中的成員變量可實(shí)現(xiàn)數(shù)組元素的賦值,、計(jì)算、顯示等操作,。

例子:設(shè)一個(gè)二維數(shù)組array5(3,4),,將其中的第一個(gè)元素賦值100,后面的元素依次再加1賦值

Option Base 1

Dim array5(3, 4)

Private Sub Form_Click()

 n = 100

 For Each x In array5        ’x為成員

x = n

   n = n + 1

   Print x

 Next x

End Sub

五,、嵌套數(shù)組

Visual Basic中,,可以用一個(gè)數(shù)組作為另一個(gè)數(shù)組的元素。在使用時(shí),,可將一個(gè)數(shù)組嵌套數(shù)組賦值給另一個(gè)數(shù)組被嵌套數(shù)組的元素,,嵌套數(shù)組名后面加空括號(hào),。

要求:嵌套數(shù)組是數(shù)據(jù)類型,,被嵌套數(shù)組不指定類型,。

例子:將數(shù)組a(4)賦給數(shù)組b(2)

Dim a(4) As Integer

Dim b(2)

Private Sub Form_Click()

For i = 1 To 4

 a(i) = i

 Next i

 b(1) = a()

b(2) = a()

Print b(1)(1)

Print b(1)(2)

Print b(1)(3)

Print b(1)(4)

Print

 Print b(2)(1)

Print b(2)(2)

Print b(2)(3)

Print b(2)(4)

End Sub


動(dòng)態(tài)數(shù)組

動(dòng)態(tài)數(shù)組是指其數(shù)組的維數(shù)及大小可以重新定義,,根據(jù)應(yīng)用的環(huán)境不同隨時(shí)說明其維數(shù)及大小,。“動(dòng)態(tài)數(shù)組”是由變量作為下標(biāo)的數(shù)組,其下標(biāo)在程序運(yùn)行時(shí)完成定義,。

一,、動(dòng)態(tài)數(shù)組的定義

第一步:用Dim語(yǔ)句或Public語(yǔ)句定義一個(gè)只有空括號(hào)而無下標(biāo)的數(shù)組。

第二步:用ReDim定義帶下標(biāo)的數(shù)組,。語(yǔ)句的格式:

ReDim [Preserve] 變量下標(biāo) As 類型

在定義時(shí),,類型與Dim語(yǔ)句中的類型要一致。下標(biāo)通過變量賦值解決,。

例子:

Dim A() As Integer

Private Sub Form_Click()

n = InputBox('輸入n的值:')

ReDim A(n)

For i = 1 To n

 A(i) = 12345

 Print A(i)

Next i

End Sub

可以動(dòng)態(tài)地定義多個(gè)數(shù)組,。例子:

Dim A() As Integer, B() As Integer

Private Sub Form_Click()

n = InputBox('輸入n的值:')

m = InputBox('輸入m的值:')

ReDim A(n, m)

ReDim B(n, m)

For i = 1 To n

  For j = 1 To m

    A(i, j) = 12345

    B(i, j) = 23456

    Print A(i, j), B(i, j)

Next j

 Next i

End Sub

二、數(shù)組的清除和重定義

數(shù)組一經(jīng)定義,,在內(nèi)存中會(huì)分配相應(yīng)的存儲(chǔ)單元,,其大小是不能改變的。即:在一個(gè)程序中,,同一個(gè)數(shù)組只能定義一次,。若清除數(shù)組內(nèi)容或重新定義,要使用Erase語(yǔ)句,。

格式:

Erase 數(shù)組名[,,數(shù)組名]… …

例子:

Erase A,B,C

1、清除靜態(tài)數(shù)組的影響

數(shù)組類型

對(duì)元素的影響

數(shù)值類型數(shù)組

將元素值置0

字符類型數(shù)組變長(zhǎng)

將元素值設(shè)為空字符串

字符類型數(shù)組定長(zhǎng)

將元素值置0

變體類型數(shù)組

將元素值設(shè)為Empty

用戶定義類型數(shù)組

將元素設(shè)為單獨(dú)的變量

對(duì)象數(shù)組

將元素值設(shè)為Nothing

例子:

Dim A(3) As Integer

Private Sub Command1_Click()

For i = 1 To 3

   A(i) = 12345

   Print A(i)

Next i

End Sub

Private Sub Command2_Click()

Erase A

 For i = 1 To 3

   Print A(i)

Next i

End Sub

2,、清除動(dòng)態(tài)數(shù)組的影響

(1)系統(tǒng)會(huì)刪除數(shù)組結(jié)構(gòu),,并釋放內(nèi)存空間。

(2)下次引用動(dòng)態(tài)數(shù)組前,,要用ReDim語(yǔ)句重新進(jìn)行定義,。

三、數(shù)組應(yīng)用算法--數(shù)據(jù)統(tǒng)計(jì)

利用數(shù)組進(jìn)行數(shù)據(jù)統(tǒng)計(jì)運(yùn)算

利用隨機(jī)函數(shù)生成十個(gè)100以內(nèi)的隨機(jī)整數(shù),,計(jì)算出這十個(gè)數(shù)的總和及其平均值,,并輸出這十個(gè)數(shù)、總和及其平均值,。

問題分析對(duì)象設(shè)置把結(jié)果使用Print方法直接輸出到窗體中,,不用設(shè)置專用對(duì)象

程序代碼

DimA(10)AsInteger

Dim B As Single

Sub Form_Load()

Form1.Show

Print  ' 十個(gè)整數(shù)為:'

For i=1 To 10             '循環(huán)產(chǎn)生10個(gè)隨機(jī)整數(shù)

A(I)=Int(Rnd*100)   '生成隨機(jī)第i個(gè)整數(shù)

PrintA(I),;             '顯示第i個(gè)數(shù)

A(0)=A(0)+A(I)   '累加求和

Next i

Print

B=A(0)/10            '求平均值

Print '總和為:',;A(0)

Print '平均值為:';B

End  Sub

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多