FreeBASIC学习笔记——4.2 循环语句

4.2.1 While…Wend
        While语句在Condition条件为真时,Statement Blocks块中的数据将循环执行,直到Condition条件为假。如果在Statement Blocks块中遇到Exit While语句时,循环终止;如果在Statement Blocks块中遇到Continue While时,跳过Statement Blocks块后面的语句回到While开始执行。

语法:

FreeBASIC学习笔记——4.2 循环语句

例如:

FreeBASIC学习笔记——4.2 循环语句

4.2.2 For…Next

        Iterator是循环变量,在For…Next中可以定义循环变量类型,在出了For…Next后销毁变量。StartValue和EndValue是循环的起始和结束值,可以是数值,也可以是一个表达式。Step是步长,可以设置StepValue来设置步长,如果不设置则默认为1。如果EndValue小于StartValue则必须指定步长。如果在Statement Blocks块中遇到Exit For语句时,循环终止;如果在Statement Blocks块中遇到Continue For时,跳过Statement Blocks块后面的语句回到For…Next开始执行。需要注意的是对于整数数据类型,不可能循环到可以存储在变量类型中的最高可能值(或到最低可能值),因为循环只有当增量变量超过endvalue,永远不会发生。例如,如果您尝试将变量从0循环到255,则该循环只有变量在达到256或更多时才会结束。对于计数器使用UByte变量将不起作用,因为尽管数字0可以保存为255,但它不能达到256

语法:

FreeBASIC学习笔记——4.2 循环语句

例如:

FreeBASIC学习笔记——4.2 循环语句

4.2.3 Do…Loop

        Do…Loop本身是一个死循环,可以附加关键字Until或While来控制循环,有两种形式的写法,形式1和形式2的最大区别是形式1需要先判断条件,不满足则不执行,而形式2则先执行后判断条件,也就是如果条件不成立,形式2最少能够执行一次,而形式1则一次也不执行。如果使用Until,当Condition 条件为True时,Do语句将停止重复Statement Blocks。While关键字具有相反的效果,如果Condition评估为False,则停止循环。如果Condition 和Until或While都被省略,Do语句将无限期循环。如果在Statement Blocks 内遇到Exit Do语句,则循环将被终止。如果遇到Continue Do语句,则会跳过Statement Blocks 的其余部分,并在Do语句中继续执行。

语法:

FreeBASIC学习笔记——4.2 循环语句

例如:

FreeBASIC学习笔记——4.2 循环语句

4.2.4 循环的嵌套

    所有的选择语句和循环语句都可以嵌套使用,这里以打印*组成的三角形为例:

FreeBASIC学习笔记——4.2 循环语句

结果如图:

FreeBASIC学习笔记——4.2 循环语句