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