第4章計(jì)算機(jī)基礎(chǔ)_第1頁
第4章計(jì)算機(jī)基礎(chǔ)_第2頁
第4章計(jì)算機(jī)基礎(chǔ)_第3頁
第4章計(jì)算機(jī)基礎(chǔ)_第4頁
第4章計(jì)算機(jī)基礎(chǔ)_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第4章 Visual Basic程序設(shè)計(jì)基礎(chǔ)本章要求nVB代碼的書寫規(guī)則n賦值語句、注釋語句、結(jié)束語句、暫停語句nVB數(shù)據(jù)的輸入/輸出方法n順序結(jié)構(gòu)程序設(shè)計(jì)方法nIF語句、Select Case語句nWhile/Wend、Do/Loop、For/Next語句,Exit Do、Exit For語句n分支/循環(huán)的嵌套n常見算法程序設(shè)計(jì)目錄n4.1 VB程序代碼的書寫規(guī)則n4.2 基本語句介紹n4.3 數(shù)據(jù)的輸入與輸出n4.4 順序結(jié)構(gòu)程序設(shè)計(jì)n4.5 選擇結(jié)構(gòu)程序設(shè)計(jì)n4.6 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)4.1 VB程序代碼的書寫規(guī)則nVB還可以按照一定的格式化規(guī)則對(duì)所輸入的語句進(jìn)行處理,例如,關(guān)鍵字會(huì)格式化

2、為首字母大寫,其余字母小寫;運(yùn)算符前后自動(dòng)加空格等。所以輸入關(guān)鍵字、函數(shù)名等時(shí),可以不必區(qū)分大小寫;n一個(gè)語句行的最大長度為1023個(gè)字符;n如果一條語句太長,可以使用續(xù)行符下劃線“_”將其分寫在多行上,續(xù)行符與它前面的字符之間至少要有一個(gè)空格;n如果多條語句寫在一行上,各語句之間要以冒號(hào)“:”隔開。4.2 基本語句介紹n4.2.1 賦值語句 n4.2.2 注釋語句n4.2.3 結(jié)束語句n4.2.4 暫停語句4.2.1 賦值語句【格式】 let 變量名=表達(dá)式 let 對(duì)象名.屬性名=表達(dá)式【功能】先計(jì)算“=”右邊的表達(dá)式的值,然后將該值賦給“=”左邊的變量或?qū)傩浴?n(1)變量在被第一次賦值

3、之前,具有系統(tǒng)默認(rèn)的初始值,不同類型的變量,其默認(rèn)的初始值不同。變量被賦值后,則變量原來的值被覆蓋掉。所以某個(gè)變量被多次賦值后,只保留最后一次賦的值。n(2)如果程序中有變量強(qiáng)制聲明語句“Option Explicit”,而被賦值的變量未聲明,則該賦值語句被執(zhí)行時(shí),會(huì)出現(xiàn)編譯錯(cuò)誤“變量未定義”。n(3)如果程序中沒有變量強(qiáng)制聲明語句“Option Explicit”,而被賦值的變量未聲明,則該賦值語句被執(zhí)行時(shí),系統(tǒng)將創(chuàng)建該變量(類型為Variant類型,作用域是過程級(jí)),并將表達(dá)式的值賦給它。 n(4)如果為對(duì)象的屬性賦值,則對(duì)象必須存在且具有該屬性。輸入語句時(shí),只要鍵入已存在的對(duì)象名和圓點(diǎn),

4、系統(tǒng)就會(huì)自動(dòng)顯示屬性列表供選擇,所以先建立對(duì)象,再輸入程序,可以防止命名上的不一致或輸入錯(cuò)誤。如果缺省對(duì)象名,只給出屬性名,則默認(rèn)對(duì)象是指當(dāng)前窗體。n(5)在實(shí)際應(yīng)用中,也可以只給出對(duì)象名,不給出屬性名,這時(shí)將為該對(duì)象的“缺省屬性”賦值?!叭笔傩浴钡暮x即在語句中不給出屬性名時(shí),默認(rèn)的操作屬性。不同種類的對(duì)象,其缺省屬性也不同, n(6)在使用賦值語句時(shí),要特別注意被賦值的變量(或?qū)傩裕┡c賦值號(hào)右邊表達(dá)式的類型。可以將任意類型的表達(dá)式賦給Variant類型變量;除此以外,我們通常要求二者類型一致,這樣可以使程序更加清晰規(guī)范;但在很多情況下,VB都可以自動(dòng)將表達(dá)式轉(zhuǎn)換為被賦值變量的類型進(jìn)行賦值

5、,使用起來靈活方便,但一定要搞清楚常用數(shù)據(jù)類型的自動(dòng)轉(zhuǎn)換規(guī)則。 n例4-14.2.2 注釋語句【格式1】Rem 注釋內(nèi)容【格式2】注釋內(nèi)容n注釋語句是一個(gè)非執(zhí)行語句,它的主要作用是為程序加上必要的注解,增加程序的可讀性。注釋內(nèi)容可以是任意可顯示的字符,在執(zhí)行程序時(shí),注釋將被過濾掉。n注釋語句還有一個(gè)作用,在調(diào)試程序時(shí),為了找出錯(cuò)誤的位置,可以先將部分語句加上注釋符號(hào),暫不執(zhí)行,僅執(zhí)行另一部分語句。需要時(shí),去掉注釋符號(hào),即可執(zhí)行。n(1)格式1中,關(guān)鍵字Rem與注釋內(nèi)容之間需要有空格;格式2中,單引號(hào)“”與注釋內(nèi)容之間則不需要空格。輸入程序時(shí),注釋內(nèi)容被自動(dòng)格式化為綠色字體。n(2)格式1和格式

6、2既可以放在語句行的開始處,為一段程序做注釋,也可以放在語句的后面,為一條語句做注釋。n(3)如果注釋內(nèi)容有很多行,則每行前都要有注釋符(Rem或單引號(hào)),這叫做“塊注釋”。 4.2.3 結(jié)束語句【格式】End【功能】可放在程序中的任何位置,用來終止整個(gè)程序的執(zhí)行,并關(guān)閉已打開的文件并清除變量。 End Sub語句用來終止一個(gè)Sub過程的執(zhí)行,對(duì)每個(gè)Sub過程只能有一個(gè),End語句用來終止整個(gè)應(yīng)用程序的執(zhí)行,必須放在過程體內(nèi),可以有多個(gè)。 4.2.4 暫停語句【格式】Stop【功能】在程序解釋執(zhí)行時(shí),Stop語句使程序進(jìn)入中斷模式,以便對(duì)程序進(jìn)行檢查和調(diào)試。4.3 數(shù)據(jù)的輸入與輸出n4.3.1

7、 數(shù)據(jù)輸入函數(shù)InputBoxn4.3.2 數(shù)據(jù)輸出方法Print和清除顯示內(nèi)容方法Clsn4.3.3 MsgBox函數(shù)和MsgBox語句4.3.1 數(shù)據(jù)輸入函數(shù)InputBox【格式】InputBox(prompt, title , default , xpos , ypos , helpfile, context)InputBox【功能】顯示一個(gè)對(duì)話框,對(duì)話框由標(biāo)題、提示信息、一個(gè)文本框、兩個(gè)按鈕(“確定”和“取消”)組成。用戶可以在文本框中輸入數(shù)據(jù),當(dāng)按“確定”按鈕或回車鍵時(shí),文本框中所輸入的數(shù)據(jù)就作為返回值帶回到程序中的函數(shù)調(diào)用處,并關(guān)閉對(duì)話框;當(dāng)按“取消”按鈕或ESC鍵時(shí),文本框中所

8、輸入的數(shù)據(jù)無效,返回一個(gè)空字符串(不包含任何字符、長度為0的字符串),并關(guān)閉對(duì)話框。n【參數(shù)說明】n(1)prompt:該參數(shù)是必選項(xiàng),為字符型表達(dá)式,對(duì)應(yīng)于對(duì)話框中的提示信息。其最大長度為1024個(gè)字符,提示信息可以自動(dòng)換行,如果想在指定位置換行,可以在該字符表達(dá)式中人工插入回車符(函數(shù)調(diào)用Chr(13)返回回車符,詳見后面章節(jié))。n(2)title:該參數(shù)是可選項(xiàng),為字符型表達(dá)式,對(duì)應(yīng)于對(duì)話框中的標(biāo)題,省略該項(xiàng)時(shí),標(biāo)題為當(dāng)前工程名。n(3)default:該參數(shù)是可選項(xiàng),為字符型表達(dá)式,對(duì)應(yīng)于對(duì)話框中的文本框內(nèi)顯示的信息,作為用戶輸入信息的默認(rèn)值。省略該選項(xiàng)時(shí),為空串。n(4)xpos:可

9、選項(xiàng),為數(shù)值表達(dá)式,成對(duì)出現(xiàn),指定對(duì)話框的左邊與屏幕左邊的水平距離。如果省略 xpos,則對(duì)話框會(huì)在水平方向居中。n(5)ypos:可選項(xiàng),為數(shù)值表達(dá)式,成對(duì)出現(xiàn),指定對(duì)話框的上邊與屏幕上邊的距離。如果省略 ypos,則對(duì)話框被放置在屏幕垂直方向距上邊大約三分之一的位置。4.3.2 數(shù)據(jù)輸出方法Print【格式】對(duì)象.Print 輸出項(xiàng)列表;|,n【說明】(1)對(duì)象可以是窗體(Form)、圖片框(PictureBox)、打印機(jī)(Printer)或立即窗口(Debug)等,也就是說,調(diào)用不同對(duì)象的Print方法,可以將Print 后面的輸出內(nèi)容輸出到窗體、圖片框、打印機(jī)或立即窗口等各種對(duì)象上。對(duì)

10、象缺省時(shí),默認(rèn)指當(dāng)前窗體,在前面例子中,這種調(diào)用方式已使用過多次。n(2)輸出項(xiàng)列表是用分隔符隔開的一組輸出項(xiàng),分隔符可以是空格、分號(hào)或逗號(hào),輸出項(xiàng)可以是表達(dá)式、Tab(n)函數(shù)或Spc(n)函數(shù),Print方法調(diào)用語句末尾可以是分號(hào)、逗號(hào)或沒有標(biāo)點(diǎn)。n(3)我們把在對(duì)象上輸出信息時(shí)的當(dāng)前位置叫做“輸出指針”或“指針”,在第一次使用Print方法輸出時(shí),指針指向第一行第一列,當(dāng)輸出不同的輸出項(xiàng)或分隔符時(shí),輸出指針將按照以下規(guī)則來移動(dòng)。n a) 輸出表達(dá)式:先計(jì)算表達(dá)式的值,然后再輸出,所以Print方法兼有運(yùn)算和輸出雙重功能。當(dāng)輸出數(shù)值表達(dá)式時(shí),第一位即指針當(dāng)前位置是符號(hào)位,若為負(fù)數(shù),則輸出減

11、號(hào)“-”,若為非負(fù)數(shù),則為空格。輸出完各表達(dá)式的值,指針再輸出一空格即右移一位;輸出字符型、邏輯型數(shù)據(jù)時(shí),則沒有符號(hào)位,輸出完成時(shí),指針也不右移一位;輸出日期型數(shù)據(jù)時(shí),沒有符號(hào)位,但輸出完成,指針右移一位; nb) 輸出Tab(n)函數(shù)(n為數(shù)值表達(dá)式):指針將移到第n列;如果當(dāng)前位置已超過n,則移到下一行第n列; nc) 輸出Spc(n)函數(shù)(n為數(shù)值表達(dá)式):指針將右移n列,即輸出n個(gè)空格。n d) 輸出分號(hào)或空格:指針不移動(dòng);n e) 輸出逗號(hào):指針移到下一分區(qū),14個(gè)字符為一分區(qū); nf) 調(diào)用語句末尾不使用逗號(hào)或分號(hào):指針移到下一行;nTab函數(shù)和Spc函數(shù)只能與Print結(jié)合使用,

12、而Space(n)函數(shù)是一個(gè)普通的字符串函數(shù),其功能是返回由n個(gè)空格組成的字符串,當(dāng)與Print結(jié)合使用時(shí),效果與Spc(n)相同。清除顯示內(nèi)容方法Cls【格式】對(duì)象.Cls 對(duì)象可以是窗體(Form)、圖片框(PictureBox),缺省為當(dāng)前窗體?!竟δ堋壳宄鼺orm、PictureBox對(duì)象上用Print方法輸出的內(nèi)容。4.3.3 MsgBox函數(shù)【格式】MsgBox(prompt, buttons , title , helpfile, context)【功能】顯示一對(duì)話框,用于輸出簡短的提示信息,并通過對(duì)話框中的按鈕接收用戶的不同選擇。 【說明】(1)prompt參數(shù):必選項(xiàng),為字符

13、串表達(dá)式,指定顯示在對(duì)話框中的消息。(2)buttons參數(shù):可選項(xiàng),為數(shù)值表達(dá)式,是值的總和,指定顯示按鈕的數(shù)目及形式、使用的圖標(biāo)樣式、缺省按鈕是什么以及消息框的強(qiáng)制回應(yīng)等。如果省略,則buttons的缺省值為0。見課本表4-1(3)title參數(shù):可選項(xiàng),在對(duì)話框標(biāo)題欄中顯示的字符串表達(dá)式。如果省略 title參數(shù),則將工程名放在標(biāo)題欄中。(4)返回值:MsgBox函數(shù)顯示的對(duì)話框中,可以顯示7種按鈕的6種不同組合狀態(tài),當(dāng)用戶選擇不同按鈕時(shí),函數(shù)返回1-7之間的一個(gè)長整數(shù)值。見課本表4-2。MsgBox語句 如果只是要輸出簡單的信息,而不需要接收用戶的選擇作為返回值,使用MsgBox語句會(huì)

14、更加方便。【格式】MsgBox prompt, buttons , title , helpfile, context 這是一條獨(dú)立的語句,所以各參數(shù)與MsgBox以空格隔開,而不是放在小括號(hào)內(nèi)。各參數(shù)的含義與MsgBox函數(shù)完全一樣,只是沒有返回值。4.4 順序結(jié)構(gòu)程序設(shè)計(jì)n順序結(jié)構(gòu)是程序設(shè)計(jì)中最簡單、最常用的基本結(jié)構(gòu),是所有程序的主體結(jié)構(gòu),順序結(jié)構(gòu)程序是按照語句的書寫順序依次執(zhí)行。n例4-2 、例4-34.5 選擇結(jié)構(gòu)程序設(shè)計(jì)n4.5.1 塊IF語句n4.5.2 行IF語句n4.5.3 IF語句中的ElseIf語句n4.5.4 多情況語句Select Casen4.5.5 條件判斷函數(shù)II

15、F4.5.1 塊IF語句n【格式】 If 條件表達(dá)式 Thenn 語句組1n Elsen 語句組2n End If【說明】(1)應(yīng)是一個(gè)邏輯表達(dá)式或關(guān)系表達(dá)式,它的值是True或False。如果給出的是數(shù)值表達(dá)式、字符型表達(dá)式等,系統(tǒng)會(huì)自動(dòng)將非邏輯值轉(zhuǎn)換為邏輯值。當(dāng)為數(shù)值表達(dá)式時(shí),非0值為True,0為False;當(dāng)為字符型表達(dá)式時(shí),字符串“True”轉(zhuǎn)換為邏輯值True,字符串“False”轉(zhuǎn)換為邏輯值False,如果表達(dá)式的值為其他字符串,將會(huì)出現(xiàn)“類型不匹配”的錯(cuò)誤信息提示。此處提到的轉(zhuǎn)換規(guī)則適用于本章后面需要邏輯型的各語句。(2)和是一組合法的VB語句。 n(3)If與End If必須

16、成對(duì)出現(xiàn),關(guān)鍵字Then之后必須換行。Else和End If要單獨(dú)占一行,如果與其它語句寫在一行上,必須用冒號(hào)隔開。n(4)該語句的含義是:如果的值為True,則執(zhí)行,然后執(zhí)行End If后面的語句;如果的值為False,則執(zhí)行,然后執(zhí)行End If后面的語句。如果沒有Else 及選項(xiàng)且的值為False,則什么都不執(zhí)行,直接執(zhí)行End If后面的語句。4.5.2 行IF語句【格式】If 條件表達(dá)式 Then 語句組1 Else 語句組2 行IF語句與塊IF語句的區(qū)別是:沒有End If關(guān)鍵字且必須把所有內(nèi)容寫在一行上?!菊f明】(1)和如果包含多條語句,必須用冒號(hào)分隔。(2)行If語句適用于比較

17、簡單的選擇結(jié)構(gòu)程序。例4-4 、例4-54.5.3 IF語句中的ElseIf語句n【格式】 If Thenn n ElseIf Thenn n n ElseIf Thenn n Elsen n End If【說明】(1) 執(zhí)行過程首先判斷條件表達(dá)式1,如果其值為True,則執(zhí)行語句組1,然后執(zhí)行End If后面的語句;如果條件表達(dá)式1的值為False,則判斷條件表達(dá)式2,如果其值為True,則執(zhí)行語句組2,然后執(zhí)行End If后面的語句;如果條件表達(dá)式2的值也為False,再繼續(xù)往下判斷其他條件表達(dá)式的值;如果所有條件表達(dá)式的值為False,才執(zhí)行語句組N+1(2)Else部分可以省略,當(dāng)省略

18、Else部分時(shí),如果所有條件表達(dá)式的值為False,則直接執(zhí)行End If后面的語句。(3)ElseIf是一個(gè)關(guān)鍵字,中間不能有空格。例4-5、例4-64.5.4 多情況語句Select Casen【格式】 Select Case 測(cè)試表達(dá)式n Case 表達(dá)式表1n 語句組1n Case 表達(dá)式表2n 語句組2n n Case 表達(dá)式表Nn 語句組Nn Case Elsen 語句組N+1n End SelectnSelect Case語句的執(zhí)行過程:首先求的值V,如果V與相匹配,則執(zhí)行,然后執(zhí)行End Select后面的語句;如果與不匹配,則繼續(xù)匹配下一表達(dá)式表 ,若有匹配的,則執(zhí)行它對(duì)應(yīng)的

19、?!菊f明】(1)可以是數(shù)值型、字符型、日期型、邏輯型等各種類型的表達(dá)式;(2)應(yīng)為下面4種形式之一:與同類型的一個(gè)表達(dá)式,可以是數(shù)值型、字符型、日期型、邏輯型等各種類型,例如: Case Y+5;一個(gè)表示范圍的式子,形式為:表達(dá)式1 To 表達(dá)式2,其中的和可以是同類型的表達(dá)式,但的值必須小于等于的值,否則即使在范圍內(nèi),也不能匹配成功(并不出錯(cuò));例如:Case 60 To 100,Case “nuts” to “soup”n一個(gè)判定某種關(guān)系的式子,形式為:Is 表達(dá)式。注意兩點(diǎn):第一,此處的Is不同于關(guān)系運(yùn)算符Is,第二此處的不能是Is或Like;n例如:Case Is100n(3)測(cè)試表達(dá)

20、式的值V與某表達(dá)式表相匹配的含義是:或者V的值與該表達(dá)式表中的某個(gè)表達(dá)式的值相等,或者V屬于該表達(dá)式表中某個(gè)式子所表示的范圍,或者V的值使該表達(dá)式表中某個(gè)判定關(guān)系的式子成立。如果以上三者都不成立,則測(cè)試表達(dá)式與該表達(dá)式表不匹配。n(4)Select Case語句中各可以是任何合法的VB語句,所以可以嵌套使用。n(5)書寫該語句時(shí),Select與Case之間、 End與Select之間以及Case與之間都必須有空格。n例4-7 、例4-84.5.5 條件判斷函數(shù)IIF【格式】IIF(條件,表達(dá)式1,表達(dá)式2)【說明】(1)該函數(shù)的三個(gè)參數(shù)都是必選項(xiàng);(2)是一個(gè)關(guān)系表達(dá)式或邏輯表達(dá)式;其值為Tr

21、ue或False;(3)和可以是任意類型的表達(dá)式,類型也可以不同;(4)IIF函數(shù)可以嵌套使用。n當(dāng)為True時(shí),IIf函數(shù)的返回值為;當(dāng)為False時(shí),IIf函數(shù)的返回值為; n例如:Print IIf(cj 60, 不及格, IIf(cj 75, 及格, IIf(cj 90, 良好, 優(yōu)秀)4.6 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)n4.6.1 WhileWend循環(huán)語句n4.6.2 DoLoop循環(huán)語句n4.6.3 For循環(huán)語句n4.6.4 循環(huán)的嵌套n4.6.5 應(yīng)用舉例4.6.1 WhileWend循環(huán)語句【格式】 While 條件 語句組 Wend 首先判斷條件是否為True,若是,則執(zhí)行一遍循環(huán)

22、體,然后轉(zhuǎn)到循環(huán)開始處,再判斷條件若某一次判斷時(shí)條件為False,則執(zhí)行Wend后面的語句。 【說明】(1)為邏輯表達(dá)式或關(guān)系表達(dá)式,其值為True或False。若為其他類型,系統(tǒng)會(huì)自動(dòng)將非邏輯值轉(zhuǎn)換為邏輯值。轉(zhuǎn)換規(guī)則參見If語句。(2)如果首次判斷時(shí),即為False,則循環(huán)體一次也不執(zhí)行。(3)如果首次判斷為True,且不能變?yōu)镕alse,則循環(huán)體會(huì)無限次地執(zhí)行下去,程序?qū)⒉荒芙K止,這稱為“無限循環(huán)”或“死循環(huán)”。編寫程序時(shí),必須避免出現(xiàn)死循環(huán)。(4)循環(huán)體是一條或多條VB語句,如果循環(huán)體中又包含循環(huán)語句,則稱為循環(huán)的嵌套。 例4-9 、例4-104.6.2 DoLoop循環(huán)語句n【格式1】Do While 條件n 語句組1n Eixt Don 語句組2n Loopn【格式2】Do n 語句組1n

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論