| 前一修订版 |
— | reference:language:for [2023/06/07 04:23] (当前版本) – 外部编辑 127.0.0.1 |
---|
| ====== for语句 ====== |
| |
| ===== 描述 ===== |
| |
| for语句用于重复执行一段在花括号之内的代码。通常使用一个增量计数器计数并终止循环。for语句用于重复性的操作非常有效,通常与数组结合起来使用来操作数据、引脚。 |
| |
| for循环开头有3个部分: |
| <code> |
| for(初始化;条件;增量计数){ |
| //语句 |
| } |
| </code> |
| |
| “初始化”只在循环开始执行一次。每次循环,都会检测一次条件;如果条件为真,则执行语句和“增量计数”,之后再检测条件。当条件为假时,循环终止。 |
| ===== 例子 ===== |
| <code cpp> |
| //用PWM引脚将LED变暗 |
| int PWMpin = 10; //将一个LED与47Ω电阻串联接在10脚 |
| |
| void setup() |
| { |
| //无需设置 |
| } |
| |
| void loop() |
| { |
| for (int i=0; i <= 255; i++){ |
| analogWrite(PWMpin, i); |
| delay(10); |
| } |
| } |
| </code> |
| |
| ===== 编程提示 ===== |
| |
| C语言的for循环语句比BASIC和其他电脑编程语言的for语句更灵活。除了分号以外,其他3个元素都能省略。同时,初始化,条件,增量计算可以是任何包括无关变量的有效C语句,任何C数据类型包括float。这些不寻常的for语句可能会解决一些困难的编程问题。 |
| |
| 例如,在增量计数中使用乘法可以得到一个等比数列: |
| <code cpp> |
| for(int x = 2; x < 100; x = x * 1.5){ |
| println(x); |
| } |
| </code> |
| 生成:2,3,4,6,9,13,19,28,42,63,94 |
| |
| 另一个例子,使用for循环使LED产生渐亮渐灭的效果: |
| <code cpp> |
| void loop() |
| { |
| int x = 1; |
| for (int i = 0; i > -1; i = i + x){ |
| analogWrite(PWMpin, i); |
| if (i == 255) x = -1; // 在峰值转变方向 |
| delay(10); |
| } |
| } |
| </code> |
| |