While 문 ?
저번에 포스팅했던 for 와 같은 용도로 사용됩니다.
반복을 위하여 사용되는 것이지요.
하지만 For 문과는 문법적인 차이점이 있습니다.
For 문은 다음과 같은 문법을 가지고 있었습니다.
for ( 초기식 ; 조건식 ; 증감식 ){
실행문
}
그러나 while문은 다음과 같은 문법을 가지고 있습니다.
while(조건식){
실행문
}
For 문은 다음과 같은 문법을 가지고 있었습니다.
초기식과, 증감식이 사라진 것을 볼 수 있지요 ?
초기식과 증감식은 사용자가 원하는 위치에 집어넣어서 사용할 수 있습니다.
for문과는 다르게 조금 더 활용에 있어서 자유롭다고 해야할까요 ?
그러나 익숙하지 않다면 실수하는 것도 더 잦을 수 밖에 없습니다.
따라서 보통 일반적인 경우 , (횟수별로 반복)하는 경우는 for문을 더 자주 사용하게 됩니다.
예시
1 2 3 | for(int i = 0; i<5; i++){ printf("i = %d\n", i); } | cs |
위와 같은 for 문은 똑같이 while문으로 바꿔 사용할 수 있습니다.
1 2 3 4 5 6 | int i = 0; while(i<5){ printf("i = %d", i); i++; } | cs |
위와 같은 형태가 되겠습니다.
주의할 점은, 초기식은 while 문 밖에 두어야 한다는 것입니다.
만약 위의 int i = 0 이 반복문 안에 있다면, 계속해서 i = 0이 되므로 무한루프에 빠지겠지요.
Do - while문
While문은 for문과는 다르게 용법이 하나가 더 있습니다.
위의 do-while 문이 바로 그것입니다.
while문이 실행되는 다음과 같습니다.
조건식 - 실행문 - 조건식 - 실행문 ....
따라서 처음 들어갈때부터 조건식에 어긋난다면 1회도 실행하지 않게 됩니다.
이를 살짝 바꾼 것이 do-while 문입니다.
1 2 3 4 5 6 | int i = 0; do{ printf("i = %d", i); i++; }while(i<5) | cs |
do를 입력해주면 됩니다.
이 경우는 무조건 1회는 실행하게 됩니다.
이번에도 저번에 만들었던 구구단을, while 문으로 바꾸어서 코딩해봅시다 !