If(條件判斷語句) 和 比較運算符

從 YFRobotwiki
跳到: 導覽搜尋

if,它與比較運算符一起使用,用於判斷條件是否滿足,如一個輸入值是否大於指定值。if語句語法格式:

if (someVariable > 50)
{
  // 在此添加执行代码
}

上面的程序為判斷someVariable 是否大於50。如果大於,執行指定代碼。換句話說,如果if後圓括號中的語句為真,則執行大括號中的代碼。反之,則跳過大括號中的代碼。

if語句後的大括號可以省略。如果這樣寫,下一行的語句(以分號結尾)將是唯一條件語句

if (x > 120) digitalWrite(LEDpin, HIGH); 

if (x > 120)
digitalWrite(LEDpin, HIGH); 

if (x > 120){ digitalWrite(LEDpin, HIGH); } 

if (x > 120){ 
  digitalWrite(LEDpin1, HIGH);
  digitalWrite(LEDpin2, HIGH); 
}                                 // 以上几种书写方式都正确

在圓括號中的語句需要使用一個或多個運算符:


比較運算符:

 x == y (x is equal to y)
 x != y (x is not equal to y)
 x <  y (x is less than y)  
 x >  y (x is greater than y) 
 x <= y (x is less than or equal to y) 
 x >= y (x is greater than or equal to y)

警告:

謹防誤使用單等號(例如if(x = 10))。單等號是賦值運算符,是用來設置x的值為10(將值10存入變量x中)。使用雙等號(例如if(x == 10)),這是比較運算符,用來測試x是否等於10。後者只有當x等於10時為真,而前者總是真。

這是因為C語言中 該語句if(x=10)是這樣執行的:10被賦值給了x(記住單等號是賦值運算符),所以現在x為10。此時if的條件語句值為10,該值一直為真,因為任何非0數都為真。因此,if(x=10)將總為真,這不是我們使用 if 語句想要的結果。此外,變量x將被賦值為10,這也不是所期望的結果。

if也可以使用if...else 控制一個分支控制結構的一部分。




返回Arduino語法參考列表

更多建議和問題歡迎反饋至 YFRobot論壇