在 VEXcode Pro V5 中使用布林值

The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.

VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.

“bool”資料型別產生邏輯真或假。

邏輯/布林運算符

邏輯/布林表達式
如果(<boolean expressions>)
	{
	.....<block>
}

<boolean expressions> 將包含要計算的單一或複雜表達式。 <block> 表示只有當 <boolean expressions> 被評估為 true 時才會執行的程式碼區塊。

更多布林表達式:
布林表達式 這是什麼意思
如果(x==10) 如果 x 等於 10
如果 (x <= 10) 如果 x 小於 等於 10
如果(x > 10 || y > 20) 如果 x 大於 10 y 大於 20
如果 (x <= 10 && y <= 20) 若 x<=10 y<=20
如果 !(x > 10 || y > 20) 若 x<=10 y<=20
如果 ( !( x <=10 || x >=20) ) 如果 x>10 x<20

使用布林表達式時要特別小心!

布林類型 (bool) 是一個簡單的整數值。

讓我們來看看 if (... ) 是如何解釋的:

  • if (...) 將由編譯器計算;它產生真或假的含義。
  • 事實是:當 ( ... ) 產生 0 以外的任何值(即零)時, if ( .... ) 將意味著 true。
  • 所以:以下表達式永遠為真:
    • 如果 (1)
    • 如果 (10)
    • if(任何結果非零)

     

必須注意的常見錯誤:

範例1:

整數X=10,Y=20;
if (X = Y)
	Brain.Screen.print("X 和 Y 相同。");   
else
	Brain.Screen.print("X 和 Y 不同。");

輸出:X 和 Y 相同。 

為什麼?

if (X = Y)實際上意味著:

  • 將 Y 賦給 X,因此 X 的值為 20 
  • 編譯器將其解釋為 if (20),其中 (20) 為 true,但它不是 (0)。

範例2:

整數X=0,Y=0;
if (X = Y)
	Brain.Screen.print("X 和 Y 相同。");   
else
	Brain.Screen.print("X 和 Y 不同。");

輸出:X 和 Y 不同。 

為什麼?

if (X = Y) 實際上意味著:

  • 將 Y 指派給 X,因此 X 的值為 0(零)。
  • 編譯器將其解釋為: (0) 為 false。

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

Last Updated: