break와 continue
break 문 개요
break 문은 현재의 반복문이나 switch 문을 즉시 종료하고 그 다음 문장으로 제어를 이동시키는 제어 흐름 문장입니다.
주로 특정 조건이 만족되면 반복문을 빠져나오고 싶을 때 사용합니다.
break 문의 사용
반복문에서의 break
이 예제에서 i가 5가 되면 break 문이 실행되어 for 루프가 즉시 종료됩니다.
중첩 반복문에서의 break
이 예제에서 break는 가장 안쪽의 for 루프만 종료시킵니다.
switch 문에서의 break
switch 문에서 break는 각 case 후에 사용하여 다음 case로 실행이 이어지는 것을 방지합니다.
continue 문 개요
continue 문은 현재의 반복을 즉시 종료하고 다음 반복으로 제어를 이동시키는 제어 흐름 문장입니다. 특정 조건에서 반복문의 나머지 부분을 건너뛰고 싶을 때 사용합니다.
continue 문의 사용
for 반복문에서의 continue
이 예제에서 i가 3일 때 continue 문이 실행되어 그 반복을 건너뛰고 다음 반복으로 진행됩니다.
while 반복문에서의 continue
while 루프에서 continue를 사용할 때는 반복 조건 변수(여기서는 i)의 증가에 주의해야 합니다.
break와 continue의 차이점
- break : 반복문을 완전히 종료하고 다음 문장으로 이동합니다.
- continue : 현재 반복만 종료하고 다음 반복으로 진행합니다.
주의사항
- 과도한 사용은 코드의 가독성을 해칠 수 있습니다. 가능한 경우 조건문을 사용하여 로직을 명확히 표현하는 것이 좋습니다.
- 무한 루프에서 break를 사용할 때는 반드시 종료 조건이 만족될 수 있도록 해야 합니다.
- continue 사용 시 반복 조건 변수 업데이트에 주의해야 합니다. 특히 while 루프에서 주의가 필요합니다.
- 중첩된 반복문에서 break나 continue는 가장 안쪽의 반복문에만 영향을 미칩니다.
대안적 접근법
- 함수 사용 : 복잡한 로직을 함수로 분리하여 break나 continue 사용을 줄일 수 있습니다.
- 불리언 플래그 사용 : break 대신 플래그를 사용하여 루프를 제어할 수 있습니다.
연습 문제
- 사용자로부터 숫자를 입력받아 양수의 합만 계산하는 프로그램을 작성하세요. 음수가 입력되면 프로그램을 종료합니다.
- 2부터 100까지의 소수를 출력하는 프로그램을 작성하세요. break와 continue를 적절히 활용하세요.
- 문자열에서 모음(a, e, i, o, u)을 제외한 문자만 출력하는 프로그램을 작성하세요.
- 1부터 시작하여 3의 배수와 5의 배수를 출력하는 프로그램을 작성하세요. 단, 100을 초과하는 첫 번째 수에서 프로그램을 종료합니다.
참고자료
- C++ 공식 문서의 break 문 섹션 : C++ break statement
- C++ 공식 문서의 continue 문 섹션 : C++ continue statement
- C++ Core Guidelines의 제어 흐름 관련 규칙 : ES.74 : Prefer to declare a loop variable in the initializer part of a for-statement
- Effective C++ : 항목 3 "가능한 한 const를 사용하라" - Scott Meyers (반복문에서의 const 사용)