프로그래밍언어/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