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.