조건문과 반복문
이번 시간에는 조건문과 반복문에 대해 알아보겠습니다.
조건문
조건문은 참(True), 거짓(False) 또는 특정 조건에 맞는 경우에 지정된 동작을 수행하는 문장입니다. 조건문은 구현된 모든 기능 중에서 원하는 기능만 사용할 수 있도록 도와주며, 특정 상황에 맞는 경우에만 동작하도록 설정할 수 있습니다.
특징
- 0은 False, 이외의 모든 숫자는 True로 간주됩니다.
- 조건문 작성 시, 관계 연산자와 논리 연산자를 주로 사용합니다.
- 특정 상황에서 항상 조건을 참으로 만들기 위해 상수를 사용하는 경우도 있습니다.
If문
if문은 조건이 참인 경우에만 실행됩니다. 기본적인 형태는 다음과 같습니다:
if (조건) { // 조건이 참일 때 실행할 코드 }
조건문에는 switch문
도 있지만, 아두이노에서는 자주 사용되지 않으므로 여기서는 생략하겠습니다.
반복문
반복문은 특정 조건을 만족하는 동안 동작을 반복 수행하기 위한 문장입니다. 반복문은 반복의 조건이 충족되지 않도록 하는 연산을 포함하며, 조건문(예: if문
)을 통해 반복문을 탈출할 수도 있습니다.
종류
- while문
- for문
while문
While문
은 특정 조건을 만족하는 동안 동작을 반복하는 구조입니다. 조건이 참일 때 중괄호 안의 코드를 반복 실행합니다. 반복 대상이 하나의 문장인 경우 중괄호를 생략할 수도 있습니다.
기본 구조
while (조건) { // 조건이 참인 동안 실행할 코드 }
순서도
While문은 아래와 같은 순서로 동작합니다:
- 조건을 평가합니다.
- 조건이 참이면 코드를 실행합니다.
- 조건을 다시 평가하고, 조건이 참이면 반복합니다.
- 조건이 거짓이 되면 반복문을 종료합니다.
int i = 0; while (i < 5) { Serial.println(i); // i 값을 출력 i++; // i 값을 1 증가 }
for문
For문
은 반복을 수행하기 위한 세 가지 필수 요소를 한 줄에 포함하는 반복문입니다:
- 초기문: 반복 변수의 선언과 초기화.
- 조건문: 반복 조건을 검사.
- 증감문: 반복 조건을 무너뜨리기 위한 연산.
기본 구조
for (초기문; 조건문; 증감문) { // 조건이 참일 때 실행할 코드 }
예제 코드
for (int i = 0; i < 5; i++) { Serial.println(i); // i 값을 출력 }
while문과 for문의 비교
특징 | While문 | For문 |
---|---|---|
사용 목적 | 조건이 불명확하거나 동적으로 결정되는 경우 사용 | 반복 횟수가 명확히 정의된 경우 사용 |
구조 | 조건만 명시, 반복 변수는 별도로 선언 | 초기화, 조건 검사, 증감 연산을 한 줄에 작성 |
코드 길이 | 코드가 다소 길어질 수 있음 | 코드가 간결함 |
예제 | int i = 0; while (i < 5) { i++; } | for (int i = 0; i < 5; i++) { } |
요약
- 조건문은 특정 조건이 참일 때만 실행됩니다.
- 반복문은 조건이 만족되는 동안 반복 동작을 수행합니다.
- While문은 조건 중심, For문은 반복 횟수 중심으로 사용됩니다.