10.3 while语句

在编程中,循环(loop)是指程序中连续执行(或至少可以连续执行)两次或多次的部分。

while 语句是 Octave 中最简单的循环语句。只要条件为真,它就重复执行一条语句。与 if 语句中的条件一样,while 语句中的条件在值为非零时视为真,值为零时视为假。如果 while 语句中条件表达式的值是一个向量或矩阵,则仅当该向量或矩阵非空且所有元素均非零时才视为真。

Octave 的 while 语句形式如下:

while (condition)
  body
endwhile

这里 body 是一个语句或语句列表,我们称之为循环的主体,而 condition 是一个控制循环持续运行的表达式。

while 语句首先测试 condition。如果 condition 为真,则执行 body 语句。执行完 body 后,再次测试 condition;如果仍然为真,则再次执行 body。这个过程重复进行,直到 condition 不再为真。如果 condition 初始即为假,则循环体永远不会被执行。

以下示例创建了一个变量 fib,它包含斐波那契数列的前十个元素。

fib = ones (1, 10);
i = 3;
while (i <= 10)
  fib (i) = fib (i-1) + fib (i-2);
  i++;
endwhile

这里循环体包含两个语句。

循环的工作方式如下:首先,i 的值被设为 3。然后,while 测试 i 是否小于等于 10。此时 i 等于 3,条件成立,因此将 fib 的第 i 个元素设置为数列中前两个值之和。接着 i++i 的值加 1,然后循环重复。当 i 达到 11 时,循环终止。

条件与循环体之间不需要换行;但使用换行符会使程序更清晰,除非循环体非常简单。


版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-4