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

下載本文檔

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

文檔簡介

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

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

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

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

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

6、2既可以放在語句行的開始處,為一段程序做注釋,也可以放在語句的后面,為一條語句做注釋。n(3)如果注釋內(nèi)容有很多行,則每行前都要有注釋符(Rem或單引號),這叫做“塊注釋”。 4.2.3 結(jié)束語句【格式】End【功能】可放在程序中的任何位置,用來終止整個程序的執(zhí)行,并關(guān)閉已打開的文件并清除變量。 End Sub語句用來終止一個Sub過程的執(zhí)行,對每個Sub過程只能有一個,End語句用來終止整個應(yīng)用程序的執(zhí)行,必須放在過程體內(nèi),可以有多個。 4.2.4 暫停語句【格式】Stop【功能】在程序解釋執(zhí)行時,Stop語句使程序進入中斷模式,以便對程序進行檢查和調(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【功能】顯示一個對話框,對話框由標題、提示信息、一個文本框、兩個按鈕(“確定”和“取消”)組成。用戶可以在文本框中輸入數(shù)據(jù),當按“確定”按鈕或回車鍵時,文本框中所輸入的數(shù)據(jù)就作為返回值帶回到程序中的函數(shù)調(diào)用處,并關(guān)閉對話框;當按“取消”按鈕或ESC鍵時,文本框中所

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

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

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

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

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

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

14、更加方便?!靖袷健縈sgBox prompt, buttons , title , helpfile, context 這是一條獨立的語句,所以各參數(shù)與MsgBox以空格隔開,而不是放在小括號內(nèi)。各參數(shù)的含義與MsgBox函數(shù)完全一樣,只是沒有返回值。4.4 順序結(jié)構(gòu)程序設(shè)計n順序結(jié)構(gòu)是程序設(shè)計中最簡單、最常用的基本結(jié)構(gòu),是所有程序的主體結(jié)構(gòu),順序結(jié)構(gòu)程序是按照語句的書寫順序依次執(zhí)行。n例4-2 、例4-34.5 選擇結(jié)構(gòu)程序設(shè)計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 條件表達式 Thenn 語句組1n Elsen 語句組2n End If【說明】(1)應(yīng)是一個邏輯表達式或關(guān)系表達式,它的值是True或False。如果給出的是數(shù)值表達式、字符型表達式等,系統(tǒng)會自動將非邏輯值轉(zhuǎn)換為邏輯值。當為數(shù)值表達式時,非0值為True,0為False;當為字符型表達式時,字符串“True”轉(zhuǎn)換為邏輯值True,字符串“False”轉(zhuǎn)換為邏輯值False,如果表達式的值為其他字符串,將會出現(xiàn)“類型不匹配”的錯誤信息提示。此處提到的轉(zhuǎn)換規(guī)則適用于本章后面需要邏輯型的各語句。(2)和是一組合法的VB語句。 n(3)If與End If必須

16、成對出現(xiàn),關(guān)鍵字Then之后必須換行。Else和End If要單獨占一行,如果與其它語句寫在一行上,必須用冒號隔開。n(4)該語句的含義是:如果的值為True,則執(zhí)行,然后執(zhí)行End If后面的語句;如果的值為False,則執(zhí)行,然后執(zhí)行End If后面的語句。如果沒有Else 及選項且的值為False,則什么都不執(zhí)行,直接執(zhí)行End If后面的語句。4.5.2 行IF語句【格式】If 條件表達式 Then 語句組1 Else 語句組2 行IF語句與塊IF語句的區(qū)別是:沒有End If關(guān)鍵字且必須把所有內(nèi)容寫在一行上?!菊f明】(1)和如果包含多條語句,必須用冒號分隔。(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í)行過程首先判斷條件表達式1,如果其值為True,則執(zhí)行語句組1,然后執(zhí)行End If后面的語句;如果條件表達式1的值為False,則判斷條件表達式2,如果其值為True,則執(zhí)行語句組2,然后執(zhí)行End If后面的語句;如果條件表達式2的值也為False,再繼續(xù)往下判斷其他條件表達式的值;如果所有條件表達式的值為False,才執(zhí)行語句組N+1(2)Else部分可以省略,當省略

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

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

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

21、ue或False;(3)和可以是任意類型的表達式,類型也可以不同;(4)IIF函數(shù)可以嵌套使用。n當為True時,IIf函數(shù)的返回值為;當為False時,IIf函數(shù)的返回值為; n例如:Print IIf(cj 60, 不及格, IIf(cj 75, 及格, IIf(cj 90, 良好, 優(yōu)秀)4.6 循環(huán)結(jié)構(gòu)程序設(shè)計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)開始處,再判斷條件若某一次判斷時條件為False,則執(zhí)行Wend后面的語句。 【說明】(1)為邏輯表達式或關(guān)系表達式,其值為True或False。若為其他類型,系統(tǒng)會自動將非邏輯值轉(zhuǎn)換為邏輯值。轉(zhuǎn)換規(guī)則參見If語句。(2)如果首次判斷時,即為False,則循環(huán)體一次也不執(zhí)行。(3)如果首次判斷為True,且不能變?yōu)镕alse,則循環(huán)體會無限次地執(zhí)行下去,程序?qū)⒉荒芙K止,這稱為“無限循環(huán)”或“死循環(huán)”。編寫程序時,必須避免出現(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等.壓縮文件請下載最新的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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論