본문 바로가기
C언어

C언어 do while문 공부하기!

by 여름코딩 2023. 4. 17.
반응형

안녕하세요 판타지코딩입니다!

 

반복문에는 크게 for문과 while문이 있습니다. 그 중에서 while문은 조건이 만족하는지 판단한 후 코드를 실행하게 됩니다. 그리고 이 while문은 do while문이라는 방식도 있습니다. 오늘은 do while문이 while문과 어떻게 다른지 공부하고, 활용하는 방법을 알아보겠습니다!

 

do while문

 

1. while문

do while을 공부하기에 앞서 while문에 대해서 알아보겠습니다. while문은 조건이 만족한다면 코드를 실행하는 방식입니다. 아래의 코드로 while문의 문법을 보겠습니다.

 

int num = 0;

while(num<10)
{
    num++;
}

 

int형 변수 num에 0을 저장하고, while문의 조건인 num<10이 만족하는지 확인합니다. num은 0이므로 조건을 만족하므로 num++;코드를 실행합니다. 그럼 num은 1이 되고, while문은 다시 조건의 만족 여부를 확인하게 됩니다.

 

num이 1일 때 num<10 조건을 만족하므로 다시 한 번 num++;을 실행합니다. 이 과정을 반복하면 num은 1, 2, 3, 순서로 1씩 증가하면서 9가 됩니다. num이 9일 때 num<10의 만족 여부를 확인하고, 만족하므로 num++;을 실행하면 num은 10이 됩니다. 이 때 num<10 조건은 만족하지 않으므로 while문을 종료합니다. 그럼 num은 10이 됩니다.

 

이렇게 while문은 조건 판단 이후 조건이 만족하면 코드 실행을 하고, 조건이 만족하지 않으면 while문을 실행하지 않고 다음 코드를 실행합니다.

 

그럼 do while문은 어떻게 다를까요? do while문에 대해서 공부해 보겠습니다.

 

2. do while문

do while문은 조건을 판단하지 않고, do의 코드를 먼저 실행한다는 차이점이 있습니다. do 코드 실행 후 while문의 조건을 판단하여 만족한다면 다시 do 코드를 실행합니다.

 

int num = 0;

do
{
    num++;
}
while(num<10);

 

int형 변수 num에 0을 저장하고, do 코드를 실행합니다. num을 1 증가시키고, while문의 num<10 조건이 만족하는지 확인합니다. num은 1이므로 조건을 만족하므로 다시 do 코드를 실행합니다. 

 

num을 1 증가시키면 2가 되므로 while문의 조건인 num<10이 만족하는지 확인합니다. 조건을 만족하므로 다시 do의 코드를 실행시킵니다. 이 과정을 반복하면 num은 1, 2, 3 순서로 1씩 증가하면서 9가 됩니다. 이 때 while문의 조건을 확인하면 num<10을 만족하므로 do를 실행하여 num은 10이 됩니다. 그럼 num<10을 만족하지 않으므로 while문을 종료합니다.

 

코드 실행 결과 num은 10이 됩니다. 이처럼 do while문은 do 코드를 먼저 실행시킨 후 while문의 조건을 확인하고, 조건을 만족한다면 다시 do 코드를 실행하고, 그렇지 않으면 while문을 종료합니다.

 

3. do while문 활용하기

이번에는 do while문의 코드를 활용하여 코드를 작성해 보겠습니다.

 

int num = 0;

do
{
    num+=10;
}
while(num<100);

 

int형 변수 num에 0을 저장하고, do 코드를 실행합니다. 이번에는 num을 10씩 증가시킵니다. 그리고 while문의 조건을 확인해 보면 num이 100보다 작으므로 다시 do 코드를 실행시킵니다. 그렇게 10씩 증가시키다 보면 num이 90이 됩니다. 이 때 while문의 조건을 만족하여 다시 do 코드를 실행시키면 num은 100이 되고, while문의 조건인 num<100을 만족하지 않으므로 while문을 종료합니다. 그럼 num은 100이 됩니다.

 

그럼 오늘은 while문과 do while문을 공부하고 각 반복문이 어떤 순서로 실행되는지 공부해 보았습니다. while문과 do while문의 실행 순서를 숙지하고 코드를 작성해 보시면 좋겠습니다.

 

감사합니다!

반응형