这个如果
语句是奥克塔夫的决策语句。有三种基本形式如果
语句最简单的形式是这样的:
如果条件)然后身体endif
条件是一个表达式,用于控制语句的其余部分将执行的操作然后身体仅当条件是真的。
中的条件如果
若该语句的值为非零,则该语句被视为true;若该语句为零,则为false。如果条件表达式的值在如果
语句是向量或amatrix,只有当它不是空的并且全部的的元素为非零。概念上等效的代码条件是一个矩阵,如下所示。
如果matrix)lect if(all(matrix(:)))
if语句的第二种形式如下:
如果条件)然后身体其他的else身体endif
如果条件是真的,然后身体被执行;否则else身体执行。
以下是一个示例:
if(rem(x,2)==0)printf(“x是偶数\n”);else printf(“x是奇数\n”);endif
在本例中,如果表达式rem(x,2)==0
为true(即的值x
可被2整除),则第一个输出函数
语句,否则第二个输出函数
语句进行评估。
的第三种也是最普遍的形式如果
语句允许将多个决策组合在一个语句中。看起来是这样的:
如果条件)然后身体elseif(条件)elseif身体其他的else身体endif
任意数量的elseif
子句可能会出现。依次测试每个条件,如果其中一个条件为真,则其对应的条件</body>执行。如果没有一个条件为真,并且其他的
条款存在,则其正文已执行。只有一个其他的
子句可能出现,而且必须是语句的最后一部分。
在以下示例中,如果第一个条件为true(即的值x
可被2整除),则第一个输出函数
语句被执行。如果为false,则测试第二个条件,如果为true(即的值x
可被3整除),则第二个输出函数
语句被执行。否则,第三个输出函数
语句。
if(rem(x,2)==0)printf(“x是偶数\n”);elseif(rem(x,3)==0)printf(“x是奇数,可被3\n整除”);else printf(“x是奇数\n”);endif
请注意elseif
关键字不能拼写否则如果
,这在Fortran中是允许的。如果是,则其他的
和如果
会告诉Octave把这个当作新的如果
另一个中的语句如果
语句的其他的
条款例如,如果你写
如果c1)车身-1否则如果(c2)车身-2endif
Octave将期望额外的输入来完成第一个如果
语句如果您以交互方式使用“八度体”,它将继续提示您进行其他输入。如果Octave正在从文件中读取此输入,它可能会抱怨丢失或不匹配终止
语句,或者,如果您没有使用更具体的终止
语句(endif
,外循环
等),它可能只是返回不正确的结果,而不返回任何警告消息。
如果我们重写上面的语句,就会更容易看到错误,
如果c1)车身-1否则如果(c2)车身-2endif
使用缩进显示Octave如何对语句进行分组。详见函数和脚本.
版权所有 © 2024 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号