Menu
CoddyTech

组合条件

本课属于 Coddy Arduino 学习旅程的“初识电路”单元。第 21 课,共 22 课。

两个条件可以合并为一个:

  • && 表示且:只有两边都为 true 时才为 true
  • || 表示或:至少一边为 true 时就为 true
if (count >= 3 && count <= 7) { ... }   // 3、4、5、6 或 7
if (count == 1 || count == 9) { ... }   // 1 或 9

第一个条件的意思是“count 至少为 3,且最多为 7”:这是一个范围。第二个条件的意思是“count 为 1,或 count 为 9”。

每一边都必须是一个完整的比较表达式。count == 1 || 9 并不表示“1 或 9”:右边单独的 9 会被棋盘视为 true,因此整个条件始终为 true。

count >= 3 || count <= 7 也始终为 true,因为每个数字都要么至少为 3,要么最多为 7。要表示一个范围,需要使用 &&。

challenge icon

挑战

中等

初始代码每 300 ms 计数一次。红色 LED 接在引脚 8 上,绿色 LED 接在引脚 9 上。每次循环时:

  • 当 count 的值为 4 到 6(4、5 或 6)时,点亮绿色 LED;否则熄灭
  • 当 count 的值为 2 或 8 时,点亮红色 LED;否则熄灭

按下运行,然后按下检查。

亲手试试

int count = 0;

void setup() {
  pinMode(8, OUTPUT);  // 红灯
  pinMode(9, OUTPUT);  // 绿灯
  Serial.begin(9600);
}

void loop() {
  count = count + 1;
  Serial.println(count);
  // 绿灯在 4 到 6 时亮,红灯在 2 和 8 时亮
  delay(300);
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

初识电路中的所有课

自己练习: Arduino 在线编辑器