国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

兩態(tài)(靜、動)數(shù)組在Visual Basic中的應(yīng)用

2012-12-31 00:00:00李龍
科技資訊 2012年31期

摘 要:作為迄今為止Windows應(yīng)用程序很受青睞的開發(fā)環(huán)境之一的Visual Basic,主要特點就是可視化編程。本文主要對靜、動數(shù)組進(jìn)行概念介紹和VB程序中的功能使用,也向使用人群介紹了一些使用方法。

關(guān)鍵詞:數(shù)組 靜態(tài)數(shù)組 動態(tài)數(shù)組

中圖分類號:TP311.5 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2012)11(a)-0028-01

為了方便解決大批量的數(shù)據(jù)處理問題,Visual Basic中提供了數(shù)組(Array)變量。數(shù)組是一種重要的數(shù)據(jù)結(jié)構(gòu),結(jié)構(gòu)相對簡單,靈活,使用方法容易掌握,不但在Visual Basic中,在其他的許多程序設(shè)計語言中,都要直接或間接地用到數(shù)組這種數(shù)據(jù)結(jié)構(gòu)。

1 數(shù)組的概念

事實上幾乎所有的應(yīng)用程序開發(fā)語言都引入了數(shù)組概念,VB(Visual Basic的簡稱)同樣也不例外,數(shù)組允許通過同一變量名和不同的下標(biāo)訪問一系列變量。

在VB中,如果把一組有序的數(shù)或變量作為一個整體來處理,這樣的一組數(shù)或變量就是數(shù)組,而數(shù)組的每一個數(shù)或變量稱為數(shù)組元素,每一個數(shù)組給定一個名稱,叫做數(shù)組名,一個數(shù)組中各個元素之間的區(qū)別用數(shù)組名的下標(biāo)來表示,放在數(shù)組名后的圓括號內(nèi)。數(shù)組中的任意一個數(shù)組元素都可以存放一個數(shù)據(jù),和使用簡單變量一樣參加各種運算。數(shù)組是用于存放一批性質(zhì)相同的數(shù)據(jù)集合,其主要特點如下。

由若干個數(shù)組元素組成,數(shù)組元素的數(shù)據(jù)類型一致;各數(shù)組元素是有序存放的,下標(biāo)代表它在數(shù)組中的位置;數(shù)組中各元素之間有內(nèi)在聯(lián)系,在內(nèi)存中占連續(xù)的一段存儲單元。

現(xiàn)在我們來舉個例子,可以用M來表示一個班30個同學(xué)的計算機(jī)成績,用M(1)表示1號同學(xué)的成績;M(2)表示2號同學(xué)的成績;M(3)表示3號同學(xué)的成績;……;M(30)表示第30號同學(xué)的成績。則M為數(shù)組名,M(1),M(2),M(3)等都稱為M數(shù)組的元素。

可以用N數(shù)組來表示某班全班同學(xué)語文、數(shù)學(xué)和英語三門課程的成績,則可以用N(1,1)表示1號同學(xué)的語文成績;N(1,2)表示1號同學(xué)的數(shù)學(xué)成績;N(1,3)表示1號同學(xué)的英語成績;N(2,1)表示2號同學(xué)的語文成績;N(2,2)表示2號同學(xué)的數(shù)學(xué)成績;N(2,3)表示2號同學(xué)的英語成績;……;N(30,3)表示第30號同學(xué)的英語成績。

根據(jù)數(shù)組的形態(tài)不同可分為靜態(tài)數(shù)組、動態(tài)數(shù)組、控件數(shù)組和自定義類型數(shù)組。本文重點來探討一下靜態(tài)數(shù)組和動態(tài)數(shù)組。

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

靜態(tài)數(shù)組又可分為全局?jǐn)?shù)組、模塊數(shù)組、局部數(shù)組。

我們首先來介紹一下全局?jǐn)?shù)組,程序中的任何模塊個礦體都可以對其進(jìn)行訪問。全局?jǐn)?shù)組不能在窗體中被定義,全局?jǐn)?shù)組要用Global或Public模塊文件(﹒bas)中的聲明部分聲明。關(guān)鍵字在在代碼模塊中聲明部分用Global或Public語句定義,格式如下:Global 數(shù)組名([下界To]上界[,[下界To] 上界]…)As類型,……Public數(shù)組名([下界To]上界[,[下界To]上界]…)As類型,……所有的模塊和過程都可訪問用Global或Public定義的全局?jǐn)?shù)組。注意:語句只能用在全局模塊中。例如:Global Arr 1(6,3) As Double。或Public Brr (10) As Double。

其次是模塊數(shù)組。在代碼模塊或窗體模塊的聲明部分用Dim或Private語句定義。格式同Global語言,只是將Global換為Dim或Private。這樣數(shù)組的作用范圍只在當(dāng)前模塊中有效。例如:Dim Arr(8,3) As Integer。

最后是局部數(shù)組。在此過程內(nèi)用Static 聲明局部數(shù)組,其使用范圍只限制在該過程內(nèi)。如果該過程已被Static聲明為靜態(tài)過程,那么也可用Static或Dim來定義數(shù)組。格式與上述兩種一致。例如:Static Arr(20)As Double。VB默認(rèn)數(shù)組的下標(biāo)從0開始,若想改變數(shù)組的缺省下界,可在聲明部分之前增加一條Option語句。

對于靜態(tài)數(shù)組有以下幾方面。

(1)數(shù)組名的命名規(guī)則和變量命名規(guī)則相同,但是不能與一般變量同名。(2)凡是VB的數(shù)據(jù)類型,數(shù)組中均可說明和使用,當(dāng)“As類型”省略時,為不定型。(3)VB中也可定義多維數(shù)組,數(shù)組的最大維數(shù)是60。(4)定義數(shù)組時的上下限可以是常量或已經(jīng)賦給值的變量。

3 動態(tài)數(shù)組

下面我們來談一下建立動態(tài)數(shù)組的常用方式:在用 Global、Public、Dim、Private 或Static聲明數(shù)組,在定義數(shù)組時不要給出具體的維數(shù),這樣聲明的數(shù)組就是動態(tài)數(shù)組。例如:Dim Arr()As Integer。需要確定該數(shù)組的實際大小時,在過程中用ReDim進(jìn)行定義。與Dim語句、Static語句不同,ReDim 語句是一個執(zhí)行語句,只能出現(xiàn)在過程中。

在過程中創(chuàng)建動態(tài)數(shù)組時,可以用 Static或Dim語句進(jìn)行首次聲明,但這樣建立的數(shù)組的最大維數(shù)為8。如果需要更多的維數(shù),則不用Dim進(jìn)行首次聲明,而直接用 ReDim聲明即可。每次執(zhí)行 ReDim 語句重新定義數(shù)組時,以前存在動態(tài)數(shù)組中的數(shù)據(jù)會全部丟失,相當(dāng)于對其又進(jìn)行了一次初始化。如果希望只改變數(shù)組的大小而不丟失原有的數(shù)據(jù),可在ReDim語句中使用Preserve關(guān)鍵字,例如:ReDim Arr1(3,4)As Integer如將數(shù)組增加4個元素,又要保留原來內(nèi)容,可用語句:ReDim Preserve Arr1(3,4+1)As Integer。使用 Preserve時,只有數(shù)組的最后一維的上界可以改變,也就是說,使用Preserve只能改變最后一維的大小,前面的幾維的大小不能改變。

對于動態(tài)數(shù)組的一般特性有以下幾點。

(1)數(shù)組名的命名規(guī)則和變量命名規(guī)則相同。

(2)Preserve的作用是保留原來數(shù)組內(nèi)容。若其省略,則每次程序執(zhí)行ReDim都會清除原來數(shù)組內(nèi)容。

(3)數(shù)組數(shù)據(jù)的類型一經(jīng)確定就不能再次改變,只能沿襲首次所指定的類型。

4 結(jié)語

使用計算機(jī)的人群,要對數(shù)組的概念進(jìn)行深入理解,靜、動兩態(tài)數(shù)組要熟練使用方法,對一些技巧要能夠靈活運用,這樣可以在解決實際問題時提供很大方便,同時也會給你的程序錦上添花。本文介紹了很多數(shù)組的概念,不同的數(shù)組有不同的區(qū)別和特點,如果讀者進(jìn)行仔細(xì)推敲,然后是這更多的去使用它,一定會輕松自如、游刃有余的運用。

參考文獻(xiàn)

[1]希望圖書創(chuàng)作室.Visual Basic 6.0教程[M].北京:北京希望電子出版社,2000.

[2]譚浩強.Visual Basic程序設(shè)計[M].北京:清華大學(xué)出版社,2002.

[3]王克己.Visual Basic程序設(shè)計[M].北京:人民郵電出版社,2005.

五常市| 小金县| 读书| 绵阳市| 永安市| 浑源县| 宜春市| 丹阳市| 文水县| 石景山区| 包头市| 称多县| 景东| 崇阳县| 石棉县| 清新县| 汝城县| 夏邑县| 安吉县| 呼玛县| 博野县| 深泽县| 昂仁县| 株洲县| 井冈山市| 静乐县| 嘉义市| 扶沟县| 贺兰县| 阳信县| 镇巴县| 静乐县| 赣州市| 民勤县| 武川县| 丰城市| 马山县| 咸丰县| 宁国市| 临西县| 金昌市|