版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第四章三種基本結(jié)構(gòu)程序設(shè)計
4.1三種基本結(jié)構(gòu)4.2基本結(jié)構(gòu)實例4.3其他控制結(jié)構(gòu)4.4數(shù)據(jù)輸入輸出第四章三種基本結(jié)構(gòu)程序設(shè)計4.1三種基本結(jié)構(gòu)14.1三種基本結(jié)構(gòu)1、順序結(jié)構(gòu)語句1語句24.1三種基本結(jié)構(gòu)1、順序結(jié)構(gòu)語句1語句224.1三種基本結(jié)構(gòu)2、選擇結(jié)構(gòu)條件語句1語句2YN4.1三種基本結(jié)構(gòu)2、選擇結(jié)構(gòu)條件語句1語句2YN34.1三種基本結(jié)構(gòu)3、循環(huán)結(jié)構(gòu)a)當(dāng)型循環(huán)條件YN語句組b)直到循環(huán)條件語句組YN4.1三種基本結(jié)構(gòu)3、循環(huán)結(jié)構(gòu)a)當(dāng)型循環(huán)條件YN語句組44.2基本結(jié)構(gòu)實例4.2.1順序結(jié)構(gòu)實例4.2.2選擇結(jié)構(gòu)實例4.2.3循環(huán)結(jié)構(gòu)實例4.2基本結(jié)構(gòu)實例4.2.1順序結(jié)構(gòu)實例54.2.1順序結(jié)構(gòu)實例DimaasintegerDimbasintegera=10a=a+20b=a+304.2.1順序結(jié)構(gòu)實例Dimaasinteger6選擇結(jié)構(gòu)是根據(jù)條件選擇執(zhí)行不同的分支語句,以完成問題的要求。在VisualBasic程序設(shè)計中,使用IF語句和SelectCase語句來處理選擇結(jié)構(gòu)。其特點是:根據(jù)所給定的條件成立(True)或不成立(False),從各實際可能的不同分支中執(zhí)行某一分支的相應(yīng)操作(程序塊),并且任何情況下總有“無論條件多寡,必?fù)衿湟?;雖然條件眾多,僅選其一”的特性。4.2.2選擇結(jié)構(gòu)實例選擇結(jié)構(gòu)是根據(jù)條件選擇執(zhí)行不同的分支語句,以完74.2.2選擇結(jié)構(gòu)實例1.If…Then語句(單分支結(jié)構(gòu))If<表達(dá)式>Then語句塊EndIf或If<表達(dá)式>Then<語句塊>例:已知兩個數(shù)x和y,比較它們的大小,使得x大于y.Ifx<yThent=x:x=y:y=tEndIf或Ifx<yThent=x:x=y:y=t4.2.2選擇結(jié)構(gòu)實例1.If…Then語句(單分支結(jié)構(gòu)84.2.2選擇結(jié)構(gòu)實例2.If…Then…Else語句(雙分支結(jié)構(gòu))If<表達(dá)式>Then<語句塊1>Else<語句塊2>EndIfIf<表達(dá)式>Then<語句塊1>Else<語句塊2>例如:輸出x,y兩個中值較大的一個值。IFX>YThenPrintXElsePrintYEndIf也可以寫成如下的單行形式:IFX>YThenPrintXElsePrintY如何實現(xiàn)程序結(jié)構(gòu)層次性?4.2.2選擇結(jié)構(gòu)實例2.If…Then…Else語句(93.條件函數(shù)Iif()IIf函數(shù)可用來執(zhí)行簡單的條件判斷操作,它相當(dāng)于IF…Then….Else結(jié)構(gòu)。IIF函數(shù)的使用格式:IIF(<表達(dá)式>,<表達(dá)式1>,<表達(dá)式2>)說明:(1)<表達(dá)式>與IF語句中的表達(dá)式相同,通常是關(guān)系表達(dá)式、邏輯表達(dá)式,也可為算術(shù)表達(dá)式。如果是算術(shù)表達(dá)式,其值按非0為True,0為False進(jìn)行判斷。(2)當(dāng)<表達(dá)式>為真時,函數(shù)返回<表達(dá)式1>的值,當(dāng)<表達(dá)式>為假時,函數(shù)返回<表達(dá)式2>的值。(3)<表達(dá)式1>、<表達(dá)式2>可以是任何表達(dá)式。例如:Max=IIF(X>Y,X,Y)它與下面語句等價:IFX>YThenMax=xElseMax=Y4.2.2選擇結(jié)構(gòu)實例3.條件函數(shù)Iif()4.2.2選擇結(jié)構(gòu)實例104.2.2選擇結(jié)構(gòu)實例4.If…Then…ElseIf語句(多分支結(jié)構(gòu))
形式:If<表達(dá)式1>Then <語句塊1>ElseIf<表達(dá)式2>Then <語句塊2> … [Else 語句塊n+1]EndIf4.2.2選擇結(jié)構(gòu)實例4.If…Then…ElseIf語11使用IF語句實現(xiàn)的程序段如下:Ifx>=90thenPrint"優(yōu)秀"ElseIfx>=80ThenPrint"良好"ElseIfx>=70ThenPrint"中等"ElseIfx>=60ThenPrint"及格"ElsePrint"不及格"EndIf例輸入一學(xué)生成績,評定其等級。方法是:90~100分為“優(yōu)秀”,80~89分為“良好”,70~79分為“中等”,60~69分為“及格”,60分以為“不合格”4.2.2選擇結(jié)構(gòu)實例使用IF語句實現(xiàn)的程序段如下:例輸入一學(xué)生成績124.2.2選擇結(jié)構(gòu)實例5.SelectCase語句(情況語句)形式: SelectCase變量或表達(dá)式 Case表達(dá)式列表1 語句塊1 Case表達(dá)式列表2 語句塊2 … [CaseElse 語句塊n+1] EndSelect4.2.2選擇結(jié)構(gòu)實例5.SelectCase語句(情13
說明:<表達(dá)式列表>與<變量或表達(dá)式>屬同類型的下面四種形式之一:表達(dá)式A+5一組枚舉表達(dá)式(用逗號分隔)2,4,6,8表達(dá)式1To表達(dá)式2 60to100 Is關(guān)系運算符表達(dá)式Is<604.2.2選擇結(jié)構(gòu)實例說明:4.2.2選擇結(jié)構(gòu)實例14例如:將上例使用selectcase…..語句來實現(xiàn)的程序段如下:SelectCasexCase90to100Print"優(yōu)秀"Case80to89Print"良好"Case70to79Print"中等"Case60to69Print"及格"CaseElsePrint"不及格"EndSelect4.2.2選擇結(jié)構(gòu)實例例如:將上例使用selectcase…..語句來實現(xiàn)的程序156.Choose函數(shù)Choose函數(shù)使用格式:Choose(<數(shù)值表達(dá)式>,<表達(dá)式1>,<表達(dá)式2>,….<表達(dá)式n>)說明:Choose函數(shù)根據(jù)<數(shù)值表達(dá)式>的值來決定返回其后<表達(dá)式列表>中的那個表達(dá)式的值。如果<數(shù)值表達(dá)式>的值為1,則返回<表達(dá)式1>的值,如果<數(shù)值表達(dá)式>的值為2,則返回<表達(dá)式2>的值,以此類推。若<數(shù)值表達(dá)式>的值小于1或大于n,則函數(shù)返回Null。例如:根據(jù)Nop的值,得到+、-、*,/的運算符,可由理面語句來實現(xiàn)。Nop=Int(Rnd*4)+1OP=Choose(Nop,"+","-","*","/")4.2.2選擇結(jié)構(gòu)實例6.Choose函數(shù)4.2.2選擇結(jié)構(gòu)實例164.2.3循環(huán)結(jié)構(gòu)實例循環(huán)結(jié)構(gòu)是一種重復(fù)執(zhí)行的程序結(jié)構(gòu)。它判斷給定的條件,如果條件成立,即為“真”(True),則重復(fù)執(zhí)行某一些語句(稱為循環(huán)體);否則,即為“假”(False),則結(jié)束循環(huán)。通常循環(huán)結(jié)構(gòu)有“當(dāng)型循環(huán)”(先判斷條件,后執(zhí)行循環(huán))和“直到型循環(huán)”(先執(zhí)行循環(huán),再判斷條件)兩種。在VisualBasic中,實現(xiàn)循環(huán)結(jié)構(gòu)的語句主要有4種:For…Next語句DoWhile/Until…LoopDo…LoopWhile/Until語句While…Wend語句4.2.3循環(huán)結(jié)構(gòu)實例循環(huán)結(jié)構(gòu)是一種重復(fù)執(zhí)行的程174.2.3循環(huán)結(jié)構(gòu)實例1、For…Next循環(huán)語句
For循環(huán)語句(一般用于循環(huán)次數(shù)已知)形式:For循環(huán)變量=初值to終值[Step步長] 語句塊 [ExitFor] 語句塊Next循環(huán)變量>0初值<終值=1時,可省略<0初值>終值=0死循環(huán)步長循環(huán)體4.2.3循環(huán)結(jié)構(gòu)實例1、For…Next循環(huán)語句>184.2.3循環(huán)結(jié)構(gòu)實例例:ForI=2To13Step3PrintI,NextIPrint“I=“,I輸出I的值分別為:25811出了循環(huán)輸出為:I=144.2.3循環(huán)結(jié)構(gòu)實例例:ForI=2To194.2.3循環(huán)結(jié)構(gòu)實例形式1:(當(dāng)型循環(huán))
Do{While|Until}<條件>語句塊[ExitDo]語句塊Loop2、Do…Loop循環(huán)語句形式2:(直到循環(huán))
Do 語句塊 [ExitDo] 語句塊 Loop{While|Until}<條件>4.2.3循環(huán)結(jié)構(gòu)實例形式1:(當(dāng)型循環(huán))20條件語句塊語句塊TFExitDo條件語句塊語句塊TFExitDoDoUntil…Loop執(zhí)行過程Do…LoopUntil執(zhí)行過程條件語句塊語句塊TFExitDo條件語句塊語句塊T213、While…Wend語句使用格式如下:While<條件><循環(huán)塊>Wend說明:該語句的功能與DoWhile<條件>….Loop實現(xiàn)的循環(huán)完全相同。4.2.3循環(huán)結(jié)構(gòu)實例DimIasintegerI=20WhileI>0I=I-1;printI;wend3、While…Wend語句4.2.3循環(huán)結(jié)構(gòu)實例Dim224.3其他控制結(jié)構(gòu)1、Goto語句形式:GoTo{標(biāo)號|行號}作用是無條件地轉(zhuǎn)移到標(biāo)號或行號指定的那行語句.標(biāo)號是一個字符序列,行號是一個數(shù)字序列。例如:Lp:………………gotolp4.3其他控制結(jié)構(gòu)1、Goto語句232、OnError語句與Resume語句
4.3其他控制結(jié)構(gòu)A:設(shè)置錯誤陷阱用OnError語句設(shè)置錯誤陷阱,捕捉錯誤,形式如下:(1)OnErrorGoTo語句標(biāo)號'發(fā)生錯誤時,轉(zhuǎn)到"語句標(biāo)號"所指示的程序塊(2)OnErrorResumeNext'發(fā)生錯誤時,忽略錯誤行,繼續(xù)執(zhí)行下一語句(3)OnErrorGoTo0'禁止當(dāng)前過程中任何已啟動的錯誤2、OnError語句與Resume語句4.3其他控制244.3其他控制結(jié)構(gòu)2.編寫錯誤處理程序編寫錯誤處理程序一般要使用到Err對象,它是一個系統(tǒng)對象,在VisualBasic中,可以通過Err對象來獲取錯誤的消息。當(dāng)出現(xiàn)VisualBasic錯誤時,有關(guān)錯誤的信息存儲在Err對象中。Err對象每次只維護一個錯誤的信息。當(dāng)出現(xiàn)新的錯誤時,Err對象將更新為新的錯誤信息。Err對象的默認(rèn)屬性是Number屬性。當(dāng)運行時發(fā)生錯誤時,Err對象的屬性被填入明確識別錯誤的信息以及處理這個錯誤所使用的信息。4.3其他控制結(jié)構(gòu)2.編寫錯誤處理程序253.退出錯誤處理在錯誤處理程序中,當(dāng)遇到ExitSub、ExitFunction、EndSub、EndFunction等語句時,將退出錯誤捕獲。在錯誤處理程序結(jié)束后,要恢復(fù)原有的運行,可用Resume語句。語法格式為:(1)Resume'重新執(zhí)行產(chǎn)生錯誤的語句(2)ResumeNext'重新執(zhí)行產(chǎn)生錯誤的語句的下一語句(3)Resume語句標(biāo)號'從語句標(biāo)號初恢復(fù)執(zhí)行4.3其他控制結(jié)構(gòu)3.退出錯誤處理4.3其他控制結(jié)構(gòu)26例如,下面的Form_Click()過程是一個錯誤處理過程的典型用法。PrivateSubForm_Click()OnErrorGoTooutDimxAsSingle,yAsSinglex=1/y'引發(fā)一個"除以零"的錯誤ExitSubout:MsgBoxErr.Number'輸出錯誤信息號MsgBoxErr.Description'輸出錯誤信息'檢查是否發(fā)生"除以零"的錯誤IfErr.Number=11Theny=y+1EndIfResumeEndSub4.3其他控制結(jié)構(gòu)例如,下面的Form_Click()過程是一個錯誤處理過程的274.4數(shù)據(jù)輸入輸出4.4.1數(shù)據(jù)的輸出——Print方法形式:[對象.]Print[{Spc(n)|Tab(n)}][表達(dá)式列表][;|,]作用:在對象上輸出信息對象:窗體、圖形框或打印機(Pinter),省略對象在窗體上輸出。Spc(n)函數(shù):插入n個空格,允許重復(fù)使用。Tab(n)函數(shù):左端開始右移動n列,允許重復(fù)使用。;(分號):光標(biāo)定位上一個顯示的字符后。,(逗號):光標(biāo)定位在下一個打印區(qū)的開始位置處。每個打印區(qū)占14列。無;,:換行。開始打印的位置是由對象的CurrentX和CurrentX屬性決定,缺省為打印對象的左上角0,0。4.4數(shù)據(jù)輸入輸出4.4.1數(shù)據(jù)的輸出——Print方法284.4數(shù)據(jù)輸入輸出4.4.1數(shù)據(jù)的輸出——Print方法例如在窗體Form1的單擊事件中寫入如下代碼:PrivateSubForm_Click()a=10:b=3.14:c=100Print"a=";a,"b=";bPrint"a=";a,"b=";bPrint"a=";a,"b=";bPrint
‘空一行Print;"a=";a,"b=";bPrint"a=";a,Tab(18);"b=";b
Print"a=";a,Spc(18);"b=";bPrint
Print"a=";a,"b=";bPrintTab(18);“a=”;a,“b=”;b
‘
從第18列開始打印輸出PrintSpc(18);"a=";a,"b=";b
EndSub4.4數(shù)據(jù)輸入輸出4.4.1數(shù)據(jù)的輸出——Print方法294.4.2用戶交互函數(shù)和過程
1.InputBox函數(shù)變量名=InputBox(<提示信息>[,<標(biāo)題>][,<缺省>][,<x坐標(biāo)>][,<y坐標(biāo)>])
其中:提示提示信息,標(biāo)題標(biāo)題區(qū)顯示,缺省輸入?yún)^(qū)缺省值。例如,要在屏幕上顯示如下的對話框:4.4數(shù)據(jù)輸入輸出4.4.2用戶交互函數(shù)和過程4.4數(shù)據(jù)輸入輸出30例如:有下列語句如下:
Dimx%x=Val(InputBox(“請輸入一個數(shù)”,“輸入框”,100))
語句執(zhí)行后打開如下對話框。缺省值標(biāo)題提示例如:有下列語句如下:缺省值標(biāo)題提示312.MsgBox函數(shù)和MsgBox過程
函數(shù)形式:變量[%]=MsgBox(提示[,按鈕[+圖標(biāo)]+[缺省按鈕]+[模式]][,標(biāo)題])過程形式:MsgBox提示[,按鈕[+圖標(biāo)]+[缺省按鈕]+[模式]][,標(biāo)題]圖標(biāo)標(biāo)題提示信息命令按鈕2.MsgBox函數(shù)和MsgBox過程圖標(biāo)標(biāo)題提示信息命令32說明:1“標(biāo)題”和“提示”與InputBox函數(shù)中對應(yīng)的參數(shù)相同;2“按鈕+圖標(biāo)+缺省按鈕+模式”是整型表達(dá)式,決定信息框按鈕數(shù)目、出現(xiàn)在信息框上的圖標(biāo)類型及操作模式(見表4.1)3若程序中需要返回值,則使用函數(shù),否則可調(diào)用過程。說明:33按鈕及圖標(biāo)值如下:根據(jù)用戶所選按鈕,函數(shù)返回1—7的整數(shù)值,其含義如下表:(表4.2)按鈕及圖標(biāo)值如下:根據(jù)用戶所選按鈕,函數(shù)返回1—7的整數(shù)值,34第四章三種基本結(jié)構(gòu)程序設(shè)計
4.1三種基本結(jié)構(gòu)4.2基本結(jié)構(gòu)實例4.3其他控制結(jié)構(gòu)4.4數(shù)據(jù)輸入輸出第四章三種基本結(jié)構(gòu)程序設(shè)計4.1三種基本結(jié)構(gòu)354.1三種基本結(jié)構(gòu)1、順序結(jié)構(gòu)語句1語句24.1三種基本結(jié)構(gòu)1、順序結(jié)構(gòu)語句1語句2364.1三種基本結(jié)構(gòu)2、選擇結(jié)構(gòu)條件語句1語句2YN4.1三種基本結(jié)構(gòu)2、選擇結(jié)構(gòu)條件語句1語句2YN374.1三種基本結(jié)構(gòu)3、循環(huán)結(jié)構(gòu)a)當(dāng)型循環(huán)條件YN語句組b)直到循環(huán)條件語句組YN4.1三種基本結(jié)構(gòu)3、循環(huán)結(jié)構(gòu)a)當(dāng)型循環(huán)條件YN語句組384.2基本結(jié)構(gòu)實例4.2.1順序結(jié)構(gòu)實例4.2.2選擇結(jié)構(gòu)實例4.2.3循環(huán)結(jié)構(gòu)實例4.2基本結(jié)構(gòu)實例4.2.1順序結(jié)構(gòu)實例394.2.1順序結(jié)構(gòu)實例DimaasintegerDimbasintegera=10a=a+20b=a+304.2.1順序結(jié)構(gòu)實例Dimaasinteger40選擇結(jié)構(gòu)是根據(jù)條件選擇執(zhí)行不同的分支語句,以完成問題的要求。在VisualBasic程序設(shè)計中,使用IF語句和SelectCase語句來處理選擇結(jié)構(gòu)。其特點是:根據(jù)所給定的條件成立(True)或不成立(False),從各實際可能的不同分支中執(zhí)行某一分支的相應(yīng)操作(程序塊),并且任何情況下總有“無論條件多寡,必?fù)衿湟唬浑m然條件眾多,僅選其一”的特性。4.2.2選擇結(jié)構(gòu)實例選擇結(jié)構(gòu)是根據(jù)條件選擇執(zhí)行不同的分支語句,以完414.2.2選擇結(jié)構(gòu)實例1.If…Then語句(單分支結(jié)構(gòu))If<表達(dá)式>Then語句塊EndIf或If<表達(dá)式>Then<語句塊>例:已知兩個數(shù)x和y,比較它們的大小,使得x大于y.Ifx<yThent=x:x=y:y=tEndIf或Ifx<yThent=x:x=y:y=t4.2.2選擇結(jié)構(gòu)實例1.If…Then語句(單分支結(jié)構(gòu)424.2.2選擇結(jié)構(gòu)實例2.If…Then…Else語句(雙分支結(jié)構(gòu))If<表達(dá)式>Then<語句塊1>Else<語句塊2>EndIfIf<表達(dá)式>Then<語句塊1>Else<語句塊2>例如:輸出x,y兩個中值較大的一個值。IFX>YThenPrintXElsePrintYEndIf也可以寫成如下的單行形式:IFX>YThenPrintXElsePrintY如何實現(xiàn)程序結(jié)構(gòu)層次性?4.2.2選擇結(jié)構(gòu)實例2.If…Then…Else語句(433.條件函數(shù)Iif()IIf函數(shù)可用來執(zhí)行簡單的條件判斷操作,它相當(dāng)于IF…Then….Else結(jié)構(gòu)。IIF函數(shù)的使用格式:IIF(<表達(dá)式>,<表達(dá)式1>,<表達(dá)式2>)說明:(1)<表達(dá)式>與IF語句中的表達(dá)式相同,通常是關(guān)系表達(dá)式、邏輯表達(dá)式,也可為算術(shù)表達(dá)式。如果是算術(shù)表達(dá)式,其值按非0為True,0為False進(jìn)行判斷。(2)當(dāng)<表達(dá)式>為真時,函數(shù)返回<表達(dá)式1>的值,當(dāng)<表達(dá)式>為假時,函數(shù)返回<表達(dá)式2>的值。(3)<表達(dá)式1>、<表達(dá)式2>可以是任何表達(dá)式。例如:Max=IIF(X>Y,X,Y)它與下面語句等價:IFX>YThenMax=xElseMax=Y4.2.2選擇結(jié)構(gòu)實例3.條件函數(shù)Iif()4.2.2選擇結(jié)構(gòu)實例444.2.2選擇結(jié)構(gòu)實例4.If…Then…ElseIf語句(多分支結(jié)構(gòu))
形式:If<表達(dá)式1>Then <語句塊1>ElseIf<表達(dá)式2>Then <語句塊2> … [Else 語句塊n+1]EndIf4.2.2選擇結(jié)構(gòu)實例4.If…Then…ElseIf語45使用IF語句實現(xiàn)的程序段如下:Ifx>=90thenPrint"優(yōu)秀"ElseIfx>=80ThenPrint"良好"ElseIfx>=70ThenPrint"中等"ElseIfx>=60ThenPrint"及格"ElsePrint"不及格"EndIf例輸入一學(xué)生成績,評定其等級。方法是:90~100分為“優(yōu)秀”,80~89分為“良好”,70~79分為“中等”,60~69分為“及格”,60分以為“不合格”4.2.2選擇結(jié)構(gòu)實例使用IF語句實現(xiàn)的程序段如下:例輸入一學(xué)生成績464.2.2選擇結(jié)構(gòu)實例5.SelectCase語句(情況語句)形式: SelectCase變量或表達(dá)式 Case表達(dá)式列表1 語句塊1 Case表達(dá)式列表2 語句塊2 … [CaseElse 語句塊n+1] EndSelect4.2.2選擇結(jié)構(gòu)實例5.SelectCase語句(情47
說明:<表達(dá)式列表>與<變量或表達(dá)式>屬同類型的下面四種形式之一:表達(dá)式A+5一組枚舉表達(dá)式(用逗號分隔)2,4,6,8表達(dá)式1To表達(dá)式2 60to100 Is關(guān)系運算符表達(dá)式Is<604.2.2選擇結(jié)構(gòu)實例說明:4.2.2選擇結(jié)構(gòu)實例48例如:將上例使用selectcase…..語句來實現(xiàn)的程序段如下:SelectCasexCase90to100Print"優(yōu)秀"Case80to89Print"良好"Case70to79Print"中等"Case60to69Print"及格"CaseElsePrint"不及格"EndSelect4.2.2選擇結(jié)構(gòu)實例例如:將上例使用selectcase…..語句來實現(xiàn)的程序496.Choose函數(shù)Choose函數(shù)使用格式:Choose(<數(shù)值表達(dá)式>,<表達(dá)式1>,<表達(dá)式2>,….<表達(dá)式n>)說明:Choose函數(shù)根據(jù)<數(shù)值表達(dá)式>的值來決定返回其后<表達(dá)式列表>中的那個表達(dá)式的值。如果<數(shù)值表達(dá)式>的值為1,則返回<表達(dá)式1>的值,如果<數(shù)值表達(dá)式>的值為2,則返回<表達(dá)式2>的值,以此類推。若<數(shù)值表達(dá)式>的值小于1或大于n,則函數(shù)返回Null。例如:根據(jù)Nop的值,得到+、-、*,/的運算符,可由理面語句來實現(xiàn)。Nop=Int(Rnd*4)+1OP=Choose(Nop,"+","-","*","/")4.2.2選擇結(jié)構(gòu)實例6.Choose函數(shù)4.2.2選擇結(jié)構(gòu)實例504.2.3循環(huán)結(jié)構(gòu)實例循環(huán)結(jié)構(gòu)是一種重復(fù)執(zhí)行的程序結(jié)構(gòu)。它判斷給定的條件,如果條件成立,即為“真”(True),則重復(fù)執(zhí)行某一些語句(稱為循環(huán)體);否則,即為“假”(False),則結(jié)束循環(huán)。通常循環(huán)結(jié)構(gòu)有“當(dāng)型循環(huán)”(先判斷條件,后執(zhí)行循環(huán))和“直到型循環(huán)”(先執(zhí)行循環(huán),再判斷條件)兩種。在VisualBasic中,實現(xiàn)循環(huán)結(jié)構(gòu)的語句主要有4種:For…Next語句DoWhile/Until…LoopDo…LoopWhile/Until語句While…Wend語句4.2.3循環(huán)結(jié)構(gòu)實例循環(huán)結(jié)構(gòu)是一種重復(fù)執(zhí)行的程514.2.3循環(huán)結(jié)構(gòu)實例1、For…Next循環(huán)語句
For循環(huán)語句(一般用于循環(huán)次數(shù)已知)形式:For循環(huán)變量=初值to終值[Step步長] 語句塊 [ExitFor] 語句塊Next循環(huán)變量>0初值<終值=1時,可省略<0初值>終值=0死循環(huán)步長循環(huán)體4.2.3循環(huán)結(jié)構(gòu)實例1、For…Next循環(huán)語句>524.2.3循環(huán)結(jié)構(gòu)實例例:ForI=2To13Step3PrintI,NextIPrint“I=“,I輸出I的值分別為:25811出了循環(huán)輸出為:I=144.2.3循環(huán)結(jié)構(gòu)實例例:ForI=2To534.2.3循環(huán)結(jié)構(gòu)實例形式1:(當(dāng)型循環(huán))
Do{While|Until}<條件>語句塊[ExitDo]語句塊Loop2、Do…Loop循環(huán)語句形式2:(直到循環(huán))
Do 語句塊 [ExitDo] 語句塊 Loop{While|Until}<條件>4.2.3循環(huán)結(jié)構(gòu)實例形式1:(當(dāng)型循環(huán))54條件語句塊語句塊TFExitDo條件語句塊語句塊TFExitDoDoUntil…Loop執(zhí)行過程Do…LoopUntil執(zhí)行過程條件語句塊語句塊TFExitDo條件語句塊語句塊T553、While…Wend語句使用格式如下:While<條件><循環(huán)塊>Wend說明:該語句的功能與DoWhile<條件>….Loop實現(xiàn)的循環(huán)完全相同。4.2.3循環(huán)結(jié)構(gòu)實例DimIasintegerI=20WhileI>0I=I-1;printI;wend3、While…Wend語句4.2.3循環(huán)結(jié)構(gòu)實例Dim564.3其他控制結(jié)構(gòu)1、Goto語句形式:GoTo{標(biāo)號|行號}作用是無條件地轉(zhuǎn)移到標(biāo)號或行號指定的那行語句.標(biāo)號是一個字符序列,行號是一個數(shù)字序列。例如:Lp:………………gotolp4.3其他控制結(jié)構(gòu)1、Goto語句572、OnError語句與Resume語句
4.3其他控制結(jié)構(gòu)A:設(shè)置錯誤陷阱用OnError語句設(shè)置錯誤陷阱,捕捉錯誤,形式如下:(1)OnErrorGoTo語句標(biāo)號'發(fā)生錯誤時,轉(zhuǎn)到"語句標(biāo)號"所指示的程序塊(2)OnErrorResumeNext'發(fā)生錯誤時,忽略錯誤行,繼續(xù)執(zhí)行下一語句(3)OnErrorGoTo0'禁止當(dāng)前過程中任何已啟動的錯誤2、OnError語句與Resume語句4.3其他控制584.3其他控制結(jié)構(gòu)2.編寫錯誤處理程序編寫錯誤處理程序一般要使用到Err對象,它是一個系統(tǒng)對象,在VisualBasic中,可以通過Err對象來獲取錯誤的消息。當(dāng)出現(xiàn)VisualBasic錯誤時,有關(guān)錯誤的信息存儲在Err對象中。Err對象每次只維護一個錯誤的信息。當(dāng)出現(xiàn)新的錯誤時,Err對象將更新為新的錯誤信息。Err對象的默認(rèn)屬性是Number屬性。當(dāng)運行時發(fā)生錯誤時,Err對象的屬性被填入明確識別錯誤的信息以及處理這個錯誤所使用的信息。4.3其他控制結(jié)構(gòu)2.編寫錯誤處理程序593.退出錯誤處理在錯誤處理程序中,當(dāng)遇到ExitSub、ExitFunction、EndSub、EndFunction等語句時,將退出錯誤捕獲。在錯誤處理程序結(jié)束后,要恢復(fù)原有的運行,可用Resume語句。語法格式為:(1)Resume'重新執(zhí)行產(chǎn)生錯誤的語句(2)ResumeNext'重新執(zhí)行產(chǎn)生錯誤的語句的下一語句(3)Resume語句標(biāo)號'從語句標(biāo)號初恢復(fù)執(zhí)行4.3其他控制結(jié)構(gòu)3.退出錯誤處理4.3其他控制結(jié)構(gòu)60例如,下面的Form_Click()過程是一個錯誤處理過程的典型用法。PrivateSubForm_Click()OnErrorGoTooutDimxAsSingle,yAsSinglex=1/y'引發(fā)一個"除以零"的錯誤ExitSubout:MsgBoxErr.Number'輸出錯誤信息號MsgBoxErr.Description'輸出錯誤信息'檢查是否發(fā)生"除以零"的錯誤IfErr.Number=11Theny=y+1EndIfResumeEndSub4.3其他控制結(jié)構(gòu)例如,下面的Form_Click()過程是一個錯誤處理過程的614.4數(shù)據(jù)輸入輸出4.4.1數(shù)據(jù)的輸出——Print方法形式:[對象.]Print[{Spc(n)|Tab(n)}][表達(dá)式列表][;|,]作用:
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026山東威海市復(fù)退軍人康寧醫(yī)院招聘4人考試參考題庫及答案解析
- 2026江西吉安市吉水縣城控人力資源服務(wù)有限公司招聘勞務(wù)外包人員1人(二)筆試備考試題及答案解析
- 2026年甘肅省蘭州市城關(guān)區(qū)南河幼兒園招聘幼兒教師筆試備考試題及答案解析
- 2026云南文山州財信人力資源有限公司招聘4人筆試備考題庫及答案解析
- 2026浙江溫州市樂清市龍西鄉(xiāng)衛(wèi)生院招聘2人考試參考題庫及答案解析
- 2026鐵道黨校招聘普通高校畢業(yè)生5人筆試模擬試題及答案解析
- 2026重慶忠縣疾病預(yù)防控制中心招聘專業(yè)車輛駕駛員1人考試備考試題及答案解析
- 2026上半年云南事業(yè)單位聯(lián)考紅河州招聘1570人考試參考題庫及答案解析
- 2026年工程地質(zhì)災(zāi)害的空間分布特征
- 2026年區(qū)域發(fā)展戰(zhàn)略對房地產(chǎn)市場的影響
- 戶口未婚改已婚委托書
- 家具制造廠家授權(quán)委托書
- 光化學(xué)和光催化反應(yīng)的應(yīng)用
- VDA6.3-2016過程審核主要證據(jù)清單
- 辦公耗材采購 投標(biāo)方案(技術(shù)方案)
- 2020公務(wù)船技術(shù)規(guī)則
- 三片罐空罐檢驗作業(yè)指導(dǎo)書
- 四川峨勝水泥集團股份有限公司環(huán)保搬遷3000td熟料新型干法大壩水泥生產(chǎn)線環(huán)境影響評價報告書
- 管道焊接工藝和熱處理課件
- 2023深圳工務(wù)署品牌名單
- 二年級下冊課文快樂讀書吧-神筆馬良
評論
0/150
提交評論