{
int i = 0;
while (i < 10)
{
cout << i << endl;
i++;
}
// 위 while 문과 동일하게 동작
do
{
cout << i << endl;
i++;
} while (i < 10);
}
while
문:i
를 0으로 초기화합니다.i
가 10보다 작을 때까지 반복합니다.i
를 출력하고, i
를 1씩 증가시킵니다.do-while
문:do-while
문은 조건을 나중에 평가하기 때문에, 최소 한 번은 실행됩니다.i
를 출력하고, i
를 1씩 증가시킵니다.i
가 10보다 작을 때까지 반복합니다.i
가 10 이상이 되어도 한 번 더 실행되므로 10부터 시작하여 그 이상이 출력됩니다.{
int i = 0;
// 실행 안 됨
while (i < 0)
{
cout << i << endl;
i++;
}
// 0 출력
do
{
cout << i << endl;
i++;
} while (i < 0);
}
while
문:i
를 0으로 초기화합니다.i
가 0보다 작지 않기 때문에 반복문이 실행되지 않습니다.do-while
문:do-while
문은 최소 한 번 실행됩니다.i
를 출력하고, i
를 1씩 증가시킵니다.i
가 0보다 작지 않기 때문에 반복문은 한 번만 실행되고 종료됩니다.{
// Jump 를 위한 do while
int num;
cin >> num;
do
{
if (num % 3 == 0)
break;
if (num % 5 == 0)
break;
cout << "wow" << endl;
} while (false);
cout << "abcd" << endl;
}
num
을 입력받습니다.do-while
문을 사용하여 특정 조건에서 빠져나오도록 합니다.num
이 3의 배수이거나 5의 배수이면 break
로 반복문을 종료합니다.while (false)
로 인해 do-while
문은 한 번만 실행됩니다.{
// 팩토리얼
int num;
cin >> num;
int total = 1;
do {
total *= num;
} while (--num);
cout << total << endl;
}
num
을 입력받습니다.total
변수를 1로 초기화합니다.do-while
문을 사용하여 num
이 0이 될 때까지 반복합니다.total
에 num
을 곱하고, num
을 1씩 감소시킵니다.total
에는 num
의 팩토리얼 값이 저장되어 출력됩니다.{
// 알파벳 출력
char ch = 'a';
do {
cout << ch << endl;
} while (++ch <= 'z');
}
ch
변수를 'a'로 초기화합니다.do-while
문을 사용하여 ch
가 'z'보다 작거나 같을 때까지 반복합니다.ch
를 출력하고, ch
를 1씩 증가시킵니다.{
// 피보나치 수열
// 0, 1, 1, 2, 3, 5, 8, 13, 21
// a(0) = 0, a(1) = 1
// a(n) = a(n - 2) + a(n - 1)
int num;
cin >> num;
if (num <= 1)
{
cout << num << endl;
}
else
{
int prevValue = 0;
int currValue = 1;
do {
int nextValue = prevValue + currValue;
prevValue = currValue;
currValue = nextValue;
} while (--num - 1);
cout << currValue << endl;
}
}
num
을 입력받습니다.num
이 1 이하이면 num
을 출력합니다.prevValue
를 0으로, currValue
를 1로 초기화합니다.do-while
문을 사용하여 num - 1
번 반복합니다.prevValue
와 currValue
를 갱신합니다.currValue
에는 num
번째 피보나치 수가 저장되어 출력됩니다.do-while
문은 최소 한 번은 실행되어야 하는 반복 작업에 유용합니다. while
문과의 차이점은 조건 평가가 반복문 끝에 위치한다는 점입니다. 이로 인해 반복문이 무조건 한 번은 실행됩니다. 각 예제는 다양한 조건과 상황에서 do-while
문을 사용하는 방법을 보여줍니다.