English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básica de lenguaje C

Control de flujo de lenguaje C

Funciones en C

Arreglos en C

Punteros en C

Cadenas en C

Estructura de lenguaje C

Archivo de lenguaje C

Otro C

Manual de referencia de C

Sentencias if...else en C

En este tutorial, aprenderá a entender la estructura if en programación C, con ayuda de ejemplos (incluidas if...else y if...else anidados).

Estructura if en C

La sintaxis de esta estructura en C es:

if (test expression) 
{
   //Las instrucciones a ejecutar cuando la expresión de prueba es verdadera
}

¿Cómo funciona la estructura if?

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.

Ejemplo1:if语句

//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

Estructura if...else en C

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
}

¿Cómo funciona la estructura if...else?

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.

Ejemplo2:if ... else语句

// 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%

La evaluación del resultado de ==0 es falsa. Por lo tanto, se ejecutará el cuerpo else.

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.

Sintaxis de if...else if...else

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
}

Ejemplo3Ejemplo de if...else if...else en C

//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

Estructura anidada de if...else en C

Se puede incluir otro if...else dentro del cuerpo de otro if...else.

Ejemplo4Muestra de if...else anidado

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");