vb-數(shù)組(基礎(chǔ)教學(xué))課件_第1頁
vb-數(shù)組(基礎(chǔ)教學(xué))課件_第2頁
vb-數(shù)組(基礎(chǔ)教學(xué))課件_第3頁
vb-數(shù)組(基礎(chǔ)教學(xué))課件_第4頁
vb-數(shù)組(基礎(chǔ)教學(xué))課件_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Vb數(shù)組基礎(chǔ)主講人:陳柳斌Vb數(shù)組基礎(chǔ)主講人:陳柳斌

數(shù)組是有序的數(shù)據(jù)的集合。在其它語言中,數(shù)組中的所有元素都屬于同一個(gè)數(shù)據(jù)類型,而在VisualBasic中,一個(gè)數(shù)組中的元素可以是相同類型的數(shù)據(jù),也可以是不同類型的數(shù)據(jù)。數(shù)組是有序的數(shù)據(jù)的集合。在其它語言中,數(shù)組中的所有元8.1數(shù)組的概念8.2靜態(tài)數(shù)組與動態(tài)數(shù)組8.3數(shù)組的基本操作8.4數(shù)組的初始化8.5控件數(shù)組8.1數(shù)組的概念8.2靜態(tài)數(shù)組與動態(tài)數(shù)組8.38.1數(shù)組的概念數(shù)組用于表示一組性質(zhì)相同的有序的數(shù),這一組數(shù)用一個(gè)統(tǒng)一的名稱來代替,稱為數(shù)組名。數(shù)組中的每一個(gè)元素稱為數(shù)組元素。數(shù)組中的每一個(gè)元素可以用數(shù)組名和下標(biāo)唯一地表示。數(shù)組中下標(biāo)的個(gè)數(shù)稱為數(shù)組的維數(shù)。8.1數(shù)組的概念數(shù)組用于表示一組性質(zhì)相同的有序的數(shù),這一8.1.1數(shù)組的定義

數(shù)組應(yīng)當(dāng)先定義后使用。在計(jì)算機(jī)中,數(shù)組占據(jù)一塊內(nèi)存區(qū)域,數(shù)組名是這個(gè)區(qū)域的名稱,區(qū)域的每個(gè)單元都有自己的地址,該地址用下標(biāo)表示。定義數(shù)組的目的就是通知計(jì)算機(jī)為其留出所需要的空間。8.1.1數(shù)組的定義數(shù)組應(yīng)當(dāng)先定義后使用。在計(jì)算VisualBasic中,可以用4個(gè)語句來定義數(shù)組,這4個(gè)語句格式相同,但適用范圍不一樣:

DimReDimStaticPublic

以上4個(gè)語句都可以用來定義數(shù)組,下面以Dim語句為例來說明數(shù)組定義的格式,當(dāng)用其他語句定義數(shù)組時(shí),其格式是一樣的。VisualBasic中,可以用4個(gè)語句來定義數(shù)組在定義數(shù)組時(shí),VB提供了兩種格式:1.第一種格式:Dim<數(shù)組名>(<下標(biāo)上界>)[As<類型>]DimArrayDemo(5)AsIntegerArrayDemo(0)ArrayDemo(1)ArrayDemo(2)ArrayDemo(3)ArrayDemo(4)ArrayDemo(5)定義了一個(gè)一維數(shù)組,該數(shù)組的名字為ArrayDemo,類型為Integer(整型),共有6個(gè)數(shù)組元素。在定義數(shù)組時(shí),VB提供了兩種格式:Dim<數(shù)組名>(<下標(biāo)上DimTest(2,3)AsIntegerTest(0,0)Test(0,1)Test(0,2)Test(0,3)定義了一個(gè)二維數(shù)組,該數(shù)組的名字為Test,類型為Integer(整型),共有3行,4列,12個(gè)數(shù)組元素。Dim<數(shù)組名>(第一維下標(biāo)上界,第二維下標(biāo)上界)[As<類型>]Test(1,0)Test(1,1)Test(1,2)Test(1,3)Test(2,0)Test(2,1)Test(2,2)Test(2,3)第0行第1行第2行第0列第1列第2列第3列DimTest(2,3)AsIntegerT說明:(1)數(shù)組名的命名規(guī)則,與簡單變量相同(2)數(shù)組必須先定義,后使用(3)當(dāng)用Dim語句定義數(shù)組時(shí),會進(jìn)行數(shù)組元素初始化(4)默認(rèn)下標(biāo)下界為0,可通過OptionBase語句來設(shè)置(5)要注意區(qū)分“可以使用的最大下標(biāo)值”和“元素個(gè)數(shù)”說明:1.第二種格式:Dim<數(shù)組名>[<下界1>To]<上界1>,[<下界2>To]<上界2>,…As類型DimPopulation(1949To2000)DimAge(10To100)在某些情況下,使用To能更好地反映對象的特性。1.第二種格式:Dim<數(shù)組名>[<下界1>To]<上說明:(1)數(shù)組名要做到見名知義。(2)數(shù)組名不能與變量名相同。(3)在定義數(shù)組時(shí),元素下標(biāo)必須是常數(shù),不能是變量或表達(dá)式,即使事先給出變量的值也是錯誤的。(4)可以定義數(shù)據(jù)后再指定數(shù)組的類型。(5)數(shù)組的下界都必須小于上界。說明:8.1.2默認(rèn)數(shù)組

在VisualBasic中,允許定義默認(rèn)數(shù)組。所謂默認(rèn)數(shù)組,就是數(shù)據(jù)類型為Variant(變體型)的數(shù)組。StaticElec(1to100)相當(dāng)于StaticElec(1to100)AsVariant對于默認(rèn)數(shù)組來說,同一個(gè)數(shù)組中可以存放各種不同的數(shù)據(jù)。8.1.2默認(rèn)數(shù)組在VisualBasic中,8.2靜態(tài)數(shù)組與動態(tài)數(shù)組在VB中,根據(jù)數(shù)組元素的個(gè)數(shù)能否變化,數(shù)組分為靜態(tài)數(shù)組和動態(tài)數(shù)組。靜態(tài)數(shù)組:數(shù)組元素的個(gè)數(shù)固定不變。動態(tài)數(shù)組:數(shù)組元素的個(gè)數(shù)在運(yùn)行時(shí)可以改變。

使用動態(tài)數(shù)組就可以在任何時(shí)候改變其大小,并且可以在不需要時(shí)清除動態(tài)數(shù)組所占的存儲空間。因此,使用動態(tài)數(shù)組更加靈活、方便,并有助于高效管理內(nèi)存。8.2靜態(tài)數(shù)組與動態(tài)數(shù)組在VB中,根據(jù)數(shù)組元素的個(gè)數(shù)能否8.2.1動態(tài)數(shù)組的定義(2)在過程級使用下面的ReDim語句分配數(shù)組的實(shí)際元素個(gè)數(shù)。Public|Private|Dim|static<數(shù)組名>()[As<數(shù)據(jù)類型],…ReDim<數(shù)組名>(<維數(shù)定義>)[As<類型>],…這里的<維數(shù)定義>通常包含變量或表達(dá)式,但其中的變量或表達(dá)式應(yīng)有明確的值。定義動態(tài)數(shù)組需要分以下兩步進(jìn)行:(1)在模塊級或過程級按以下格式定義一個(gè)沒有下標(biāo)的數(shù)組。8.2.1動態(tài)數(shù)組的定義(2)在過程級使用下面的ReDi說明1)ReDim語句只能出現(xiàn)在過程中。與Dim語句不同,

ReDim語句是一個(gè)可執(zhí)行語句。2)可以用ReDim語句反復(fù)改變數(shù)組元素及維數(shù)的數(shù)目。3)在定義動態(tài)數(shù)組的兩個(gè)步驟中,如果用步驟(1)定義了數(shù)組的類型,則不允許用步驟(2)改變類型。4)每次執(zhí)行ReDim語句時(shí),當(dāng)前存儲在數(shù)組中的值會全部丟失。VB重新對數(shù)組元素進(jìn)行初始化,即將可變類型數(shù)組元素值置為Empty,將數(shù)值型數(shù)組元素值置為

0,將字符串類型數(shù)組元素值置為零長度字符串。說明Dimthis()AsStringSubCommand_Click()

ReDimthis(4)this(2)="Microsoft

"Printthis(2)

ReDimthis(6)this(2)="Microsoft

"Printthis(2)EndSubDimthis()AsString8.2.2數(shù)組的清除和重定義

要清除數(shù)組的內(nèi)容或?qū)?shù)組重新定義,這可以用Erase語句來實(shí)現(xiàn)。其格式如下:Erase<數(shù)組名>[,<數(shù)組名>],…

注意,在Erase語句中,只給出要刷新的數(shù)組名,不帶括號和下標(biāo)。例如:EraseTest8.2.2數(shù)組的清除和重定義要清除數(shù)組的內(nèi)容或?qū)?shù)組重幾點(diǎn)說明:(1)當(dāng)把Erase語句用于靜態(tài)數(shù)組時(shí),則清空數(shù)組元素的值(2)當(dāng)把Erase語句用于動態(tài)數(shù)組時(shí),則刪除數(shù)組(3)當(dāng)把Erase語句用于變體數(shù)組時(shí),則每個(gè)元素重置為空(4)Erase釋放動態(tài)數(shù)組所使用的內(nèi)存。幾點(diǎn)說明:8.3數(shù)組的基本操作建立一個(gè)數(shù)組之后,可以對數(shù)組或數(shù)組元素進(jìn)行操作。數(shù)組的基本操作包括輸入、輸出及復(fù)制,這些操作都是對數(shù)組元素進(jìn)行的。ForEach…Next語句可用于對數(shù)組的操作。8.3數(shù)組的基本操作建立一個(gè)數(shù)組之后,可以對數(shù)組或數(shù)組元8.3.1數(shù)組元素的輸入、輸出和復(fù)制1.數(shù)組的引用數(shù)組的引用通常是指對數(shù)組元素的引用,其方法是,在數(shù)組后面的括號中指定下標(biāo),例如:x(8),y(2,3),z%(3)要注意區(qū)分?jǐn)?shù)組定義和數(shù)組元素??!8.3.1數(shù)組元素的輸入、輸出和復(fù)制1.數(shù)組的引用x(在引用數(shù)組時(shí),應(yīng)注意以下幾點(diǎn):(1)在引用數(shù)組元素時(shí),數(shù)組名、類型和維數(shù)必須與定義數(shù)組時(shí)一致。(2)如果建立的是二維或多維數(shù)組,則在引用時(shí)必須給出兩個(gè)或多個(gè)下標(biāo)。(3)引用數(shù)組元素時(shí),其下標(biāo)值應(yīng)在建立數(shù)組時(shí)所指定的范圍內(nèi)。在引用數(shù)組時(shí),應(yīng)注意以下幾點(diǎn):2.數(shù)組元素的輸入(1)通過賦值語句來實(shí)現(xiàn)數(shù)組元素的輸入。(2)通過循環(huán)語句來實(shí)現(xiàn)數(shù)組元素的輸入。(3)通過InputBox函數(shù)輸入。DimA(4)AsIntegerForI=1To4

A(I)=I

NextIDimA(4)AsString

A(1)="Zhang"

A(2)="Wang"

A(3)="Li"

A(3)="Zhao"2.數(shù)組元素的輸入DimA(4)AsInteger3.數(shù)組元素的輸出數(shù)組元素的輸出可用Print方法來實(shí)現(xiàn)。Fori=1to4Forj=1to4Printa(i,j);"";NextjNexti3.數(shù)組元素的輸出Fori=1to44.數(shù)組元素的復(fù)制單個(gè)數(shù)組元素可以像簡單變量一樣從一個(gè)數(shù)組復(fù)制到另一個(gè)數(shù)組。為了復(fù)制整個(gè)數(shù)組,仍要使用For循環(huán)語句?!璕eDimname1(10),name2(10)…Fori=1To10name2(i)=name1(i)NextI4.數(shù)組元素的復(fù)制…[例8.2]從鍵盤上輸入10個(gè)整數(shù),用冒泡排序法進(jìn)行排序。[例8.2]從鍵盤上輸入10個(gè)整數(shù),用冒泡排序法進(jìn)行排序。8.3.2ForEach…Next語句ForEach…Next循環(huán)可以用來對數(shù)組中的所有元素重復(fù)進(jìn)行類似的操作,語法格式為:ForEach成員In數(shù)組循環(huán)體

[ExitFor]……Next[成員]8.3.2ForEach…Next語句ForEachDimX(15)

ForEachAInX

PrintA;

NextA例如:[例]用ForEach…Next語句,求1+2+3+…+100的值。DimX(15)

ForEachAInXPrivateSubCommand1_Click()Dimx(100),aFori=1To100x(i)=iNexti

ForEachaInx()s=s+a

NextaLabel1.Caption=sEndSubPrivateSubCommand1_Click()8.4數(shù)組的初始化所謂數(shù)組的初始化,就是給數(shù)組的各元素賦初值。為此,VisualBasic提供了Array函數(shù)。利用該函數(shù),可以使數(shù)組在程序運(yùn)行之前初始化,得到初值。8.4數(shù)組的初始化所謂數(shù)組的初始化,就是給數(shù)組的各元素賦數(shù)組變量名=Array(數(shù)組元素值)Array函數(shù)用來為數(shù)組元素賦值,其格式為:這里的“數(shù)組變量名”是預(yù)先定義的數(shù)組名,在“數(shù)組變量名”之后沒有括號。之所以稱為“數(shù)組變量”,是因?yàn)樗鳛閿?shù)組使用,但作為變量定義,它既沒有維數(shù),也沒有上下界?!皵?shù)組元素值”是需要賦給數(shù)組各元素的值,各值之間以逗號分開。StaticNumbersAsVariantNumbers=Array(1,2,3,4,5)數(shù)組變量名=Array(數(shù)組元素值)Array函

注意,數(shù)組變量不能是具體的數(shù)據(jù)類型,只能是變體(Variant)類型。一般來說,數(shù)組變量可以通過以下方法定義:(1)顯式定義為Variant變量。(2)在定義時(shí)不指明類型(3)不定義而直接使用。Array函數(shù)只適用于一維數(shù)組,即只能對一維數(shù)組進(jìn)行初始化,不能對二維數(shù)組或多維數(shù)組進(jìn)行初始化。注意,數(shù)組變量不能是具體的數(shù)據(jù)類型,只能是變體(Varia8.5控件數(shù)組控件數(shù)組是由一組相同類型的控件組成,這些控件共用一個(gè)相同的控件名字,具有相同的屬性設(shè)置。數(shù)組中的每個(gè)控件都有一個(gè)唯一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論