二級(jí)VB:選擇結(jié)構(gòu)(或稱(chēng)分支結(jié)構(gòu))
━━━━━━━━━━━━━━━━━━━━━━━━━━
4.3 選擇結(jié)構(gòu)(或稱(chēng)分支結(jié)構(gòu))
1. IF條件語(yǔ)句
(1)If……Then語(yǔ)句(單分支結(jié)構(gòu) F)
語(yǔ)句形式:
1)If <表達(dá)式> Then
語(yǔ)句塊
End If
2)If <表達(dá)式> Then <語(yǔ)句>
說(shuō)明:表達(dá)式一般為關(guān)系表達(dá)式、邏輯表達(dá)式,也可以為算術(shù)表達(dá)式,非0為T(mén)rue,0為False;
語(yǔ)句塊可以是一句或多句,若用2)表示,則只能是一句語(yǔ)句,若多句,語(yǔ)句間需用冒號(hào)分隔,而且必須在一行上書(shū)寫(xiě)。
例:已知兩個(gè)數(shù)x和y,比較它們的大小,使得 x大于y:
方法一: if x
t=x
x=y
y=t
end if
方法二: if x
注意:將兩個(gè)變量中的數(shù)進(jìn)行交換時(shí),必須借助于第三個(gè)變量才能實(shí)現(xiàn)。
(2)If……Then……Else語(yǔ)句(雙分支結(jié)構(gòu))
語(yǔ)句形式:
1)If <表達(dá)式> Then
<語(yǔ)句塊1>
Else
<語(yǔ)句塊2>
End If
2) If <表達(dá)式> Then <語(yǔ)句1> Else <語(yǔ)句2>
例: x2 -5 x≠0
3x +2 x=0
(3)If……Then……ElseIf語(yǔ)句(多分支結(jié)構(gòu))
語(yǔ)句形式:
If <表達(dá)式1> Then
<語(yǔ)句塊1>
ElseIf <表達(dá)式2> Then
<語(yǔ)句塊2>
……
[ Else 語(yǔ)句塊 n+1 ]
End If
注意 :
1)不管有幾個(gè)分支,程序執(zhí)行了一個(gè)分支后,其余分支不再執(zhí)行;
2)ElseIf 不能寫(xiě)成Else If
3)當(dāng)多分支中有多個(gè)表達(dá)式同時(shí)滿足,則只執(zhí)行第一個(gè)與之匹配的語(yǔ)句塊
例:已知變量strC中存放了一個(gè)字符,判斷該字符是字母字符、數(shù)字字符還是其他字符。
?。?)If語(yǔ)句的嵌套
If語(yǔ)句的嵌套是指if 或else后面的語(yǔ)句塊中又包含If語(yǔ)句。語(yǔ)句形式:
If <表達(dá)式1> Then
If <表達(dá)式11> Then
……
End If
……
End If
注意:
1)對(duì)于嵌套結(jié)構(gòu),為了增強(qiáng)程序的可讀性,應(yīng)該采用縮進(jìn)形式書(shū)寫(xiě);
2)If語(yǔ)句形式若不在一行上書(shū)寫(xiě),必須與End If配對(duì),多個(gè)if嵌套,End If與它最接近的Emd If配對(duì)。
例: 已知x、y、z三個(gè)數(shù),比較它們的大小并排序,使得x>y>z.
2. Select Case語(yǔ)句(情況語(yǔ)句)
Select Case語(yǔ)句(情況語(yǔ)句)是多分支語(yǔ)句的又一種形式,語(yǔ)句形式:
Select Case 變量或表達(dá)式
Case 表達(dá)式列表1
語(yǔ)句塊1
Case 表達(dá)式列表2
語(yǔ)句塊2
……
[Case Else
語(yǔ)句塊n+1]
End Select
說(shuō)明:1)變量或表達(dá)式可以是數(shù)值型或字符串表達(dá)式
2)表達(dá)式列表I 可以是表達(dá)式、一組用逗號(hào)分隔的枚舉值、表達(dá)式1 to 表達(dá)式2、Is關(guān)系運(yùn)算符表達(dá)式;如:case 1 to 10 、 case "a","w","e","t" 、 case 2,4,6,8,is>10
3)并不是所有的多分支結(jié)構(gòu)都可以用情況語(yǔ)句代替的。
例:已知輸入某課程的百分制成績(jī)mark,要求顯示對(duì)應(yīng)五級(jí)制的評(píng)定,評(píng)定條件如下:
3. 條件函數(shù)
?。?)if函數(shù)
函數(shù)形式: Iif(表達(dá)式,當(dāng)條件為T(mén)rue時(shí)的值,當(dāng)條件為False時(shí)的值.例:求X、Y中大的數(shù),并放入變量Tmax中: Tmax=Iif(X>Y, X, Y)
(2)Choose函數(shù)
函數(shù)形式:Choose(整數(shù)表達(dá)式,選項(xiàng)列表)
如果整數(shù)表達(dá)式的值是1,則選擇列表中的第1項(xiàng),依次類(lèi)推;如果小于1或大于列表項(xiàng)數(shù)時(shí),則返回NULL。
例: 根據(jù)nub為1 -4的值,換算成不同的運(yùn)算符: OP= Choose(nub,“+”,“-”,“×”,“÷”)
[ 結(jié) 束 ]