Los bucles do..while son muy similares a los
bucles while, excepto que las condiciones se
comprueban al final de cada iteración en vez de al principio.
La principal diferencia frente a los bucles regulares
while es que se garantiza la ejecución de la
primera iteración de un bucle do..while
(la condición se comprueba sólo al final de la iteración),
mientras que puede no ser necesariamente ejecutada con un bucle
while regular (la condición se comprueba
al principio de cada iteración, si esta se evalúa como
FALSE desde el principio la ejecución del bucle
finalizará inmediatamente).
Hay una sola sintaxis para los bucles do..while:
El bucle de arriba se ejecutaría exactamente una sola vez, después
de la primera iteración, cuando la condición se comprueba,
se evalúa como FALSE ($i no es más grande que 0)
y la ejecución del bucle finaliza.
Los usuarios avanzados de C pueden estar familiarizados con un uso
distinto del bucle do..while, para permitir parar
la ejecución en medio de los bloques de código, encapsulandolos con
do..while(0), y usando la sentencia
break.
El siguiente fragmento de código demuestra esto:
No se preocupes si no entiende esto completamente o en absoluto.
Se pueden codificar archivos de comandos e incluso archivos de
comandos potentes sin usar esta 'propiedad'.