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論壇