본문 바로가기

Studying/Computer Programs

C/C++ 반복문을 제어하는 continue와 break

이번 포스팅에서는 C언어나 C++ 프로그램에 등장하는 반복문을 제어하기 위한 continuebreak 명령어들에 대해서 알아봅시다. 이들을 활용하면 반복문 내에서 필요하지 않은 연산문들을 생략할 수 있게 되어 프로그램의 효율성을 높이는 데 도움이 됩니다.

 

반응형

 

여기서는 C언어나 C++ 프로그램에서의 반복문에 대해서 다루고 있는데, for문 또는 while문을 이용해서 특정 명령문들을 반복적으로 실행하는 방법에 대해서는 다음 포스팅에 더 자세한 내용이 소개되어 있습니다.

 

 

C언어 프로그래밍 기초 : 반복문 (for, while)

여기서는 C언어나 C++ 프로그램을 작성할 때 특정한 구문들을 반복해서 실행하는 반복문 (loop)에 대해서 알아봅시다. 반복문의 종류와 더불어 반복을 위한 조건을 설정하는 방법에 대해서도 살펴

swstar.tistory.com

 

첫 번째로 소개할 continue문은 특정 조건이 만족되면 반복문 내의 나머지 실행문들을 생략하고, 다음 단계로 넘어가도록 하는 데 사용됩니다. 다시 말해서 continue문 다음에 나오는 실행문들을 건너뛰고 반복문의 다음 단계를 실행하게 되죠.

 

for ([초기화]; [반복조건]; [연산문]) {
    [실행문 1]

    if ([조건문]) {
        continue;
    }

    /* continue문을 위한 조건이 참이 되는경우,
     * 실행되지 않고, 반복문의 다음 단계로 이동 */
    [실행문 2]
}

 

예를 들어서 2개의 실행문 사이에 continue문이 있다면, continue문을 실행시키기 위한 조건이 이 되는 경우 두번째 실행문을 생략하게 되는 것입니다.

 

두 번째로 소개할 break문의 역할은 반복문을 빠져나온 뒤에, 반복문 다음에 나오는 구문들을 순차적으로 실행하는 것입니다. 반복문의 실행을 중지시키기 때문에, 이를 위한 조건을 설정해줘야 합니다.

 

for ([초기화]; [반복조건]; [연산문]) {
    [실행문 1]

    if ([조건문]) {
        break;
    }

    /* break문을 위한 조건이 참이 되는경우,
     * 실행되지 않고 반복문을 빠져나옵니다. */
    [실행문 2]
}

 

반복문 내에서 break문 이전에 나오는 구문들은 실행됩니다. 반면에 break문을 위한 조건이 이 되는경우, 그 다음에 나오는 실행문들을 모두 생략함과 동시에 반복문을 빠져나오게 됩니다.

 

간단한 예시로서, 1100사이에 있는 모든 홀수의 합을 구한 뒤 sum이라는 정수형 변수에 저장하는 코드를 다음과 같이 구성할 수 있습니다.

 

int sum = 0;

int i = 0;
while (i >= 0) {
    i += 1;
    if (i > 100) {
        break;
    }

    if (i % 2 == 0) {
        continue;
    }

    sum += i;
}

 

정수형 변수 i0보다 크거나 같을 경우 while문이 반복적으로 실행되는 것을 볼 수 있는데요. 이 조건은 항상 이 되기 때문에 break문을 사용하지 않을 경우 반복문을 빠져나올 수 없어서 무한루프에 빠지게 됩니다. 따라서 i100보다 큰 경우, break문을 호출하여 반복문을 중지시킬 필요가 있겠죠.

 

짝수를 제외한 홀수만을 더하기 위해서 continue문이 사용되고 있습니다. i의 값이 짝수이면 이를 2로 나눈 나머지가 0이 되고, 이 때는 continue문을 실행시켜 sum에다가 i의 값을 더하는 과정을 생략하게 됩니다. 결과적으로, i의 값이 홀수인 경우에만 이를 sum에다가 더하게 되는 것입니다.

 


 

C언어나 C++ 소스 코드로부터 프로그램을 만드는 과정에 대한 더 자세한 내용은 다음 포스팅에 소개되어 있습니다.

 

 

C/C++ 코드가 프로그램이 되는 과정

여기서는 C언어 또는 C++로 작성된 소스 파일, 헤더 파일의 개념과 이들을 빌드하여 하나의 프로그램을 만드는 과정에 대해 간략하게 짚어보겠습니다. 여러 개의 소스, 헤더 파일들로 이루어진

swstar.tistory.com