프로그래밍 언어/C언어

C언어) 12. C언어 반복하는 while문

luana_eun 2024. 3. 14. 13:30
728x90

while문이란?

while의 뜻은 "~하는 동안"이다.

따라서 뜻 그대로 조건이 참인동안 같은 명령어를 무한 반복으로 처리한다.

어떠한 동작을 반복적으로 했으면 좋겠다! 싶을때 while문을 사용하면 된다.

 

while문의 구성

while : 괄호()의 조건에 해당하는 경우 하위의 명령어를 실행.

break : while의 무한 반복을 빠져나오는 명령어.

 

 

예제) 사용자에게 숫자 n을 입력받고, 0부터 n까지 출력하시오.

 

위의 문제는 두 가지 방법으로 풀 수 있다.

첫 번째는 while의 조건 만을 이용하는 방법

두 번째는 break; 를 이용하는 방법

방법①

*어려운 분들을 위한 한줄 설명!*

int i :  0부터 하나씩 출력하는 것이기 때문에  초기값 0을 꼭 써야한다.

앞으로 +1씩 늘어날 변수.

5번줄: 전 단원에서 배웠던 출력/입력함수로, 변수 n값을 입력받는다.

 

7번줄: 사용자가 입력한 n까지 출력해야 하므로

조건에 i가 n이하일때(i <= n)으로 적는다.

8번줄: 변수 i의 값을 출력.

9번줄: 후위 증감연산자. 

          여기까지 i는 0이고, 아직 5가 안됐으므로 다시 8번줄로 가서 후휘증감에 의해 0+1 =1이 된다.

 

**후위 증감 연산자가 뭔지 모르시면 블로그 글을 참고해주세요!

https://blog.naver.com/tksop59/221880700477

 

이렇게 계속 8번과9번줄을 왔다갔다 하면서 i가 6이 되면

10번줄: (i <= n)의 조건에 거짓이 되므로 while문을 탈출한다.

 

방법②

*한줄 해석*

 

7번줄: while 조건이 (1)이라는 것은 항상 참이어서  조건이 없는 것과 같다 = 무한반복

9번줄: 여기서 i++;은 사진 속 자리에 위치해도 되지만,

           12번줄과 13번줄 사이에 두고 if조건을 (i==5)로 해도 된다.

10번줄: 6까지만 돌기 위해 if문으로 조건을 만든다.

 

11번줄: i가 6이라는 조건을 만족했을 때 while문을 빠져나오도록 break;명령을 넣는다.

 

무한반복을 하도록 쓸 일은 거의 없지만 그래도 방법은 알아두는게 좋다.

처음 시작하신 분들은 이 예제들이 아직은 어색하겠지만 개발에서 반복은 필수!

728x90