if用于与比较运算符结合使用,测试是否已达到某些条件,例如一个输入值在某个特定范围之外。使用格式如下:

if (value > 50)
{
  // 添加执行部分
}

该程序测试value是否大于50。如果是,程序将执行特定动作。换句话说,如果圆括号中的语句为真,那就执行大括号中的语句。如果不是,程序将跳过这段代码。

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 等于 y) x != y (x 不等于 y) x < y (x 小于 y) x > y (x 大于 y) x <= y (x 小于等于 y) x >= y (x 大于等于 y)

警告:避免使用单等号(例如if(x = 10))。

单等号是赋值运算符,意思是设置x为数字10(换句话说,将值10存入变量x中)。改用双等号(例如if (x == 10)),这个是比较运算符,用于测试x是否等于10。后者只在x等于10时返回真,但是前者将总是为真。

这是因为,C语言是这样执行这句语句的if(x=10),如下:

10被分配给了x。 (切记:单等号是赋值运算符)

然后'if'条件求值10,其总是为真,由于任何非零数值都为真值。由此,if(x = 10)将总是求值为真,这不是使用if语句所期望的结果。这不是使用if语句所期望的结果。

if也可以是使用[http://wiki.dfrobot.com.cn/index.php/If...else if...else]的分支控制结构的一部分。

翻译自:Arduino Language Reference

<File:nextredirectltr.png>返回Arduino语法手册首页

<File:nextredirectltr.png>更多建议,指正,或者文档分享欢迎进入DF创客社区