Limetime's TimeLine
article thumbnail
Published 2017. 9. 11. 23:49
while 반복문 C&C++
반응형

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문의 중첩

반응형
profile

Limetime's TimeLine

@Limetime

포스팅이 좋았다면 "공감❤️" 또는 "구독👍🏻" 해주세요!