logo

Introduction au langage C

C est un langage de programmation procédural initialement développé par Dennis Ritchie en 1972 aux Bell Laboratories d'AT&T Labs. Il a été principalement développé comme langage de programmation système pour écrire le système d’exploitation UNIX.




Introduction au langage C

Les principales fonctionnalités du langage C incluent :

  • Usage général et portable
  • Accès à la mémoire de bas niveau
  • Vitesse rapide
  • Syntaxe propre

Ces fonctionnalités rendent le langage C adapté à la programmation système comme le développement d'un système d'exploitation ou d'un compilateur.

Pourquoi devrions-nous apprendre le C ?

De nombreux langages ultérieurs ont emprunté la syntaxe/les fonctionnalités directement ou indirectement au langage C. Comme la syntaxe de Java, PHP, JavaScript et de nombreux autres langages sont principalement basés sur le langage C. C++ est presque un sur-ensemble du langage C (seuls quelques programmes peuvent être compilés en C, mais pas en C++).



Ainsi, si une personne apprend d’abord la programmation C, cela l’aidera également à apprendre n’importe quel langage de programmation moderne. L'apprentissage du C aide à comprendre une grande partie de l'architecture sous-jacente du système d'exploitation. Comme les pointeurs, travailler avec des emplacements mémoire, etc.

Commencez avec C Apprenez les principes fondamentaux et les concepts avancés du C, puis résolvez des problèmes pratiques directement dans la fenêtre de votre navigateur grâce au parcours de compétences interactif d'Educative. Devenez programmeur C. Inscrivez-vous sur Educative.io avec le code GEEKS10 pour économiser 10% sur votre abonnement.

Différence entre C et C++

C++ a été créé pour ajouter le concept de POO au langage C afin qu'ils aient tous deux une syntaxe très similaire mais les deux sont un peu différents l'un de l'autre. Voici quelques différences principales entre les langages de programmation C et C++.



  • C++ prend en charge le paradigme POO tandis que C n'a qu'un concept procédural de programmation.
  • C++ a des capacités de gestion des exceptions. En C, nous devons résoudre manuellement.
  • Il n'y a aucune référence en C.

Il existe de nombreuses autres différences entre C et C++ qui sont abordées ici : Différence entre C et C++

Commencer par la programmation C

Écrire le premier programme en C

Le code suivant est l’un des programmes C les plus simples qui nous aidera à comprendre la structure syntaxique de base d’un programme C.

Exemple:

C
#include  int main() {  int a = 10;  printf('%d', a);    return 0;  }>

Sortir
10>

Analysons la structure de notre programme ligne par ligne.

Structure du programme C

Après la discussion ci-dessus, nous pouvons évaluer formellement la structure d’un programme C. Par structure, cela signifie que tout programme peut être écrit dans cette structure uniquement. L'écriture d'un programme C dans n'importe quelle autre structure entraînera donc une erreur de compilation. La structure d'un programme C est la suivante :

structure du programme C

Composants d'un programme C :

1. Inclusion des fichiers d'en-tête – Ligne 1 [#include]

Le premier élément est l’inclusion des fichiers d’en-tête dans un programme C. Un fichier d'en-tête est un fichier d'extension .h qui contient des déclarations de fonctions C et des définitions de macros à partager entre plusieurs fichiers sources. Toutes les lignes commençant par # sont traités par un préprocesseur qui est un programme invoqué par le compilateur. Dans l'exemple ci-dessus, le préprocesseur copie le code prétraité de stdio.h dans notre fichier. Les fichiers .h sont appelés fichiers d'en-tête en C.
Certains des fichiers d'en-tête C :

  • stddef.h – Définit plusieurs types et macros utiles.
  • stdint.h – Définit les types entiers de largeur exacte.
  • stdio.h – Définit les fonctions d'entrée et de sortie de base
  • stdlib.h – Définit les fonctions de conversion numérique, le générateur de nombres pseudo-aléatoires et l'allocation de mémoire
  • string.h – Définit les fonctions de gestion des chaînes
  • math.h – Définit les fonctions mathématiques courantes.

2. Déclaration de méthode principale – Ligne 2 [int main()]

La partie suivante d'un programme C consiste à déclarer la fonction main(). C'est le point d'entrée d'un programme C et l'exécution commence généralement par la première ligne de main(). Les parenthèses vides indiquent que le main ne prend aucun paramètre (voir ce pour plus de détails). L'int qui a été écrit avant le main indique le type de retour de main(). La valeur renvoyée par main indique l'état de fin du programme. Voir ce postez pour plus de détails sur le type de retour.

3. Corps de la méthode principale – Ligne 3 à Ligne 6 [inclus entre {}]

Le corps d'une fonction dans le programme C fait référence aux instructions qui font partie de cette fonction. Il peut s'agir de manipulations, de recherches, de tris, d'impressions, etc. Une paire d'accolades définit le corps d'une fonction. Toutes les fonctions doivent commencer et se terminer par des accolades.

4. Déclaration – Ligne 4 [printf(Hello World);]

Les instructions sont les instructions données au compilateur. En C, une instruction se termine toujours par un point-virgule (;). Dans ce cas particulier, nous utilisons la fonction printf() pour demander au compilateur d'afficher le texte Hello World à l'écran.

5. Déclaration de retour – Ligne 5 [retour 0 ;]

La dernière partie de toute fonction C est l'instruction return. L'instruction return fait référence aux valeurs de retour d'une fonction. Cette instruction de retour et cette valeur de retour dépendent du type de retour de la fonction. L'instruction return de notre programme renvoie la valeur de main(). La valeur renvoyée peut être utilisée par un système d'exploitation pour connaître l'état de fin de votre programme. La valeur 0 signifie généralement une terminaison réussie.

Comment exécuter le programme ci-dessus ?

Afin d'exécuter le programme ci-dessus, nous devons d'abord le compiler à l'aide d'un compilateur, puis exécuter l'exécutable généré. Il existe des IDE en ligne disponibles gratuitement comme Les fenêtres: Il existe de nombreux IDE gratuits disponibles pour développer des programmes en C comme Blocs de code et Dev-CPP . Les IDE nous fournissent un environnement pour développer du code, le compiler et enfin l'exécuter. Nous recommandons fortement les blocs de code.

  • Linux : Le compilateur GCC est fourni avec Linux qui compile les programmes C et génère des exécutables que nous pouvons exécuter. Les blocs de code peuvent également être utilisés avec Linux.
  • macOS : macOS dispose déjà d'un éditeur de texte intégré dans lequel vous pouvez simplement écrire le code et l'enregistrer avec une extension .c.
  • Application de C

    • Systèmes d'exploitation : C est largement utilisé pour développer des systèmes d'exploitation tels que Unix, Linux et Windows.
    • Systèmes embarqués : C est un langage populaire pour développer des systèmes embarqués tels que des microcontrôleurs, des microprocesseurs et d'autres appareils électroniques.
    • Logiciel système : C est utilisé pour développer des logiciels système tels que des pilotes de périphériques, des compilateurs et des assembleurs.
    • Mise en réseau : C est largement utilisé pour développer des applications réseau telles que des serveurs Web, des protocoles réseau et des pilotes réseau.
    • Systèmes de bases de données : C est utilisé pour développer des systèmes de bases de données tels qu'Oracle, MySQL et PostgreSQL.
    • Jeux : C est souvent utilisé pour développer des jeux informatiques en raison de sa capacité à gérer les interactions matérielles de bas niveau.
    • Intelligence artificielle : C est utilisé pour développer des applications d’intelligence artificielle et d’apprentissage automatique telles que les réseaux de neurones et les algorithmes d’apprentissage en profondeur.
    • Applications scientifiques : C est utilisé pour développer des applications scientifiques telles que des logiciels de simulation et des outils d'analyse numérique.
    • Applications financières : C est utilisé pour développer des applications financières telles que l’analyse boursière et les systèmes de négociation.