Structures conditionnelles

Programming Basics · notes

Voir tous les documents en programmation

Structures conditionnelles

Séance 3

Année universitaire 2020/2021– Semestre 1

1

Nous avons vu …

• Introduction générale

▪ Programme,

▪ Langage de programmation,

▪ Algorithme, …

• Les variables

▪ Zone mémoire avec un Nom et un type

▪ Types Valeurs, Opérateurs, Taille

Utilisation des variables

1. Déclarer

2. Affecter ou saisir

3. Utiliser dans une expression ou Afficher

2

Ce n’est pas tout !

S’il n’y avait que les instructions simples

(affectation, saisie et affichage), …

… on ne pourrait écrire que des programmes simples.

Tous les langages de programmation proposent des

structures de contrôle pour les ruptures de séquences

1. Choisir un traitement parmi deux ou plusieurs

2. Répéter un traitement

3

Condition

Expression logique (booléenne)

simple ou combinée.

Exemples: (A<B), (M>10.0), (Delta <=0),

((Age > 18) && (Moy>= 14.0))

Optionne

l

if (Expression)

{

Liste d’instructions 1

}

else

Publicité

{

Traitement à effectuer si l’expression est

vraie (toute valeur != 0). À la fin du

traitement, il y a saut après la partie else.

Liste d’instructions 2

}

Traitement à effectuer si l’expression est

fausse (valeur = 0).

1. L’un seulement des deux traitements sera effectué

2. On ne met pas de point-virgule après les accolades

3. En présence d’une instruction unique, les accolades peuvent être omises

4. On peut avoir des « if » imbriqués

4

Exemple

if (Moyenne >= 10.0)

{

printf ("Mabrouk ! Vous avez réussi.");

}

else

{

printf ("Une moyenne de %.2f et vous vouliez réussir !", Moyenne);

}

Attention : Moyenne doit avoir été initialisée avant le test

5

Exemple

Écrire un programme qui permet d’afficher le maximum de

deux entiers donnés.

Première méthode :

#include <stdio.h>

int main()

{

int a, b, max;

printf ("\n Donnez a : "); scanf ("%d", &a);

printf ("\n Donnez b : "); scanf ("%d", &b);

max = b;

if (b > a)

max = a;

else

Publicité

printf ("Le maximum est : %d.", max);

return 0;

}

6

Exemple (suite)

Deuxième méthode :

#include <stdio.h>

int main()

{

int a, b, max;

printf ("\n Donnez a : "); scanf ("%d", &a);

printf ("\n Donnez b : "); scanf ("%d", &b);

max = a;

if (b > a)

max = b;

printf ("Le maximum est : %d.", max);

return 0;

if sans else

}

7

If imbriqué

if ( <expr1> )

liste d’instructions 1

else if (<expr2>)

liste d’instructions 2

else if (<expr3>)

liste d’instructions 3

else if (<exprN>)

liste d’instructions n

else liste d’instructions n+1

8

Exemple

#include <stdio.h>

main()

{

int A,B;

printf("Entrez deux nombres entiers :");

scanf("%i %i", &A, &B);

Publicité

if (A > B)

printf("%i est plus grand que %i\n", A, B);

else if (A < B)

printf("%i est plus petit que %i\n", A, B);

else printf("%i est égal à %i\n", A, B);

return 0;

}

9

Travail à faire

Écrire un programme qui permet d’afficher le maximum de

trois entiers donnés.

10

Conditions multiples

switch (x)

{

case 1:

case 2:

case 3:

default:

}

Liste d’instructions1

break;

Liste d’instructions2

break;

Liste d’instructions3

break;

11

Conditions multiples

1. Les parenthèses qui suivent le mot clé switch indiquent

une expression dont la valeur est testée successivement par

chacun des case.

2. Lorsque l'expression testée est égale à une des valeurs

suivant un case, la liste d'instructions qui suit celui-ci est

exécutée.

3. L’un seulement des traitements sera effectué.

Publicité

4. L’oubli de break; n’est pas considérée comme une erreur,

breakindique la sortie de la structure conditionnelle.

5. Lorsque l'on omet le break, l'exécution continue dans les

blocs suivants

6. Le mot clé defaultprécède la liste d'instructions qui sera

exécutée si l'expression n'est jamais égale à une des valeurs.

7. En présence d’une instruction unique, les accolades peuvent

être omises

12

Exemple (Switch)

Cette instruction est commode pour fabriquer des "menus":

#include <stdio.h>

void main ( )

{

char choix;

printf("LISTE PAR GROUPE TAPER 1\n");

printf("LISTE ALPHABETIQUE TAPER 2\n");

printf("POUR SORTIR TAPER S\n");

printf("\nVOTRE CHOIX: ");

choix = getchar();

switch(choix)

{

case '1': .......;

.......;

break;

case '2': ......;

......;

break;

case 'S': printf("\nFIN DU PROGRAMME ....");

break;

default : printf("\nERREUR DE CHOIX");

/ pas de break ici /

}

13