{
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 문을 사용하는 방법을 보여줍니다.