as sentencias condicionales en C te permiten controlar el flujo de ejecución de tu programa según ciertas condiciones. Las principales son if
, else if
, else
y switch
.
#include
int main() {
int num = 10;
// Sentencia if
if (num > 0) {
printf("El número es positivo\n");
} else if (num == 0) {
printf("El número es cero\n");
} else {
printf("El número es negativo\n");
}
// Sentencia switch
switch (num) {
case 1:
printf("El número es uno\n");
break;
case 2:
printf("El número es dos\n");
break;
case 3:
printf("El número es tres\n");
break;
default:
printf("El número es otro valor\n");
}
return 0;
}
Sentencia if
: Permite ejecutar un bloque de código si una condición es verdadera. En este caso, se verifica si num
es mayor que 0, igual a 0 o negativo, e imprime un mensaje correspondiente en cada caso.
Sentencia else if
: Se utiliza después de un if
para especificar una nueva condición si la primera es falsa. En este ejemplo, se verifica si num
es igual a 0 después de que la condición del if
sea falsa.
Sentencia else
: Se ejecuta si todas las condiciones anteriores en un conjunto de sentencias if-else if
son falsas. Aquí se imprime un mensaje cuando num
es negativo.
Sentencia switch
: Permite seleccionar uno de varios bloques de código para ejecutar, basado en el valor de una expresión. En este caso, se evalúa el valor de num
y se ejecuta el bloque correspondiente según el caso encontrado. Si no coincide con ninguno de los casos, se ejecuta el bloque default
.
En programación, los bucles son como las repeticiones en una canción: te permiten ejecutar una serie de instrucciones una y otra vez. Tenemos tres tipos principales de bucles en C: for
, while
y do-while
.
#include
int main() {
int i;
// Bucle for
printf("Bucle for:\n");
for (i = 1; i <= 5; i++) {
printf("%d ", i);
}
printf("\n");
// Bucle while
printf("Bucle while:\n");
i = 1;
while (i <= 5) {
printf("%d ", i);
i++;
}
printf("\n");
// Bucle do-while
printf("Bucle do-while:\n");
i = 1;
do {
printf("%d ", i);
i++;
} while (i <= 5);
printf("\n");
return 0;
}
Bucle for: Es como una máquina de contar automática. Le dices cuántas veces quieres repetir algo y cómo quieres hacerlo.
Bucle while: Es como una promesa: continuará repitiendo mientras se cumpla una condición.
Bucle do-while: Es como un compromiso: se ejecutará al menos una vez, y luego seguirá repitiéndose mientras se cumpla una condición.
Las sentencias de control de flujo en C nos permiten modificar el flujo de ejecución de nuestro programa. Aquí tienes un ejemplo de cómo usar break
, continue
y goto
:
#include
int main() {
int i;
// Sentencia break
printf("Sentencia break:\n");
for (i = 1; i <= 5; i++) {
if (i == 4) {
break; // Sale del bucle si i es igual a 4
}
printf("%d ", i);
}
printf("\n");
// Sentencia continue
printf("Sentencia continue:\n");
for (i = 1; i <= 5; i++) {
if (i == 3 || i == 4) {
continue; // Salta la iteración si i es igual a 3 o 4
}
printf("%d ", i);
}
printf("\n");
// Sentencia goto
printf("Sentencia goto:\n");
i = 1;
inicio:
if (i <= 5) {
printf("%d ", i);
i++;
goto inicio; // Salta a la etiqueta "inicio"
}
printf("\n");
return 0;
}
Sentencia break
: Se utiliza para salir inmediatamente de un bucle (for
, while
, do-while
) o de un switch
. En el primer ejemplo, cuando i
es igual a 4, el bucle for
se detiene.
Sentencia continue
: Se utiliza para saltar el resto del bucle actual y continuar con la siguiente iteración. En el segundo ejemplo, cuando i
es igual a 3 o 4, se salta la impresión y se continúa con la siguiente iteración.
Sentencia goto
: Se utiliza para saltar a una etiqueta específica en el código. En el tercer ejemplo, se utiliza goto
para saltar de nuevo a la etiqueta inicio
, repitiendo el bucle if
e incrementando i
hasta que i
sea mayor que 5. Aunque es funcional, el uso de goto
se considera una mala práctica y debe evitarse en la mayoría de los casos debido a que puede hacer que el código sea más difícil de entender y mantener.