“For”的版本间的差异
(Created page with "https://www.microduino.cn/wiki/index.php/Arduino_语法手册/zh 返回Arduino语法手册") |
|||
第1行: | 第1行: | ||
+ | *'''for''' | ||
+ | |||
+ | |||
+ | for语句用于重复执行一段在花括号之内的代码。通常使用一个增量计数器计数并终止循环。for语句用于重复性的操作非常有效,通常与数组结合起来使用来操作数据、引脚。 | ||
+ | |||
+ | for循环开头有3个部分: | ||
+ | <pre style="color:green"> | ||
+ | |||
+ | for(初始化;条件;增量计数){ | ||
+ | //语句 | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | “初始化”只在循环开始执行一次。每次循环,都会检测一次条件;如果条件为真,则执行语句和“增量计数”,之后再检测条件。当条件为假时,循环终止。 | ||
+ | |||
+ | 例子 | ||
+ | <pre style="color:green"> | ||
+ | |||
+ | //用PWM引脚将LED变暗 | ||
+ | int PWMpin = 10; //将一个LED与47Ω电阻串联接在10脚 | ||
+ | |||
+ | void setup() | ||
+ | { | ||
+ | //无需设置 | ||
+ | } | ||
+ | |||
+ | void loop() | ||
+ | { | ||
+ | for (int i=0; i <= 255; i++){ | ||
+ | analogWrite(PWMpin, i); | ||
+ | delay(10); | ||
+ | } | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | 编程提示 | ||
+ | |||
+ | C语言的for循环语句比BASIC和其他电脑编程语言的for语句更灵活。除了分号以外,其他3个元素都能省略。同时,初始化,条件,增量计算可以是任何包括无关变量的有效C语句,任何C数据类型包括float。这些不寻常的for语句可能会解决一些困难的编程问题。 | ||
+ | |||
+ | 例如,在增量计数中使用乘法可以得到一个等比数列: | ||
+ | <pre style="color:green"> | ||
+ | |||
+ | for(int x = 2; x < 100; x = x * 1.5){ | ||
+ | println(x); | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | 生成:2,3,4,6,9,13,19,28,42,63,94 | ||
+ | |||
+ | 另一个例子,使用for循环使LED产生渐亮渐灭的效果: | ||
+ | <pre style="color:green"> | ||
+ | |||
+ | void loop() | ||
+ | { | ||
+ | int x = 1; | ||
+ | for (int i = 0; i > -1; i = i + x){ | ||
+ | analogWrite(PWMpin, i); | ||
+ | if (i == 255) x = -1; // 在峰值转变方向 | ||
+ | delay(10); | ||
+ | } | ||
+ | } | ||
+ | </pre> | ||
+ | |||
[[https://www.microduino.cn/wiki/index.php/Arduino_%E8%AF%AD%E6%B3%95%E6%89%8B%E5%86%8C/zh 返回Arduino语法手册]] | [[https://www.microduino.cn/wiki/index.php/Arduino_%E8%AF%AD%E6%B3%95%E6%89%8B%E5%86%8C/zh 返回Arduino语法手册]] |
2016年3月28日 (一) 07:22的最新版本
- for
for语句用于重复执行一段在花括号之内的代码。通常使用一个增量计数器计数并终止循环。for语句用于重复性的操作非常有效,通常与数组结合起来使用来操作数据、引脚。
for循环开头有3个部分:
for(初始化;条件;增量计数){ //语句 }
“初始化”只在循环开始执行一次。每次循环,都会检测一次条件;如果条件为真,则执行语句和“增量计数”,之后再检测条件。当条件为假时,循环终止。
例子
//用PWM引脚将LED变暗 int PWMpin = 10; //将一个LED与47Ω电阻串联接在10脚 void setup() { //无需设置 } void loop() { for (int i=0; i <= 255; i++){ analogWrite(PWMpin, i); delay(10); } }
编程提示
C语言的for循环语句比BASIC和其他电脑编程语言的for语句更灵活。除了分号以外,其他3个元素都能省略。同时,初始化,条件,增量计算可以是任何包括无关变量的有效C语句,任何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); } }