Lisbeth Diaz
Danny López
gran trabajo
Jorge Varas
Excelente
Cuando sabes exactamente cuántos elementos necesitas procesar, el ciclo for se convierte en tu mejor aliado. Comprender su estructura y su relación con los arrays es fundamental para resolver problemas reales en programación con C, desde recorrer sensores en un robot hasta operar sobre matrices de datos.
¿Cómo se estructura un ciclo for en C?
El ciclo for tiene tres partes esenciales separadas por punto y coma dentro de los paréntesis [0:12]:
i = 0.i < n.i++ que suma uno.En código se ve así:
c int i; int n = 30;
for (i = 0; i < n; i++) printf("El valor actual de i es %d\n", i);
Este fragmento recorre treinta posiciones, desde cero hasta veintinueve [1:48]. El punto clave es que i < 30 se evalúa en cada vuelta: cuando i llega a 30, la condición deja de cumplirse y el ciclo se detiene.
¿Por qué la variable i se declara fuera del for?
Al compilar, puede aparecer una advertencia indicando que declarar int i = 0 directamente dentro del for solo estaba permitido en los estándares C99 y C11 [3:49]. En versiones más recientes del compilador, como C18, este comportamiento puede generar conflictos. La solución es sencilla: declarar la variable i antes del bucle.
c int i; for (i = 0; i < n; i++)
Con este pequeño ajuste el código compila sin problemas y sigue funcionando exactamente igual [4:30].
¿Cuándo conviene usar llaves en el for?
Si el cuerpo del ciclo contiene una sola línea de código, las llaves son opcionales. Es una buena práctica omitirlas cuando no son necesarias para mantener el código limpio [1:20]. Sin embargo, en cuanto necesites ejecutar dos o más instrucciones dentro del bucle, las llaves se vuelven obligatorias.
¿Para qué sirve el ciclo for con arrays?
Un array es una estructura de datos equivalente a un vector o una matriz de una dimensión, concepto que proviene del álgebra lineal [2:50]. Almacena varios valores en posiciones consecutivas:
c int datos[] = {1, 2, 3, 4, 5};
El ciclo for permite acceder a cada posición del array de forma ordenada. Imagina un arreglo de treinta elementos: con el bucle puedes leer, modificar o comparar cada uno sin repetir código manualmente.
¿Cómo se aplica en un caso real?
Un ejemplo práctico es un robot seguidor de líneas [3:05]. Este tipo de robot utiliza múltiples sensores, por ejemplo quince, para detectar la posición de una línea en el suelo. El proceso es:
for recorre las quince posiciones y lee el valor de cada sensor.Este flujo ilustra uno de los principales usos del bucle for: ejecutar una operación distinta o repetitiva en cada elemento de un conjunto de datos cuyo tamaño ya conocemos.
¿Cuál es la regla de oro del ciclo for?
La idea central es directa: utiliza el for siempre que conozcas de antemano la cantidad total de elementos que vas a procesar [0:02]. Si no conoces ese tamaño, existen otras estructuras como while o do-while que se adaptan mejor.
Recuerda que la variable de control puede incrementarse en valores distintos a uno, y la condición puede ser <=, >= o cualquier expresión booleana válida. Lo importante es que el ciclo tenga un punto de inicio claro, una condición de parada definida y un paso de avance consistente.
Si tienes dudas sobre cómo usar el for con arrays multidimensionales o quieres compartir tu propio ejemplo, déjalo en los comentarios.
Programa que calcula los primeros 100.000 primos (combina un for para recorrer los números y un do while para encontrar el primer divisor y descartar que es primo.
#include <stdlib.h> int main(void) { int totalPrimosEcontrados; int total = 100000; int numeroEstudiar; int divisor; int encontradoDivisor; totalPrimosEcontrados = 0; for (numeroEstudiar = 1; numeroEstudiar <= total; numeroEstudiar++) { divisor = 1; encontradoDivisor = 1; do { if(divisor > 1 && divisor < numeroEstudiar) if (numeroEstudiar % divisor == 0) encontradoDivisor = 0; divisor++; } while (encontradoDivisor == 1 && divisor < numeroEstudiar); if (encontradoDivisor == 1) { totalPrimosEcontrados++; printf("[%d] Encontrado número primo\n", numeroEstudiar); } // else // printf("[%d] no es primo\n", numeroEstudiar); } printf("Total primos encontrados del 1 al %d, = %d\n", total, totalPrimosEcontrados); return (0); }
Salida
Lisbeth Diaz
Danny López
gran trabajo
Jorge Varas
Excelente
Bucle for
Este bucle funciona exactamente igual que el while, la diferencia es que es más "ordenado" y normalmente se usa cuando sabemos cuantas iteraciones queremos hacer.
Ejemplo ciclo for:
#include <stdio.h> int main() { int n = 30; for(int i=0; i < n; i++) printf("el valor actual de i es %d\n",i ); return 0; }
La sintaxis es la siguiente : for (contador; condicion; adicion o sustraccion) Tambien se podría leer así : para "i=0", tal que i sea menor que n y "mientras sumamos uno a i"
Miguel Ángel Santana Guzmán
¿Cuándo usar while y cuándo usar for?
Irving Juárez
En linux en la consola se puede hacer eso del int = 0 desde el ciclo for sin error en compilación
Ilter Sthefano Ulloa Miranda
A mi tambien me funciono declarar i dentro del ciclo for, uso linux
Jean Nuñez
si se tiene clara la cantidad de veces que se va a iterar, pues podemos usar el FOR en lenguaje c
Daniel Alejandro Romero Navarro
Hola a todos ¿He tratado de hacer un cronómetro y veo que es muy fácil con la librería Windows.h el problema es que yo uso Linux saben como lo podría lograr? tambien tarte con time.h pero hasta donde yo sé esa libreria mide el tiempo de ejeucion dentro de la pc, no es tal cual un cronómetro
Carlos Silva
Programa simula un temporizador que va de 100000 a 0 segundos
Ejecución
#include <stdio.h> //Programa simula un temporizador que va de 100000 a 0 segundos int main(){ int i; int contador=100000; int tiempoRestante=100000; printf("Se te termina el tiempo\n\n"); for(i = 0; i <= contador; ++i){ printf("Tienes %d segundos \r",tiempoRestante); tiempoRestante=tiempoRestante-1; } printf("\nYa no tienes tiempo, perdiste\n"); return (0); }```
Juan Fernando Moyano Ramírez
Ernesto Fierro Meléndez
Yerson Steven Rojas Barragan
excelente de hecho para mi proyecto de semestre de este año tengo que hacer un robot zumo con seguidor de linea, con sensor ultrasonico, siplay lcd,.... si todo sale bien lo subire aca al final del curso!!
Gabriel Obregón
📘Ciclo FOR en C
🔹 ¿Qué es?
✨ Repite un bloque de código un número definido de veces.
✨ Muy útil para recorrer arreglos o estructuras de datos.
✨ Permite controlar fácilmente la cantidad de iteraciones.
🔹 Estructura básica
for (inicialización; condición; incremento) {
// Código que se repite
}
📍 Ejemplo:
for (int i = 0; i < n; i++) {
printf("El valor de i es %d\n", i);
}
🔑 Partes del FOR:
Fabio Figueroa Benitez.
entonces con el for no es necesario que declare la variable "i"? ya queda declarada en el for?
Carlos Zea Díaz
Hola, ytengo una pregunta muy basica, pero la quiero hacer y no quedarme con la duda....En todos las clases hasta esta, el codigo termina con " return 0; ". ¿Por que en estae codigo con FOR no lo lleva al final ? Gracias
Carlos Abel Tarazona Aranda
For :)
#include <stdio.h> int main() { int n = 11; int i; printf("Numeros del 1 al 10\n"); for(i = 1; i < 11; i++) { printf("n es: %i \n", i); } }```
Jafeth Jesús Sánchez Sánchez
El ciclo for es una estructura que se utiliza para ejecutar un bloque de código un número determinado de veces. Código donde te pregunta el valor de n y lo imprime con ciclo for:
#include <stdio.h> main (){ int i,n; printf ("Dime un numero:\n"); scanf ("%d", &n); for (i=0; i<n; i++){ printf ("El valor actual de i es:%d \n",i); } return 0; }
Ricardo Rito Anguiano
Interesante, no sabia que C ya no te dejaba declarar la variable dentro del for
Benjamin Beroiza Aguilar
Copie y pegué el mismo código pero al momento de probarlo solo me sale que el valor de 1 es 0 en vez de la cuenta del 1 al 30
Carlos Nassif Trejo Garcia
#include <stdio.h> int n; int main(int argc, char const *argv[]) { for (int i = 0; i < 10; i++) { printf("i: %d\n", i); } return 0; }
Rodrigo Rodolfo Rubio Haro
A mi se me ocurrió hacer un programa que muestre la serie de Fibonacci pero que omita los números primos de la misma, me costó un poco pero lo logré
Hice una Tabla de multiplicar.
#include <stdio.h> int main(){ int num = 6; int num2 = 10; int res; for(int i = 0; i <= num2; i++){ res = i * num; printf("%d x %d = %d \n", num,i,res); } }
OutPut:
6 x 0 = 0 6 x 1 = 6 6 x 2 = 12 6 x 3 = 18 6 x 4 = 24 6 x 5 = 30 6 x 6 = 36 6 x 7 = 42 6 x 8 = 48 6 x 9 = 54 6 x 10 = 60
Hola, he hecho una version mas sencilla de tu codigo que ejecuta la misma orden:
#include <stdio.h> int main() { int tiempo_restante; for (tiempo_restante = 100000 ; tiempo_restante >= 0; tiempo_restante -= 1) { printf("tu tiempo restante es: %d \n", tiempo_restante); } return 0; }
Ejemplo de while
#include <stdio.h> int main() { unsigned int cash, limit=3000,cFiveHundred=0,cOneHundred=0,cTwoHundred=0,cFifty=0,cten=0,cOne=0; printf("\t*******************************\n"); printf("\t******** CAJERO ATM *********\n"); printf("\t*******************************\n"); printf("\n\t¿Cuánto deseas retirar?\n\t"); scanf("%u", &cash); while(cash>0){ switch(cash){ case 500 ... 3000: cFiveHundred++; cash-=500; break; case 200 ... 499: cTwoHundred++; cash-=200; break; case 100 ... 199: cOneHundred++; cash-=100; break; case 50 ... 99: cFifty++; cash-=50; break; case 10 ... 49: cten++; cash-=10; break; case 1 ... 9: cOne++; cash-=1; break; default: printf("\n\tLo siento :( pero sobrepasas el limite."); cash=0; break; } } printf("\nAqui tienes tus \n%d billes de 500, \n%d billetes de 200, \n%d billetes de 100, \n%d billetes de 50, \n%d monedas de 10, \n%d monedas de 1 peso\n\t Gracias por su eleccion", cFiveHundred, cTwoHundred, cOneHundred, cFifty, cten,cOne); return 0; }