while 반복문
while반복문은 반복의 조건을 무너뜨리기 위한 최소한의 연산이라고들 하는데
그 이유는 바로 불필요한 반복을 한번의 선언으로 끝낼 수 있다는 것이다.
자 예제를 보면 'while(num<3)'부분이 보이는가?
무엇을 하는 부분 같은가?
"아! while은 반복문이니깐 관련이 있겠구나."하고 짐작이 가는가?
바로 while은 반복문이고 안의 인자값인 num<3은 num이 3보다 작을 때, 참이 될 때, 중괄호 속을 실행하게 된다.
출력 결과는
Hello World! 0
Hello World! 1
Hello World! 2
이렇게 총 3번 실행되게 된다.
만약 위 코드에서 num의 값을 1씩 증가시켜주는 num++ 문장이 사라지게 되면 어떻게 될까?
num++의 역할은 num이 반복할 때 마다 num의 값을 1씩 증가시켜
반복조건에 거짓(num의 값이 3이 아니도록)을 제시하여 반복문을 탈출하는 역할을 제공한다.
그럼 num++이 없다면 num은 계속 0인 상태일 것이고, 3보다 작다는 반복조건에 평생 '참'이니
무한 루프에 빠질 것 이다. (이럴 때는 Ctrl +C로 빠져나간다.)
ㆍ 위 코드가 읽기 불편하거나 개인적인 사정에 의해서 불편을 느낀다면
한 줄로 줄일 수 있다. (한 줄로 줄이게 되면 중괄호를 생략 가능)
①
while(num<3){
printf("Hello World! %d \n", num++);
②
while(num<3)
printf("Hello World! %d \n", num), num++;
ㆍ while문의 흐름 도식화 (순서도 - Flow Chart)
ㆍ 무한 루프의 구성 : 반복 조건이 와야할 위치에 0이 아닌 값('참'을 의미하는 값)이 올 경우
while(1){ // 1의 값을 항상 참. = 무한 반복
printf("%dx%d=%d \n",dan, num, dan*num);
num++;
}
ㆍ while문의 중첩