C - Prise de décision : Un guide pour débutants

Salut à toi, futurs programmeurs ! Bienvenue dans le monde passionnant de la programmation en C. Je suis ravi d'être votre guide dans cette aventure à travers l'un des concepts fondamentaux de la programmation : la prise de décision. En tant que quelqu'un qui enseigne le C depuis plus d'une décennie, je peux vous assurer que maîtriser ces concepts sera un véritable changement de jeu dans votre aventure de programmation. Alors, plongeons dedans !

C - Decision Making

Instruction if en programmation C

Imaginez que vous êtes dans une crèmerie et que vous devez décider d'acheter un cornet ou non. En programmation, nous utilisons l'instruction 'if' pour ce genre de décisions. C'est comme poser une question et faire quelque chose en fonction de la réponse.

Voici à quoi cela ressemble en C :

if (condition) {
// code à exécuter si la condition est vraie
}

Voyons un exemple réel :

#include <stdio.h>

int main() {
int boules = 2;

if (boules > 1) {
printf("Waouh, c'est beaucoup de crème glacée !\n");
}

return 0;
}

Dans cet exemple, si le nombre de boules est supérieur à 1, il affichera le message. Essayez de changer la valeur de 'boules' et voyez ce qui se passe !

Instruction if...else en programmation C

Maintenant, que faire si nous voulons faire quelque chose lorsque la condition est fausse ? C'est là que l'instruction 'if...else' entre en jeu. C'est comme avoir un plan B.

if (condition) {
// code à exécuter si la condition est vraie
} else {
// code à exécuter si la condition est fausse
}

Étendons notre exemple de crème glacée :

#include <stdio.h>

int main() {
int argent = 5;
int cout_crème_glace = 6;

if (argent >= cout_crème_glace) {
printf("Hourra ! Tu peux acheter une crème glacée !\n");
} else {
printf("Désolé, pas assez d'argent pour de la crème glacée aujourd'hui.\n");
}

return 0;
}

Ici, nous vérifions si nous avons assez d'argent pour de la crème glacée. Si oui, super ! Sinon, eh bien, il y a toujours une autre fois.

Instructions if imbriquées en programmation C

Parfois, la vie (et la programmation) ne se résume pas à une seule décision. Nous devons souvent prendre des décisions au sein de décisions. C'est là que les instructions 'if' imbriquées entrent en jeu.

if (condition_exterieure) {
if (condition_intérieure) {
// code à exécuter si les deux conditions sont vraies
}
}

Voyons un scénario de crème glacée plus complexe :

#include <stdio.h>

int main() {
int température = 30;
int a_argent = 1; // 1 signifie vrai, 0 signifie faux

if (température > 25) {
if (a_argent) {
printf("Il fait chaud et tu as de l'argent. C'est le moment pour de la crème glacée !\n");
} else {
printf("Il fait chaud, mais pas d'argent pour de la crème glacée. Peut-être une douche froide ?\n");
}
} else {
printf("Il ne fait pas si chaud. Épargne ton argent pour un jour de pluie.\n");
}

return 0;
}

Ce programme tient compte à la fois de la température et de l'argent avant de suggérer de la crème glacée.

Instruction switch en programmation C

L'instruction 'switch' est comme un cornet de crème glacée à plusieurs saveurs de prise de décision. C'est parfait lorsque vous avez plusieurs options à choisir.

switch(expression) {
case constant1:
// code à exécuter si l'expression égale constant1
break;
case constant2:
// code à exécuter si l'expression égale constant2
break;
...
default:
// code à exécuter si l'expression ne correspond à aucune constante
}

Utilisons-la pour choisir les saveurs de crème glacée :

#include <stdio.h>

int main() {
int saveur = 2;

switch(saveur) {
case 1:
printf("Tu as choisi vanille. Classique !\n");
break;
case 2:
printf("C'est du chocolat. Délicieux !\n");
break;
case 3:
printf("Fraise, un délice fruité !\n");
break;
default:
printf("Nous n'avons pas cette saveur. Et si c'était de la vanille ?\n");
}

return 0;
}

Ce programme sélectionne un message en fonction du numéro de saveur choisi.

Opérateur ternaire en programmation C

L'opérateur ternaire (?:) est comme un 'if...else' raccourci. Il est parfait pour des décisions rapides et simples.

condition ? expression_si_vrai : expression_si_faux;

Voici une manière concise de décider du dessert :

#include <stdio.h>

int main() {
int a_faim = 1; // 1 pour vrai, 0 pour faux

printf(a_faim ? "Allons prendre de la crème glacée !\n" : "Peut-être plus tard.\n");

return 0;
}

Cette ligne de code vérifie si vous avez faim et suggère de la crème glacée si c'est le cas.

Instruction break en programmation C

L'instruction 'break' est comme dire "Je suis fini ici" au milieu d'une conversation. Elle est utilisée pour sortir des boucles ou des instructions switch tôt.

#include <stdio.h>

int main() {
int i;
for(i = 1; i <= 10; i++) {
if(i == 5) {
printf("Trouvé 5 ! Arrêtons-nous ici.\n");
break;
}
printf("%d ", i);
}
return 0;
}

Ce programme compte jusqu'à 10 mais s'arrête lorsque'il atteint 5.

Instruction continue en programmation C

'Continue' est comme dire "Passe cela et passe à autre chose" dans une conversation. Elle saute le reste de l'itération actuelle dans une boucle et passe à la suivante.

#include <stdio.h>

int main() {
int i;
for(i = 1; i <= 5; i++) {
if(i == 3) {
printf("Oups, passons 3.\n");
continue;
}
printf("Boule de crème glacée numéro %d\n", i);
}
return 0;
}

Ce programme compte les boules de crème glacée mais saute le numéro 3.

Instruction goto en programmation C

L'instruction 'goto' est comme un appareil de téléportation dans votre code. Elle saute à une instruction étiquetée. Cependant, utilisez-la avec parcimonie car elle peut rendre le code difficile à suivre.

#include <stdio.h>

int main() {
int boules = 0;

ajouter_plus:
boules++;
printf("Ajoutée une boule. Total : %d\n", boules);

if(boules < 3) {
goto ajouter_plus;
}

printf("Sundae de crème glacée terminé !\n");
return 0;
}

Ce programme ajoute des boules à votre sundae jusqu'à ce que vous en ayez trois.

Voici un tableau résumant toutes les méthodes de prise de décision que nous avons couvertes :

Méthode Objectif Syntaxe
if Vérification simple de condition if (condition) { ... }
if...else Décision à deux voies if (condition) { ... } else { ... }
Instructions if imbriquées Multiples conditions if (condition1) { if (condition2) { ... } }
switch Multiples options switch(expression) { case constant: ... }
Opérateur ternaire Décision rapide et simple condition ? true_expression : false_expression
break Sortir d'une boucle ou d'un switch break;
continue Passer à l'itération suivante continue;
goto Sauter à une instruction étiquetée goto étiquette;

Souvenez-vous, la pratique rend parfait ! Essayez d'écrire vos propres programmes en utilisant ces concepts. Avant de savoir dire, vous serez prendre des décisions en C comme un pro. Bonne programmation !

Credits: Image by storyset