do embedded-statement while ( boolean-expression ) ;
A do statement is executed as follows:
- Control is transferred to the embedded statement.
- When and if control reaches the end point of the embedded statement (possibly from execution of a continue statement), the boolean-expression is evaluated. If the boolean expression yields true, control is transferred to the beginning of the do statement.
- Otherwise, control is transferred to the end point of the do statement.
Within the embedded statement of a do statement, a break statement (§8.9.1) may be used to transfer control to the end point of the do statement (thus ending iteration of the embedded statement), and a continue statement may be used to transfer control to the end point of the embedded statement.
The embedded statement of a do statement is reachable if the do statement is reachable.
The end point of a do statement is reachable if at least one of the following is true:
- The do statement contains a reachable break statement that exits the do statement.
- The end point of the embedded statement is reachable and the boolean expression does not have the constant value true.