친절코딩

48. 다중 for문 본문

C언어 배우기/C언어 배우기(1~50)

48. 다중 for문

웹도날드 2018.11.28 22:58


for문이나 while문은 필요에 따라 중첩해서 사용할 수 있습니다. 그 예로 for문을 중첩한 형태에 대해 배워보겠습니다. 다중 for문의 사용법은 다음과 같습니다.


1
2
3
4
5
6
7
8
9
for(식 1; 식 2; 식 3)
{
    반복할 내용
 
    for(식 1; 식 2; 식 3)
    {
        반복할 내용
    }
}
cs


말 그대로 for문 안에 for문을 추가로 넣는 것입니다. 예제를 보며 설명을 이어나가겠습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <stdio.h>
 
int main()
{
    for (int i = 0; i < 3++i)
    {
        printf("=====%d번째 바깥쪽 for문이 실행됩니다.=====\n\n", i + 1);
 
        for (int j = 0; j < 3++j)
        {
            printf("%d번째 안쪽 for문이 실행됩니다.\n", j + 1);
        }
 
        printf("\n");
    }
 
    return 0;
}
 
 
출력 결과////////////////////////////////
 
=====1번째 바깥쪽 for문이 실행됩니다.=====
 
1번째 안쪽 for문이 실행됩니다.
2번째 안쪽 for문이 실행됩니다.
3번째 안쪽 for문이 실행됩니다.
 
=====2번째 바깥쪽 for문이 실행됩니다.=====
 
1번째 안쪽 for문이 실행됩니다.
2번째 안쪽 for문이 실행됩니다.
3번째 안쪽 for문이 실행됩니다.
 
=====3번째 바깥쪽 for문이 실행됩니다.=====
 
1번째 안쪽 for문이 실행됩니다.
2번째 안쪽 for문이 실행됩니다.
3번째 안쪽 for문이 실행됩니다.
cs


코드가 실행되면 먼저 바깥쪽에 있는 for문이 실행되기 시작합니다. '1번째 바깥쪽...' 문장이 출력되고 난 후 안쪽 for문이 실행되며 3번의 반복이 일어납니다. 안쪽 for문의 반복이 끝나면 실행은 14번째줄로 이어져 개행이 한 번 일어난 후 바깥쪽 for문의 실행이 끝납니다. 이 과정을 두 번 더 반복하게 되는 것입니다. 처음에는 이해가 어려울 수도 있지만 시간이 지나면 자연스럽게 코드가 해석될 것입니다.


for문을 중첩해서 삼중 for문, 사중 for문 등을 만들 수도 있지만 실제로 잘 쓰이지 않습니다. 이중 for문을 이용한 대표적인 사례인 구구단 출력에 대해 알아보겠습니다. 다음 코드는 2단부터 4단까지를 출력하는 코드입니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <stdio.h>
 
int main()
{
    for (int i = 2; i < 5++i)
    {
        printf("=== %d 단 ===\n", i);
 
        for (int j = 1; j < 10++j)
        {
            printf("%d * %d = %d\n", i, j, i * j);
        }
 
        printf("\n");
    }
 
    return 0;
}
 
 
출력 결과////////////////////////////////
 
=== 2 단 ===
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
 
=== 3 단 ===
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
 
=== 4 단 ===
4 * 1 = 4
4 * 2 = 8
4 * 3 = 12
4 * 4 = 16
4 * 5 = 20
4 * 6 = 24
4 * 7 = 28
4 * 8 = 32
4 * 9 = 36
cs


중요한 것은 바깥쪽 for문의 두 번째 조건식인 i < 5만 수정하면 원하는 구구단이 몇 단이든지 출력할 수 있다는 점입니다. 이렇게 다중 for문을 통해 좀 더 복잡한 작업을 할 수 있습니다.

'C언어 배우기 > C언어 배우기(1~50)' 카테고리의 다른 글

50. 배열과 인덱스  (0) 2018.12.03
49. break와 continue  (0) 2018.12.03
48. 다중 for문  (0) 2018.11.28
47. for문  (0) 2018.11.27
46. do~while문  (0) 2018.11.23
45. while문  (0) 2018.11.22
0 Comments
댓글쓰기 폼