石名潍 发表于 2012-2-21 22:49

兰校长讲的do loop循环结构及与for next的区别

本帖最后由 石名潍 于 2012-2-21 23:14 编辑

(以下内容但是我从一本VBA书的一字一字打上来的,路过的打赏一点BB,经验什么的吧)


在使用for...next循环结构时,必须先给定一个循环结束值,也就是需要事先知道要循环的次数。do...loop循环结构则不需要知道循环的次数。因而它用掉的时间是不确定的,只要判定条件为ture或false,此循环就会一直进行下去。因此,在很多情况下,使用do...loop循环结构要优于for...next循环结构。

但是兰校长又说,在大多数情况下,还是使用for...next的时候多。

石名潍 发表于 2012-2-21 22:51

do...loop循环结构的形式

do...loop循环结构有下述4种不同的结构语法形式。

石名潍 发表于 2012-2-21 22:52

第一种结构:当判定条件为T时就执行语句块,否则就跳到循环体外。

do while 判定条件
      语句块
loop

石名潍 发表于 2012-2-21 22:53

第二种结构:当判定条件为T时就执行语句块,否则就跳到循环体外。
do
语句块
loop while 判定条件

石名潍 发表于 2012-2-21 22:55

第三种结构:当判定条件为F时就执行语句块,否则就跳到循环体外

do until 判定条件

语句块

loop

石名潍 发表于 2012-2-21 22:56

第4种结构:当判定条件为F时就执行语句块,否则就跳到循环体外

do

语句块

loop until 判定条件

兰色幻想 发表于 2012-2-21 23:11

我们接触到的大部分程序,循环在开始就能确定的,所以一般用FOR的次数多

jiahua1010 发表于 2012-2-22 07:57

本帖最后由 jiahua1010 于 2012-2-22 08:01 编辑

有些循环次数虽然不是完全确定的,但是可以用一个变量来表示,同样可以用for语句。例如:
For i = 1 To 9
   For j = i To 9   '循环次数也不是完全确定,但是可以用一个变量来表示
    Cells(j, i) = i & "*" & j & "=" & i * j
   Next
Next
总体感觉for语句比do语句更易懂,循环次数也不容易出错。

zjyxp 发表于 2012-2-22 08:07

谢谢讨论,加深学习!

qqyyh 发表于 2012-2-22 08:29

认真学习,加强理解!!!
页: [1] 2 3
查看完整版本: 兰校长讲的do loop循环结构及与for next的区别