Sometimes it is unpractical that the expression is always evaluated before
the first time the loop is executed. Quite often you want to execute
something, and then do it over and over until some condition is satisfied.
This is exactly when you should use the do-while statement.
As usual, the statement can also be a block of statements, and then
you do not need a semicolon after it. To clarify, this statement executes
statement first, and then evaluates the expression. If the
expression is true it executes the loop again. For instance, if you
want to make a program that lets your modem dial your Internet provider,
it could look something like this:
while ( expression );
This example assumes you have written something that can communicate with
the modem by using the functions write and gets.
modem->write("ATDT441-9109\n"); // Dial 441-9109
} while(modem->gets()[..6]] != "CONNECT");