Cuando en un ciclo la condición siempre es verdadera se dice que es un ciclo infinito, pues nunca saldrá del ciclo y el programa no termina. Para evitarlos hay que estar seguros que en el bloque de sentencias haya un estatuto que modifique el valor de la condición de tal modo que llegue a ser falsa.
Ejemplo I
while ( calificacion != -1)
total = total + calificacion; // dado que no hay llaves la lectura del número
contador ++; // no se realiza y el valor de la calificación no
cout << "Da un -1 para terminar el ciclo" << endl; // cambia, por ende la
cin >> calificacion // la condición siempre es verdadera
Ejemplo II
cont = 6;
a = 10;
while ( cont > 1)
{
suma = suma + cont;
a--;
cont++; // cont cada vez es mayor por lo que
// siempre será mayor a 1
}