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

Tutoriel de base en langage C

Contrôle de flux en langage C

Fonctions du langage C

Tableaux en langage C

Pointeurs en langage C

Chains de caractères en langage C

Structure de langage C

Fichier en langage C

Autres en langage C

Manuel de référence en langage C

Instructions if...else du langage C

Dans ce tutoriel, vous découvrirez l'instruction if en langage C (y compris if ... else et if ... else imbriqué) avec l'aide d'exemples.

Instruction if en langage C

La syntaxe de cette instruction dans le langage C est :

if (test expression) 
{
   //Les instructions à exécuter si l'expression de test est vraie
}

Comment fonctionne l'instruction if ?

L'instruction if évalue l'expression de test dans les parenthèses ()

  • Si le résultat du calcul de l'expression de test est true, l'if exécute les instructions internes du corps.

  • Si le résultat du calcul de l'expression de test est false, l'if ne s'exécute pas les instructions internes du corps.

Pour plus d'informations sur quand l'expression de test est évaluée comme true (valeur non nulle) et false (0), veuillez consulterrelationopérateursetOpérateurs logiques.

Exemple1:instruction if

//Le programme affiche un nombre s'il est négatif
#include <stdio.h>
int main() {
    int number;
    printf("Entrez un entier: ");
    scanf("%d", &number);
    //Si le nombre est inférieur à 0, alors c'est true
    if (number < 0) {
        printf("Vous avez entré %d.\n", number);
    }
    printf("L'instruction if est simple.");
    return 0;
}

Sortie1

Entrez un entier: -25
Vous avez entré  -25.
L'instruction if est simple.

lorsque l'utilisateur entre-25Lorsque l'expression de test number<0 est évaluée comme true. Par conséquent,Vous avez entré-25 S'affichera à l'écran.

Sortie2

Entrez un entier: 5
L'instruction if est simple.

lorsque l'utilisateur entre5Lorsque l'expression de test number<0 donne un résultat false et que l'if ne s'exécute pas les instructions internes du corps

Instruction if ... else en langage C

Les instructions de l'if peuvent avoir un bloc else optionnel. La syntaxe de l'instruction if..else est :

if (test expression) {
    //Les instructions à exécuter si l'expression de test est vraie
}
else {
    // Les instructions à exécuter si l'expression de test est fausse
}

Comment fonctionne l'instruction if ... else ?

Si le résultat du calcul de l'expression de test (test expression) est true,

  • Les instructions dans l'if sont exécutées.

  • Les instructions dans l'else sont sautées de l'exécution, c'est-à-dire que les instructions dans l'else ne sont pas exécutées.

Si la valeur de l'expression de test (test expression) est false,

  • Les instructions dans l'else sont exécutées

  • Les instructions du corps de l'if sont ignorées, c'est-à-dire qu'elles ne sont pas exécutées.

Exemple2:if ... else statement

// Vérifiez si un entier est impair ou pair
#include <stdio.h>
int main() {
    int number;
    printf("Entrez un entier: ");
    scanf("%d", &number);
    //si le reste est 0, alors c'est true
    if (number%2 == 0) {
        printf("%d est un nombre pair.", number);
    }
    else {
        printf("%d est un nombre impair.", number);
    }
    return 0;
}

Résultat de la sortie

Entrez un entier: 23
23 est un nombre impair.

lorsque l'utilisateur entre23lorsque, (expression de test) l'expression de test number%2L'évaluation du résultat de ==0 est false. Par conséquent, les instructions du corps else seront exécutées.

L'instruction if...else if...else en C

if...else if...else exécute deux instructions différentes en fonction de l'expression de test (expression de test) qui est true ou false. Il est applicable aux cas où il est nécessaire de choisir entre plusieurs possibilités.

if...else if...else vous permet de vérifier plusieurs expressions de test et d'exécuter différentes instructions.

La syntaxe de if...else if...else

if (expression de test1) {
   // Instructions
}
else if (expression de test2) {
   // Instructions
}
else if (expression de test3) {
   // Instructions
}
.
.
else {
   // Instructions
}

Exemple3:Exemple de l'instruction if...else if...else en C

//Le programme utilise les symboles =, > ou < pour comparer deux entiers
#include <stdio.h>
int main() {
    int number1, number2;
    printf("Entrez deux entiers: ");
    scanf("%d %d", &number1, &number2);
    //Vérifiez si deux entiers sont égaux
    if (number1 == number2) {
        printf("Résultat: %d = %d", number1, number2);
    }
    //Vérifiez number1Est-ce que number est supérieur à number2.
    else if (number1 > number2) {
        printf("Résultat: %d > %d", number1, number2);
    }
    //Si les deux expressions de test ci-dessus sont toutes deux fausses, exécutez les instructions suivantes
    else {
        printf("Résultat: %d < %d", number1, number2);
    }
    return 0;
}

Résultat de la sortie

Entrez deux entiers: 12
23
Résultat: 12 < 23

Implémentation imbriquée de l'instruction if...else en C

Il est possible d'inclure une autre instruction if...else dans le corps d'une autre instruction if...else.

Exemple4:Exemple de démonstration if...else imbriqué

Le programme suivant montre un exemple d'utilisation de l'un des cas de figure impliquant deux entiers <, > et = similaires à if...else en gradins. Cependant, nous utiliserons des instructions if...else imbriquées pour résoudre ce problème.

#include <stdio.h>
int main() {
    int number1, number2;
    printf("Entrez deux entiers: ");
    scanf("%d %d", &number1, &number2);
    if (number1 >= number2) {
      if (number1 == number2) {
        printf("Résultat: %d = %d", number1, number2);
      }
      else {
        printf("Résultat: %d > %d", number1, number2);
      }
    }
    else {
        printf("Résultat: %d < %d", number1, number2);
    }
    return 0;
}

Si le corps de l'instruction if...else ne contient qu'une seule instruction, il n'est pas nécessaire d'utiliser des accolades {}.

Par exemple, le code suivant

if (a > b) {
    print("Hello");
}
print("Hi");

Équivaut à

if (a > b)
    print("Hello");
print("Hi");