説明
for文は、中括弧で囲まれた文のブロックを繰り返すために使用します。インクリメントカウンタは、ループのインクリメントと終了に通常利用されます。for文は繰り返しの操作に便利で、データやピンの集まりを操作するために配列と組み合わせて使用されることが多いです。
構文
for (initialization; condition; increment) { // statement(s); }
initialization:最初に一度だけ行われます。
condition:ループを実行するたびに、条件がテストされます。真であれば、ステートメントブロックとインクリメントが実行され、その後、条件が再びテストされます。条件が偽になると、ループは終了します。
increment:ループの中で条件が真のときに毎回実行される。
プログラム例
// 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ループよりもはるかに柔軟性があります。セミコロンは必須ですが、3つのヘッダー要素のいずれかまたはすべてを省略することができます。また、初期化・条件・インクリメントのステートメントは、無関係な変数を持つC++の有効なステートメントであれば何でもよく、floatsを含むC++のデータ型を使用することができます。このような特殊なfor文は、稀なプログラミング問題を解決する可能性があります。
例えば、incrementの行で乗算を使用すると、対数の進行を生成します。
以下のプログラムは、 2,3,4,6,9,13,19,28,42,63,94を表示します。
for (int x = 2; x < 100; x = x * 1.5) { println(x); }
別の例では、1つのforループでLEDを明るくしたり暗くします。
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); } }