Langage C

Structure conditionnelle if-else

Structure conditionnelle if

La syntaxe de l'instruction if est la suivante:

                                if( condition ){
                                    // corps
                                    //instructions à exécuter si la condition est true
                                }
                            

Comment fonctionne?

L'instruction if évalue la condition à l'intérieur de la parenthèse().

  • Si la condition est évaluée à true, les instructions à l'intérieur du corps de if sont exécutées.
  • Si la condition est évaluée à false, les déclarations à l'intérieur du corps de if ne sont pas exécutées.
Exemple 1 :
                                #include < stdio.h>
                                int main(void){
                                    int a;

                                    printf("Saisir une valeur : ");
                                    scanf("%d",&a);

                                    // structure conditionnelle
                                    if(a< 0){
                                        printf("la valeur de a est négative ");
                                    }

                                    // fin du programme
                                    printf("Good bye !");

                                    return 0;
                                }
                            
Saisir une valeur : 5
Good bye !
Saisir une valeur : -3
la valeur de a est négative
Good bye !

Pour en savoir plus sur le moment où la condition est évaluée à true (valeur non nulle) et false (0), voir les opérateurs relationnels et logiques.

Structure conditionnelle if-else

L'instruction if peut avoir un bloc else optionnel. La syntaxe de l'instruction if..else est la suivante:

                                if( condition ){
                                    // corps
                                    //instructions à exécuter si la condition est true
                                }
                                else{
                                    //corps
                                    // instructions à exécuter si condition est false
                                }
                            

Comment fonctionne?

Si la condition est évaluée à true,

  • les instructions à l'intérieur du corps de if sont exécutées.
  • les instructions à l'intérieur du corps de else sont exclues de l'exécution.

Si la condition est évaluée à false,

  • les instructions à l'intérieur du corps de else sont exécutées.
  • les instructions à l'intérieur du corps de if sont exclues de l'exécution.
Exemple 2 :
                                #include < stdio.h>
                                int main(void){
                                    int a;

                                    printf("Saisir une valeur : ");
                                    scanf("%d",&a);

                                    // structure conditionnelle
                                    if(a< 0){
                                        printf("la valeur de a est négative ");
                                    }
                                    else{
                                        printf("la valeur de a est positive ou nulle ");
                                    }

                                    // fin du programme
                                    printf("Good bye !");

                                    return 0;
                                }
                            
Saisir une valeur : 5
la valeur de a est positive ou nulle
Good bye !
Saisir une valeur : -3
la valeur de a est négative
Good bye !

Structure conditionnelle if - else if - else

L'instruction if ... else exécute deux codes différents selon que la condition est true ou false. Parfois, un choix doit être fait parmi plus de 2 possibilités.
if - else i f- else vous permet de vérifier plusieurs conditions et d'exécuter différentes instructions.

                                if( condition1 ){
                                    // corps
                                    //instructions à exécuter si la condition 1 est true
                                }
                                else if(condition2){
                                    //corps
                                    // instructions à exécuter si condition 2 est true
                                    // condition 1 est false
                                }
                                else if(condition3){
                                    //corps
                                    // instructions à exécuter si condition 2 est true
                                    // condition 1, condition 2 est false
                                }
                                ...
                                else{
                                    //corps
                                    // instructions à exécuter si toutes les conditions est false
                                }
                            
Exemple 3 :
                                #include < stdio.h>
                                int main(void){
                                    int a;

                                    printf("Saisir une valeur : ");
                                    scanf("%d",&a);

                                    // structure conditionnelle
                                    if(a< 0){
                                        printf("la valeur de a est négative ");
                                    }
                                    else if( a > 0){
                                        printf("la valeur de a est positive ");
                                    }
                                    else{
                                        printf("la valeur de a est nulle ");
                                    }

                                    // fin du programme
                                    printf("Good bye !");

                                    return 0;
                                }
                            
Saisir une valeur : 5
la valeur de a est positive
Good bye !
Saisir une valeur : -3
la valeur de a est négative
Good bye !
Saisir une valeur : 0
la valeur de a est nulle
Good bye !

Structure conditionnelle if imbriquée

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

Exemple 4 :
                                #include < stdio.h>
                                int main(void){
                                    int a;

                                    printf("Saisir une valeur : ");
                                    scanf("%d",&a);

                                    // structure conditionnelle
                                    if(a <= 0){
                                        if(a==0){
                                            printf("la valeur de a est nulle ");
                                        }
                                        else{
                                            printf("la valeur de a est négative ");
                                        }
                                        
                                    }
                                    else{
                                        printf("la valeur de a est positive ");
                                    }

                                    // fin du programme
                                    printf("Good bye !");

                                    return 0;
                                }
                            
Saisir une valeur : 5
la valeur de a est positive
Good bye !
Saisir une valeur : -3
la valeur de a est négative
Good bye !
Saisir une valeur : 0
la valeur de a est nulle
Good bye !
Remarque ! Si le corps d'une instruction if ... else comporte une seule instruction, vous n'avez pas besoin d'utiliser des crochets {}.
Exemple 5 :
                                if(a <= 0){
                                    printf("la valeur de a est négative ou nulle");
                                }
                                else{
                                    printf("la valeur de a est positive ");
                                }
                            

est équivalent à

Exemple 6 :
                                if(a <= 0)
                                    printf("la valeur de a est négative ou nulle");
                                else
                                    printf("la valeur de a est positive ");
                            

Partager ce cours avec tes amis :

Rédigé par M. ESSADDOUKI

Learning a new programming language is an easy thing, but the most difficult thing is how to design efficient algorithms for real-world problems, so don't be a programmer, be a problems solver.

Cours Similaires :