NULL

while문 반복문 본문

C

while문 반복문

1924 2016. 12. 14. 14:07

반복문은 말 그대로

내가 반복하고

싶은 문장을 반복한다.


반복문의 종류는


while말고도 do while, for

이렇게 3가지가 존재한다.



while문 사용법



이런식으로 사용하는 것이다.


소스 분석을 해보면


int num=0을 선언하고

while(조건) 조건이 맞을시 { } 괄호 안에

문장을 실행하는것이다.


그러면 num=0

num이 3보다 작으니까

다음문장을 실행하게 되고


Hello world! 0 을 실행하게 되고

num++; num을 1증가시킨다.


그리고 다시 while로 돌아와서

조건을 본다.


num=1이며 여전히 3보다작으니

문장을 실행하게 되고


Hello world! 1 을 실행하고

num++; 또 1증가시키니까

num=2가됩니다.


다시 while조건보고


num=2이며 3보다 작으니까


또 문장실행해서


Hello world! 2를 실행하고

num++; 증가로 num은 3이 됩니다.


그리고 다시 조건을 보게 됩니다.


그런데 3보다 작아야 되는데

num은 3이라서 조건 불일치로

while은 더이상 실행되지않고

프로그램이 종료가 되는 소스입니다.


여기서 주의해야될것은?


while안에서는 0부터 3미만까지

0 1 2 총 3회 반복을 합니다.

이 소스에서는

num의 최종값은 3입니다.


다만 while의 조건에서는 3미만까지만

문장실행을 하게 해둬서

3이 출력되지않았지만


조건에서 2까지만 출력했다고해서

num의 최종값은 2입니다라고

착각하면 안됩니다.


이것은 while뿐만 아니라

모든 조건에서 헥갈릴수있으니

조심합시다.


while을 이용한 무한루프 사용법


while(1){ } or while(true){ }


조건에 1아니면 true를 써주게 되면

계속 조건이 일치되면서

무한반복이 이루어집니다.


반대로 


while(0){ } or while(false){ }


이렇게 쓴다면 0은 거짓이며

false역시 거짓을 의미하기때문에

조건이 거짓이 되며 실행되지않습니다.



중첩 while


이것은 while안에 while을 써주는겁니다.



구구단으로 예를 들수있습니다.


while(cur<10)은 2부터 9까지 반복되며

cur이 반복될때마다 is=1로 초기화되면서

중첩while에서 is<10 까지 반복하죠

is=1이니까 1부터 9까지 반복입니다.


실행문에서 cur*is 를 출력하고

is++; 1씩 증가시키고 있습니다.


그러면 프로그램을 시작하면


cur=2, is=0으로 변수선언하고


cur부터 10미만까지 조건에 맞아서

while문 안에 문장을 실행합니다.


is=1로 초기화하고 


중첩while로 들어갑니다.

is<10까지 반복합니다.


그러면 1부터 9까지 반복하며


출력은 cur*is 이니까


2*1 ~ 2*9까지 출력하고

중첩while을 빠져나가서

cur을 1증가시키고

while조건을 다시 확인후

cur는 9까지 반복하니

쭉 9까지 반복을 합니다.


cur가 1번 반복할때마다

is는 9번 반복하는 원리입니다.

'C' 카테고리의 다른 글

for문과 반복문 사용용도  (0) 2016.12.14
do while 반복문  (0) 2016.12.14
필드폭 개념  (0) 2016.12.14
자동 형 변환(Conversion)  (0) 2016.12.14
심볼릭상수 개념정리  (0) 2016.12.14
Comments