Logo hyuki.dev
Table of Contents

Intro

이 블로그 포스트에서는 C언어의 반복문에 대해 알아보겠습니다.

반복문이란?

반복문은 특정 조건이 충족될 때까지 코드 블록을 반복적으로 실행하는 중요한 제어 구조입니다 !

반복문의 종류

C언어에서는 크게 다음과 같은 조건문을 사용합니다.

  • for 반복문
  • while 반복문
  • do-while 반복문

for 반복문

for 반복문은 특정 횟수만큼 코드 블록을 반복할 때 주로 사용됩니다. 이 반복문은 진입 제어형(entry-controlled) 반복문으로, 반복 실행 전에 조건을 검사합니다.

기본 문법:

for (초기식; 조건식; 증감식) {
// 반복할 코드
}

작동 방식:

  1. 초기식: 반복문이 시작될 때 단 한 번만 실행
  2. 조건식: 각 반복 전에 검사히며, 결과가 참(true)이면 반복문이 실행되고, 거짓(false)이면 반복문이 종료
  3. 증감식: 각 반복 후에 실행

예제:

#include <stdio.h>
int main() {
for (int i = 1; i <= 10; i++) {
printf("%d ", i);
}
return 0;
}

실행 결과: 1 2 3 4 5 6 7 8 9 10

이 예제에서 i는 1로 초기화되고, i가 10 이하인 동안 반복문이 실행됩니다. 각 반복에서 i 값이 출력되고, i는 1씩 증가합니다.

참고: i++은

i = i + 1, i += 1과 같은 말이며, i에 1을 더한다는 의미입니다.

if (a > 5)
printf("a는 5보다 큽니다.\n");

while 반복문

while 반복문은 조건이 참인 동안 코드 블록을 반복합니다. 이 반복문도 진입 제어형으로, 반복 실행 전에 조건을 검사합니다.

기본 문법:

while (조건식) {
// 반복할 코드
}

작동 방식:

  1. 조건식을 검사
  2. 조건이 참이면 반복문이 실행
  3. 반복문 실행 후 다시 조건을 검사
  4. 조건이 거짓이 될 때까지 2-3 과정을 반복

예제:

#include <stdio.h>
int main() {
int countdown = 3;
while (countdown > 0) {
printf("%d\n", countdown);
countdown--;
}
printf("Happy New Year 2025 !\n");
return 0;
}

실행 결과:

3
2
1
Happy New Year!!

이 예제는 3부터 카운트다운하고 “Happy New Year 2025 !”를 출력합니다.

참고: i—은

i = i - 1, i -= 1과 같은 말이며, i에 1을 뺸다는 의미입니다.

do-while 문

do-while 반복문은 코드 블록을 실행한 후에 조건을 검사합니다. 이 반복문은 탈출 제어형(exit-controlled)으로, 조건 검사 전에 최소 한 번은 코드 블록이 실행됩니다.

기본 문법:

do {
// 반복할 코드
} while (조건식);

작동 방식:

  1. 반복문이 실행
  2. 조건식을 검사
  3. 조건이 참이면 1-2 과정을 반복
  4. 조건이 거짓이면 반복문이 종료

예제:

#include <stdio.h>
int main() {
int i = 0;
do {
printf("%d\n", i+1);
i++;
} while (i < 5);
return 0;
}

실행 결과:

1
2
3
4
5

고?급 반복문 문법

중첩 반복분 (Nested Loops)

중첩 반복문은 하나의 반복문 안에 다른 반복문이 포함된 구조입니다.

예제:

#include <stdio.h>
int main() {
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
printf("* ");
}
printf("\n");
}
return 0;
}

실행 결과:

*
* *
* * *
* * * *
* * * * *

break와 continue 문

  • break 문: 반복문을 즉시 종료하고 다음 코드로 이동합니다.
  • continue 문: 현재 반복을 중단하고 다음 반복으로 넘어갑니다.

예제:

#include <stdio.h>
int main() {
int i;
for (i = 0; i < 10; i++) {
if (i == 5) {
break; // i가 5이면 반복문 종료
}
printf("%d\n", i);
}
return 0;
}

실행 결과:

0
1
2
3
4

이 예제는 i가 5일 때 반복문을 종료합니다.

SubBlog List