Está en la página 1de 5

INTRODUCCIÓN A LA PROGRAMACIÓN EN C:

¡INSTRUCCIONES DE CONTROL Y FICHEROS DE TEXTO!

Entorno de programación
https://www.onlinegdb.com

Objetivos

En este curso aprenderás:

 Escribir y evaluar operaciones lógicas sencillas.


 Distinguir la instrucción if-else de la instrucción switch.
 Utilizar enumeraciones combinadas con instrucciones switch.
 Transformar un bucle for en un bucle while equivalente.
 Utilizar bucles for para leer y escribir los elementos de una tabla.
 Utilizar bucles anidados para navegar por tablas bidimensionales.
 Leer un archivo de texto carácter a carácter y palabra a palabra.
 Leer un archivo de texto con datos numéricos.
 Escribir un archivo de texto carácter a carácter y palabra a palabra.
 Escribir un archivo de texto con datos numéricos.

Contenido del curso

Estos son los temas en los que está estructurado el curso:

1. Condicionales
2. El bucle while y do-while
3. El bucle for y bucles anidados
4. Archivos de texto
1. Condicionales
Los programas pueden tomar pequeñas decisiones para adaptar su
comportamiento según los datos que manejan.
Para eso utilizamos las instrucciones condicionales.
Veremos qué son los operadores relacionales y lógicos y cómo utilizarlos en las
instrucciones
if, else y switch.
¡Vamos a ello!

1.1 Operadores relacionales


Para poder escribir instrucciones condicionales, cuya ejecución depende de que
una condición sea cierta o falsa, necesitamos familiarizarnos con los operadores
relacionales y lógicos. Vamos a comenzar con los relacionales.

En este tema vamos a aprender a utilizar operadores para expresar condiciones.

Operador Operación Ejemplo Resultado


< Menor que 5<10 1 (Verdadero)
<= Menos o igual que 30<=20 0 (Falso)
> Mayor que 10>20 0 (Falso)
>= Mayor o igual que 10>=10 1 (Verdadero)
== Igualdad a==a 1 (Verdadero)
¡= desigualdad a!=b 1 (Verdadero)

Los operadores relacionales devuelven el valor entero

1 si la condición que evalúan es cierta, y


0 si la condición que evalúan es falsa o no se cumple.

1.2 Operadores lógicos: AND Y OR


Además de los operadores relacionales, también posemos utilizar los operadores
lógicos.
Los operadores relacionales se pueden combinar con los operadores lógicos para
trabajar con expresiones más complejas.

La conjunción lógica, también conocida como AND, hace que se evalúe


como verdadera si y solo si las dos expresiones son verdaderas. En caso de
que solo una o ninguna de las expresiones sea verdadera, la conjunción será falsa.
Por su parte, la disyunción lógica, también conocida como OR, se evalúa
como verdadera si al menos una de sus expresiones es verdadera.

Var X=3;
Operador Operación Ejemplo Resultado
&& Conjunción lógica x>2 && x<=5 1 (Verdadero)
|| Disyunción lógica x>=2 || x>5 1 (Verdadero)
! Negación X!=2 || x>5 1 (Verdadero)

1.3 Operadores Lógicos: múltiples condicionales


Los operadores lógicos pueden combinarse para definir expresiones más complejas que
necesitan de varias condiciones. En estos casos aplican las normas de precedencia de
operadores, pero te recomendamos que en caso de duda utilices paréntesis para
asegurarte que tu expresión evalúa como quieres que lo haga.
Ejemplo.
#include <stdio.h>

int main() {
int x=3;

printf("Recuerda: la operación devuelve 1 si se cumple (true) y 0 si no se cumple (false)\n");

printf("El resultado de evaluar x==3 && x<2 && x%2==1 es: %d\n", x==3 && x<2 && x%2==1);

printf("El resultado de evaluar x>=3 || (x<2 && x%2==0) es: %d\n", x>=3 || (x<2 && x%2==0));

printf("El resultado de evaluar (x>=3 || x<2) && x%2==0 es: %d\n", (x>=3 || x<2) && x%2==0);

return 0;
}
Tabla 3 Analicemos con detalle
1.4 Operadores Lógicos: NOT
Además de la conjunción lógica y la disyunción, encontramos el operador de negación,
también conocido como NOT. Este niega la expresión que le precede, de forma que se
evalúa lo contrario.

#include <stdio.h>

int main() {
int x=3;

printf("Recuerda: la operación devuelve 1 si se cumple (true) y 0 si no se cumple (false)\n");

printf("El resultado de evaluar !(x<2) es: %d\n", !(x<2));

printf("El resultado de evaluar !x y x==0 es el mismo: %d y %d\n", !x, x==0);

printf("El resultado de evaluar !(x%2) y x%2==0 es el mismo: %d y %d\n", !(x%2), x%2==0);

printf("El resultado de evaluar x y x!=0 es el mismo.\n");

printf("El resultado de evaluar x%2 y x%2!=0 es el mismo: %d y %d\n", x%2, x%2!=0);

return 0;
}

¡A PRACTICAR…!

Ejercicio 1.1

Escribe un programa que solicite tu edad y muestre un 1 por pantalla si eres


mayor de edad (18 años o más) o tu edad no es múltiplo de tres. En caso
contrario, el programa mostrará un 0.

Prueba qué se muestra si introduces los valores 15, 17, 20 y 21.

NOTA: No utilices para este ejercicio ninguna condición (if), pues no las hemos
trabajado en este curso aún.
Solución:

#include <stdio.h>

int main() {

int edad;
printf("Introduce tu edad: ");
scanf("%d", &edad);
printf("%d",(edad>=18) && (edad%3 != 0));
return 0;

Hasta ahora, los programas siempre se han ejecutado de forma lineal, comenzando por la
primera línea del main() y terminando en el return.

1.5 La instrucción if-else


La instrucción if nos permite especificar en qué casos ejecutar un conjunto de
instrucciones.
#include <stdio.h>

int main() {
int altura;
double peso, indice;

printf("Introduce tu peso (kg): ");


scanf("%lf", &peso);
printf("Introduce tu altura (cm): ");
scanf("%d", &altura);

indice = 10000 * peso / (altura * altura);


printf("Tu índice de masa corporal es %.2lf\n", indice);

if (indice < 18.5) {


printf("Tienes bajo peso\n");
printf("El límite inferior de índice de masa corporal es 18.5\n");
}

return 0;
}

También podría gustarte