3.2.3. while

En los bucles de control while, do-while, y for, una sentencia se repite hasta que la expresión de control sea false. La estructura de un bucle while es:

while(expresión) sentencia

La expresión se evalúa una vez al comienzo del bucle y cada vez antes de cada iteración de la sentencia.

Este ejemplo se mantiene en el cuerpo del bucle while hasta que introduzca el número secreto o presione Control-C.

//: C03:Guess.cpp
// Guess a number (demonstrates "while")
#include <iostream>
using namespace std;

int main() {
  int secret = 15;
  int guess = 0;
  // "!=" is the "not-equal" conditional:
  while(guess != secret) { // Compound statement
    cout << "guess the number: ";
    cin >> guess;
  }
  cout << "You guessed it!" << endl;
} ///:~

Listado 3.3. C03/Guess.cpp


La expresión condicional del while no está restringida a una simple prueba como en el ejemplo anterior; puede ser tan complicada como se desee siempre y cuando se produzca un resultado true o false. También puede encontrar código en el que el bucle no tiene cuerpo, sólo un simple punto y coma:

while(/* hacer muchas cosas */)
;

En estos casos, el programador ha escrito la expresión condicional no sólo para realizar la evaluación, sino también para hacer el trabajo.