Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
While, Do-While | Control de Declaraciones
Fundamentos de C
course content

Contenido del Curso

Fundamentos de C

Fundamentos de C

1. Introducción
2. Datos
3. Operadores
4. Control de Declaraciones
5. Funciones
6. Punteros

book
While, Do-While

Imagina un escenario donde necesitas ejecutar repetidamente ciertas tareas, como leer datos de un sensor, intentar entradas de contraseña o contar palabras en una oración. En estas situaciones, entran en juego los bucles.

Los bucles te permiten ejecutar bloques específicos de código múltiples veces, ya sea decenas, cientos o incluso miles de veces. Comprender el concepto de bucles es vital en programación. Este curso profundiza en los bucles fundamentales: el bucle while, el bucle do-while y el bucle for.

Bucle While

Este bucle continúa ejecutándose mientras se cumpla una condición específica. Una vez que la condición no se satisface, el bucle se detiene.

Un uso básico de un bucle es mostrar el conteo de sus repeticiones:

c

Main

copy
12345678910111213141516
#include <stdio.h> int main() { int iterations = 1; // interesting string while (iterations <= 10 ) { printf("%d\n", iterations); iterations++; // iterations = iterations + 1; } return 0; }

Para detener este bucle, es esencial una condición de terminación. Un enfoque sencillo es usar un contador para rastrear el número de veces que se ejecuta el bucle.

Nota

Una iteración se refiere a un ciclo único dentro de un bucle. Entonces, si el bucle ejecuta el bloque de código 10 veces, ha completado 10 iteraciones.

La línea iterations++; es crucial ya que incrementa el contador (int iterations) con cada pasada. El contador luego establece las condiciones para terminar el bucle.

Nota

Es imperativo establecer condiciones para salir del bucle. No hacerlo resultará en un bucle infinito.

Vamos a crear un programa para mostrar los elementos de un array de enteros:

c

Main

copy
1234567891011121314151617
#include <stdio.h> int main() { int array[] = {3, 6, 2, 134, 45, 2, 564, 8, 3, 531}; int i = 0; // index of array while (i < 10 ) { printf("Index of element: %d\tValue of element: %d\n", i, array[i]); i++; // i = i + 1 } return 0; }

Concéntrate en la expresión array[i]. Aquí, la variable i denota el índice de los elementos del array[].

Nota

Una iteración se refiere al conteo de ciclos de bucle.

Con cada ciclo, la variable i aumenta en 1. Esto significa que durante cada ciclo, la expresión array[i] accede al siguiente elemento del array:

do-while

La diferencia clave entre los bucles do-while y while es que el primero garantiza al menos una ejecución, incluso si su condición es inicialmente falsa.

Ejemplo:

c

Main

copy
12345678910111213141516
#include <stdio.h> int main() { int i = 0; do { printf("Condition `i == 1` is false, because i = 0, but loop is working...\n"); } while (i == 1); printf("Loop is over\n"); return 0; }

Este tipo de bucle es útil para crear interfaces de usuario básicas. Por ejemplo, al solicitar una contraseña, el programa preguntará repetidamente hasta que el usuario ingrese la correcta:

c

Main

copy
1234567891011121314151617181920
#include <stdio.h> int main() { int userInput[] = { 111, 222, 333, 444 }; // arrays of passwords int i = 0; // index of element do { printf("You entered password: %d | incorrect\n", userInput[i]); i++; } while (userInput[i] != 444); printf("You entered password: %d | correct\n", userInput[i]); return 0; }
¿Cuál será el valor de `x` en la 6ª iteración?

¿Cuál será el valor de x en la 6ª iteración?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 5
We're sorry to hear that something went wrong. What happened?
some-alt