Reference Language | Libraries | Comparison | Changes
for语句用于循环执行大括号内的所有语句。通常使用步进计数来进行循环的执行和退出。for语句通常用于重复操作,且常与数组结合使用来操作数据集合或引脚集合。
for语句头由三部分组成:
for (初始化表达式;条件表达式; 步进表达式) {
//执行语句块;
}
初始化表达式首先执行,且只执行一次。每次进入循环之前,条件表达式将被求值,若值为真,则执行语句块和步进表达式被顺序执行,然后继续求值并检测,直到值为假时退出循环。
// 使用PWM引脚实现LED渐亮 int PWMpin = 10; // LED接470欧姆电阻后连上10脚 void setup() { // 无须setup } void loop() { for (int i=0; i <= 255; i++){ analogWrite(PWMpin, i); delay(10); } }
C语言的for循环语句比一些编程语言(如BASIC)的for语句更灵活。除了两个分号,循环头的三个部分都可以省略,或者可以是任何有效的C语言表达式、使用任意类型的变量(包括float),哪怕它与循环根本无关。灵活使用for的各种形式,可以帮助解决某些少见的实际问题。
例如,在步进表达式中使用乘法产生一个等比数列:
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); } }
更正、建议及新的文档应投递至论坛。
Arduino手册的文本受 Creative Commons Attribution-ShareAlike 3.0 License协议保护,手册中的例子代码则贡献给公共领域。