La sentencia if La sentencia if sirve para ejecutar una serie de

Anuncio
Lenguaje C - La sentencia if
La sentencia if sirve para ejecutar una serie de instrucciones si se cumple una determinada condición. If en
inglés significa si (condicional).
La forma general de la sentencia if es la siguiente:
if (condicion)
{
sentencia1;
sentencia2;
...
sentencia n;
}
siguiente sentencia
La condición es una expresión que puede resultar verdadera o falsa. Si la condición es cierta, entonces el
procesador ejecutará las sentencias del bloque entre llaves. Si no es cierta, el programa ignora todas las
sentencias y continuará por la siguiente sentencia.
Para realizar comparaciones es necesario utilizar los operadores lógicos que ya vimos en el tema de las
variables
Operadores lógicos
>
Mayor que
>= Mayor o igual que
<
Menor que
<=
Menor o igual que
==
Igual que
!=
No igual que
&&
Función lógica Y
||
Función lógica O
!
Función lógica NO
Ejemplo 1:
int x;
x = 10;
if (x > 5)
{
printf ("x es mayor que 5\n");
}
El resultado de ejecutar este programa es el mensaje x es mayor que 5.
Ejemplo 2:
int x;
x = 10;
if (x > 25)
{
printf ("x es mayor que 25\n");
}
El resultado de ejecutar este programa es que no aparece ningún mensaje, como la condición ahora no se
cumple, no ejecuta el printf
Ejemplo 3:
Hacer un programa que pida al usuario un número del 1 al 10. Si el usuario mete un número mayor que 10
debe aparecer un mensaje de error. Si el usuario mete un número menor que 1, también debe aparecer un
mensaje de error.
int x;
printf ("Introduce un número del 1 al 10");
scanf("%d", &x);
1
if (x > 10)
{
printf ("Error: has introducido un número mayor que 10\n");
}
if (x < 1)
{
printf ("Error: has introducido un número menor que 1\n");
}
printf ("El número introducido es: %d", x);
Esta vez es el usuario el que asigna un valor a la variable x utilizando scanf.
Funciones lógicas
Tabla de verdad de la función lógica O ( II )
El resultado es verdadero cuando alguna condición es verdadera.
Tabla de verdad de la función lógica Y ( && )
El resultado es verdadero cuando las dos condiciones son verdaderas
Ejemplo 4:
Los dos if del ejemplo anterior se pueden simplificar en un sólo if. Basta poner las 2 condiciones en el mismo
if con el operador || (O lógico)
2
int x;
printf ("Introduce un número del 1 al 10");
scanf("%d", &x);
if ( (x > 10) || (x < 1) )
{
printf ("Error: has introducido un número no válido. Tiene que estar entre 1 y 1 0\n");
}
printf ("El número introducido es: %d\n", x);
La condición del if la podríamos "leer" como: Si x es mayor que 10 o x es menor que 1, entonces...
Si alguna de las 2 condiciones se cumple, entonces es cierto. El símbolo | está en la tecla del 1.
Ejemplo 5:
Se le pide a un usuario que introduzca el mes y el día de su nacimiento, si la fecha fue 19 de marzo
queremos que aparezca el mensaje "Usted nació el día de San José".
int dia;
int mes;
printf ("Introduce el mes de nacimiento: ");
scanf("%d", &mes);
printf ("Introduce el dia de nacimiento: ");
scanf("%d", &dia);
if ( (mes == 3) && (dia == 19) )
{
printf ("Usted nació el día de San José\n");
}
La condición del if la podríamos leer como: Si el mes es 3 y el día es 19 entonces...
La condición del if sóloserá cierta si la primera comparación y la segunda son ciertas. Si alguna de ellas es
falsa, no se cumple.
La función lógica Y se escribe en C como &&. El símbolo & está en la tecla del número 6.
EJERCICIO CATEGORÍAS
int edad;
printf("Qué edad tienes? ");
scanf("%d", &edad);
if (edad < 18)
{
printf("Eres niño");
}
if ((edad>=18) && (edad<=30))
{
printf("Eres joven");
}
if ((edad>=31) && (edad<=60))
{
printf("Eres adulto");
}
if (edad > 60)
{
3
printf("Eres viejo");
}
Else
A la sentencia if se le puede añadir una parte opcional que es la sentencia else. Else en inglés significa si no.
La forma general es
if (condicion)
{
sentencias...
}
else
{
sentencias...
}
Al evaluar la condicion, si es cierta se ejecutan las sentencias, y si es falsa se ejecutan las sentencias del
bloque else.
Ejemplo 5: Programa que pide dos números y que intenta calcular la división entre ellos.
int x;
int y;
float division;
printf ("Introduce el valor de x");
scanf("%d", &x);
printf ("Introduce el valor de y");
scanf("%d", &y);
if (y != 0)
{
division = x / y;
printf ("La division es %f", division\n);
}
else
{
printf ("ERROR: No se puede dividir un número entre 0\n");
}
La condición (y != 0) significa (y distinto de 0).
Si no se cumple es porque y = 0, no se puede calcular x / y y muestra el mensaje de error.
Otros ejemplos
Ejemplo1: Se quiere escribir un programa que:
1º) Pida por teclado la nota (dato real) de una asignatura.
2º) Muestre por pantalla:


"APROBADO", en el caso de que la nota sea mayor o igual que 5.
"SUSPENDIDO", en el caso de que la nota sea menor que 5.
4
#include <stdio.h>
int main()
{
float nota;
printf( "\n Introduzca nota (real): " );
scanf( "%f", &nota );
if ( nota >= 5 )
printf( "\n APROBADO" );
else
printf( "\n SUSPENDIDO" );
return 0;
}
Ejemplo2: Que pida un número y diga si es par o impar.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i;
printf("Introduzca número:");
scanf("%d",&i);
if (i%2==0) {
printf("Es par.");
}
else
{
printf("Es impar.");
}
system("PAUSE");
return 0;
}
5
Descargar