반 복문 의 탈출 과 생략 을 담당 하 는 break 문과 continue 문 에 대해 알아보 겠 다 . 이 두 문 은 정말 간단 하 다 . break ; 혹은 continue ; 이렇게 써 주 기 만 하 면 끝 이 다 . 하 지만 놓치 기 쉬운 사실 이 있 으니 섣불리 넘어가 진 말 자 . 꼼꼼 하 게 살펴 봐야 할 부분 이 있 기 때문 이 다 . 이제 그만 빠져 나가 자 ! break ! break 문 은 반 복문 을 탈출 할 때 사용 하 는 키워드 이 다 . break 문 이 실행 되 면 break 문 을 가장 가까이 서 감싸 고 있 는 반 복문 하나 를 빠져 나오 게 된다 . 즉 , for 문 이 되 었 건 while 문 이 되 었 건 do while 문 이 되 었 건 가장 가까이 있 는 반 복문 을 탈출 한다는 것 이 다 . 여기 서 주의 할 점 은 if 문 을 반 복문 이 라고 생각 해서 if 문 을 빠져 나온다고 생각 하 면 안 된다는 것 이 다 . 어디 까지 나 반 복문 하나 를 빠져나가 는데 사용 이 된다 . 다음 은 break 문 의 예제 이 다 . int sum = 0 , num = 0 ; while ( 1 ) { sum += num ; if ( sum > 5000 ) break ; num ++;} num 의 값 이 0 부터 1 씩 증가 하 게 되 고 sum 은 그 값 들 을 전부 더 하 게 된다 . 그리고 sum 의 값 이 5000 을 넘 게 되 면 조건문 이 참 이 되 면서 조건문 안 에 있 는 break 로 인해 반 복문 에서 나오 게 된다 . 나머지 생략 하 고 반복 조건 확인 ! continue ! continue 문 은 생략 이 라고 제목 에서 부 터 이야기 했 다 . 그럼 무엇 을 생략 할까 ? 반 복문 전체 를 ? 결론 을 말 하 자면 아니 다 . 반 복문 안 에서 continue 문 이 실행 되 면 실행 중 인 위치 에 상관없이 반 복문 의 조건 검사 위치 로 이동 을 한다 . 주로 조건문 과 같이 쓰이 면서 조건 을 만족 하 는 것 은 continue 문 으로 생략 을 시키 는 방식 으로 쓰이 게 된다 . 다음 은 continue 문 의 예제 이 다 . int num ; for ( num = 1 ; num < 20 ; num ++ ){ if ( num % 2 == 0 || num % 3 == 0 continue ; printf ( "% d ", num ) ;} 위 예제 를 보 면 num 은 1 부터 19 까지 증가 하 고 그 값 을 printf 함수 를 통해 화면 에 출력 하 게 된다 . 그러나 if 문의 continue ; 문 으로 인해 if 문 을 만족 하 는 2 의 배수 와 3 의 배수 는 출력 되 지 않 고 조건문 으로 돌아가 게 되 어서 2 의 배수 와 3 의 배수 는 출력 되 지 않 는다 . 반복 될 때 num 의 값 은 초기 화 되 지 않 는다 . 예 를 들 어 num 이 6 인 경우 if 문 이 참 이 되 고 continue 가 실행 되 어 printf 문 을 생략 하 고 num 의 값 이 7 로 증가 한 상태 에서 반복 영역 을 처음 부터 재 실행 하 게 되 는 것 이 다 . 개념 을 다 익혔 다면 문제 에 한 번 도전 해 보 는 것 도 좋 을 것 같 다 . 문제 1 ) 구구단 을 출력 하 되 짝수 단 ( 2 단 , 4 단 , 6 단 , 8 단 ) 만 출력 되 도록 하 자 . 또한 2 단 은 2 x 2 까지 , 4 단 은 4 x 4 까지 , 6 단 은 6 x 6 까지 , 8 단 은 8 x 8 까지 만 출력 되 도록 프로그램 을 구현 해 보 자 . ( continue 와 break 문 을 사용 할 것 . ) 문제 2 ) 다음 식 을 만족 하 는 모든 A 와 Z 를 구하 는 프로그램 을 작성 해 보 자 . A Z + Z A -------- 9 9 ( 가능 한 모든 수 의 조합 을 시도 하 기 위해서 는 반 복문 을 중첩 시켜야 한다 . ) 다음 포스팅 에서 프로그래밍 코드 와 정답 을 올려 놓 도록 하 겠 다 .