فرقشون اینه که در while برای دفعه اول شرط چک میشه بعد دستورات اجرا میشن
ولی در do while برای بار اول شرط های حلقه چک نمیشن و کد ها حتما یکبار اجرا میشن .
مثلا while و do-while زیر تا زمانی که 0 وارد نشده از ورودی عدد می گیرن و کاملا معادل هم هستند .
int x;
cin>>x;
while(x!=0)
{
cin>>x;
}
do
{
cin>>x;
}while(x!=0);