친절코딩

49. break와 continue 본문

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

49. break와 continue

웹도날드 2018.12.03 03:13


지금까지 세 반복문 while과 do~while, for문에 대해 배웠습니다. 반복문 안에 삽입함으로써 처리의 흐름을 바꿀 수 있는 명령어가 있습니다. 바로 break와 continue입니다.


1. break


break는 특정한 조건에 반복문을 탈출하고 싶을 때 if와 함께 사용합니다. 사용 방법은 다음과 같습니다.


1
2
3
4
5
6
7
8
9
10
11
12
반복문( )
{
    반복할 내용
        .
        .
        .
    
    if(조건문)
    {
        break;
    }
}
cs


이전에 switch를 배울 때 break로 switch문을 탈출했던 것과 같이 반복문 안에서도 break를 통해 반복문을 탈출할 수 있습니다. 예제를 보겠습니다. 조건이 항상 참인 무한 반복 while문이지만 if + break를 통해서 원하는 조건에 반복문을 탈출할 수 있게 되었습니다.


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
#include <stdio.h>
 
int main()
{
    int Number = 0;
    int Sum = 0;
 
    while (1)
    {
        Number++;
 
        Sum += Number;
 
        if (Sum > 100)
        {
            break;
        }
    }
 
    printf("Sum은 %d입니다.\n", Sum);
 
    return 0;
}
 
 
출력 결과////////////////////////////////
 
Sum은 105입니다.
cs


만약 중첩된 반복문이 있다면 break를 통해 한 단계의 반복문만 탈출할 수 있습니다. 만약 3겹의 반복문을 특정한 조건에 탈출하고 싶다면 다음과 같이 3개의 break를 사용해야 합니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
반복문( )
{
    반복문( )
    {
        반복문( )
        {
            if + break;
        }
 
        if + break;
    }
 
    if + break;
}
cs


2. continue


continue는 break와 다르게 반복문을 완전히 탈출하는 것이 아니라 특정한 상황의 처리만 건너뛴다는 특징이 있습니다. continue의 사용법도 break와 동일합니다. 바로 예제를 보겠습니다.


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
#include <stdio.h>
 
int main()
{
    for (int i = 1; i < 11++i)
    {
        if (i % 3 == 0)
        {
            printf("-- 3의 배수는 건너 뜁니다 --\n");
            continue;
        }
 
        printf("%d번째 출력입니다.\n", i);
    }
 
    return 0;
}
 
 
출력 결과////////////////////////////////
 
1번째 출력입니다.
2번째 출력입니다.
-- 3의 배수는 건너 뜁니다 --
4번째 출력입니다.
5번째 출력입니다.
-- 3의 배수는 건너 뜁니다 --
7번째 출력입니다.
8번째 출력입니다.
-- 3의 배수는 건너 뜁니다 --
10번째 출력입니다.
cs


위 코드는 1부터 10까지 문장을 출력하는 코드이지만 횟수가 3의 배수가 될 때마다 특정 문장(-- 3의 배수는...)을 실행하고 continue로 그 다음 내용을 건너 뛰고 바로 다음 반복으로 넘어가게 됩니다. 이렇게 continue를 사용하게되면 반복문을 끝내지 않으면서도 특정 반복구간을 건너뛸 수 있습니다.


break와 continue는 상황에 따라 자주 사용될 수 있습니다. 둘의 차이를 확실히 구분하여 사용하시길 바랍니다.

'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
댓글쓰기 폼