For
從 YFRobotwiki
描述
for 語句是用於重複執行在大括號內的一段代碼。通常使用一個增量計數器來增加計數和終止循環。for語句用於重複性操作非常實用,經常和數組結合被用於操作數據或引腳。
for循環語句開頭有3個部分:
for (initialization/初始化; condition/条件判断; increment/增量计数) {
//statement(s);
//执行语句
}
初始化只在開始執行一次。每次執行一次循環,都會進行一次條件判斷;如果為真,則執行括號內語句並增量計數,然後再次條件判斷。當條件判斷為假時,終止循環。
示例
// Dim an LED using a PWM pin
int PWMpin = 10; // LED in series with 470 ohm resistor on pin 10
void setup()
{
// no setup needed
}
void loop()
{
for (int i=0; i <= 255; i++){
analogWrite(PWMpin, i);
delay(10);
}
}
編碼技巧
C語言中 for 循環語句 比其他計算機語言中的for語句 更加靈活,其中包括 BASIC。除了分號以外,任何其他3個部分(initialization/初始化、condition/條件判斷、increment/增量計數)都可以省略。初始化、條件判斷、增量計數可以是任何無關變量的有效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; // switch direction at peak
delay(10);
}
}
更多建議和問題歡迎反饋至 YFRobot論壇
