




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
數(shù)組和結(jié)構(gòu)第四章數(shù)組和結(jié)構(gòu)第四章回顧基本數(shù)據(jù)類型變量和常量變量和常量的作用域操作符和表達(dá)式流程控制語句2回顧基本數(shù)據(jù)類型2目標(biāo)在VisualBasic中定義和使用數(shù)組掌握控件數(shù)組的基本概念及使用在VisualBasic中創(chuàng)建和使用自定義的數(shù)據(jù)
類型使用隨機(jī)函數(shù)3目標(biāo)在VisualBasic中定義和使用數(shù)組3數(shù)組單獨(dú)的變量能夠存儲(chǔ)單個(gè)數(shù)據(jù)值數(shù)組是可以集中存儲(chǔ)一組具有相同數(shù)據(jù)類型的數(shù)據(jù)項(xiàng)的一種結(jié)構(gòu)使用數(shù)組的優(yōu)勢:數(shù)組中的所有值都用單個(gè)名稱來存儲(chǔ),并可以使用位置索引分別進(jìn)行標(biāo)識4數(shù)組單獨(dú)的變量能夠存儲(chǔ)單個(gè)數(shù)據(jù)值4聲明數(shù)組和給數(shù)組賦值聲明數(shù)組:
例如,為存儲(chǔ)2到20之間的偶數(shù)聲明一個(gè)數(shù)組,
Dimeven_arr(9)AsInteger
給數(shù)組賦值:
例如,要給上面聲明的數(shù)組賦值,
even_arr(0)=2
even_arr(1)=4
even_arr(2)=6
………
even_arr(9)=20定義了一個(gè)共有10個(gè)元素的整型數(shù)組5聲明數(shù)組和給數(shù)組賦值聲明數(shù)組:
例如,為存儲(chǔ)2到20使用數(shù)組–示例PrivateSubForm_Click()
Dimnum(10)AsIntegerDimiAsIntegerFori=0To9num(i)=i+1Printnum(i)NextiEndSub(在VB環(huán)境中進(jìn)行演示)6使用數(shù)組–示例PrivateSubForm_Cli定義數(shù)組的下界數(shù)組的下界可以不為0在Dim語句中,可以顯式地指定所聲明的數(shù)組的下界示例DimMynames(1to5)asstring‘可以按如下所示對該數(shù)組賦值:Mynames(1)=“Tom”Mynames(2)=“Joe”Mynames(3)=“Jack”Mynames(4)=“Lisa”Mynames(5)=“Jeff”7定義數(shù)組的下界數(shù)組的下界可以不為0DimMynames多維數(shù)組在一些情形下可能希望存儲(chǔ)多維數(shù)據(jù)組成的序列聲明多維數(shù)組
例如,要聲明一個(gè)能夠存放5個(gè)學(xué)生的姓名和年齡的數(shù)組,
Dimstud_age(4,1)(0,0)(0,1)(1,0)(1,1)(2,0)(2,1)(3,0)(3,1)(4,0)(4,1)定義了一個(gè)5行2列的Variant類型的數(shù)組8多維數(shù)組在一些情形下可能希望存儲(chǔ)多維數(shù)據(jù)組成的序列(0,0)為多維數(shù)組賦值可用下面的語句為二維數(shù)組賦值Dimstud_age(4,1)stud_age(0,0)="Tom"stud_age(0,1)=25stud_age(1,0)="Joe"stud_age(1,1)=22stud_age(2,0)="Lucy"stud_age(2,1)=24stud_age(3,0)="Ted"stud_age(3,1)=25stud_age(4,0)="Harry"stud_age(4,1)=23Tom25Joe22Lucy24Ted25Harry239為多維數(shù)組賦值可用下面的語句為二維數(shù)組賦值Dimstud_使用數(shù)組元素要顯示上一張幻燈片創(chuàng)建的數(shù)組中所有元素的值Dimi,jAsIntegerFori=0To4Forj=0To1
Printstud_age(i,j)NextjNexti010Tom251Joe222Lucy243Ted254Harry2310使用數(shù)組元素要顯示上一張幻燈片創(chuàng)建的數(shù)組中所有元素的值Dim動(dòng)態(tài)數(shù)組動(dòng)態(tài)數(shù)組與普通數(shù)組在概念上相類似動(dòng)態(tài)數(shù)組與普通數(shù)組的區(qū)別:動(dòng)態(tài)數(shù)組的大小在程序中是可變的聲明動(dòng)態(tài)數(shù)組不需要指定維數(shù)使用動(dòng)態(tài)數(shù)組可以丟棄不需要的數(shù)據(jù)并釋放
內(nèi)存11動(dòng)態(tài)數(shù)組動(dòng)態(tài)數(shù)組與普通數(shù)組在概念上相類似11定義動(dòng)態(tài)數(shù)組動(dòng)態(tài)數(shù)組的聲明與正常數(shù)組的聲明相似在聲明時(shí)不需要指定任何維數(shù)例如,
聲明數(shù)組時(shí)
Dimnum_arr()asLong
運(yùn)行時(shí)使用ReDim語句指定數(shù)組的維數(shù)和實(shí)際大小
ReDimnum_arr(10)
12定義動(dòng)態(tài)數(shù)組動(dòng)態(tài)數(shù)組的聲明與正常數(shù)組的聲明相似12重定義動(dòng)態(tài)數(shù)組在重定義動(dòng)態(tài)數(shù)組時(shí),應(yīng)注意:ReDim語句與Dim語句不同,只能在函數(shù)和過程中出現(xiàn),后者可以在過程外出現(xiàn)ReDim語句無法更改與數(shù)組關(guān)聯(lián)的數(shù)據(jù)類型連續(xù)的ReDim語句可以更改數(shù)組的邊界,但無法更改數(shù)組的維數(shù)每執(zhí)行一次ReDim語句,當(dāng)前數(shù)組中的值將會(huì)丟失13重定義動(dòng)態(tài)數(shù)組在重定義動(dòng)態(tài)數(shù)組時(shí),應(yīng)注意:13動(dòng)態(tài)數(shù)組–示例PrivateSubForm_Click()Dimnum_arr()AsIntegerDimintNum,iAsIntegerintNum=InputBox("請輸入動(dòng)態(tài)數(shù)組中元素的個(gè)數(shù)")'重定義動(dòng)態(tài)數(shù)組
ReDimnum_arr(intNum)'給動(dòng)態(tài)數(shù)組賦值
Fori=0TointNumnum_arr(i)=i+10NextiMsgBox"數(shù)組中第一個(gè)元素的值為:"&num_arr(0)ReDimnum_arr(3)MsgBox"重定義后數(shù)組中第一個(gè)元素的值為:"&num_arr(0)EndSub(在VB環(huán)境中進(jìn)行演示)14動(dòng)態(tài)數(shù)組–示例PrivateSubForm_Clic控件數(shù)組2-1可以將相關(guān)的并且是相同類型的控件組合到一種稱為“控件數(shù)組”的結(jié)構(gòu)中示例:在VB環(huán)境中創(chuàng)建名為cmdArray的命令按鈕的控件數(shù)組15控件數(shù)組2-1可以將相關(guān)的并且是相同類型的控件組合到一種控件數(shù)組2-2控件數(shù)組中的控件共享公用的屬性、事件、名稱和類型控件數(shù)組中的每個(gè)控件稱為控件數(shù)組的一個(gè)元素控件數(shù)組中的控件可以在運(yùn)行時(shí)創(chuàng)建16控件數(shù)組2-2控件數(shù)組中的控件共享公用的屬性、事件、名稱Index屬性控件數(shù)組中的所有元素具有相同的名稱通過使用稱為Index屬性的屬性來分別標(biāo)識每個(gè)元素索引可以幫助將特定的值賦給與特定控件關(guān)聯(lián)的屬性17Index屬性控件數(shù)組中的所有元素具有相同的名稱17Index屬性–示例改變在幻燈片15中創(chuàng)建的cmdArray命令按鈕數(shù)組中第0個(gè)和第1個(gè)按鈕的caption屬性
cmdArray(0).caption="退出"
cmdArray(1).caption="確定"18Index屬性–示例改變在幻燈片15中創(chuàng)建的cmdA控件數(shù)組的事件編程對于與控件數(shù)組相關(guān)聯(lián)的特定事件,該控件數(shù)組中的所有元素共享相同的事件代碼根據(jù)與控件相關(guān)聯(lián)的索引來觸發(fā)控件的事件19控件數(shù)組的事件編程對于與控件數(shù)組相關(guān)聯(lián)的特定事件,該控件數(shù)組控件數(shù)組的事件編程–示例(在VB環(huán)境中進(jìn)行演示)20控件數(shù)組的事件編程–示例(在VB環(huán)境中進(jìn)行演示)20使用自定義數(shù)據(jù)類型可能會(huì)需要將與相同實(shí)體相關(guān)的不同數(shù)據(jù)類型的值存儲(chǔ)在一起,這種結(jié)構(gòu)稱為記錄。例如:要存儲(chǔ)學(xué)生的相關(guān)信息Student_idStudent_nameStudent_marksStudent_address104Parker78NewYork-35105Stevens82Texas-50107George76Florida-5621使用自定義數(shù)據(jù)類型可能會(huì)需要將與相同實(shí)體相關(guān)的不同數(shù)據(jù)類型的定義自定義數(shù)據(jù)類型使用Type語句創(chuàng)建的數(shù)據(jù)類型稱為用戶定義或自定義的數(shù)據(jù)類型Type語句的典型語法如下:
TypevarType
variable1asvarType
variable2asvarType
variable3asvarType
….
variablenasvarType
EndType22定義自定義數(shù)據(jù)類型使用Type語句創(chuàng)建的數(shù)據(jù)類型稱為用戶自定義數(shù)據(jù)類型–示例創(chuàng)建符合幻燈片21示例中關(guān)于學(xué)生信息要求的,稱為studTyp的自定義數(shù)據(jù)類型
TypestudType stud_idAsInteger stud_nameAsString stud_marksAsInteger stud_addressAsStringEndType23自定義數(shù)據(jù)類型–示例創(chuàng)建符合幻燈片21示例中關(guān)于學(xué)生信息創(chuàng)建自定義數(shù)據(jù)類型的變量可以使用下列語句,創(chuàng)建在上一張幻燈片中定義的自定義數(shù)據(jù)類型studType的變量:
Dimstudent1AsstudType
Dimstudent2AsstudType
24創(chuàng)建自定義數(shù)據(jù)類型的變量可以使用下列語句,創(chuàng)建在上一張幻燈片為自定義數(shù)據(jù)類型的變量賦值要為這些變量賦值,必須顯式地將值賦給組成此數(shù)據(jù)類型的各個(gè)成員數(shù)據(jù)類型的每個(gè)單獨(dú)的成員稱為字段使用變量名.字段名,為變量賦值或訪問變量的各字段的值25為自定義數(shù)據(jù)類型的變量賦值要為這些變量賦值,必須顯式地將值賦使用自定義數(shù)據(jù)類型–示例為自定義數(shù)據(jù)類型的變量賦值
‘studType是在第23張幻燈片中創(chuàng)建的自定義數(shù)據(jù)類型student1.stud_idstudent1.stud_namestudent1.stud_marksstudent1.stud_address訪問該類型變量的值Dimstudent1AsstudType
student1.stud_id=104student1.stud_name="Parker"student1.stud_marks=78student1.stud_address="NewYork-35“126使用自定義數(shù)據(jù)類型–示例為自定義數(shù)據(jù)類型的變量賦值st使用RND隨機(jī)數(shù)函數(shù)RND函數(shù)說明:返回一個(gè)小于1但大于等于0的單精度數(shù)??捎脕砩赡硞€(gè)范圍內(nèi)的隨機(jī)整數(shù):Int((上限–下限+1)*Rnd+下限)
示例:若要生成一個(gè)10-20內(nèi)的隨機(jī)整數(shù)Int((20–10+1)*Rnd+10)27使用RND隨機(jī)數(shù)函數(shù)RND函數(shù)說明:示例:若要生成一個(gè)10-使用RND函數(shù)–示例DimintIndexAsLongDimsngArray(1To10)AsSingleForintIndex=1To10sngArray(intIndex)=100*Rnd+1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國游戲內(nèi)置廣告行業(yè)發(fā)展運(yùn)行現(xiàn)狀及投資潛力預(yù)測報(bào)告
- 城市綠化管理行業(yè)分析報(bào)告
- 年產(chǎn)35萬噸汽油調(diào)和項(xiàng)目可行性研究報(bào)告申請備案
- 垃圾分類項(xiàng)目投資分析及可行性報(bào)告
- 2025年中國蒸餾設(shè)備行業(yè)發(fā)展?jié)摿︻A(yù)測及投資戰(zhàn)略研究報(bào)告
- 國際現(xiàn)代物流園區(qū)項(xiàng)目可行性研究報(bào)告申請建議書
- 2020-2025年中國卷閘門電機(jī)行業(yè)市場調(diào)查研究及投資前景預(yù)測報(bào)告
- 2021-2026年中國蒸汽電磁閥市場全面調(diào)研及行業(yè)投資潛力預(yù)測報(bào)告
- 2022-2027年中國旅游酒店行業(yè)市場全景評估及投資方向研究報(bào)告
- 營銷網(wǎng)絡(luò)建設(shè)項(xiàng)目可行性研究報(bào)告建議書
- 高分子材料完整版課件
- excel表格水池側(cè)壁及底板配筋計(jì)算程序(自動(dòng)版)
- DB1301∕T 369-2021 設(shè)施蔬菜有機(jī)肥替代化肥技術(shù)規(guī)程
- 商業(yè)寫字樓運(yùn)營費(fèi)用
- 完整版:美制螺紋尺寸對照表(牙數(shù)、牙高、螺距、小徑、中徑外徑、鉆孔)
- FEMA:潛在的失效模式及影響分析解析課件
- 三腔二囊管的應(yīng)用和護(hù)理--PPT課件 (3)
- 流體力學(xué)第二版蔡增基課件
- 英語書寫模板
- 湖北省機(jī)關(guān)事業(yè)單位勞動(dòng)合同制工人
- 云南省普通初中學(xué)生成長記錄.doc
評論
0/150
提交評論