ZetCode

FreeBasic For/To/Step/Next 关键字

最后修改日期:2025 年 6 月 16 日

FreeBasic 的 For/To/Step/Next 关键字创建循环,这些循环会执行一段代码特定次数。这些循环对于高效地迭代范围和集合至关重要。

基本定义

在 FreeBasic 中,For 启动一个带计数器变量的循环。To 指定结束值,Step 设置增量,Next 标记循环的结束并更新计数器。

当计数器在边界内时,循环会执行。如果省略,默认步长为 1。For 循环是确定性的,并且在迭代次数已知时是理想的选择。

基本 For 循环

此示例演示了 For 循环的最简单形式。

basic_for.bas
For i As Integer = 1 To 5
    Print "Iteration: "; i
Next

此循环打印数字 1 到 5。计数器 i 从 1 开始,每次迭代递增 1,并在达到 5 后停止。循环体精确执行 5 次,具有可预测的值。

带 Step 的 For 循环

Step 关键字控制循环的增量值。

for_step.bas
For i As Integer = 0 To 10 Step 2
    Print "Even number: "; i
Next

此循环打印从 0 到 10 的偶数。Step 2 使计数器每次迭代增加 2。Step 可以是正数或负数,从而允许灵活的迭代模式。

降序 For 循环

负数 Step 值创建降序循环。

descending_for.bas
For i As Integer = 10 To 1 Step -1
    Print "Countdown: "; i
Next
Print "Blast off!"

此示例从 10 倒数到 1。负数 Step 使计数器每次迭代递减。当计数器超过结束值时,循环停止,显示边界如何与负数步长配合使用。

嵌套 For 循环

For 循环可以嵌套以处理多维迭代。

nested_for.bas
For row As Integer = 1 To 3
    For col As Integer = 1 To 3
        Print "("; row; ","; col; ") ";
    Next
    Print
Next

这将创建一个 3x3 的网格输出。外循环处理行,内循环处理列。每次外循环迭代都会执行一次完整的内循环迭代。

带 Exit 的 For 循环

可以使用 Exit For 提前退出循环。

exit_for.bas
For i As Integer = 1 To 100
    Print i;
    If i >= 10 Then
        Exit For
    End If
Next
Print "Loop exited at"; i

此循环通常会运行到 100,但在 i 达到 10 时提前退出。Exit For 会立即终止循环,这对于搜索操作或错误条件非常有用。

浮点 For 循环

For 循环可以谨慎地使用浮点计数器。

float_for.bas
For x As Single = 0.0 To 1.0 Step 0.1
    Print "x ="; x
Next

此循环以 0.1 的增量从 0.0 计数到 1.0。由于精度问题,浮点循环需要小心。由于浮点表示,实际迭代次数可能与预期略有不同。

带多个变量的 For 循环

FreeBasic 允许声明多个循环变量。

multi_var_for.bas
For i As Integer = 1, j As Integer = 10 To 1 Step -1
    Print "i:"; i; " j:"; j
Next i, j

此示例显示两个朝相反方向移动的计数器。逗号分隔变量声明。每个 Next 语句必须按声明的相反顺序列出变量。

最佳实践

本教程介绍了 FreeBasic 的 For/To/Step/Next 关键字,并提供了实际示例,展示了各种循环模式和技术。

作者

我的名字是 Jan Bodnar,我是一名充满热情的程序员,拥有丰富的编程经验。我自 2007 年以来一直在撰写编程文章。迄今为止,我已撰写了 1400 多篇文章和 8 本电子书。我在教授编程方面拥有超过十年的经验。

列出所有 FreeBasic 教程