더북(TheBook)

for 문의 조건은 그대로입니다. 그리고 6~10번 학생이 발표해야 하니까 if 문의 조건으로 6보다 크거나 같고 10보다 작거나 같으면 조별 발표를 준비하도록 설정합니다. 그런데 7번 학생은 결석했으니 발표할 수 없겠죠. 조건 안에 예외 조건이 있으므로 이런 경우에는 if 문 안에 또 다른 if 문을 넣습니다. 그래서 조건으로 i가 7이면 printf() 문을 실행하도록 작성합니다. 이처럼 if 문도 for 문처럼 중첩해서 사용할 수 있습니다.

그런데 실행결과를 보면 7번 학생이 결석이라고 나오고 연달아 조별 발표를 준비하라고 나오네요. 안쪽 if 문에서 i는 7이라는 조건을 만족해 문장을 출력하고 두 번째 if 문은 빠져나왔습니다. 하지만 바깥쪽 if 문에 속하는 printf() 문이 있어서 7번 학생은 결석했는데도 발표를 준비해야 하는 불쌍한 상황이 생겼습니다.

이런 상황을 막고 싶겠죠? 이럴 때는 continue 문을 사용합니다. 앞에서 조건을 만족하고 수행하다가 break 문을 만나면 다음 문장을 수행하지 않고 바로 반복문을 탈출했죠? continue 문은 조건을 만족하고 수행하다가 continue 문을 만나면 다음 문장을 수행하지 않는 부분까지는 break 문과 같습니다. 그런데 break 문과 달리 반복문을 탈출하지 않고 이번 반복만 종료한 후 다음 반복으로 넘어갑니다. 그래서 i가 7일 때 ‘7번 학생은 결석입니다.’를 출력하고 continue 문을 만나면 바깥쪽 if 문에 속하는 printf() 문을 수행하지 않고 i++를 수행한 후 다음 반복으로 넘어갑니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.