1. Introduction au langage C
- Le langage C est un langage compilé, rapide et très utilisé dans :
- le développement système (OS, pilotes, compilateurs),
- l’embarqué,
- l’algorithmie avancée.
- Il est structuré, proche de la machine, et sert souvent de base pour apprendre d’autres langages.
2. Structure d’un programme C
Un programme en C suit généralement ce modèle :
#include <stdio.h> // bibliothèque standard
int main() {
printf("Bonjour le monde !\n");
return 0; // indique que le programme s'est bien terminé
}
3. Les bases
a) Variables et types
int age = 20; // entier
float prix = 15.75; // nombre décimal
char lettre = 'A'; // caractère
b) Entrée / Sortie
int a;
printf("Entrez un nombre: ");
scanf("%d", &a); // lecture de l’entrée utilisateur
printf("Vous avez entré: %d\n", a);
c) Conditions
if (a > 0) {
printf("Nombre positif\n");
} else {
printf("Nombre négatif ou nul\n");
}
d) Boucles
// Tant que
int i = 1;
while (i <= 5) {
printf("%d\n", i);
i++;
}
// Pour
for (int j = 1; j <= 5; j++) {
printf("%d\n", j);
}
4. Fonctions
Les fonctions permettent de découper un programme en morceaux réutilisables.
int somme(int x, int y) {
return x + y;
}
int main() {
int resultat = somme(5, 7);
printf("Somme = %d\n", resultat);
return 0;
}
5. Tableaux
int notes[5] = {10, 12, 15, 8, 17};
for (int i = 0; i < 5; i++) {
printf("Note %d : %d\n", i+1, notes[i]);
}
6. Exercices pratiques 📝
Exercice 1 : Pairs et impairs
📌 Écrire un programme qui lit un entier et affiche s’il est pair ou impair.
Exercice 2 : Somme de N nombres
📌 Demander à l’utilisateur combien de nombres il veut entrer, puis calculer la somme.
Exercice 3 : Factorielle
📌 Calculer la factorielle d’un nombre saisi (n! = 1*2*...*n
).
Exercice 4 : Tableau et moyenne
📌 Lire les notes de 10 étudiants dans un tableau et afficher la moyenne.
7. Concepts avancés (après la base)
- Pointeurs (manipulation d’adresses mémoire).
- Chaînes de caractères (tableaux de
char
). - Structures (regroupement de variables).
- Fichiers (lecture/écriture sur disque).
- Allocation dynamique (malloc, free).