Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어 점프문 완벽 정리: break, continue, return, goto의 개념과 예제

개요

C 프로그래밍 언어는 프로그램 실행 도중 한 문장에서 다른 문장으로 제어를 건너뛰는 점프문(jump statement)을 지원합니다. 대표적인 점프문으로는 break, continue, return, goto 네 가지가 있으며, 각각의 용도와 동작 방식이 서로 다릅니다. 이 글에서는 네 가지 점프문의 개념, 문법, 예제 코드와 실행 결과를 하나씩 살펴보겠습니다.

1. break 문

break는 반복문을 강제로 종료하거나 블록을 빠져나올 때 사용하는 키워드입니다.

  • 반복문(for, while, do-while)이나 switch 블록을 즉시 탈출합니다.
  • 제어는 반복문(또는 블록) 바로 다음 문장으로 이동합니다.
  • for, while, do-while, switch 문과 함께 사용됩니다.
  • 중첩된 반복문에서 사용하면 가장 안쪽 반복문만 종료됩니다.

break 문의 기본 문법은 다음과 같습니다.

break;

예제

다음은 break 문을 활용한 C 프로그램입니다.

#include<stdio.h>
main( ){
    int i;
    for (i=1; i<=5; i++){
        printf ("%d ", i);
        if (i==3)
            break;
    }
}

실행 결과

1 2 3

i가 3이 되는 순간 break 문이 실행되어 반복문이 종료되므로, 4와 5는 출력되지 않습니다.

2. continue 문

continue는 현재 진행 중인 반복 회차를 건너뛰고 다음 회차로 넘어갈 때 사용합니다. 반복문 자체를 종료하는 break와 달리, continue는 해당 차례의 나머지 코드만 생략하고 반복은 계속 진행됩니다.

continue 문의 기본 문법은 다음과 같습니다.

continue;

예제

다음은 continue 문을 활용한 C 프로그램입니다.

#include<stdio.h>
main( ){
    int i;
    for (i=1; i<=5; i++){
        if (i==2)
            continue;
        printf("%d ", i);
    }
}

실행 결과

1 3 4 5

i가 2일 때 continue가 실행되어 printf가 건너뛰어지므로, 2만 출력되지 않고 나머지 숫자는 모두 출력됩니다.

3. return 문

return은 함수의 실행을 종료하고, 호출한 함수(caller)에게 제어를 되돌려줍니다. 필요에 따라 표현식이나 값을 함께 반환할 수도 있습니다.

return 문의 기본 문법은 다음과 같습니다.

return[expression/value];

예제

다음은 return 문을 활용한 C 프로그램입니다.

#include<stdio.h>
main(){
    int a,b,c;
    printf("enter a and b value:");
    scanf("%d%d",&a,&b);
    c=a*b;
    return(c);
}

실행 결과

enter a and b value:2 4
Process returned 8 (0x8)

입력받은 두 수 2와 4를 곱한 값 8이 main 함수의 반환값으로 전달되면서 프로그램이 종료됩니다.

4. goto 문

goto는 일반적인 순차적 실행 흐름을 벗어나, 프로그램 내 특정 위치(레이블)로 제어를 직접 이동시키는 문장입니다.

goto 문의 기본 문법은 다음과 같습니다.

goto 레이블명;
...
레이블명: 문장;

예제

다음은 goto 문을 활용한 C 프로그램입니다.

#include<stdio.h>
main( ) {
    printf("Hello");
    goto l1;
    printf("How are");
    l1: printf("you");
}

실행 결과

Hello you

"How are"는 goto 문에 의해 건너뛰어지고, l1 레이블로 제어가 이동하여 "you"만 출력됩니다.

마무리

점프문은 프로그램의 흐름을 유연하게 제어할 수 있게 해주지만, 특히 goto 문은 코드의 가독성과 유지보수성을 해칠 수 있어 현대적인 C 프로그래밍에서는 사용을 최소화하는 것이 좋습니다. break와 continue는 반복문 제어에 유용하고, return은 함수 종료와 값 반환에 필수적이므로 상황에 맞게 적절히 활용하시기 바랍니다.