Uso del Condicional IF en Lenguaje C para Decisiones Lógicas

2/13
Recursos
Transcripción

¿Cómo se utiliza el condicional IF en C para tomar decisiones en el código?

El uso del condicional IF es crucial para tomar decisiones dentro de un código en C. Este condicional permite ejecutar un bloque de código si cierta expresión es verdadera. Se trata de una herramienta fundamental en la programación debido a su capacidad de dirigir el flujo de ejecución en función de condiciones especificadas.

¿Qué es un statement y un bloque de código en C?

En C, un statement es una línea de código que realiza una acción específica, como declarar una variable o imprimir un mensaje en la consola. Cada statement termina con un punto y coma, y representa la unidad más básica de código en este lenguaje. A lo largo de tus programas, te encontrarás utilizando numerosos statements.

Por otro lado, un bloque de código es un conjunto de statements agrupados entre llaves ({}). Estos bloques permiten organizar múltiples líneas de instrucciones como una sola unidad de código. Es importante que un bloque contenga dos o más statements, ya que no tiene mucho sentido crear un bloque para una única línea de código.

// Ejemplo de un statement
printf("Hello, World!");

// Ejemplo de un bloque de código
{
  int x = 5;
  printf("%d", x);
}

¿Cómo funcionan las expresiones en estructuras IF?

El IF funciona evaluando si una expresión es verdadera. Si la condición es satisfecha, se ejecutará el bloque de código contenido dentro de las llaves de dicho IF. En caso contrario, la ejecución puede seguir a un bloque ELSE o ELSE IF, dependiendo de la estructura.

El bloque else if se utiliza para evaluar múltiples condiciones en secuencia. Puedes colocar tantos else if como sea necesario para cubrir todas las posibles situaciones en tu código.

if (expression1) {
  // Código a ejecutar si expression1 es verdadera
} else if (expression2) {
  // Código a ejecutar si expression1 es falsa y expression2 es verdadera
} else {
  // Código a ejecutar si ninguna de las expresiones anteriores es verdadera
}

¿Cuáles son las buenas prácticas al utilizar estructuras IF?

Un aspecto importante al usar la instrucción IF en C es que si vas a incluir únicamente un statement debajo de un IF, no es necesario emplear llaves. Sin embargo, si incluyes dos o más statements, deberías encapsularlos en un bloque.

Por ejemplo, las siguientes dos opciones son correctas, pero la segunda es más concisa y eficiente:

// Uso de llaves no necesario para un solo statement
if (expression) {
  printf("Condición verdadera.");
}

// Sin llaves para un solo statement
if (expression)
  printf("Condición verdadera.");

Al usar estructuras más complejas con diversas condiciones, como en IF-ELSE IF-ELSE, es fundamental planificar adecuadamente la lógica. La ejecución del código sigue una secuencia lineal; una vez que una condición se cumple, los bloques subsecuentes no se evalúan.

¿Hay restricciones sobre la cantidad de 'else if' que pueden usarse?

La instrucciones IF básica consiste en un IF seguido por un ELSE. Sin embargo, no hay límite en la cantidad de else if que puedes implementar. Es crucial estructurar tu código de manera que las condiciones estén correctamente ordenadas, de lo más específico a lo más general.

Esto garantizará que el código sea eficiente y que cada condición se evalúe exactamente cuando sea necesario, evitando así evaluaciones innecesarias y mejorando el rendimiento del programa.

Aportes 23

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Notas de clase

Un statement es una línea de código o un solo comando que el programa compila de a uno a la vez.
Ejemplo:

printf("Hello world \n");

Por su parte, un bloque de código es un conjunto de varios statements que se compilan juntos, estos se agrupan con los corchetes “{}”.
Ejemplo:

statment1;
statment2;
.
.
.
statmentx;

Ahora ¿Cómo funcionan los “if’s”?
Sencillo, estas estructuras tienen el siguiente formato:

if (condicion1)
{
    statment1;
    statment2;
}
else if (condicion2)
{
    statment3;
    statment4;
    statment5;
}
else if (condicion3)
    statment6;
else
{
    statment7;
    statment8;
    .
    .
    .
    statmentn;
}

Aunque esté escrito en pseudocódigo funciona para darnos una idea.
Los ciclos if siempre van acompañados de una condición, si esta se cumple se realizarán los statments o el bloque de código correspondiente, y si no se cumple, se procederá a comparar con en el siguiente comparativo else if y checará la condición de este nuevo comparativo, si se cumple entrará al bloque de código y si no seguirá comparando con los else if restantes hasta llegar al comparativo else final que es el bloque a ejecutar por defecto.

Notas:

  • Veamos que en el segundo “else if”, no se utilizan corchetes ya que solo se ejecutará un statment.

  • La programación es secuencial, es decir, si se cumple por ejemplo la condición del primer if se ejecutará el bloque de código correspondiente y no comparará con los demás “else if” ni “else”. Por lo que si tenemos condiciones repetidas, siempre se ejecutará el bloque de código correspondiente a la condición cumplida que esté “más arriba” en el código.

los bloques entre llaves a solas tienen un ventaja y es que si declaras un variable dentro de ella esta solo vivirá y morirá dentro de ella

![](

#include <stdio.h>
int main()
{
    int a = 1;
    {
        char a = 'a';
        printf("%c\n",a);
    }
    printf("%d\n",a);
    return 0;
}```

esta parte es muy importante en cualquier lenguaje

Statement: Es declarar una sola variable o una linea de codigo desde que empieza hasta que se pone el ;

Bloques: Se pone entre {}

El if funciona atraves de expresiones

Cuando tengas un solo statement no necesitas poner las llaves {}

Puedes poner tantos else if como requieras

Un Statement es una línea de código individual que se compila uno a la vez , en cambio un bloque de statement es una son varios códigos contenidos por los corchetes al cual el compilador los toma como una línea de códigos.

Cuando menciona que está mal poner llaves a los if, else o elseif cuando solo tienen una sentencia, realmente está bien, es una buena práctica de programación para la legibilidad y mantenimiento del código (evita que en futuros cambios se olviden poner las llaves y el código haga cosas que no quieres)

Los Statements son Simples unidades básica de código y Los bloques de códigos tienen varios Statements

{// aqui un bloque de codigo

// Statements 1
// Statements 2
// Statements 3
.
.

}

cuando escribe una estrucutra de decición ya se un if, un else if o un else, si consta más de una linea de código lo que se quiere ejecutar, es requerido definir las llaves, si solo contiene una línea entonces es opcional.

En programación estructurada podemos escribir todos los
ellse if es una construcción que no tiene limites y podemos escribir todos los que queramos

Yo diría que una línea de código puede tener varios statements separados por ;
Yo no diría que es lo mismo línea de código que statement.

Statement

  • A code line that finishes with a ;

    printf("Hello World");
    

Code block

  • A code block is defined by { }. These can have one or several statements inside

    if(expression){
    	statement1;
    	statement2;
    }	
    

Por mi parte cuando tengo una sola linea de código después de un if. La ubico al lado del if les doy unos tabs y listo.

if 	(expresión1)	statement1;
else if 	(expresión2)	statement2;
else 			statement3;

Muy buena la clase

Hola profe tome su curso en C porque estoy interesado en el internet de las cosas IoT.

Todavía esperamos el curso de robotica en Platzi.

Creo que a muchos nos pasa el mismo miedo de no poder cerrar las llaves. O se le hace extraño porque las reglas indican que siempre se deben cerrar las llaves.

Buena practica si se tiene un solo Statament no es necesario dejar los corchetes "{}"

Un statement o declaración de estado es una sola linea de codigo.

Yo trabajo bastante con C, en mi país es difícil estandarizar y de ante mano ya esta mal para escribir un código básico tienes que seguir los estándares de sintaxis,etc de C ANSI/ISO, eso incluye para robótica
SALUDOS

No conocía en lo absoluto en que si solo teníamos un statement no eran necesitas las llaves, pero bueno ya no cometeremos mas ese error 😃

Funcionamiento del if.

Hola, me gustaria dejar este peequeño aporte con algo que me parecio super util de otro curso, la sintaxis de un if en linea en C:

(proposición) ? Valor V: Valor F

Bloque de código. Conjunto de statements entre llaves.

Statement (declaración). Unidad de código en C que cierra con ;