공부/C언어

[C언어] C언어 반복문 완전 정복 – While문, Do-while문, For문과 제어문

강갱갱 2025. 6. 14. 03:15

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문의 문법과 동작 원리, 그리고 반복문 제어에 자주 사용되는 breakcontinue까지 폭넓게 다뤘습니다.
반복문은 프로그램에서 가장 많이 사용되는 구조이므로, 각각의 특징과 용도를 잘 이해하는 것이 중요합니다.

다음 장에서는 배열과 문자열 처리에 대해 자세히 살펴보겠습니다!

반응형