Introduction à la programmation en C
Le langage C est un langage de programmation impératif, structuré et compilé, créé dans les années 1970. Il est utilisé pour développer des logiciels systèmes, des applications et des programmes embarqués. Le C est apprécié pour sa performance, sa portabilité et son contrôle précis des ressources.
Structure de base d’un programme C
Un programme C est composé de plusieurs éléments essentiels :
1. La fonction principale main
- Point d’entrée du programme.
- Syntaxe minimale :
int main() { // instructions return 0; } return 0;indique que le programme s’est terminé correctement.
2. Les directives de préprocesseur
- Commencent par
#(ex :#include <stdio.h>). - Permettent d’inclure des fichiers ou définir des macros avant la compilation.
3. Les déclarations et définitions
- Variables, fonctions, constantes.
- Exemple :
int x;déclare une variable entière.
Les types de données fondamentaux
| Type | Taille (en général) | Description | Exemple d’utilisation |
|---|---|---|---|
int | 4 octets | Entier signé | int age = 20; |
float | 4 octets | Nombre à virgule flottante | float pi = 3.14; |
double | 8 octets | Nombre à virgule double précision | double e = 2.71828; |
char | 1 octet | Caractère ASCII | char c = 'A'; |
void | - | Type vide (fonction sans retour) | void afficher(); |
Variables et constantes
1. Déclaration et initialisation
- Syntaxe :
type nom_variable = valeur; - Exemple :
int compteur = 0;
2. Constantes
- Utilisation de
constpour rendre une variable non modifiable. - Exemple :
const float PI = 3.14159;
Opérateurs
1. Opérateurs arithmétiques
| Opérateur | Description | Exemple |
|---|---|---|
+ | Addition | a + b |
- | Soustraction | a - b |
* | Multiplication | a * b |
/ | Division | a / b |
% | Modulo (reste) | a % b |
2. Opérateurs logiques et relationnels
==,!=,<,>,<=,>=pour comparaisons.&&(et),||(ou),!(non) pour logique booléenne.
Contrôle de flux
1. Les structures conditionnelles
if/else: exécution conditionnelle.switch: choix multiple basé sur une variable entière.
2. Les boucles
| Boucle | Usage | Syntaxe simplifiée |
|---|---|---|
for | Itération avec compteur | for (init; condition; incr) {} |
while | Boucle tant que condition vraie | while (condition) {} |
do...while | Exécute au moins une fois | do { } while (condition); |
Fonctions
1. Définition et appel
- Syntaxe :
type nom_fonction(paramètres) { corps } - Exemple :
int addition(int a, int b) { return a + b; } - Appel :
int res = addition(3, 4);
2. Passage de paramètres
- Par valeur (copie des données).
- Pas de passage par référence natif (utilisation de pointeurs).
Tableaux et chaînes de caractères
1. Tableaux
- Collection d’éléments du même type.
- Déclaration :
int tab[10]; - Indexation à partir de 0.
2. Chaînes de caractères
- Tableau de
charterminé par le caractère nul'\0'. - Exemple :
char nom[20] = "Alice";
Pointeurs
1. Définition
- Variable qui contient l’adresse mémoire d’une autre variable.
- Syntaxe :
type *nom;
2. Utilisation
&pour obtenir l’adresse d’une variable.*pour accéder à la valeur pointée.
Entrée/Sortie standard
1. Affichage
- Fonction
printf(déclarée dansstdio.h). - Exemple :
printf("Valeur = %d\n", x);
2. Lecture
- Fonction
scanf. - Exemple :
scanf("%d", &x);
Compilation et exécution
1. Étapes
- Préprocessing : traitement des directives
#. - Compilation : traduction en code assembleur.
- Assemblage : code assembleur → code machine.
- Édition des liens : création de l’exécutable.
2. Commande classique
gcc programme.c -o programmecompile et génère un exécutable.
À retenir : Le langage C est un langage bas niveau puissant qui permet un contrôle précis de la mémoire et des ressources, avec une syntaxe simple mais rigoureuse, fondée sur des concepts clés comme les pointeurs, les fonctions et la gestion manuelle de la mémoire.