El bucle do while comprova la condició de finalització al final del cos del bucle, i si aquesta és certa continua amb la resta del programa, de vegades això resulta més adequat que el bucle while o el bucle for.
La sintaxi en pseudocodi és la següent:
En alguns llenguatges de programació s'escriu:
Do ... ... Loop While (condició)
Aquesta estructura de control sempre permet l'execució del cos del bucle si més no una vegada, i el finalitza quan la condició és certa.
Una situació típica en què resulta còmode l'ús d'aquesta sentència és la que es produeix quan en finalitzar cada iteració es pregunta a l'operador si vol continuar amb una altra nova. En aquests casos, el programa sempre realitza la primera iteració i segons la condició de sortida la repeteix. Un altre cas també típic són els filtres d'entrada de dades, on es comprova si el valor de l'entrada està en un rang de valors.
do { printf ("Escriu el nombre"); scanf ("%c", &nombre) } while (nombre> = 3) && (nombre <= 7)
Dins de la programació estructurada, el bucle do while pot ser substituït per un bucle while, de la manera:
Fer (Cos del bucle) Mentre (condició)
Es pot escriure
(Cos del bucle) Fer NO (condició) (Cos del bucle) fine Fer
Aquests dos fragments de codi són equivalents, perquè tots dos presenten el mateix resultat en la majoria dels casos. De tota manera, el bucle do while és útil quan es volen fer les accions que estan dins del bucle almenys en una ocasió.