34 – 제어문(while)

프로그램을 짤 때, 동일한 작업을 반복하게 되는 경우가 발생한다. 예를 들어, 1부터 1000까지의 합을 계산하고자 할 때, 먼저 다음과 같이 1을 0으로 초기화된 sum이라는 변수에 더해서 sum에 저장한다.

sum = sum + 1;

2를 다시 sum에 더해서 저장하고, 이러한 동작을 1000 까지 진행을 하면 1부터 1000까지 더하게 된다.

sum = sum + 2;

…….

sum = sum + 1000;

이 문장을 보면, 특정한 규칙을 가지고 반복된다는 것을 볼 수 있다. 이와 같이 동일한 부분이 반복적으로 실행되어야 하는 경우에 효율적인 제어를 하는 제어문을 반복문이라고 하며, while,  for, d0-while 문이 있다. 이들에 대해서 하나 하나 살펴보도록 하는데, while을 먼저 살펴본다.

while문은 주어진 조건이 참인 동안에 반복문 내의 명령문을 실행하고 그렇지 않으면 반복문 다음에 나오는 명령문을 실행한다. 즉, 조건식이 참이면 그 문장을 실행하고 다시 while문의 시작 부분으로 가서 조건을 평가한다. 그리고 조건이 참이면 다시 문장을 실행하고 다시 조건을 평가한다. 이 작업을 거짓이 될 때까지 반복한다.

while문을 이용한 프로그램의 예시를 아래와 같이 작성하였다. 입력된 문자 ch가 A보다 크거나 같으면 문자열을 계속 출력한다. 초기에 Z가 입력되어 있는데, 이 Z를 출력하고 ch를 Y로 변경한다. 그리고 나서 다시 조건을 체크하여 참이 되었으니 Y를 출력하고 X가 값으로 되는 것이다. 그렇게 하여 A까지 출력한다.

스크린샷 2017-02-16 오후 3.12.06스크린샷 2017-02-16 오후 3.12.54

그리고 while을 무한히 반복하게 할 수 있는데 조건식에 1(혹은 true)을 작성하면 된다. 그리고 이를 빠져나오기 위해서는 break 문을 이용하면 된다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.