二級VB基礎(chǔ)教程:4.3選擇結(jié)構(gòu)(或稱分支結(jié)構(gòu))

字號:

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