If en C: statements y bloques básicos
Clase 2 de 13 • Curso de Control de Flujo en C
Contenido del curso
Clase 2 de 13 • Curso de Control de Flujo en C
Contenido del curso
Sebastián Pineda Ospina
Juan Pablo Perez
Juan Andrés Cabrera Mendoza
marco antonio
Alexander Reyes
Jean Nuñez
Uriel Garcia
Juan Andrés Cabrera Mendoza
Andersson Candanosa
Kevin Fiorentino
Mauricio Andres Pacheco Perez
Erick Ricardo Camberos Cerecer
Jorge Armando Mendez Muñoz
Jorge Armando Mendez Muñoz
Valeria Vanesa Zalazar
Juan Ignacio Canales Meneses
Jorge Varas
Jesús Tomás Ríos Valdez
david sanchez
Gabriel Obregón
Elvis Yangari
Pablo Espinosa Ochoa
Agustina Corvo
Irving Juárez
Javier
Jesús Ignacio García Fernández
Valeria Vanesa Zalazar
Jorge Varas
Oscar Unzueta Salazar
Jonathan David Olivos
Diego Andrés Rojas González
Jess Jay
Miguel Bazan Montenegro
Yael Manuel Flores Cornejo
Miguel Bazan Montenegro
David Acosta
Jorge Varas
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.
Gracias por tu aporte.
gracias por el aporte
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
 { int a = 1; { char a = 'a'; printf("%c\n",a); } printf("%d\n",a); return 0; }```
El scope de las variables en C#C)
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
buen resumen
Tengo una duda, en C aplica lo de Js que 0 es false y cualquier otro numero es true?
No tengo intérprete de C instalado en mi computadora para probarlo y contestarte. Pero puedes hacerlo tu mismo. Puedes hacer un if (0) {} y ver si entra o no. Saludos!
Hola Anderson, al parecer si sucede así tal cual como el js. Te dejo un código de prueba.
#include <stdio.h> int main(){ if(0){ printf("el valor es falso"); } else if (1) { printf("el valor el verdadero"); } }
el
¿se puede poner asi? if() {
} else() {
} else() {
} ¿o necesariamente se tiene que poner else if?
lo puedes poner asi, no hay ningun problema
espera entendi mal, si lo pones asi estas refiriendote a que las condiciones no se cumplen dos veces, else se usa unicamente cuando ninguna de las condiciones se cumple, por lo tanto está mal.
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.
directo a mis notas
Super
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)
No sería la primera vez que pones una sola sentencia, no pongas las llaves y luego cuando el código lo necesita y pongas mas sentencias, solo se ejecute la primera porque se te ha olvidado incluir las llaves XD.
📘IF en C
🔹 1. ¿Qué es el IF?
👉 Sirve para tomar decisiones en el programa.
👉 Ejecuta código solo si la condición es verdadera.
👉 Permite controlar el flujo de ejecución.
🔹 2. Sentencias (statements)
✦ Son instrucciones básicas.
✦ Siempre terminan con ;.
✦ Realizan acciones (declarar, imprimir, etc.).
💡 Ejemplo:
printf("Hello, World!");
🔹 3. Bloques de código
✦ Agrupan 2 o más sentencias.
✦ Se escriben entre { }.
✦ Se usan para organizar código.
💡 Ejemplo:
{
int x = 5;
printf("%d", x);
}
🔹 4. Cómo funciona el IF
📍 Estructura básica:
if (condición) {
// Se ejecuta si es verdadera
}
📍 Con varias condiciones:
if (condición1) {
// Se cumple condición1
} else if (condición2) {
// Se cumple condición2
} else {
// Ninguna condición es verdadera
}
✔️ Puedes usar tantos else if como necesites.
🔹 5. Buenas prácticas
✅ Para una sola instrucción, no necesitas { }.
Ejemplo con llaves:
if (expresión) {
printf("Verdadera");
}
Ejemplo sin llaves:
if (expresión)
printf("Verdadera");
✅ En estructuras largas:
🔹 6. Restricciones de ELSE IF
⚡ No hay límite en la cantidad de else if.
⚡ Ordena las condiciones de:
➡️ Más específicas → Más generales.
Esto hace que el código sea: ✔️ Más eficiente ✔️ Más claro
Me parecen puntuales indicaciones Gabriel
Profesor Ricardo Celis tengo una duda, #Define es lo mismo que #define? según mi experiencia dice que no ya que la primera es incorrecta, solo la segunda sería un comando reconocido, me puede indicar si estoy en lo correcto o no? Gracias quedo atento.
Buenas pabloeo, estás en lo correcto. #Define y #define son dos cosas distintas, de hecho la primera es incorrecta. #define es la forma correcta de definir constantes, por ejemplo:
#define MAXCOLORES 4
Se define una constante de nombre MAXCOLORES con el valor de 4.
Espero que haya quedado claro, saludos :)
#define solo se usa con minúscula y es una directiva pre procesador, así que solo es posible usarla con minúscula si no el compilador no la va a leer. Le recomiendo que vea el curso de introducción a C antes de ver este
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
Excelente
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;
si (es verdad) {haga esto}
no (pero esto si) {haga esto}
no es ninguno {haga esto}
En que se diferencia el elif con el else if?
Hola @noiset
También al principio batalla un poco para diferenciar el if con else if, básicamente es si la primera opción del if no pasa, recurrirá con la segunda si es que hay con else if. Si no hay, simplemente recurre al else.
Más o menos como esta analogía
if = si pasa esta condición, haz esto else if = si no paso lo primero, pero cumple con esta condición; haz esto else = si ninguna de las opciones pasa, haz esto
Eso si lo se, mi duda es con el elif
Encontre este curso de C ya he hecho 3 con este, pero quiero saber si hay mas de C porque solo he encontrado C MAS MAS Y C#
Muy buena la clase