【正文】
While 循環(huán)語句本身不能修改循環(huán)條件,所以必須在循環(huán)體內(nèi)設(shè)置相應(yīng)語句,使得整個循環(huán)趨于結(jié)束,以避免死循環(huán)。 ( 2) While循環(huán)語句先對條件進行判斷,然后才決定是否執(zhí)行循環(huán)體。如果開始條件就不成立,則循環(huán)體一次也不執(zhí)行。 ( 3)凡是用 For…Next 循環(huán)編寫的程序,我們都可以用 While…Wend 語句實現(xiàn)。反之,則不然。 例:求最大的 N ,使得 N! 1000 Dim n As Integer, p As Integer, i As Integer i = 0 p = 1 While p 1000 i = i + 1 p = p * i Wend p = p / i n = i 1 Print n amp。 != amp。 p amp。 1000” Do…Loop 循環(huán)結(jié)構(gòu) 與前面介紹的 While循環(huán)相比, Do循環(huán)具有更強的靈活性,它可以根據(jù)需要決定是條件滿足時執(zhí)行循環(huán)體,還是一直執(zhí)行循環(huán)體直到條件滿足。 Do循環(huán)有兩種語法形式。 格式 1: Do {while|until} 條件 [循環(huán)體 ] Loop 說明: 格式 1是先判斷,后執(zhí)行。其執(zhí)行過程如圖所示。 條件是否為真? 循環(huán)體 FTDo While ?Loop 執(zhí)行流程 條件是否為真? 循環(huán)體 FTDo Until ?Loop 執(zhí)行流程 格式 2: Do [循環(huán)體 ] Loop {while|until} 條件 說明: 格式 2是先執(zhí)行,后判斷。 循環(huán)體 條件是否為真? T F Do ? Loop While 執(zhí)行過程 循環(huán)體 條件是否為真? T F Do ? Loop Until 執(zhí)行過程 值得注意的是,關(guān)鍵字 While 用于指明條件成立時執(zhí)行循環(huán)體,直到條件不成立時結(jié)束循環(huán);而 Until則正好相反,條件不成立時執(zhí)行循環(huán)體,直到條件滿足才退出循環(huán)。 循環(huán)的嵌套 在一個循環(huán)體內(nèi)又包含了一個完整的循環(huán),這樣的結(jié)構(gòu)稱為多重循環(huán)或循環(huán)的嵌套。 在程序設(shè)計時,許多問題要用二重或多重循環(huán)才能解決。 我們前面學(xué)過的 For循環(huán)、 While循環(huán)、Do循環(huán)都可以互相嵌套。 二重循環(huán)的執(zhí)行過程是外循環(huán)執(zhí)行一次,內(nèi)循環(huán)執(zhí)行一遍,在內(nèi)循環(huán)結(jié)束后,再進行下一次外循環(huán),如此反復(fù),直到外循環(huán)結(jié)束。 打印九九乘法表。 分析:打印九九乘法表,只要利用循環(huán)變量作為乘數(shù)和被乘數(shù)就可以方便的解決。 程序如下: Private Sub Form_Click() Dim i%, j%, str$ Print Tab(35)。 九九乘法表 For i = 1 To 9 For j = 1 To 9 str = i amp。 amp。 j amp。 = amp。 i * j Print Tab((j 1) * 9 + 1)。 str。 Next j Print Next i End Sub 程序運行結(jié)果 對于循環(huán)的嵌套,要注意以下事項: ( 1)在多重循環(huán)中,各層循環(huán)的循環(huán)控制變量不能同名。但并列循環(huán)的循環(huán)控制變量名可以相同,也可以不同。 ( 2)外循環(huán)必須完全包含內(nèi)循環(huán),不能交叉。 下面的程序段都是錯誤的: For I=1 To 100 For I=1 To 100 For J=1 To For I=1 To 10 ?? ?? Next I Next I Next J Next I ( a)內(nèi)外循環(huán)交叉 ( b)內(nèi)外循環(huán)控制 變量同名 循環(huán)的退出 在某些情況下,為了減少循環(huán)次數(shù)或便于程序調(diào)試,可能需要提前強制退出循環(huán)。 VB為 For?Next 和 Do?Loop 循環(huán)語句提供了相應(yīng)的強制退出循環(huán)的語句。 1. Exit For 用于 For?Next 循環(huán),在循環(huán)體中可以出現(xiàn)一次或多次。當系統(tǒng)執(zhí)行到該語句時,就強制退出當前循環(huán)。常見的使用方式是: If 條件 Then Exit For 即當循環(huán)執(zhí)行過程中滿足某個條件時,就執(zhí)行循環(huán)退出語句結(jié)束循環(huán)。 2. Exit Do 用于 Do?Loop 循環(huán),具體用法同 Exit For一樣。例如,我們要在 1000~10000之間找一個既能被 3整除又能被 7整除的數(shù),則可用下面的程序?qū)崿F(xiàn)。 Private Sub Form_Click() Dim n% n = 1000 Do While n = 10000 If n Mod 3 = 0 And n Mod 7 = 0 Then Print n Exit Do End If n = n + 1 Loop End Su