본문 바로가기
프로그래밍언어/C언어

반복문을 만드는 방법1 - while문

by J코딩 2022. 2. 8.
반응형

while 문은 일반적으로 프로그래밍을 할 때 자주 사용하는 것 중 하나이며 while 루프(Loop)라고도 합니다. 여기서는 while 문과 관련하여 다음과 같이 세 가지를 다룰 예정입니다.

  • while 문의 기본 문법
  • while 무한 루프
  • 중첩 while 문

while 문의 기본 문법
먼저 while의 사전적 의미부터 알아보겠습니다. while은 '~하는 동안'의 의미가 있습니다. 컴퓨팅 세계에서의 while 문의 의미는 어떤 '조건'이 '참'인 동안 '반복해라'는 의미입니다. 다음은 while문의 구조를 나타내고 있습니다. while 문의 괄호 안에 조건을 쓰고 중괄호 안에 반복할 내용을 쓰게 됩니다. while 문은 명시한 조건이 참인 동안은 반복할 내용을 계속해서 수행합니다.

 

 

 

 

간단한 예제를 가지고 while 문을 배워 보겠습니다.

조건을 비교 실행①과 ②를 반복적으로 수행해라!


5행에서 조건 num (5가 참(1)인지 거짓(0)인지를 판단하는 비교 연산을 수행합니다. 참이면 7행과 8행을 수행하고, 거짓이면 반복문을 종료합니다. 7행에서 5행이 참인 경우 실행되는 출력 문장으로 변수 num에 저장된 값을 출력합니다. 8행에서 'num++'는 'num= num+11과 같은 문장으로 변수 num의 값을 1 증가시킵니다. 8행이 수행되고 나면 다시 5행으로 가서 num<5가 참인지 거짓인지 비교합니다. 참이면 다시 7행과 8행을 수행하고, 거짓이면 반복문을 종료합니다. 10행에서 5행의 비교 연산의 결과가 거짓일 때, 반복문이 종료된 이후의 변수값을 출력합니다. 변수 num에 저장된 최종 값은 5임을 확인할 수 있습니다.

반복문을 공부할 때는 변수의 값을 그림으로 그리며 분석하면 이해가 빠릅니다. 나중에 포인터를 공부할 때 도움이 될 수 있으므로 습관화하기 바랍니다. 다음 그림은 4행부터 10행까지 설명을 도식화한 것입니다.

 

 

다음 예제를 가지고 while 문의 기본 문법을 확실히 다루겠습니다.

5행은 정수형 변수 i의 값이 10보다 작거나 같은 경우 반복문(7행~9행)을 수행하라는 의미입니다. 7행에서 변수 sum의 값에 변수 i의 값을 더해서 결과를 다시 변수 sum에 저장하여 누적시킵니다. 따라서 i의 값 0부터 10까지의 합을 연산합니다. 8행에서 현재 변수 i와 sum의 값을화면에 지속적으로 출력합니다. 실행 결과를 살펴보면 1가 10인 경우까지 반복문의 동작이 반복해서 수행된다는 것을 알 수 있습니다.
9행에서 변수 i의 값을 1만큼 증가시키고, 다시 5행의 i=10 비교 연산을 수행하게 되고, 반복문이므로 while 문의 조건은 계속해서 비교하게 되어 있습니다. 변수 1의 값이 10을 초과하면 즉, 11이 되면 프로그램의 실행 흐름은 7행, 8행, 9행의 반복문을 수행하지 않고 10행으로 반복문을 종료하여 11행의 내용을 수행합니다.

반응형

댓글