DO...LOOP
来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgDoloop 最后更新: 2021-09-28
用于循环的控制流语句。
语法
Do [{ Until | While } condition]
[statement block]
Loop或
Do
[statement block]
Loop [{ Until | While } condition]说明
Do 语句执行以下语句块中的语句,直到/当条件求值为真时停止。
Until— 当条件求值为真时停止重复。While— 当条件求值为假时停止循环。- 如果同时省略条件和
Until/While,则循环无限运行。
Exit Do: 终止循环;执行从 Loop 语句之后继续。
Continue Do: 跳过语句块的其余部分,从 Do 语句恢复执行。
在第一种语法中,条件在首次遇到 Do 语句时检查;如果满足条件,将跳过语句块。在第二种语法中,条件在语句块执行后检查——保证块至少运行一次。
condition 可以是任何求值为 False(零)或 True(非零)的有效表达式。
示例
示例 1: 统计 1-10 之间的奇数总数
vb
Dim As Integer n = 1
Dim As Integer total_odd = 0
Do Until( n > 10 )
If( ( n Mod 2 ) > 0 ) Then total_odd += 1
n += 1
Loop
Print "total odd numbers: " ; total_odd '' prints '5'
End 0示例 2: 使用 Exit Do 的无限循环
vb
Dim As Integer n = 1
Dim As Integer total_even = 0
Do
If( n > 10 ) Then Exit Do
If( ( n Mod 2 ) = 0 ) Then total_even += 1
n += 1
Loop
Print "total even numbers: " ; total_even '' prints '5'
End 0方言差异
- 在
-lang qb和-lang fblite中,在Do..Loop块内声明的变量具有整个过程的作用域。 - 在
-lang fb和-lang deprecated中,变量仅在块内可见。
与 QB 的差异
- 无。