Programmation en langage C: Un tutoriel complet pour les débutants.

Le langage C est un langage de programmation populaire et puissant qui a été développé dans les années 1970.


Il est utilisé pour la programmation système, la programmation de jeux, la programmation scientifique et bien plus encore.


Ce tutoriel vise à fournir aux débutants une introduction complète à la programmation en C, en expliquant les concepts fondamentaux et en fournissant des exemples concrets.


Les bases de la programmation en C

Les variables

Une variable est un emplacement de mémoire qui peut stocker une valeur.


Les types de variables en C comprennent int, float, double et char et d'autres.

Opérateurs

Les opérateurs en C permettent de réaliser des opérations arithmétiques, de comparaison et logiques.

Les opérateurs arithmétiques

  • [ + ] - additionner
  • [ - ] - soustraction
  • [ * ] - multiplications
  • [ / ] - divisions

Les opérateurs comparaison

  • [ == ] - égal
  • [ != ] - différent
  • [ < ] - inférieur
  • [ > ] - supérieur
  • [ <= ] - inférieur ou égal
  • [ >= ] - supérieur ou égal

Les opérateurs logiques

  • [ && ] ET
  • [ || ] OU

Structures de contrôle

Les structures de contrôle telles que if, else, for et while permettent de contrôler le flux d'exécution d'un programme.

Exemple

Remplacer #include par #include <stdio.h>, dans les exemples.


#include 

int main()
{
   int a = 10;
   int b = 20;
   int c = a + b;

   printf("La somme de %d et %d est %d\n", a, b, c);

   return 0;
}

Fonctions en C

Déclaration de fonctions

Les fonctions en C permettent de diviser un programme en blocs logiques indépendants.


Pour déclarer une fonction en C, il est nécessaire de spécifier le type de retour, le nom de la fonction et les paramètres d'entrée.


Les fonctions peuvent être appelées en utilisant leur nom et en fournissant les arguments requis.


La portée d'une variable définit la plage de lignes dans laquelle elle est accessible.


En C, les variables déclarées à l'intérieur d'une fonction ont une portée locale et ne sont pas accessibles en dehors de celle-ci.

Exemple


#include 

int add(int a, int b)
{
   int result = a + b;

   return result;
}

int main()
{
   int x = 10;
   int y = 20;
   int z = add(x, y);

   printf("La somme de %d et %d est %d\n", x, y, z);

   return 0;
}

Le ci-dessous code demande à l'utilisateur d'entrer un nombre entier n et utilise une boucle for pour itérer de 1 à n.


À l'intérieur de la boucle, nous utilisons une instruction if else pour vérifier si i est un nombre pair ou impair.


Si i est un nombre pair, le programme affiche un message indiquant que i est un nombre pair, sinon, il affiche un message indiquant que i est un nombre impair.


#include 

int main()
{
    int i, n;
    printf("Entrez un nombre entier : ");
    scanf("%d", &n);
    
    for (i = 1; i <= n; i++)
    {
        if (i % 2 == 0)
            printf("%d est un nombre pair\n", i);
        else
            printf("%d est un nombre impair\n", i);
    }
    return 0;
}

Modulo

Le modulo % en C est un opérateur arithmétique qui renvoie le reste de la division entière d'un nombre par un autre.


En d'autres termes, c'est la valeur restante après la division entière d'un nombre par un autre.


Par exemple, la valeur de 7 % 3 serait 1 car si nous divisons 7 par 3, nous aurons un quotient de 2 avec un reste de 1.


Le modulo % est souvent utilisé pour vérifier si un nombre est divisible par un autre, comme dans l'exemple de code précédent où nous vérifions si i est un nombre pair ou impair en utilisant i % 2 == 0.


Si i % 2 équivaut à 0, cela signifie que i est divisible par 2 et donc un nombre pair.

Tableaux en C

Les tableaux en C sont des structures de données qui permettent de stocker plusieurs valeurs de même type dans une seule variable.


Les tableaux sont déclarés en spécifiant le type de données et la taille du tableau.


Les boucles for sont souvent utilisées pour parcourir les éléments d'un tableau et effectuer des opérations sur chacun d'entre eux.


Les tableaux peuvent être passés en tant que paramètres à une fonction pour être traités et modifiés.

Exemple


#include 

int main()
{
    int arr[5] = {1, 2, 3, 4, 5};
    int i;

    printf("Les éléments du tableau sont: ");
    for (i = 0; i < 5; i++) {
        printf("%d ", arr[i]);
    }

   return 0;
}

Les pointeurs en C

Pointeurs

Les pointeurs en C sont des variables qui stockent l'adresse d'une autre variable.


Les pointeurs permettent d'accéder à la valeur stockée à une adresse de mémoire donnée et de la modifier.

Exemple


#include 

int main()
{
    int n = 10;
    int *pn;
    
    pn = &n;
    
    printf("L'adresse de la variable n est : %p\n", &n);
    printf("L'adresse de la variable n est : %p\n", pn);
    printf("La valeur de la variable n est : %d\n", n);
    printf("La valeur de la variable n est : %d\n", *pn);
    
    return 0;
}

Dans ce code, nous déclarons une variable entière n avec une valeur de 10 et un pointeur pn de type entier.


Nous affectons ensuite l'adresse de n à pn en utilisant l'opérateur d'adresse &.


Ensuite, nous utilisons printf pour afficher l'adresse de n à l'aide de &n et pn, ainsi que la valeur de n à l'aide de n et *pn.


L'affichage de ce programme montrera que l'adresse de n est la même lorsqu'elle est obtenue à l'aide de &n ou pn, et que la valeur de n est la même lorsqu'elle est obtenue à l'aide de n ou *pn.


Cela montre comment un pointeur peut être utilisé pour accéder à la valeur d'une variable en utilisant son adresse mémoire.

Opérateurs de pointeur ( &, * )

Les opérateurs de pointeur sont utilisés pour accéder à la valeur stockée à une adresse de mémoire donnée et pour manipuler des pointeurs.

Passage de pointeurs à des fonctions

Les pointeurs peuvent être passés à des fonctions pour être modifiés, ce qui permet de passer des valeurs par référence plutôt que par valeur.

Exemple


#include 

void swap(int *a, int *b)
{
   int temp = *a;
   *a = *b;
   *b = temp;
}

int main()
{
   int x = 10;
   int y = 20;

   printf("Avant le swap: x = %d, y = %d\n", x, y);

   swap(&x, &y);

   printf("Après le swap: x = %d, y = %d\n", x, y);

   return 0;
}

Les structures en C

Les structures en C sont des types de données personnalisés qui permettent de regrouper des variables de différents types en un seul objet.


Les structures peuvent être déclarées et utilisées comme des types de données simples.

Accès aux membres de la structure

Les membres d'une structure peuvent être accédés en utilisant le nom de la structure suivi de la flèche (->) et du nom du membre.

Passage de structures à des fonctions

Les structures peuvent être passées à des fonctions pour être modifiées ou pour être utilisées pour retourner plusieurs valeurs.

Exemple


#include 

struct point
{
   int x;
   int y;
};

void move(struct point *p, int dx, int dy)
{
   p->x += dx;
   p->y += dy;
}

int main()
{
   struct point p = {0, 0};

   printf("Point avant le déplacement: (%d, %d)\n", p.x, p.y);

   move(&p, 10, 20);

   printf("Point après le déplacement: (%d, %d)\n", p.x, p.y);

   return 0;
}

La compilation en C :

La compilation est le processus qui transforme le code source en un programme exécutable.


Pour compiler un programme en C, vous devez utiliser un compilateur C. Il existe plusieurs compilateurs C disponibles, tels que GCC, Clang et Visual Studio.

Voici les étapes à suivre pour compiler un programme en C :

  • Écrivez le code source dans un fichier avec l'extension ".c", par exemple "mon_programme.c


  • Ouvrez un terminal et placez-vous dans le répertoire où se trouve le fichier source.


  • Tapez la commande de compilation

Exemple


#include 

int main(int argc, char *argv[]) {
    printf("Nombre d'arguments : %d\n", argc);
    for (int i = 0; i < argc; i++) {
        printf("Argument %d : %s\n", i, argv[i]);
    }
    return 0;
}

gcc -o mon_programme mon_programme.c

./mon_programme
1 2 3 4 coucou salut
Nombre d'arguments : 7
Argument 0 : ./mon_programme
Argument 1 : 1
Argument 2 : 2
Argument 3 : 3
Argument 4 : 4
Argument 5 : coucou
Argument 6 : salut

Installation de GCC

GCC est un compilateur C open source qui est utilisé pour compiler des programmes C et C++.


GCC est disponible pour de nombreuses plateformes, notamment Linux, macOS et Windows. Voici comment installer GCC sur ces trois plateformes :

Installation de GCC sur Linux :

La plupart des distributions Linux incluent GCC dans leurs dépôts officiels, il peut donc être installé à l'aide du gestionnaire de paquets de la distribution.


sudo apt-get install build-essential

Installation de GCC sur MAC OS :

GCC peut être installé sur macOS à l'aide de Homebrew, un gestionnaire de paquets pour macOS.


/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install gcc

Installation de GCC sur Windows :

Il existe plusieurs façons d'installer GCC sur Windows. L'une des façons les plus courantes consiste à utiliser MinGW, un port de GCC pour Windows.


  • Exécutez le programme d'installation et sélectionnez les composants que vous souhaitez installer. Assurez-vous de sélectionner l'option "gcc" pour installer le compilateur C.


  • Ajoutez le répertoire "bin" de MinGW au chemin d'accès système. Pour ce faire, ouvrez le panneau de configuration de Windows, sélectionnez "Système et sécurité", puis "Système". Cliquez sur "Paramètres système avancés", puis sur "Variables d'environnement". Sélectionnez la variable "Path" dans la section "Variables système", puis cliquez sur "Modifier". Ajoutez le chemin d'accès au répertoire "bin" de MinGW à la fin de la liste des chemins d'accès.


  • Ouvrez un terminal et vérifiez que GCC est installé en tapant la commande suivante :

gcc --version

Conclusion

La programmation en C est un langage de programmation complet et polyvalent qui offre une grande variété de fonctionnalités pour les développeurs débutants et expérimentés.


En comprenant les concepts de base tels que les variables, les fonctions, les tableaux et les pointeurs, les débutants peuvent commencer à écrire des programmes simples en C et à se familiariser avec les fonctionnalités de ce langage de programmation.


Il est important de continuer à explorer et à pratiquer la programmation en C pour développer ses compétences et comprendre les concepts plus avancés.

Abonnez-vous

Abonner vous, pour recevoir les nouvelles publications et obtenir ma formation programmation pour débutant 100% gratuite.

ME SUIVRE

À PROPOS

Je m'appelle Gregory Lafitte, ancien étudiant de l'école 42, et aujourd’hui ingénieur informatique.


Je partage mes connaissances et mon expérience dans les métiers du numérique.