[Previous] [Up] [Next]
Go backward to Proposiciones if e if-else
Go up to Top
Go forward to Proposicion for

Proposicion while

En una construccion de la forma

        while (expresión)
             proposición
        proposición siguiente
primero se evalua EXPRESION; si es cero ( FALSO), el control pasa directamente a PROPOSICION SIGUIENTE, pero si no es cero ( VERDADERO), entonces PROPOSICION se ejecuta y el control se devuelve al principio del ciclo while. De este modo, PROPOSICION se ejecuta varias veces hasta que EXPRESION sea cero, en ese momento, el control pasara a PROPOSICION SIGUIENTE. El efecto de esto es que PROPOSICION puede ejecutarse cero, una o mas veces. Es posible que, sin advertirlo, se especifique una expresion que nunca se convierta cero, y con esto el programa quedara en un LOOP INFINITO a menos que se introduzcan medios para escapar del ciclo while; para evitar tal situacion debe tenerse cuidado. Como ejemplo, condirese el siguiente ejemplo:
        int n;
 
        printf("Ingrese un entero: ");
        scanf("%d", &n);
        while (--n) {
             .  .  .  .  .  /* hacer algo  */
        }
La intencion es introducir un entero positivo y asignarlo a la variable n; luego se ejecutaran las proposiciones del ciclo while de manera repetida, hasta que la expresion - -n sea cero. No obstante, si por algun error se asigna a n un numero negativo, el ciclo sera infinito. Para evitar esta posibilidad, seria mejor hacer:
        while (--n > 0) {
             .  .  .  .  .  /*  hacer algo  */
        }
En ocasiones, es conveniente que un ciclo while contenga solo una proposicion vacia. Un ejemplo tipico es:
        while ((c = getchar()) == ' ')
             ;               /*  proposición nula  */

spy@inf.utfsm.cl

[Previous] [Up] [Next]