【描述】 for语句常被用于重复执行花括号内的语句块。一个自加计数器常被用来递增和终止循环。for语句对于任何需要重复的操作是非常有用的。常常用于与数组联合使用以收集数据/引脚。

for循环的头部有三个部分:

for (初始化部分; 条件判断部分; 数据递增部分) {
  //语句块

}

for_111.png

初始化部分被第一个执行,且只执行一次。每次通过这个循环,条件判断部分将被测试;如果为真,语句块和数据递增部分就会被执行,然后条件判断部分就会被再次测试,当条件测试为假时,结束循环。

【示例】

//使用一个PWM引脚使LED灯闪烁
int PWMpin = 10; // LED在10号引脚串联一个470欧姆的电阻

void setup()
{
  //这里无需设置
}

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

【编码提示】 C中的for循环比在其它计算机语言中的for循环要灵活的多,包括BASIC。三个头元素中的任何一个或全部可能被省略,不过分号是必须的。

而且初始化部分、条件判断部分和数据递增部分可以是任何合法的使用任意变量的C语句。并且可以使用任何C语言中数据类型包括floats。这些不常用的类型用于语句段也许可以为一些罕见的编程问题提供解决方案。

例如,在递增部分中使用一个乘法将形成对数级增长:

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

输出: 2,3,4,6,9,13,19,28,42,63,94

另一个例子,在一个for循环中使一个LED灯渐渐地变亮和变暗:

void loop()
{
   int x = 1;
   for (int i = 0; i > -1; i = i + x){
      analogWrite(PWMpin, i);
      if (i == 255) x = -1;             // 在峰值切换方向
      delay(10);
   }
}

【更多可见】 While语句

翻译自:Arduino Language Reference

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

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