C if...else Déclaration
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.
Vidéo :Instruction C if else
Instruction C if
La syntaxe du if
déclaration en programmation C est :
if (test expression)
{
// code
}
Comment si l'instruction fonctionne ?
Le if
instruction évalue l'expression de test à l'intérieur de la parenthèse ()
.
- Si l'expression de test est évaluée comme vraie, les instructions à l'intérieur du corps de
if
sont exécutés. - Si l'expression de test est évaluée comme fausse, les instructions à l'intérieur du corps de
if
ne sont pas exécutés.
Pour en savoir plus sur le moment où l'expression de test est évaluée sur vrai (valeur non nulle) et faux (0), consultez les opérateurs relationnels et logiques.
Exemple 1 :instruction if
// Program to display a number if it is negative
#include <stdio.h>
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.\n", number);
}
printf("The if statement is easy.");
return 0;
}
Sortie 1
Enter an integer: -2 You entered -2. The if statement is easy.
Lorsque l'utilisateur saisit -2, l'expression de test number<0
est évalué à vrai. Par conséquent,
Vous avez entré -2
s'affiche à l'écran.
Sortie 2
Enter an integer: 5 The if statement is easy.
Lorsque l'utilisateur saisit 5, l'expression de test number<0
est évalué à faux et l'instruction à l'intérieur du corps de if
n'est pas exécuté
Instruction C if...else
Le if
l'instruction peut avoir un else
facultatif bloquer. La syntaxe du if..else
déclaration est :
if (test expression) {
// run code if test expression is true
}
else {
// run code if test expression is false
}
Comment fonctionne l'instruction if...else ?
Si l'expression de test est évaluée à true,
- instructions dans le corps de
if
sont exécutés. - instructions dans le corps de
else
sont ignorés de l'exécution.
Si l'expression de test est évaluée à faux,
- instructions dans le corps de
else
sont exécutés - instructions dans le corps de
if
sont ignorés de l'exécution.
Exemple 2 :instruction if...else
// Check whether an integer is odd or even
#include <stdio.h>
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;
}
Sortie
Enter an integer: 7 7 is an odd integer.
Lorsque l'utilisateur saisit 7, l'expression de test number%2==0
est évalué à faux. Par conséquent, la déclaration à l'intérieur du corps de else
est exécuté.
C if...else Ladder
Le if...else
L'instruction exécute deux codes différents selon que l'expression de test est vraie ou fausse. Parfois, il faut faire un choix 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 <stdio.h>
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;
}
Sortie
Enter two integers: 12 23 Result: 12 < 23
Si imbriqué... sinon
Il est possible d'inclure un if...else
déclaration à l'intérieur du corps d'un autre if...else
déclaration.
Exemple 4 :imbriqué if...else
Ce programme donné ci-dessous relie deux nombres entiers en utilisant soit <
, >
et =
similaire au if...else
exemple d'échelle. Cependant, nous utiliserons un if...else
imbriqué déclaration pour résoudre ce problème.
#include <stdio.h>
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'un if...else
l'instruction n'a qu'une seule instruction, vous n'avez pas besoin d'utiliser des crochets {}
.
Par exemple, ce code
if (a > b) {
printf("Hello");
}
printf("Hi");
est équivalent à
if (a > b)
printf("Hello");
printf("Hi");
Langue C