Instruction conditionnelle if
Pour exécuter du code uniquemant lorsqu'une condition est vérifiée, utilisez l'instruction if :
#include <stdio.h>
int main() {
int valeur = 5;
if (valeur > 10) {
printf("Supérieure à 10");
}
printf("Exécution systématique");
}
Syntaxe standard :
if(condition) {
// Code exécuté si vrai
}
Pour gérer les cas alternatifs, combinez avec else :
#include <stdio.h>
int main() {
int valeur = 8;
if (valeur > 10) {
printf("Supérieure à 10");
} else {
printf("Inférieure ou égale à 10");
}
}
Pour des conditions multiples, utilisez else if :
#include <stdio.h>
int main() {
int note = 85;
if (note >= 90) {
printf("Excellent");
} else if (note >= 70) {
printf("Bien");
} else if (note >= 60) {
printf("Satisfaisant");
} else {
printf("Insuffisant");
}
}
Les instructions conditionnelles supportent l'imbrication :
#include <stdio.h>
int main() {
int score = 42;
if (score < 60) {
if (score > 35) {
printf("Cours de mathématiques");
} else {
printf("Cours de français");
}
}
}
Enstruction de sélection switch
Pour des branchements multiples basés sur une valeur, utilisez switch :
#include <stdio.h>
int main() {
char categorie = 'B';
switch (categorie) {
case 'A':
printf("Groupe A");
break;
case 'B':
printf("Groupe B");
break;
case 'C':
printf("Groupe C");
break;
}
}
Le cas default gère les valeurs non prévues :
#include <stdio.h>
int main() {
char categorie = 'X';
switch (categorie) {
case 'A':
printf("Groupe A");
break;
case 'B':
printf("Groupe B");
break;
default:
printf("Groupe par défaut");
}
}
Il est possible d'imbriquer des structures :
#include <stdio.h>
int main() {
int score = 95;
char niveau = 'A';
switch (niveau) {
case 'A':
if (score > 90) {
printf("Groupe avancé");
} else {
printf("Groupe standard");
}
break;
}
}
Boucle itérative for
Pour exécuter du code de manière répétitive :
#include <stdio.h>
int main() {
for (int compteur = 0; compteur < 3; compteur++) {
printf("Répétition ");
}
}
Les éléments de contrôle sont :
- Initialisation : exécutée une fois au début
- Condition : vérifiée avant chaque itération
- Incrément : exécuté après chaque itération
break interrompt la boucle :
#include <stdio.h>
int main() {
for (int i = 0; i < 10; i++) {
if (i == 6) {
break;
}
printf("%d ", i);
}
}
continue passe à l'itération suivante :
#include <stdio.h>
int main() {
for (int j = 0; j < 10; j++) {
if (j == 5) {
continue;
}
printf("%d ", j);
}
}
Boucle conditionnele while
Exécute tant qu'une condition est vraie :
#include <stdio.h>
int main() {
int valeur = 128;
while (valeur > 0) {
printf("%d ", valeur);
valeur /= 2;
}
}
La variante do-while garantit une exécution minimale :
#include <stdio.h>
int main() {
int nombre = 5;
do {
printf("Exécuté au moins une fois");
} while (nombre < 3);
}
Exemple pratique : Nombres d'Armstrong
#include <stdio.h>
int main() {
for (int nombre = 100; nombre < 1000; nombre++) {
int centaines = nombre / 100;
int dizaines = (nombre / 10) % 10;
int unites = nombre % 10;
int somme_cubes = centaines*centaines*centaines
+ dizaines*dizaines*dizaines
+ unites*unites*unites;
if (somme_cubes == nombre) {
printf("%d ", nombre);
}
}
}
Exemple pratique : Table de multiplication
#include <stdio.h>
int main() {
for (int ligne = 1; ligne <= 9; ligne++) {
for (int colonne = 1; colonne <= ligne; colonne++) {
printf("%dx%d=%-2d\t", colonne, ligne, colonne * ligne);
}
printf("\n");
}
}
Exemple pratique : Suite de Fibonacci
#include <stdio.h>
int main() {
int limite = 7;
int precedent = 0;
int courant = 1;
for (int position = 1; position < limite; position++) {
int suivant = precedent + courant;
precedent = courant;
courant = suivant;
}
printf("%d", courant);
}