루프 제어문(반복문)은 특정 문장들을 여러 번 반복해서 실행해야 할 때 사용하는 제어 구조입니다. C 언어에서는 크게 세 가지 반복문을 제공하며, 각각의 특징과 용도가 조금씩 다릅니다.
- for 문
- while 문
- do-while 문
for 문
for 문은 초기화, 조건 검사, 증감 연산을 한 줄에 모아 작성할 수 있어 반복 횟수가 정해진 경우에 가장 많이 사용됩니다. 기본 문법은 다음과 같습니다.
for (초기화 ; 조건식 ; 증감 연산){
반복 실행할 문장
}
순서도
for 문의 동작 흐름을 나타낸 순서도는 다음과 같습니다.

초기화: 루프 제어 변수에 시작값을 대입하는 부분으로, 루프가 시작되기 전 단 한 번만 실행됩니다.
조건식: 관계 연산자로 구성된 식으로, 루프가 계속 실행될지를 판단합니다.
증감 연산: 매 반복이 끝날 때마다 루프 제어 변수가 어떻게 변할지를 정의합니다.
조건식이 참(true)인 동안 루프 본문이 계속 실행됩니다.
조건식이 거짓(false)이 되면 루프를 빠져나가 for 문 다음에 오는 문장부터 프로그램이 이어서 실행됩니다.
예제
다음은 for 문을 사용한 C 프로그램입니다. 변수 k가 1부터 5까지 증가하면서 값을 출력합니다.
#include<stdio.h>
main( ){
int k;
for (k = 1; k<=5; k++){
printf ("%d",k);
}
}
실행 결과
위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.
1 2 3 4 5
while 문
while 문은 조건식만으로 반복 여부를 결정하는 구조입니다. 반복 횟수가 미리 정해져 있지 않고, 특정 조건이 만족되는 동안 계속 실행해야 할 때 유용합니다. 기본 문법은 다음과 같습니다.
while (조건식){
반복 실행할 문장
}
순서도
while 문의 동작 흐름을 나타낸 순서도는 다음과 같습니다.

- 초기화는 루프가 시작되기 전에 수행됩니다.
- 조건식이 참인 동안 루프가 계속 실행됩니다.
- 증감 연산은 루프 본문 내부에서 직접 작성해야 합니다. 누락하면 무한 루프에 빠질 수 있으므로 주의해야 합니다.
예제
다음은 while 문을 사용한 C 프로그램입니다.
#include<stdio.h>
main( ){
int k;
k = 1;
while (k<=5){
printf ("%d",k);
k++;
}
}
실행 결과
위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.
1 2 3 4 5
do-while 문
do-while 문은 조건 검사를 루프 본문 실행 후에 하기 때문에, 조건과 관계없이 최소 한 번은 반드시 실행된다는 점이 for 문이나 while 문과 다릅니다. 메뉴 화면처럼 사용자 입력을 먼저 받아야 하는 경우에 자주 활용됩니다. 기본 문법은 다음과 같습니다.
초기화
do{
반복 실행할 문장
증감 연산
} while (조건식);
순서도
do-while 문의 동작 흐름을 나타낸 순서도는 다음과 같습니다.

예제
다음은 do-while 문을 사용한 C 프로그램입니다.
#include<stdio.h>
main( ){
int k;
k = 1;
do{
printf ("%d",k);
k++;
}
while (k <= 5);
}
실행 결과
위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.
1 2 3 4 5
세 가지 반복문 비교 요약
| 구분 | 특징 | 적합한 상황 |
|---|---|---|
| for | 초기화·조건·증감을 한 곳에 모아 작성 | 반복 횟수가 정해진 경우 |
| while | 조건 검사 후 실행 (선검사 방식) | 반복 횟수가 불명확한 경우 |
| do-while | 실행 후 조건 검사 (후검사 방식) | 최소 한 번은 반드시 실행해야 하는 경우 |