Introduction au langage C

Sep 13, 2024

Introduction au Langage C

Présentation Générale

  • Séance d'introduction sur le langage C.
  • Importance et utilité d'apprendre le langage C.

Historique

  • Inventeurs :
    • Denis Ritchie
    • Ken Thompson
  • Évolution depuis les années 1970.
  • Le langage C a été construit sur les bases du langage B.

Caractéristiques du Langage C

Programmation Impérative

  • Fonctionnement via une suite d'instructions.
  • Instructions séquentielles permettant d'exécuter des tâches.

Langage Compilé

  • Le code source est écrit puis traduit par un compilateur en langage machine (binaire).
  • Permet à l'ordinateur de comprendre et d'exécuter le code.

Niveau de Langage

  • Considéré comme un langage de haut niveau en comparaison avec le langage assembleur.
  • Considéré comme un langage de bas niveau par rapport à des langages récents comme Java et C#.

Gestion de la Mémoire

  • Gestion directe de la mémoire (allocation et libération).
  • Risque de saturation de la mémoire si les espaces ne sont pas libérés.

Avantages d'Apprendre le Langage C

Fiabilité et Open Source

  • Langage mature, ayant bénéficié de nombreuses corrections et mises à jour.
  • Standard ouvert, permettant la réutilisation et la vente de programmes écrits en C sans restriction.

Normes et Standards

  • Normes comme C89, C99, C11 pour uniformiser le langage.
  • Mise à jour régulière pour ajouter des fonctionnalités.

Inconvénients du Langage C

Portabilité

  • Le code compilé ne fonctionne que sur le système sur lequel il a été créé.
  • Besoin de compiler sur plusieurs systèmes pour assurer la compatibilité multiplateforme.

Complexité de la Syntaxe

  • La syntaxe peut être compliquée, entraînant des erreurs fréquentes.
  • Nécessité d'être rigoureux lors de l'écriture du code.

Importance du Langage C dans les Systèmes Actuels

Utilisation dans des Systèmes Embarqués

  • Commun dans les drones, la robotique, les appareils intelligents.

Applications en Temps Réel

  • Utilisé dans des serveurs, systèmes d'exploitation et jeux vidéo.

Exemples de Projets Notables

  • Noyau Linux : Principalement développé en C.
  • SDL (Simple DirectMedia Layer) : Bibliothèque utilisée pour le développement de jeux vidéo.

Conclusion

  • Session d'introduction terminée.
  • Prochaine séance : apprendre à compiler un programme.