比較運算符
來自ALSROBOT WiKi
if,用于和比較運算符聯(lián)合使用,測試某一條件是否到達,例如一個輸入超出某一數(shù)值。if條件測試的格式:
if (someVariable > 50) { // do something here }
該程序測試someVariable是否大于50。如果是, 程序執(zhí)行特定的動作。換句話說,如果圓括號中的語句為真,花括號中的語句就會運行。否則,程序跳過該代碼。
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); } // all are correct
圓括號中被求值的語句需要使用一個或多個運算符:
比較運算符:
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))。單個等號是賦值運算符,這里設(shè)置x為10(將值10存入變量x)。改用雙等號(例如if (x == 10)),這個是比較運算符,用于測試x是否等于10。后者只在x等于10時返回真,但是前者將總是為真。
這是因為C如下求值語句if(x=10):10分配給x(切記單個等號是賦值運算符),因此x現(xiàn)在為10。然后'if'條件求值10,其總是為真,由于任何非零數(shù)值都為真值。由此,if (x = 10)將總是求值為真,這不是使用if語句所期望的結(jié)果。另外,變量x將被設(shè)置為10,這也不是期望的操作。
if也可以是使用[if...else]的分支控制結(jié)構(gòu)的一部分。