A do-while loop guarantees the body of the loop will execute at least once. A while loop might not execute at all.
// this code will execute, even though the condition test will always evaluate to false
do {
// stuff
}while(false);
// this code will never execute because the condition test will always evaluate to false
while(false) {
// stuff
}