프로그래밍언어/C언어[초급]

[C언어][초급] Chapter32. 중첩 반복문 – 반복문 안에 반복문을 넣어 사용하는 방법

about_IT 2025. 4. 18. 06:00
728x90

반복문 안에 또 다른 반복문을 넣는 것을 중첩 반복문이라고 합니다.
이 구조는 2차원 배열 처리, 표 형식 출력, 별 찍기 등에서 매우 자주 사용됩니다.

중첩 반복문을 사용하면 반복 안에서 또 다른 반복 작업을 수행할 수 있어, 좀 더 복잡한 구조도 간단하게 처리할 수 있습니다.


● 중첩 for문의 기본 구조

for (int i = 1; i <= 3; i++) {
    for (int j = 1; j <= 2; j++) {
        printf("i=%d, j=%d\n", i, j);
    }
}

출력 결과:
i=1, j=1
i=1, j=2
i=2, j=1
i=2, j=2
i=3, j=1
i=3, j=2

i가 한 번 증가할 때마다 j는 2번 반복됩니다.


● while문과도 중첩 가능

int i = 1;

while (i <= 2) {
    int j = 1;
    while (j <= 3) {
        printf("i=%d, j=%d\n", i, j);
        j++;
    }
    i++;
}

for문뿐 아니라 while문도 중첩 가능하며, 조합해서 사용할 수도 있습니다.


● 중첩 반복문의 실제 활용: 구구단 출력

for (int dan = 2; dan <= 9; dan++) {
    for (int i = 1; i <= 9; i++) {
        printf("%d x %d = %d\n", dan, i, dan * i);
    }
    printf("\n");
}

단(dan)이 바뀔 때마다 1~9까지의 곱셈을 반복 출력합니다.


중첩 반복문은 행과 열처럼 2중 구조를 가진 데이터를 다룰 때 매우 유용합니다.
한 단계씩 논리를 정리하고, 안쪽 반복문이 언제 반복되는지를 정확히 이해하는 것이 중요합니다.

이제 다양한 상황에서 중첩 반복문을 연습해보세요.


● 실습 문제

문제 1

다음 중첩 for문이 출력하는 결과를 예상해보세요.

for (int i = 1; i <= 2; i++) {
    for (int j = 1; j <= 3; j++) {
        printf("%d ", j);
    }
    printf("\n");
}

 

문제 2

2단부터 4단까지 구구단을 출력하는 중첩 for문을 작성하세요.

 

문제 3

다음 코드는 몇 번 printf를 실행할까요?

for (int i = 1; i <= 3; i++) {
    for (int j = 1; j <= 2; j++) {
        printf("* ");
    }
}

 

문제 4

중첩 while문을 사용하여 다음과 같은 출력을 만드세요:

1 2 3
1 2 3

 

문제 5

중첩 반복문을 활용해 아래와 같은 별을 출력하세요:

*
**
***

 









▶ 정답 확인하기

정답 1

1 2 3
1 2 3

 

정답 2

for (int dan = 2; dan <= 4; dan++) {
    for (int i = 1; i <= 9; i++) {
        printf("%d x %d = %d\n", dan, i, dan * i);
    }
    printf("\n");
}

 

정답 3

총 6번 실행됩니다. (3 * 2 = 6)

 

정답 4

int i = 1;
while (i <= 2) {
    int j = 1;
    while (j <= 3) {
        printf("%d ", j);
        j++;
    }
    printf("\n");
    i++;
}

 

정답 5

for (int i = 1; i <= 3; i++) {
    for (int j = 1; j <= i; j++) {
        printf("*");
    }
    printf("\n");
}
728x90