Buenas noches amigos auì dejo una posible solución al ejercicio CU00530F del tutorial básico de programador en lenguaje C.
EJERCICIO
Un else puede ir seguido de un if dando lugar a lo que se conoce como una estructura else if. Un if seguido de if else equivale a decir “Si ocurre esto … haz esto … y si no comprueba si ocurre esto otro … Se pueden añadir tantos else if como se desee (y finalmente puede haber un else para contemplar el caso de que no se cumpla ninguna de las condiciones). Estudia este código y responde a las cuestiones indicadas más abajo:
#include <stdio.h>
// Ejercicios aprenderaprogramar.com
int main () {
/* local variable definition */
int a = 100;
if( a == 10 ) {
printf("Value of a is 10\n" );
}
else if( a == 20 ) {
printf("Value of a is 20\n" );
}
else if( a == 30 ) {
printf("Value of a is 30\n" );
}
else {
printf("None of the values is matching\n" );
}
printf("Exact value of a is: %d\n", a );
return 0;
}
a) Describe qué es lo que hace este programa detalladamente.
Se declara la variable a dándole un valor y luego comprobamos si se corresponde con algunas condiciones if. En éste caso se entrará en el else al no cumplirse ninguna de las condiciones del if y después mostrará el último mensaje mostrando el valor de a. b) ¿Cuál es el resultado si definimos a con valor 20? ¿Cuál es el resultado si definimos a con valor 30? ¿Cuál es el resultado si definimos a con valor 40?
Si a le asignamos 20 se mostrará por pantalla: value of a is 20
Si a le asignamos 30 se mostrará por pantalla: value of a is 30
Si a le asignamos 40 se mostrará por pantalla: None of the values is matching c) Elimina el último else que aparece en el código. ¿Cuál es el resultado ahora si definimos a con valor 20? ¿Cuál es el resultado ahora si definimos a con valor 30? ¿Cuál es el resultado ahora si definimos a con valor 40? ¿Por qué obtenemos ahora estos resultados?
Si a le asignamos 20 se mostrará por pantalla: value of a is 20
Si a le asignamos 30 se mostrará por pantalla: value of a is 30
Si a le asignamos 40 no se mostrará ninguno de los mensajes dentro del if.Saludos y gracias por vuestro tiempo.....