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'.