“bool”数据类型生成逻辑真或假。

逻辑/布尔运算符

逻辑/布尔表达式
if(<boolean expressions>)
	{
	.....<block>
}

<boolean expressions> 将包含要计算的单个或复杂表达式. <block> 表示只会执行的代码块如果 <boolean expressions> 被评估为真。

更多布尔表达式:
布尔表达式 这是什么意思
如果 (x == 10) 如果 x 等于 10
如果 (x <= 10) 如果 x 小于 等于 10
if (x > 10 || y > 20) 如果 x 大于 10 y 大于 20
if (x <= 10 && y <= 20) 如果 x<=10 y<=20
如果 !(x > 10 || y > 20) 如果 x<=10 y<=20
if ( !( x <=10 || x >=20) ) 如果 x>10 x<20

使用布尔表达式时要特别小心!

布尔类型 (bool) 是一个简单的整数值。

我们来看看 if (... ) 是如何解释的:

  • if (...) 将由编译器计算;它产生真或假的含义。
  • 真相是:当 ( ... ) 产生 0 以外的任何值(即零)时, if ( .... ) 表示正确。
  • 所以:以下表达式总是正确的:
    • 如果 (1)
    • 如果 ( 10 )
    • 如果(任何结果非零)

     

您必须注意的常见错误:

示例 1:

int X = 10, Y=20;
if  (X = Y)
	brain.Screen.print("X and Y are the same.”);   
else
	brain.Screen.print("X and Y are different.”);

输出:X 和 Y 相同。

为什么?

如果 (X = Y)真的意味着:

  • 将 Y 分配给 X,因此 X 的值为 20
  • 编译器将其解释为 if (20) 其中 (20) 为真,因为它不是 (0)。

示例 2:

int X = 0, Y=0;
if  (X = Y)
	brain.Screen.print("X and Y are the same.”);   
else
	brain.Screen.print("X and Y are different.”);

输出:X 和 Y 不同。

为什么?

如果 (X = Y) 真的意味着:

  • 将 Y 分配给 X,因此 X 的值为 0(零)。
  • 编译器将其解释为:(0) 为假。

For more information, help, and tips, check out the many resources at VEX Professional Development Plus