Sentencia while (iteración) Forma general: while (expresion) sentencia sentencia se ejecutará mientras el valor de expresion sea verdadero (distinto de 0) Se evalúa la expresión; si es verdadera se ejecuta la sentencia y se vuelve a evaluar la expresión; si es falsa se ejecuta la siguiente sentencia Lo normal es que sentencia incluya alguna instrucción que altere el valor de expresión, proporcionando así la condición de salida del bucle Fundamentos de Informática EUP - ULPGC Jose Torres Si la sentencia es compuesta se encierra entre { } while (expresion) { sentencia 1 sentencia 2 . . sentencia N } Fundamentos de Informática EUP - ULPGC Jose Torres Diagrama de flujo de la sentencia while Fundamentos de Informática EUP - ULPGC Jose Torres Ejemplo 1: programa que lee enteros y los escribe en pantalla hasta que se teclee el cero #include <stdio.h> void main() { int n; printf("Introduzca un numero: "); scanf("%d", &n); while (n != 0) { printf(“El numero tecleado fue %d.\n”, n); printf("Introduzca otro numero: "); scanf("%d", &n); } printf(“Haz tecleado un cero. Fin del programa.”);} Fundamentos de Informática EUP - ULPGC Jose Torres Ejemplo 2: igual que 1 pero que además diga si es positivo o negativo #include <stdio.h> void main() { int n; printf("Introduzca un numero: "); scanf("%d", &n); while (n != 0) { printf(“El numero tecleado fue %d.\n”, n); if (n < 0) printf(“El número es negativo.\n”); else printf(“El número es positivo.\n”); printf("Introduzca otro numero: "); scanf("%d", &n); } printf(“Haz tecleado un cero. Fin del programa.”);} Fundamentos de Informática EUP - ULPGC Jose Torres Ejemplo 3: programa que hace la suma de una serie de enteros hasta que se introduzca un cero #include <stdio.h> main() { int valor_a_sumar, suma = 0; printf("Introduzca un numero: "); scanf("%d", &valor_a_sumar); while (valor_a_sumar > 0) { suma = suma + valor_a_sumar; printf("Introduzca otro numero: "); scanf("%d", &valor_a_sumar); } printf("La suma de los numeros es %d\n", suma); } Fundamentos de Informática EUP - ULPGC Jose Torres