English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este tutorial, aprenderá a entender la estructura if en programación C, con ayuda de ejemplos (incluidas if...else y if...else anidados).
La sintaxis de esta estructura en C es:
if (test expression) { //Las instrucciones a ejecutar cuando la expresión de prueba es verdadera }
La estructura if evalúa la expresión de prueba dentro de los paréntesis ().
Si el resultado de la expresión de prueba es true, se ejecutan las instrucciones del cuerpo de if.
Si el resultado de la expresión de prueba es false, if no ejecuta las instrucciones del cuerpo.
Para obtener más información sobre cuándo se evalúa la expresión de prueba como true (valores no cero) y false (0), consulterelacionalesOperadoresyOperadores lógicos.
//El programa muestra un número, si es negativo #include <stdio.h> int main() { int número; printf("Ingrese un entero: "); scanf("%d", &número); //si el número es menor que 0,则为true if (número < 0) { printf("Usted ha ingresado %d.\n", número); } printf("La estructura if es sencilla."); return 0; }
Salida1
输入一个整数: -25 Usted ha ingresado -25. La estructura if es sencilla.
es un número impar.-25en ese caso, la expresión de prueba number<0 se evalúa como true. Por lo tanto,Usted ha ingresado-25 se mostrará en la pantalla.
Salida2
输入一个整数: 5 La estructura if es sencilla.
es un número impar.5en ese caso, el resultado de la expresión de prueba number<0 es false y no se ejecutan las instrucciones del cuerpo de if
La estructura if puede tener un bloque else opcional. La sintaxis de if..else es:
if (test expression) { //Las instrucciones a ejecutar cuando la expresión de prueba es verdadera } else { // Las instrucciones a ejecutar si la expresión de prueba es falsa }
si el resultado de la expresión de prueba (expresión de prueba) es true,
Las instrucciones dentro de if se ejecutan.
Las instrucciones dentro de else se saltan, es decir, las instrucciones dentro de else no se ejecutan.
si el valor de la expresión de prueba (expresión de prueba) es false,
Las instrucciones dentro de else se ejecutan
Las instrucciones dentro del cuerpo if se omiten, es decir, no se ejecutan.
// Revisar si un entero es impar o par #include <stdio.h> int main() { int número; printf("Ingrese un entero: "); scanf("%d", &número); //si el residuo es 0,则为true if (número%2 == 0) { printf("%d es un número par.", número); } else { printf("%d es un número impar.", número); } return 0; }
Salida de resultados
输入一个整数: 23 23 Ingrese un entero:
es un número impar.23cuando el usuario ingrese2cuando (expresión de prueba) es número%
if...else if...else ejecuta dos diferentes bloques de código, dependiendo de si la expresión de prueba (expresión de prueba) es verdadera o falsa. Se aplica cuando es necesario elegir entre dos o más posibilidades.
if...else if...else le permite realizar comprobaciones entre múltiples expresiones de prueba y ejecutar diferentes instrucciones.
if (expresión de prueba1) { // Instrucción } else if (expresión de prueba2) { // Instrucción } else if (expresión de prueba3) { // Instrucción } . . else { // Instrucción }
//El programa utiliza los símbolos =, > o < para comparar dos enteros #include <stdio.h> int main() { int número1, número2; printf("Ingrese dos enteros: "); scanf("%d %d", &número1, &número2); //Verificar si dos enteros son iguales if (número1 == número2) { printf("Resultados: %d = %d", número1, número2); } //Verificar número1¿Es mayor que número?2. else if (número1 > número2) { printf("Resultados: %d > %d", número1, número2); } //Si ambas expresiones de prueba anteriores son falsas, se ejecutarán las siguientes instrucciones else { printf("Resultados: %d < %d", número1, número2); } return 0; }
Salida de resultados
Ingrese dos enteros: 12 23 Resultados: 12 < 23
Se puede incluir otro if...else dentro del cuerpo de otro if...else.
A continuación se proporciona un ejemplo de uso de una escalera similar a if...else que involucra dos enteros <, > y =, pero utilizaremos la estructura if...else anidada para resolver este problema.
#include <stdio.h> int main() { int número1, número2; printf("Ingrese dos enteros: "); scanf("%d %d", &número1, &número2); if (número1 >= número2) { if (número1 == número2) { printf("Resultados: %d = %d", número1, número2); } else { printf("Resultados: %d > %d", número1, número2); } } else { printf("Resultados: %d < %d", número1, número2); } return 0; }
Si el cuerpo del if...else solo tiene una instrucción, no es necesario usar corchetes {}.
Por ejemplo, el siguiente código
if (a > b) { print("Hello"); } print("Hi");
Equivalente a
if (a > b) print("Hello"); print("Hi");