티스토리 뷰

반응형

2021.10.24 - [코딩 공부/C 언어] - [C언어 기초] 반복문 while

 

[C언어 기초] 반복문 while

2021.10.16 - [코딩 공부/C 언어] - [C언어 기초] 조건문 switch [C언어 기초] 조건문 switch 2021.10.10 - [코딩 공부/C 언어] - [C언어 기초] if ~ else와 else if [C언어 기초] if ~ else와 else if 2021.10.05..

hgu-can.tistory.com

 

오늘은 반복문 while과 함께 보면 좋은 do ~ while에 대해서 알아보려고 합니다.

 


1. do ~ while과 while의 차이점

 

이전에 배웠던 while문은 

while (조건) { } 에서 

while 옆의 () 소괄호 속에 쓴 조건을 만족하는 동안 실행하는 반복문이었어요. 

 

그렇기 때문에 while문 속의 종속문장을 실행하려면 처음부터 while문의 조건을 만족해야만

내가 원하는 횟수만큼 동작을 반복시키는 것이 가능했어요. 

 

하지만 살다 보면 어떤 행동을 일단 한 번은 하고 난 다음에 내가 정한 조건을 만족하면 그 행동을 한 번 더 하고

아니면 그만했으면 좋겠을 때도 있잖아요. 

 

그럴 때 쓰면 좋은 것이 do ~ while문입니다. 

 

 

2. do ~ while

 

do ~ while문은 종속문장을 무조건 한 번은 실행한 다음 조건을 평가해서 종속문장을 더 실행할지 말지 결정합니다. 

 

 

do
{
        종속문장;
} while ( 조건식 );
다음문장;

 

기본적인 형태는 위와 같습니다. 

 

 

#include<stdio.h>

void main()
{
	int Num = 10;
	do
	{
		printf("%d", Num);
		Num++;
	} while (9 >= Num);
}

 

비주얼 스튜디오에 위 문장을 쓰고 실행해 볼까요?

 

 

 

그러면 위와 같이 10 하나만 출력하고 프로그램이 종료되는 것을 볼 수 있습니다. 

처음에 Num은 10이었고 do ~ while문을 사용해서 일단 한 번은 출력하라고 했더니 Num의 초기값인 10은 출력했습니다. 

하지만 출력 후에 Num을 증가시켰기 때문에 Num은 11이 되어서 아래 while (9 >= Num) 의 조건은 만족하지 못 하게 되어서 더 이상 실행되지 않고 반복문이 종료되었습니다. 

 

만약 Num이 10에서 0이 될 때까지 출력하고 싶다고 Num++; 를 Num--; 로 바꿔준다면 10, 9, 8, ... 이런 식으로 숫자를 계속 출력하겠지만 종료 조건이 설정되지 않았기 때문에 무한 루프에 빠져 버릴 것입니다. (궁금하시면 한 번 해 보세용...ㅎㅎ)

반복문을 쓸 때엔 무한 루프에 빠지지 않도록 종료 조건을 정확하게 설정해 주는 것을 잊지 마세요~

 

 

#include<stdio.h>

void main()
{
	int Num = 10;
	do
	{
		printf("%d\n", Num);
		Num--;
	} while (0 <= Num);
}

 

위와 같이 조건을 설정해 준다면 Num을 감소시켜도 0이 될 때까지만 숫자를 출력하고 종료될 것입니다. 

 

 

 

바로 이렇게요~~

 


여기까지 반복문 do ~ while에 대해 알아봤습니다. 

while과 기본적인 틀은 같은데 조건이 하나만 추가된 것이라서 

while문을 이해하셨으면 do ~ while문도 어렵지 않으실 것입니다. 

 

그럼 다음 포스트에서는 반복문 for에 대해서 알아보겠습니다.

예습복습 열심히 하시고 다음 포스트에서 만나요~~

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함