for

설명

for 문은 중괄호로 둘러싸인 문의 블록을 반복할 때 사용된다. 증가 카운터가 루프를 증가하고 끝내는 데 쓰인다. for 문은 반복 연산에 쓸모있고, 자료/핀의 모임에서 연산하는 배열을 가진 조합에 자주 쓰인다.

문법

for (초기화; 조건; 증가) { //문 ; }

초기화 는 처음에 딱 한 번만. 루프에서 매번, 조건 이 테스트된다; 그것이 true 이면, 문 블록과 증가 가 실행되며, 그러면 조건 이 다시 테스트된다. 조건false 되면, 루프는 끝난다.

예제 코드

예제 코드 1

void setup() { Serial.begin(9600); Serial.println("====== TEST START ======"); for (int i = 1; i <= 5; i++) { Serial.print("Inside the FOR loop: i = "); Serial.println(i); } Serial.println("====== TEST END ========"); } void loop() {}

In the example above, the code in the loop will run, over and over again five times.

시리얼 모니터에 결과:

COM6
Send
====== TEST START ====== Inside the FOR loop: i = 1 Inside the FOR loop: i = 2 Inside the FOR loop: i = 3 Inside the FOR loop: i = 4 Inside the FOR loop: i = 5 ====== TEST END ========
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Example explained:

  • initialization: int i = 1 sets a variable before the loop starts.
  • condition: i <= 5 defines the condition for the loop to run. If the condition is true (i is less than or equal to 5), the loop will start over again. if it is false (i is greater than 5), the loop will end.
  • increment: i++ increases a value each time the code block in the loop has been executed.

The above code is equivalent to:

void setup() { Serial.begin(9600); Serial.println("====== TEST START ======"); int i = 1; while ( i <= 5) { Serial.print("Inside the FOR loop: i = "); Serial.println(i); i++; } Serial.println("====== TEST END ========"); } void loop() {}

예제 코드 2

// 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); } }

※ 주의 및 경고:

Loop Forever

The following while loop loops forever:

for (;;) { // statement(s); }

How to escape the for loop

There are three ways to escape the for loop:

  • The condition of the for loop becomes false.
  • The execution of the code reaches a break statement inside the loop.
  • The execution of the code reaches a goto statement inside the loop, which jumps to a label located outside of the loop.

Others

C++ for 루프는 다른 컴퓨터 언어, BASIC 포함,에서 발견되는 for 루프보다 좀더 유연하다. 세미콜론은 필요하지만 3개 헤더 요소중 어느 것도 생략될 수 있다. 초기화, 조건, 그리고 증가는 관련 없는 변수를 가진 어떤 타당한 C 문도 될 수 있고, float 를 포함한 어떤 C 자료형을 쓴다. 이런식의 평범하지 않은 for 문 형식은 드문 프로그램 문제에 대한 해결책을 제공할 수 있다.

예를 들어, 증가 행에 곱셈을 쓰면 로그 진행률을 생성할 것이다:

for (int x = 2; x < 100; x = x * 1.5) { println(x); }

생성하는 것: 2,3,4,6,9,13,19,28,42,63,94

다른 예는, LED를 하나의 for 루프로 점점 밝게 그리고 어둡게:

void loop() { int x = 1; for (int i = 0; i > -1; i = i + x) { analogWrite(PWMpin, i); if (i == 255) { x = -1; // 정점에서 방향 바꿈 } delay(10); } }

더보기

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Please note: These are Amazon affiliate links. If you buy the components through these links, We will get a commission at no extra cost to you. We appreciate it.

※ OUR MESSAGES