【文章內(nèi)容簡介】
則 , 結(jié)果 為 False三、循環(huán) 結(jié)構(gòu)循環(huán)是在指定的條件下多次重復執(zhí)行一組語句。順序結(jié)構(gòu)和分支結(jié)構(gòu)的程序執(zhí)行時,每條語句只能執(zhí)行一次,循環(huán)結(jié)構(gòu)則可以使計算機在一定條件下反復多次執(zhí)行同一段程序。 VB中提供了兩種類型的循環(huán)語句:計數(shù)型循環(huán)語句和條件型循環(huán)語句。三、循環(huán) 結(jié)構(gòu)1. FOR語句For循環(huán)語句又稱計數(shù)型循環(huán)語句,通常用于循環(huán)次數(shù)已知的程序結(jié)構(gòu)中。For語句的作用是:用循環(huán)計數(shù)器(循環(huán)變量)來控制循環(huán)體內(nèi)的語句的執(zhí)行次數(shù)。For語句的一般形式為:For 循環(huán)變量 = 初值 To 終值 [Step 步長 ] 循環(huán)體 [Exit For]Next 循環(huán)變量 其中:循環(huán)變量:必須為數(shù)值型,用于控制循環(huán)是否執(zhí)行。每執(zhí)行一次循環(huán)體語句后,循環(huán)變量的值自動按指定的步長變化。初值、終值、步長:數(shù)值型表達式 。三、循環(huán) 結(jié)構(gòu)步長:可正可負。若為正,循環(huán)變量從小到大變化(初值小于等于終值);若為負,循環(huán)變量從大到小變化(初值大于等于終值);缺省時步長為 1。循環(huán)體:可以是一句或多句語句,是被重復執(zhí)行的部分。Exit For:表示當遇到該語句時,提前結(jié)束循環(huán),執(zhí)行 Next后的下一條語句,通常與條件判斷語句(如 IF)聯(lián)合使用 。For循環(huán)流程圖如圖 39所示 圖 39For循環(huán)語句的流程圖三、循環(huán) 結(jié)構(gòu)提示① 步長為 0時,必須有 Exit For語句,否則會發(fā)生 “ 死循環(huán)” 。② 循環(huán)變量被賦初值,它僅被賦值一次。③ 循環(huán)變量的值是否在終值內(nèi):當步長為正時,若循環(huán)變量的值大于終值,則結(jié)束循環(huán);當步長為負時,若循環(huán)變量的值小于終值,則結(jié)束循環(huán)。④ 循環(huán)次數(shù): n=Int((終值 ?初值 )/步長 +1)。⑤ 在循環(huán)體內(nèi)對循環(huán)控制變量可多次引用,但不要對其賦值,否則會影響原來的循環(huán)控制規(guī)律。三、循環(huán) 結(jié)構(gòu)例如,求表達式 s = 1! + 2! + 3! + … + 10! 的和,程序界面圖 310所示。 圖 310 求表達式之和的程序界面三、循環(huán) 結(jié)構(gòu)程序代碼 如下Public Class Form1 Private Sub Button1_Click(ByVal sender As , ByVal e As ) Handles Dim sum, i, n As Integer n = 1 For i = 1 To 9 n *= i sum += n Next i = 1!+2!+..+10! = sum End Sub Private Sub Button2_Click(ByVal sender As , ByVal e As ) Handles End End SubEnd Class三、循環(huán) 結(jié)構(gòu)2. Do語句Do循環(huán)語句又稱 “ 循環(huán)條件 ” 控制語句,通常用于循環(huán)次數(shù)未知的循環(huán)結(jié)構(gòu)。此種語句有兩類語法形式。Do語句的一般形式如下 。格式一:Do { While|Until }循環(huán)條件 循環(huán)體 [Exit Do]Loop其中:循環(huán)條件是一個邏輯表達式; While是當條件為 True時執(zhí)行循環(huán); Until是在條件變?yōu)?True之前執(zhí)行循環(huán)。Do語句的作用:當指定的循環(huán)條件為 True, 或者 直到指定的循環(huán)條件變?yōu)?True之前重復 執(zhí)行一 組語句(即循環(huán)體)。圖 311DoWhile...Loop循環(huán)語句流程圖三、循環(huán) 結(jié)構(gòu)例如,求自然對數(shù) e的近似值,近似公式為: e = 1 + 1/1! + 1/2! + … + 1/n! + … ,要求近似值與真值的誤差小于 01。程序界面如圖 312所示 。圖 312求自然對數(shù) e的近似值程序界面三、循環(huán) 結(jié)構(gòu)程序的代碼如下。Public Class Form1 Private Sub Button2_Click(ByVal sender As , ByVal e As ) Handles End End Sub Private Sub Button1_Click(ByVal sender As , ByVal e As ) Handles Dim i As Integer, n As Long, t, s As Single s = 0 : n = 1 i = 0 : t = 1 Do While t s += t i += 1 n *= i t = 1 / n Loop = 計算了 i 項,他們的和 e= s End SubEnd Class三、循環(huán) 結(jié)構(gòu)格式二:Do 語句塊 [Exit Do]語句塊 Loop { While|Until} 條件表達式 Do…LoopUntil 語句的執(zhí)行 過程如 圖 313所 示 。相比 Do…While Loop 循環(huán), Do…Loop Until 循環(huán)無論條件表達式成不成立都先執(zhí)行一次。圖 313 Do Loop Until語句流程圖三、循環(huán) 結(jié)構(gòu)3.循環(huán)的嵌套在一個循環(huán)結(jié)構(gòu)的循環(huán)體內(nèi)含有另一個循環(huán)結(jié)構(gòu),這就構(gòu)成了循環(huán)的嵌套,又稱多重循環(huán)。循環(huán)嵌套對 For循環(huán)語句和Do…Loop 循環(huán)語句均適用 。例如:For i = 1 To 3 = i= i vbCrLf For j = 1 To 3 = j= j Next = vbCrLf Next提示① 外層循環(huán)必須完全包含內(nèi)層循環(huán),循環(huán)體之間不能交叉。② 對于 For循環(huán)的嵌套,內(nèi)循環(huán)變量與外循環(huán)變量不能同名。二、分支結(jié)構(gòu)4. GoTo語句GoTo語句有又稱條件轉(zhuǎn)移語句,它通過與語句標號的結(jié)合來控制程序的流程。GoTo語句的一般形式為:GoTo {標號 |行號 } GoTo語句的作用:當程序執(zhí)行該語句時,無條件地將程序轉(zhuǎn)移到標號或行號所標識的語句行上,并從該行向下執(zhí)行。提示① 標號是一個以冒號結(jié)束的標識符,用以標明 GoTo語句轉(zhuǎn)移的位置。② GoTo語句可以改變程序的執(zhí)行順序,由它可以構(gòu)成分支結(jié)構(gòu)的循環(huán)結(jié)構(gòu)。③ 通常 GoTo語句與 If語句共同使用,否則會出現(xiàn)死循環(huán)。④ 太多的 GoTo語句會降低代碼的可閱讀性,建議盡量少用或者最好不用 GoTo語句?;顒?一 判斷 輸入的數(shù)是否為 3的倍數(shù) 活動簡介從鍵盤上輸入一個正整數(shù) x(不超過 3位),單擊 “ 驗證 ” 命令按鈕,判斷該數(shù)是否為 3的倍數(shù)。輸出界面如圖 316所示。判斷一個數(shù)是否為 3的倍數(shù),可以通過判斷這個數(shù)的各位和是否為 3的倍數(shù):若各位和是 3的倍數(shù),則這個數(shù)也是 3的倍數(shù);否則不成立。本活動就是基于這個思想進行編程的 。圖 316判斷是否為 3的倍數(shù)程序界面活動實施一、本程序?qū)崿F(xiàn)思想在 窗體上添加 3個標簽, 3個命令按鈕,執(zhí)行界面見圖 316。程序開始運行,單擊 “ 輸入數(shù) x” 按鈕,打開輸入對話框,在輸入框中輸入一個數(shù),單擊 “ 確定 ” 按鈕。若輸入的數(shù)超過 3位,則顯示輸入錯誤的輸出對話框,如圖 317所示。單擊 “ 驗證” 按鈕,將每位數(shù)字相加,判斷結(jié)果是否為 3的倍數(shù),結(jié)果顯示在相應(yīng)的控件上,如圖 318所示。單擊 “ 退出 ” 按鈕或按下