lele2007 发表于 2008-4-22 16:15

循环语句的初学者问题

大家好!我在学习ASP时不太懂循环语句的区别有什么不同!
do...loop
1)语法一、
do while 条件1
执行语句
loop

do
执行语句
loop while 条件2

2)语法二、
do until 条件3
执行语句
loop



do
执行语句
loop until 条件4
还有一个是:
while 条件
执行语句
wend
----------------------------
我不太明白上面的有什么不一样!有没有其它的知识,或者实例呀!我看了书本上的介绍,但比较模糊,只懂得do while 执行语句 loop的用法,for...next比较容易还有do 执行语句 while loop也了解,其它的不太明白,请赐教下!谢谢!

阿里阿里 发表于 2008-4-22 17:10

Do While是条件循环,当循环条件为真时循环,这样就有可能一次也不执行循环体,循环体内必有一条让条件由真变假的语句,为结束循环做准备。

附加:For循环是计次数循环,循环次数由循环变量的终值减去初值再除以步长。

tianyu123 发表于 2008-4-22 17:14

do while...loop与do until...loop的区别主要在于判断的条件上
do while...loop 当条件为真时循环,直至条件为假时跳出循环
do until...loop 当条件为假时循环,直至条件为真时跳出循环
至于do until...loop与do...loop until的区别与do while...loop与do...loop while他们的区别是一样的
while...wend与do while...loop的功能是一样的 while...wend他一般不常用

lele2007 发表于 2008-7-20 11:17

哦,明白了!!谢谢楼上!不知道可不可以这样来理解。
do while ...loop与do until ..loop是反过来的。可呵,而while .... wend则是跟do while ... loop是一模一样的功能的,没有区别,可以这样认为的吧?

multiple1902 发表于 2008-7-20 12:24

其实这些问题,动态跟踪一下程序的执行就搞清楚了。

hmhz 发表于 2008-7-20 12:53

想要真正明白他们的区别,你自己测试一下就完全明白了,那比别人告诉你还要清楚

yms123 发表于 2008-7-20 13:31

[quote][bo][un]lele2007[/un] 在 2008-4-22 16:15 的发言:[/bo]

大家好!我在学习ASP时不太懂循环语句的区别有什么不同!
do...loop
1)语法一、
do while 条件1
执行语句
loop

do
执行语句
loop while 条件2

2)语法二、
do until 条件3
执行语句
loop



... [/quote]
do while 条件1
  执行语句
Loop
这个循环语句会首先进行循环条件的判断,符合条件后再执行语句

do
执行语句
loop while 条件2
这个循环语句会先执行语句一次再进行条件判断,符合条件会执行第二次,否则不会执行第二次

do until 条件3
执行语句
loop
until对判断条件的逻辑值进行取反操作
比如
常见的RecordSet循环方法为例来讲解

程序开始
Do While [color=Red]Not[/color] rs.EOF
'判断rs.EOF=False
'考虑这样的写法Do While rs.EOF=False
   '执行语句
   rs.MoveNext'移动到下一行
Loop

程序开始
Do
   '执行语句
   rs.MoveNext'移动到下一行
Loop While Not rs.EOF'判断rs.EOF是否=false
这两种循环的区别在于条件的书写位置,条件在循环开始写就会先进行条件判断再循环。
而条件在循环结束写就会先循环再判断条件。

Do Until rs.EOF
   rs.MoveNext
Loop
这里的Until实际是在取反,注意区别Do While循环会有一个Not判断rs是否等于=false
而这里的Until直接写等同于Not rs.EOF而省略Not在于这里的取反操作。

yms123 发表于 2008-7-20 13:36

[quote][bo][un]lele2007[/un] 在 2008-7-20 11:17 的发言:[/bo]

哦,明白了!!谢谢楼上!不知道可不可以这样来理解。
do while ...loop与do until ..loop是反过来的。可呵,而while .... wend则是跟do while ... loop是一模一样的功能的,没有区别,可以这样认为的吧? [/quote]
程序编成是很严谨的问题。
就像
Do While
Loop

Do
Loop While
看似没有区别,在某些程序里可能就是因为这样的一种“小区别”,从而产生意想不到的效果或大的错误。
因此在写这种循环时一定要把这种“小区别”带来的大影响也要考虑进去。

multiple1902 发表于 2008-7-20 14:05

Do While
Loop

Do
Loop While

区别很大。

multiple1902 发表于 2008-7-20 14:05

在程序逻辑里起的作用几乎完全不同。

lele2007 发表于 2008-7-20 16:59

好的!明白了许多![tk05] 非常谢谢!但感觉用得多的还是do while ... loop
了!只是看到有些程序中有其它的,现在明白了好多了!我得测试测试!![em14] 谢谢各们版主的解析!
[em02] 下次我会动态跟踪一下程序了!
[em02] 下次我会动手测试一下滴!
[em03] yms123版主的好详细!谢谢!
-------------------------------------------
但这样一个问问题的过程中似乎比看书懂得快!明白得多些!!有时还有意想不到的收获!呵呵![em12]多

[[it] 本帖最后由 lele2007 于 2008-7-20 17:01 编辑 [/it]]

页: [1]

编程论坛