📅  最后修改于: 2020-12-27 09:38:09             🧑  作者: Mango
for循环下大括号内的语句根据指定条件重复执行。 for循环中的递增计数器用于递增或递减循环重复次数。
for语句通常用于重复性的任务或操作,或者用于与数组结合使用的一组数据/引脚。
语法为:
for (initialization; condition; increment)
{
\\ statements
}
哪里,
例如,
for ( i = 0 ; i < 5 ; i + +)
上面的语句将执行循环五次。 i的值将从0到4。
如果声明是:
for ( i = 0 ; i < = 5 ; i + +)
上面的语句将执行循环六次。 i的值将从0到5。
注意:如果我们不想一次又一次地执行for循环。然后,我们可以将for循环插入void setup()函数。
要print一条消息“ Arduino” 15次。
使用Serial.println()将消息print15次或更多次是非常复杂的,因为代码太长了。
为了克服这个问题,程序员更喜欢使用for循环在使用单个语句的同时多次执行任务。
让我们考虑下面的代码。
int i;
void setup ( )
{
Serial.begin(9600);
for ( i = 0 ; i < 15 ; i ++ )
{
Serial.println( "Arduino");
}
}
void loop ( ) {
}
输出:
使用乘法增量
for循环中的乘法增量将生成对数级数。
考虑下面的代码:
int x;
void setup ( )
{
Serial.begin(9600);
for (x = 2; x < 100; x = x * 2)
{
Serial.println(x);
}
}
void loop ( ) {
}
输出:
我们也可以直接在for循环中声明int数据类型。
例如,
for (int x = 2; x < 100; x = x * 2)
在这里,淡入淡出和LED表示LED将缓慢熄灭。
考虑下面的代码:
const int pinPWM = 11; // here, we have initialized the PWM pin.
void setup ( )
{
Serial.begin(9600);
}
void loop ( )
{
int x = 1;
for (int i = 0; i > -1; i = i + x)
{
analogWrite(pinPWM, i);
if (i == 255)
{
x = -1; // It will switch the direction at peak
}
delay(10); // It is delay time of 10 milliseconds
// the lesser the time, the more fading effect can be seen clearly
}
}
对于连接,我们将LED的正极与电阻串联到PIN 11(PWM引脚),LED的负极与GND串联。
注意:C++编程语言中的for循环比其他类型的编程语言灵活得多。
考虑下面的代码:
void setup ( )
{
int i;
Serial.begin(9600);
for (i = 0; i < 4; i = i + 1)
{
Serial.println( "Hello Arduino" );
}
Serial.println( " DONE");
}
void loop ( )
{
}
上面的代码将print“ Hello Arduino”四次。在条件变为假之后,控制退出循环,并打印“ DONE”。
输出:
同样,我们可以相应地使用for循环创建任何程序。