跳转到内容

Futurebasic/语言/参考/if

来自维基教科书,自由的教学读物

外观 标准控制台

IF expr THEN {dest1|statement1 [:statement2 ...]} ¬

  [ELSE {dest2|statement3 [:statement4 ...]}] dest1 and dest2 are either line numbers or quoted statement labels. 

根据 expr 的值,有条件地执行一个或多个语句,或跳转到指定的行。如果 expr 被评估为“真”或非零,则程序要么跳转到 dest1 指定的行,要么执行 statement1、statement2 等。如果 expr 被评估为“假”或零,并且您包含了 ELSE 子句,则程序要么跳转到 dest2 指定的行,要么执行 statement3、statement4 等。每个语句都可以是任何可执行语句,除了“块”语句,例如 FOR、WHILE、DO 等。expr 可以是数字表达式、逻辑表达式或字符串。逻辑表达式通常包含“数据比较”运算符,可以被评估为“真”或“假”。以下是一些逻辑表达式的示例:x! > 19.7 myName$ = "RICK" 6*7 <= 42在 FB 中,数字表达式和逻辑表达式是可互换的。当在逻辑表达式的上下文中使用数字表达式时,如果它非零,则它被视为“真”,如果它是零,则它被视为“假”。例如:IF x+3 THEN BEEP这里,只有当 x+3 不为零时,才会执行 BEEP。当在数字表达式的上下文中使用逻辑表达式时,如果为真,则它被评估为 -1,如果为假,则它被评估为 0。例如:found = (fileName$ = seekName$)这里,如果 fileName$ 等于 seekName$,则将 -1 分配给 found;否则,found 被分配为 0。您可以在 expr 中使用 AND、OR、NOT 运算符。但是,请注意,这三个被认为是算术运算符,而不是逻辑运算符。如果您不小心,这可能会导致一些意想不到的结果。例如,此表达式:firstNumber& AND secondNumber&即使 firstNumber& 和 secondNumber& 都不为零(真),也可能评估为零(假)。当您希望在逻辑表达式的上下文中使用 AND、OR 或 NOT 时,您应该使用始终评估为 -1 或 0 的操作数。例如:firstNumber& <> 0 AND secondNumber& <> 0此表达式在“逻辑上”起作用,因为 (firstNumber&<>0) 始终为 -1 或 0;同样地,(secondNumber&<>0) 始终为 -1 或 0。expr 也可以是字符串。当在逻辑表达式的上下文中使用字符串时,仅当字符串的长度大于零时,它才会被评估为“真”。注意:IF 语句是一个单行结构。要创建跨越多行的条件结构,请使用 LONG IF 语句。比较浮点数与零或整数时要谨慎。以下表达式可能不会按预期评估:IF x# = 1在此语句中,编译器将 x# 中的值与整数“1”进行比较。由于 SANE 和 PPC 数学都使用数字的分数近似值,因此 x# 的实际值,虽然非常接近于 1,但实际上可能是 0.99999999 之类的值,因此会导致意外结果。

LONG IF; AND; OR; NOT; SELECT CASE

华夏公益教科书