【正文】
循環(huán)結構 循環(huán) :是在指定的條件下多次重復執(zhí)行一組語句 ForNext循環(huán)結構語句 循環(huán)嵌套 其他輔助控制語句 DoLoop循環(huán)結構語句 P成 立APA不 成 立For循環(huán)結構示例: For i=1 TO 10 STEP 2 PRINT i Next i 執(zhí)行過程說明如下: ①循環(huán)變量 i取初值 1; ②將循環(huán)變量 i的值與終值 10比較,如果 i的值未超過終值10,則執(zhí)行步驟③、④和⑤,否則結束循環(huán),接著執(zhí)行 Next i后的語句; ③執(zhí)行循環(huán)體,即執(zhí)行語句 PRINT i ; ④循環(huán)變量 i增加一個步長值,即執(zhí)行 i=i+2 ; ⑤返回執(zhí)行步驟② FOR循環(huán)結構語句 For循環(huán)結構語句 循環(huán)變量 =循環(huán)變量 +步長 語句塊 F Exit For 語句塊 T 循環(huán)變量 =終值 For 循環(huán)變量 (v)=初值 (e1) To 終值 (e2) [Step 步長 (e3)] 語句塊 [Exit For] 語句塊 Next [循環(huán)變量 (v)] For循環(huán)格式: 執(zhí)行過程 : (1)計算 e e e3的值 (2)將初值賦值給循環(huán)變量 v; (3)判斷循環(huán)變量值是否 小于等于 終止值; 若是 ,執(zhí)行循環(huán)體(語句塊); (4) 執(zhí)行 Next語句,將變量增加一個步長,即 v=v+e3; (5)重復 3~4步驟。 (6)否則,結束循環(huán) 步長省略,默認為 1 循環(huán)變量賦初值 F T 循環(huán)體 1. Next 必須和 For配合使用。 2. For和 Next之間的語句稱為循環(huán)體,是需要重復執(zhí)行的語句行。 3. 當循環(huán)變量的值 超過 終值時結束循環(huán)。所謂“超過”是指:當步長為正數(shù)時,循環(huán)變量的值大于終值;當步長為負數(shù)時,循環(huán)變量的值小于終值。 4. 步長是循環(huán)變量的增量,它的值可正可負。如果步長為 1,可省略。 5. 循環(huán)控制結構中的初值、終值、步長均為數(shù)值表達式。 6. Exit For語句是 For循環(huán)結構的附屬語句,只能出現(xiàn)在循環(huán)體中。 注意: For循環(huán)結構語句 程序代碼: Dim I%, s % For I = 1 To 10 step 1 Next I Print I, s 例 1:求 1+2+3+4+… +10之和 . 分析 : ?重復過程 (循環(huán)體 ): s= s+I ?初值、終值和增量 : 1 循環(huán)體的執(zhí)行次數(shù)是多少 ? 輸出的 I、 S的值是多少 ? For I = 1 To 10執(zhí)行多少次? s = s + I For I=10 To 1 Step 1 For 循環(huán)變量 =初值 TO 終值 [Step 步長 ] 語句塊 Exit For 語句塊 Next 循環(huán)變量 循環(huán)體 初值與終值換位 可以嗎? 1+2+3+4+…… +10=? 3 6 10 sum2 sum3 sum4 sum3=sum2+3 sum4=sum3+4 sum2=sum1+2 +1 +1 For循環(huán)結構語句 Dim I, s As Integer For I = 1 To 10 s = s + I Next I Print I, s 例 2: 求 10! 分析 : ?重復過程 :* ?初值、終值與增量不變 例 1:求 1+2+3+4+ … +10之和 . 分析 : ?重復過程 (循環(huán)體 ): + ?初值、終值和增量 : 1 Dim I%, fact, sum For I = 1 To 10 fact=fact*I sum = sum + fact Next I Print I, s fact=1 For I = 1 To 10 For I = 1 To 10 fact=1 For循環(huán)結構語句 S1 =0 S2 =0 For I = 1 To 1000 S1 = S1 + I Next I 例 3:計算 1~ 1000的奇數(shù)和與偶數(shù)和 方法一: 方法二: Step 2 For I = 1 To 1000 Step 2 S2 = S2 + I Next I Print S1,S2 2S1 =0 S2 =0 For I = 1 To 1000 If I mod 20 then S1 = S1 + I Else S2 = S2 + I End If Next I Print S1,S2 例 .輸入十個整數(shù),輸出其中的最大數(shù)和最小數(shù)。 Private Sub Form_Click() Dim x%, Max%, Min%, i% Max = 32768 Min = 32767 For i = 1 To 10 x = val(InputBox(輸入第 amp。 i amp。 整數(shù) )) If Max x Then Max = x If Min x Then Min = x Next i Print max=。 Max, min=。 Min End Sub – 注意那些語句應該作為循環(huán)體,寫在 For語句和 next語句之間,哪些語句應寫在 for語句之前,哪些語句應寫在 next語句之后。 FOR循環(huán)結構語句 Max的初值是多少? Private Sub Form_Click() Dim x%, Max%, Min%, i% x = Val(InputBox(輸入第 1個整數(shù) )) Max = x: Min = x For i = 2 To 10 x = Val(InputBox(輸入第 amp。 i amp。 個整數(shù) )) If Max x Then Max = x If Min x Then Min = x Next i Print max=。 Max, min=。 Min End Sub 例 ,分別求其中正數(shù)個數(shù)及所有正數(shù)之和,負數(shù)個數(shù)及所有負數(shù)之和。假設數(shù)據(jù)不超過 10個。 Private Sub Form_Click() Dim x%, i%, NCount%, PCount%, NSum%, PSum% For i = 1 To 10 x = InputBox(請輸入第 amp。 i amp。 個數(shù): )