第03章 分支結(jié)構(gòu)_第1頁
第03章 分支結(jié)構(gòu)_第2頁
第03章 分支結(jié)構(gòu)_第3頁
第03章 分支結(jié)構(gòu)_第4頁
第03章 分支結(jié)構(gòu)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

VisualBasic流程控制結(jié)構(gòu)選擇結(jié)構(gòu)用途:

根據(jù)不同的條件來選擇執(zhí)行不同的操作If語句SelectCase語句If語句根據(jù)程序分支的數(shù)目分為:單分支結(jié)構(gòu)雙分支結(jié)構(gòu)多分支結(jié)構(gòu)。If語句1.單分支結(jié)構(gòu)單分支結(jié)構(gòu)是指只有一個(gè)程序分支,只有滿足指定的條件才能執(zhí)行該程序分支的語句。形式1:

If表達(dá)式Then

語句組

EndIf

形式2:

If表達(dá)式Then語句If語句首先計(jì)算表達(dá)式,若表達(dá)式的值為真,則執(zhí)行Then后面的語句組,若表達(dá)式的值為假,則跳過Then后面的語句,執(zhí)行EndIf后面的語句。真假語句(組)表達(dá)式

單分支結(jié)構(gòu)流程圖If語句說明:1.表達(dá)式可為關(guān)系表達(dá)式、邏輯表達(dá)式或數(shù)值表達(dá)式。當(dāng)表達(dá)式是數(shù)值表達(dá)式時(shí),非零值表示True

,0表示False。If語句2.在形式1中,語句組可以為一條或多條語句。在形式2中,語句表示一條語句,若為多條語句,則必須使用冒號:進(jìn)行分隔,即語句必須與Then寫在同一行上。If語句3.在形式1中,必須以EndIf語句結(jié)束;形式2為單行結(jié)構(gòu),要求語句都寫在一行上,且不能以EndIf語句結(jié)束。例3.9Dimxassingle,bassingle,maxassingleX=inputbox(“請輸入第一個(gè)數(shù)”,”輸入”)Y=inputbox(“請輸入第二個(gè)數(shù)”,”輸入”)Max=xIfmax<ythenMax=yEndifPrint“輸入的兩個(gè)數(shù)為:”;x,yPrint“最大值為:”;maxIfmax<ythenmax=yIf語句2.雙分支結(jié)構(gòu)雙分支結(jié)構(gòu)表示程序有兩個(gè)分支,當(dāng)滿足給定條件時(shí),執(zhí)行分支1,否則執(zhí)行分支2。形式1:

If

表達(dá)式Then

語句組1

Else

語句組2

End

If形式2為:

If

表達(dá)式Then

語句1Else

語句2If語句首先計(jì)算表達(dá)式,若表達(dá)式的值為真,執(zhí)行Then后面的語句組1(或語句1);否則跳過語句組1(或語句1),執(zhí)行Else后面的語句組2(或語句2)。使用時(shí)應(yīng)注意在形式1中的Else后不能增加表達(dá)式。假真語句(組)1語句(組)2表達(dá)式雙分支結(jié)構(gòu)流程圖例3.10Dimxassingle,yassingleX=text1.textIfx>0theny=x*x-1Else

y=sqr(x*x+1)EndifText2.text=yIfx>0theny=x*x-1elsey=sqr(x*x+1)例3.11Dimaassingle,bassingle,cassingleDimsassingle,areaassingleA=text1.textB=text2.textC=text3.textIfa+b>candb+c>aanda+c>bthens=(a+b+c)/2

area=sqr(s*(s-a)*(s-b)*(s-c))

label2.caption=“三角形的面積為:”&areaElse

label2.caption=“無法構(gòu)成三角形,請重新輸入!”EndifIf語句

3.多分支結(jié)構(gòu)在實(shí)際問題中常常會遇到多個(gè)條件,此時(shí)就要用到多分支。If語句實(shí)現(xiàn)多分支結(jié)構(gòu)的形式為:

If表達(dá)式1Then

語句組1ElseIf表達(dá)式2Then

語句組2

…ElseIf表達(dá)式nThen

語句組nElse

語句組n+1EndIf假

真……表達(dá)式1表達(dá)式n語句組1語句組2語句組n語句組n+1……多分支結(jié)構(gòu)流程圖表達(dá)式2假If語句⑴無論有幾個(gè)分支,程序一旦執(zhí)行了某一個(gè)分支則退出If語句,其余分支不再執(zhí)行。⑵ElseIf子句的數(shù)量沒有限制,可以根據(jù)需要使用任意多個(gè)ElseIf子句。⑶Else后不能有表達(dá)式,Else表示以上表達(dá)式均為假時(shí)則執(zhí)行其下面的語句組。⑷Else及其后的語句組可以省略。⑸ElseIf

不能寫作ElseIf。例3.12Dimxassingle,yassingleX=text1.textIfx<0then

y=5Elseifx<2then

y=x+1Else

y=x^2+2EndifText2.text=yEndsub例3.13DimscoreasintegerScore=text1.textIfscore>=90then

label2.caption=“優(yōu)秀”Elseifscore>=80then

label2.caption=“良好”Elseifscore>=70then

label2.caption=“中等”Elseifscore>=60then

label2.caption=“及格”Else

label2.caption=“不及格”EndifIf語句If語句的嵌套If語句的嵌套也可實(shí)現(xiàn)多分支結(jié)構(gòu)。If表達(dá)式1ThenIf表達(dá)式2Then

語句組1Else

語句組2EndIfElseIf表達(dá)式3Then

語句組3Else

語句組4EndIfEndIf內(nèi)層內(nèi)層外層兩層嵌套的If語句例3.14Dimxassingle,yassingleX=text1Ifx>=0then

ifx>=2then

y=x^2+2

else

y=x+1

endifElse

y=5EndifText2=y例3.15SelectCase語句

SelectCase語句也稱為情況語句,是多分支結(jié)構(gòu)的另一種表示形式。SelectCase測試表達(dá)式

Case表達(dá)式列表1

語句組1

Case

表達(dá)式列表2

語句組2

……

Case

表達(dá)式列表n

語句組n

CaseElse

語句組n+1EndSelectSelectCase語句⑴測試表達(dá)式可以是各類表達(dá)式,還可以是常量、變量或?qū)ο髮傩灾?,通常為變量。SelectCase語句⑵Case后的表達(dá)式列表的類型必須與測試表達(dá)式值的類型相同。表達(dá)式列表通常有四種形式:單個(gè)表達(dá)式、一組用逗號隔開的枚舉值、某個(gè)范圍及Is關(guān)系運(yùn)算表達(dá)式。單個(gè)表達(dá)式Case2Case“A”一組用逗號隔開的枚舉值Case1,3,5Case“Y”,”y”某個(gè)范圍,由“表達(dá)式1to表達(dá)式2”組成值較小的表達(dá)式在前,值較大的表達(dá)式在后,字符串常量按字符的編碼順序從低到高排列Case1to10Case“a”to“e”Is關(guān)系運(yùn)算表達(dá)式Caseis>=80Caseis<>“Y”只要測試表達(dá)式的值使得關(guān)系表達(dá)式成立即可Is后只能用關(guān)系運(yùn)算符并且只能為簡單條件,不能使用邏輯運(yùn)算符連接兩個(gè)或多個(gè)簡單條件Caseis>=60caseis>=50andis<=40(錯(cuò))Case1,3,5,10to20,is<0四種形式可混用SelectCase語句⑶當(dāng)有多個(gè)Case子句的值與測試表達(dá)式的值匹配時(shí),只執(zhí)行第一個(gè)與之匹配的語句組。SelectCase語句CaseElse及其對應(yīng)的語句組放在所有Case的表達(dá)式列表的下面,它們用于指定當(dāng)測試表達(dá)式的值與所有表達(dá)式列表都不匹配時(shí)所執(zhí)行的操作。SelectCase語句⑸Select表示SelectCase語句的開始,EndSelect表示SelectCase語句的結(jié)束,它們必須成對出現(xiàn)。SelectCase語句⑹語句組可由一行或多行語句組成,還可以是If語句或其他SelectCase語句等。例3.16DimscoreasintegerScore=text1.textSelectcasescore

caseis>=90

label2.caption=“優(yōu)秀”caseis>=80label2.caption=“良好”caseis>=70label2.caption=“中等”caseis>=60label2.caption=“及格”caseelselabel2.caption=“不及格”Endselect例3.17DimaasintegerA=inputbox(“請輸入一個(gè)0~6的整數(shù)”,”輸入”)Selecasea

case0

print“星期日”case1print“星期一”case2print“星期二”case3print“星期三”case4print“星期四”case5print“星期五”case6print“星期六”caseelseprint“輸入錯(cuò)誤”EndselectDimaasintegerA=inputbox(“請輸入一個(gè)0~6的整數(shù)”,”輸入”)Ifa=0then

print“星期日”Elseifa=1then

print“星期一”Elseifa=2thenprint“星期二”Elseifa=3thenprint“星期三”Elseifa=4thenprint“星期四”Elseifa=5thenprint“星期五”Elseifa=6thenprint“星期六”Else

print“輸入錯(cuò)誤”endif條件函數(shù)VisualBasic中提供了IIf條件函數(shù)用于實(shí)現(xiàn)簡單的條件選擇,它是雙分支選擇結(jié)構(gòu)的另一種表達(dá)形式。IIf函數(shù)的格式為:

IIf(表達(dá)式1,表達(dá)式2,表達(dá)式3)IIf函數(shù)在執(zhí)行時(shí),首先計(jì)算表達(dá)式1的值,當(dāng)表達(dá)式1的值為真時(shí),計(jì)算表達(dá)式2的值,并將其作為IIf函數(shù)的返回值;當(dāng)表達(dá)式1的值為假時(shí),計(jì)算表達(dá)式3的值,并將其作為IIf函數(shù)的返回值。說明:三個(gè)表達(dá)式均不能省略,且可為任意表達(dá)式。例3.18Dimxassingle,yassingle,maxassingleX=inputbox(“請輸入第一個(gè)數(shù)”,”輸入”)Y=inputbox(“請輸入第二個(gè)數(shù)”,”輸入”)Max=IIF(x>y,x,y)Print“最大值為:”&max例3.19Dimaassingle,bassingle,cassin

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論