This commit is contained in:
2026-01-06 13:35:30 +01:00
parent 019beb156c
commit fe3ff5ed37
2 changed files with 25 additions and 2 deletions

View File

@@ -1,7 +1,7 @@
# Langage C # Langage C
> [!NOTE] > [!NOTE]
> Le langage C reste aujourd'hui très utilisé, notamment pour le développement du noyau des systèmes d'exploitation, des logiciels embarqués et des applications nécessitant des performances élevées. Sa simplicité, sa proximité avec le matériel et sa portabilité sont les principales raisons de son succès durable. > Le langage C reste aujourd'hui très utilisé, notamment pour le développement du noyau des systèmes d'exploitation (kernel), des logiciels embarqués et des applications nécessitant des **performances élevées**. Sa simplicité, sa proximité avec le matériel et sa portabilité sont les principales raisons de son succès durable.
- [Histoire du langage C](histoire.md) - [Histoire du langage C](histoire.md)
@@ -32,6 +32,20 @@ Sa syntaxe de base a inspiré de nombreux langages plus récents dont C++, Java
- Pas de gestion efficace des erreurs et beaucoup de libertés laissées au programmeur ⇒ rigueur et discipline de programmation ; - Pas de gestion efficace des erreurs et beaucoup de libertés laissées au programmeur ⇒ rigueur et discipline de programmation ;
- Bibliothèque standard assez pauvre. - Bibliothèque standard assez pauvre.
En GEII, une grande partie des applications concerne :
- des microcontrôleurs (Arduino, STM32, PIC, AVR…) aux ressources limités (mémoire, CPU, énergie)
- des automates et systèmes **temps réel**,
Le C est le langage natif de ces environnements.
- Très proche du matériel
- Pas de machine virtuelle
- Exécutable compact et rapide
- Contrôle précis de la mémoire et prédictif du temps dexécution
Dans lindustrie, le C est encore majoritaire pour le firmware.
## Concepts ## Concepts
- [Anatomie d'un programme](anatomie.md) - [Anatomie d'un programme](anatomie.md)

View File

@@ -29,6 +29,10 @@ On y trouve généralement :
- les constantes (#define) - les constantes (#define)
- parfois des types (struct, typedef) - parfois des types (struct, typedef)
En résumé
- .h : une fiche descriptive, une table des matière
- .c : le mode demploi détaillé
## Exemple minimaliste ## Exemple minimaliste
```c ```c
@@ -42,7 +46,11 @@ int main() { // Début de la fonction principale
### Directives de préprocesseur ### Directives de préprocesseur
Les directives de préprocesseur commencent par le symbole # et sont traitées avant la compilation. Elles servent principalement à inclure des bibliothèques ou définir des constantes. Les directives de préprocesseur commencent par le symbole `#` et sont traitées avant la compilation. Elles servent principalement à inclure des bibliothèques ou définir des constantes.
La directive `#include` permet dindiquer au compilateur dinsérer le contenu dun fichier.
Cela permet à un fichier .c de connaître les fonctions définies ailleurs.
Inclure la bibliothèque d'entrées/sorties standard (stdio : standard input output) Inclure la bibliothèque d'entrées/sorties standard (stdio : standard input output)
@@ -55,6 +63,7 @@ Déclarer une constante
```c ```c
#define PI 3.1415 #define PI 3.1415
``` ```
### Blocs de code ### Blocs de code
En langage C, les accolades `{ }` définissent un bloc de code. Un bloc regroupe plusieurs instructions qui vont être exécutées ensemble. En langage C, les accolades `{ }` définissent un bloc de code. Un bloc regroupe plusieurs instructions qui vont être exécutées ensemble.