NULL
while문 반복문 본문
반복문은 말 그대로
내가 반복하고
싶은 문장을 반복한다.
반복문의 종류는
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 |