for

名称

for

説明

for文は、波括弧で囲まれた文のブロックの繰り返しに使われる。増分カウンタがループの実行制御に通常利用される。for文は操作を繰り返すときに有用であり、配列と組み合わせてデータやピンの集合に対する操作を行うときに利用することが多い。

書式

for (initialization; condition; increment) {
  // statement(s);
}

引数

initialization最初に一度だけ実行される。
conditionループのたびに評価され、trueの場合はstatementブロックが実行され、その後、incrementが実行される。その後、conditionが再度評価される。conditionがfalseになると、ループが終了する。
incrementconditionがtrueのとき、ループが実行されるたびに実行される。

使用例

以下のコードは温度センサシステムの一部である。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
// Dim an LED using a PWM pin
int PWMpin = 10;  // LED in series with 470 ohm resistor on pin 10

void setup() {
  // no setup needed
}

void loop() {
  for (int i = 0; i <= 255; i++) {
    analogWrite(PWMpin, i);
    delay(10);
  }
}

注意

C言語のforループは、BASICのような他の言語に見られるforループよりも柔軟である。for文のどれかもしくはすべての部分は省略可能である(セミコロンは必要)。また、初期化や制御式、増分操作にはC言語で有効などのような式でもよく、また、浮動小数を含むC++言語のどんな型や、直接は関係のない変数を使ってもいい。このfor文の独特の方式により、まれに表れるプログラミング上の問題を解決できることもある。

例えば、増分操作として、掛け算を使うと、等比数列を生成することができる。以下のプログラムは、 2,3,4,6,9,13,19,28,42,63,94を表示する。

1
2
3
for (int x = 2; x < 100; x = x * 1.5) {
  println(x);
}

一つのfor文で、LEDを明るくしたり暗くする例。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
void loop() {
  int x = 1;
  for (int i = 0; i > -1; i = i + x) {
    analogWrite(PWMpin, i);
    if (i == 255) {
      x = -1;  // switch direction at peak
    }
    delay(10);
  }
}

参照

オリジナルのページ

https://www.arduino.cc/reference/en/language/structure/control-structure/for/

Last Revision: 2019/07/24

最終更新日

January 4, 2024

inserted by FC2 system