[C언어] C언어 반복문 완전 정복 – While문, Do-while문, For문과 제어문
C언어 6장: 반복문 완전 정복 – While문, Do-while문, For문과 제어문
1. While문 – 조건 검사 후 반복 실행
While문은 특정 조건이 참인 동안 반복문장을 실행하는 가장 기본적인 반복문입니다. 조건식을 먼저 검사한 후 반복 여부를 결정하기 때문에, 조건이 처음부터 거짓이라면 반복문이 한 번도 실행되지 않을 수 있습니다.
문법:
while (조건) {
// 반복 실행할 문장들
}
예제: 0부터 9까지 숫자 출력하기
int i = 0;
while (i < 10) {
printf("%d ", i);
i++;
}
위 코드는 변수 i
가 10보다 작은 동안 반복하며 숫자를 출력합니다. 출력 결과는 0 1 2 3 4 5 6 7 8 9
가 됩니다.
1-1. Sleep 함수로 프로그램 일시 정지하기
반복문 사이에 잠시 멈춤을 주고 싶을 때는 운영체제 별로 지원하는 Sleep()
함수를 사용할 수 있습니다.
윈도 환경에서는 Sleep(ms)
함수가 밀리초 단위로 프로그램 실행을 일시 정지합니다. (단, #include <windows.h>
필요)
예를 들어, Sleep(1000);
은 1초 동안 멈추게 합니다.
#include <stdio.h>
#include <windows.h>
int main() {
int i = 0;
while(i < 5) {
printf("i = %d\n", i);
Sleep(500); // 0.5초 멈춤
i++;
}
return 0;
}
Sleep 함수를 이용하면 반복 실행 사이에 시간 간격을 조절할 수 있어, 예를 들어 애니메이션, 대기 시간 등 다양한 상황에 활용 가능합니다.
2. Do-while문 – 반복문장 먼저 실행 후 조건 검사
Do-while문은 While문과 비슷하지만, 반복문장을 한 번 먼저 실행한 뒤 조건식을 검사합니다. 그래서 조건이 처음부터 거짓이어도 반드시 한 번은 실행됩니다.
문법:
do {
// 반복 실행할 문장
} while (조건);
꼭 세미콜론(;)을 마지막에 붙여야 합니다!
예제: 0부터 4까지 출력하기
int i = 0;
do {
printf("%d ", i);
i++;
} while (i < 5);
이 예제는 i
가 5보다 작을 동안 반복하지만, do
블록 내 문장이 먼저 실행되므로 최소 한 번은 출력됩니다. 출력 결과는 0 1 2 3 4
입니다.
2-1. While과 Do-while의 차이점 정리
- While문: 조건 검사 → 실행 순서로, 조건이 처음부터 거짓이면 실행하지 않음.
- Do-while문: 실행 → 조건 검사 순서로, 최소 한 번은 무조건 실행됨.
3. For문 – 반복 제어에 최적화된 대표 반복문
For문은 반복문 중 가장 많이 사용하는 구조로, 반복 횟수를 명확히 제어하기 좋습니다. 초기화, 조건식, 증감식을 한 줄에 작성해 반복을 간결하게 표현합니다.
문법:
for (초기식; 조건식; 증감식) {
// 반복 실행할 문장
}
예제: 0부터 4까지 출력하기
for (int i = 0; i < 5; i++) {
printf("%d ", i);
}
위 코드는 i
가 0부터 시작해 5 미만일 때까지 1씩 증가하며 반복 출력합니다.
3-1. 반복문 제어: break와 continue
- break; 반복문을 즉시 종료하고 반복문 밖으로 빠져나갑니다.
- continue; 현재 반복문의 나머지 문장을 건너뛰고 다음 반복을 시작합니다.
예제: break와 continue
for (int i = 0; i < 10; i++) {
if (i == 5) {
break; // i가 5일 때 반복 종료
}
if (i % 2 == 0) {
continue; // 짝수일 때 아래 코드 건너뛰고 다음 반복
}
printf("%d ", i); // 홀수만 출력됨
}
// 출력 결과: 1 3
위 예제에서 i == 5
조건 시 break
로 반복이 종료되고, 짝수일 경우 continue
로 출력문을 건너뛰어 홀수만 출력됩니다.
이번 6장에서는 반복문 3대 장인 While문, Do-while문, For문의 문법과 동작 원리, 그리고 반복문 제어에 자주 사용되는 break
와 continue
까지 폭넓게 다뤘습니다.
반복문은 프로그램에서 가장 많이 사용되는 구조이므로, 각각의 특징과 용도를 잘 이해하는 것이 중요합니다.
다음 장에서는 배열과 문자열 처리에 대해 자세히 살펴보겠습니다!