Instruction C if ... else

Dans ce didacticiel, vous découvrirez l'instruction if (y compris if… else et imbriquée if… else) en programmation C à l'aide d'exemples.

Instruction C if

La syntaxe de l' ifinstruction en programmation C est:

 if (test expression) ( // statements to be executed if the test expression is true )

Comment si la déclaration fonctionne?

L' ifinstruction évalue l'expression de test à l'intérieur de la parenthèse ().

  • Si l'expression de test est évaluée à true, les instructions à l'intérieur du corps de ifsont exécutées.
  • Si l'expression de test est évaluée à false, les instructions dans le corps de ifne sont pas exécutées.

Pour en savoir plus sur le moment où l'expression de test est évaluée à vrai (valeur différente de zéro) et faux (0), vérifiez les opérateurs relationnels et logiques.

Exemple 1: instruction if

 // Program to display a number if it is negative #include int main() ( int number; printf("Enter an integer: "); scanf("%d", &number); // true if number is less than 0 if (number < 0) ( printf("You entered %d.", number); ) printf("The if statement is easy."); return 0; )

Sortie 1

Entrez un entier: -2 Vous avez entré -2. L'instruction if est facile.

Lorsque l'utilisateur entre -2, l'expression de test number<0est évaluée à vrai. Par conséquent, vous avez entré -2 s'affiche à l'écran.

Sortie 2

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

Lorsque l'utilisateur entre 5, l'expression de test number<0est évaluée à false et l'instruction à l'intérieur du corps de ifn'est pas exécutée

C if… else Déclaration

L' ifinstruction peut avoir un elsebloc facultatif . La syntaxe de l' if… elseinstruction est:

 if (test expression) ( // statements to be executed if the test expression is true ) else ( // statements to be executed if the test expression is false )

Comment si la déclaration… else fonctionne?

Si l'expression de test est évaluée à vrai,

  • les instructions à l'intérieur du corps de ifsont exécutées.
  • les instructions à l'intérieur du corps de elsesont ignorées de l'exécution.

Si l'expression de test est évaluée à false,

  • les instructions dans le corps de elsesont exécutées
  • les instructions à l'intérieur du corps de ifsont ignorées de l'exécution.

Exemple 2: instruction if… else

 // Check whether an integer is odd or even #include int main() ( int number; printf("Enter an integer: "); scanf("%d", &number); // True if the remainder is 0 if (number%2 == 0) ( printf("%d is an even integer.",number); ) else ( printf("%d is an odd integer.",number); ) return 0; )

Production

 Entrez un entier: 7 7 est un entier impair.

Lorsque l'utilisateur entre 7, l'expression de test number%2==0est évaluée à false. Par conséquent, l'instruction à l'intérieur du corps de elseest exécutée.

C if… else Échelle

L' if… elseinstruction exécute deux codes différents selon que l'expression de test est vraie ou fausse. Parfois, un choix doit être fait parmi plus de 2 possibilités.

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

Syntaxe de if… else Ladder

 if (test expression1) ( // statement(s) ) else if(test expression2) ( // statement(s) ) else if (test expression3) ( // statement(s) )… else ( // statement(s) )

Exemple 3: C if… else Ladder

 // Program to relate two integers using =,> or < symbol #include int main() ( int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); //checks if the two integers are equal. if(number1 == number2) ( printf("Result: %d = %d",number1,number2); ) //checks if number1 is greater than number2. else if (number1> number2) ( printf("Result: %d> %d", number1, number2); ) //checks if both test expressions are false else ( printf("Result: %d < %d",number1, number2); ) return 0; )

Production

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

Imbriqué si… autre

Il est possible d'inclure une if… elseinstruction dans le corps d'une autre if… elseinstruction.

Exemple 4: imbriqué si… autre

Ce programme donné ci-dessous relie deux entiers en utilisant l'un ou l'autre <, >et =similaire à l' if… elseexemple de l' échelle. Cependant, nous utiliserons une if… elseinstruction imbriquée pour résoudre ce problème.

 #include int main() ( int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); if (number1>= number2) ( if (number1 == number2) ( printf("Result: %d = %d",number1,number2); ) else ( printf("Result: %d> %d", number1, number2); ) ) else ( printf("Result: %d < %d",number1, number2); ) return 0; )

Si le corps d'une if… elseinstruction ne contient qu'une seule instruction, vous n'avez pas besoin d'utiliser de crochets ().

Par exemple, ce code

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

est équivalent à

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

Articles intéressants...