개요
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은 함수 종료와 값 반환에 필수적이므로 상황에 맞게 적절히 활용하시기 바랍니다.