Els bucles són una part fonamental de la programació, ja que permeten executar un bloc de codi repetidament fins que es compleixi una condició específica. En aquest tema, explorarem els diferents tipus de bucles disponibles en C i com utilitzar-los de manera efectiva.
Tipus de Bucles
En C, hi ha tres tipus principals de bucles:
- Bucle
for
- Bucle
while
- Bucle
do-while
Bucle for
El bucle for
és ideal quan es coneix el nombre exacte d'iteracions que es volen realitzar. La seva sintaxi és la següent:
Exemple:
#include <stdio.h> int main() { int i; for (i = 0; i < 5; i++) { printf("Iteració %d\n", i); } return 0; }
Explicació:
- Inicialització:
int i = 0;
- Es declara i inicialitza la variable de control del bucle. - Condició:
i < 5;
- El bucle s'executa mentre aquesta condició sigui certa. - Increment/Decrement:
i++
- Després de cada iteració, la variable de control s'incrementa en 1.
Bucle while
El bucle while
s'utilitza quan no es coneix el nombre exacte d'iteracions per endavant. La seva sintaxi és la següent:
Exemple:
#include <stdio.h> int main() { int i = 0; while (i < 5) { printf("Iteració %d\n", i); i++; } return 0; }
Explicació:
- Condició:
i < 5;
- El bucle s'executa mentre aquesta condició sigui certa. - Increment/Decrement:
i++
- La variable de control s'incrementa dins del bloc de codi.
Bucle do-while
El bucle do-while
és similar al while
, però garanteix que el bloc de codi s'executi almenys una vegada. La seva sintaxi és la següent:
Exemple:
#include <stdio.h> int main() { int i = 0; do { printf("Iteració %d\n", i); i++; } while (i < 5); return 0; }
Explicació:
- Bloc de codi: El bloc de codi s'executa almenys una vegada abans de verificar la condició.
- Condició:
i < 5;
- El bucle continua executant-se mentre aquesta condició sigui certa.
Comparació de Bucles
Tipus de Bucle | Quan Utilitzar-lo | Sintaxi |
---|---|---|
for |
Quan es coneix el nombre exacte d'iteracions | for (inicialització; condició; increment/decrement) { ... } |
while |
Quan no es coneix el nombre exacte d'iteracions | while (condició) { ... } |
do-while |
Quan es vol assegurar que el bloc de codi s'executi almenys una vegada | do { ... } while (condició); |
Exercicis Pràctics
Exercici 1: Bucle for
Escriu un programa que imprimeixi els nombres del 1 al 10 utilitzant un bucle for
.
Solució:
Exercici 2: Bucle while
Escriu un programa que sumi els nombres del 1 al 10 utilitzant un bucle while
i imprimeixi el resultat.
Solució:
#include <stdio.h> int main() { int i = 1; int suma = 0; while (i <= 10) { suma += i; i++; } printf("La suma és: %d\n", suma); return 0; }
Exercici 3: Bucle do-while
Escriu un programa que demani a l'usuari un nombre positiu i continuï demanant fins que l'usuari introdueixi un nombre positiu utilitzant un bucle do-while
.
Solució:
#include <stdio.h> int main() { int nombre; do { printf("Introdueix un nombre positiu: "); scanf("%d", &nombre); } while (nombre <= 0); printf("Has introduït el nombre positiu: %d\n", nombre); return 0; }
Errors Comuns i Consells
- Oblidar l'increment/decrement: En un bucle
for
owhile
, és fàcil oblidar incrementar o decrementar la variable de control, el que pot causar un bucle infinit. - Condicions incorrectes: Assegura't que la condició del bucle sigui correcta per evitar bucles infinits o iteracions inesperades.
- Inicialització fora del bucle: En un bucle
for
, assegura't que la inicialització de la variable de control es faci dins de la declaració del bucle.
Resum
En aquesta secció, hem après sobre els tres tipus principals de bucles en C (for
, while
, do-while
), la seva sintaxi i quan utilitzar-los. També hem vist exemples pràctics i exercicis per reforçar els conceptes apresos. Els bucles són una eina poderosa en la programació que permeten repetir blocs de codi de manera eficient i controlada.
Curs de Programació en C
Mòdul 1: Introducció al C
- Introducció a la Programació
- Configuració de l'Entorn de Desenvolupament
- Programa Hello World
- Sintaxi i Estructura Bàsiques
Mòdul 2: Tipus de Dades i Variables
Mòdul 3: Flux de Control
Mòdul 4: Funcions
- Introducció a les Funcions
- Arguments de Funció i Valors de Retorn
- Àmbit i Durada de les Variables
- Funcions Recursives
Mòdul 5: Arrays i Strings
Mòdul 6: Punteres
Mòdul 7: Estructures i Unions
Mòdul 8: Assignació Dinàmica de Memòria
Mòdul 9: Gestió d'Arxius
- Introducció a la Gestió d'Arxius
- Lectura i Escriptura d'Arxius
- Posicionament d'Arxius
- Gestió d'Errors en Operacions d'Arxius
Mòdul 10: Temes Avançats
- Directives del Preprocessador
- Arguments de Línia de Comandes
- Llistes d'Arguments Variables
- Multifil en C
Mòdul 11: Millors Pràctiques i Optimització
- Llegibilitat del Codi i Documentació
- Tècniques de Depuració
- Optimització del Rendiment
- Consideracions de Seguretat