[C언어] do while 문
ET의 공부/C언어2019. 12. 11. 22:08
안녕하세요. 이번 포스팅은 do while문의 사용방법에 대해 포스팅해보겠습니다. 먼저 읽어주셔서 감사합니다.
do while 문은 탈출 조건 루프입니다. 루프를 한번 실행한 후 더 실행할 것인지 여부를 판별합니다. 따라서 표현식이 거짓일 경우
루프 자체가 실행이 되지 않는 while문과 다르게 무조건 한 번은 문장이 실행되게 됩니다.
do { code } while(표현식); |
do while문은 하나의 문장으로 간주되므로 while 끝에 ;(세미클론)이 붙는 것에 유의하여야 합니다.
그럼 while문과 do while문이 어떻게 다른지 예제로 살펴보겠습니다.
#include <stdio.h> int main (void)
{
int PW = 123;
int inputPW = 0;
while(PW != inputPW){
printf("비밀번호 입력:");
scanf("%d",&inputPW);
}
return 0;
}
|
위의 코드는 비밀번호를 입력받아 비밀번호가 입력될때 비밀번호가 맞을 때까지 반복하는 코드입니다.
이 예제를 do while문으로 바꿔보면
#include <stdio.h>
int main (void)
{
int PW = 123;
int inputPW = 0;
do{
printf("비밀번호 입력:");
scanf("%d",&inputPW);
}
while(PW != inputPW);
return 0;
}
|
위와 같게 됩니다. do while은 예제를 보더라도 반복 전 무조건 한번 코드가 실행되는 것을 보실 수 있습니다.
그런데 위 while예제를 보더라도 똑같은 실행결과가 나오게 됩니다.
하지만
#include <stdio.h>
int main (void)
{
int PW = 123;
int inputPW = 123;
while(PW != inputPW){
printf("비밀번호 입력:");
scanf("%d",&inputPW);
}
return 0;
}
|
조금 억지가 있지만 int PW = 123; ,int inputPW = 123; 패스워드와 입력받는 패스워드가 같게 된다면 비밀번호를 물어보지
않고 문장이 끝나게 되고 while문 앞에 패스워드 입력을 요청하는 코드를 한 번 더 입력해야 정상적으로 동작하게 됩니다.
물론 이러한 상황이 많지 않겠지만 do while문은 탈출 조건 루프로 한 번쯤 숙지하셔도 좋을 것 같습니다.
감사합니다.
'ET의 공부 > C언어' 카테고리의 다른 글
[C언어] 배열의 두 번째로 작은 요소를 찾는 3가지 방법 (0) | 2020.04.05 |
---|---|
[C언어]조건문 if와 else 사용하기 (0) | 2019.12.19 |
[C언어] 무한반복 while문 (0) | 2019.12.11 |
[C언어] 반복문 for문 루프, for문 콤마(,)연산 (0) | 2019.12.10 |
[C언어] 대입연산자 +=, -=, *= , /=, %= (0) | 2019.12.04 |
댓글()