Cette année, j’ai commencé à travailler davantage avec le langage C.
Au début, la syntaxe me paraissait assez différente de ce que j’avais déjà vu. Même pour afficher quelque chose à l’écran, il faut déjà comprendre quelques éléments comme #include, la fonction main() ou encore printf().
Par exemple, le premier programme qu’on rencontre souvent ressemble à ça :
#include <stdio.h>
int main() {
printf("Bonjour !\n");
return 0;
}Ce programme est très simple, mais il permet déjà de comprendre la structure générale d’un programme en C.
#include <stdio.h> permet notamment d’utiliser des fonctions comme printf() et scanf().
La fonction :
int main()est le point de départ du programme.
Et :
return 0;indique simplement que le programme s’est terminé correctement.
Les variables
Ensuite, j’ai commencé à utiliser les variables.
Par exemple :
int age = 20;
float note = 14.5;
char lettre = 'A';Chaque variable possède un type.
int sert pour les nombres entiers, float pour les nombres décimaux et char pour un caractère.
C’est une chose assez importante en C parce qu’on doit préciser le type de la variable avant de l’utiliser.
Les conditions
Une autre partie que j’utilise beaucoup est if.
Par exemple :
if (note >= 10) {
printf("Module valide\n");
} else {
printf("Module non valide\n");
}Le programme teste une condition et choisit ensuite quoi faire.
Au début, ce sont des exemples très simples, mais les conditions deviennent rapidement utiles quand on commence à construire un vrai programme.
Les boucles
Les boucles permettent d’éviter de répéter plusieurs fois le même code.
Par exemple :
for (int i = 0; i < 5; i++) {
printf("%d\n", i);
}Ici, la boucle est exécutée plusieurs fois automatiquement.
J’ai compris que les boucles deviennent particulièrement utiles lorsqu’on doit traiter une liste de données, ce qui m’a donné une idée pour un petit programme que je suis actuellement en train de créer.
Mon petit projet : filtrer une liste d’e-mails
Pour pratiquer un peu plus le C, je suis en train de créer un programme très simple qui permet de filtrer des adresses e-mail selon leur domaine.
L’idée est d’avoir un fichier texte contenant plusieurs adresses, par exemple :
amine@gmail.com
test@yahoo.com
Abdessamad@gmail.com
contact@outlook.com
sara@gmail.com
admin@hotmail.comLe programme demande ensuite à l’utilisateur quel domaine il veut rechercher.
Par exemple :
Entrez le domaine : @gmail.comLe programme lit les adresses une par une et garde seulement celles qui se terminent par @gmail.com.
Le résultat serait alors :
amine@gmail.com
Abdessamad@gmail.com
sara@gmail.comEt ces adresses seront enregistrées automatiquement dans un nouveau fichier TXT.
Par exemple :
gmail.txtL’objectif est donc quelque chose comme :
emails.txt
|
v
Programme C
|
Domaine choisi : @gmail.com
|
v
gmail.txtPour réaliser ce programme, je dois utiliser plusieurs choses que j’apprends actuellement en C :
boucles
conditions
chaînes de caractères
lecture de fichiers
écriture dans un fichierPar exemple, il faudra ouvrir le fichier contenant les adresses :
FILE *fichier;
fichier = fopen("emails.txt", "r");Le "r" signifie que le fichier est ouvert en lecture.
Pour le fichier contenant les résultats, on pourra utiliser :
FILE *resultat;
resultat = fopen("resultats.txt", "w");Cette fois, "w" signifie écriture.
Le programme devra ensuite lire chaque adresse, vérifier son domaine et écrire uniquement les bonnes adresses dans le nouveau fichier.
Je n’ai pas encore terminé ce petit projet, mais je trouve que c’est une bonne manière de pratiquer parce que je ne travaille plus seulement avec des nombres ou des exemples de cours. Je commence à manipuler des données présentes dans un vrai fichier.
Pourquoi j’apprends le C ?
Dans ma formation, je travaille surtout sur les réseaux et la sécurité, mais je trouve important de comprendre aussi la programmation.
Le C permet de mieux comprendre certaines notions proches du fonctionnement d’un système : les variables, la mémoire, les fichiers ou encore la manière dont un programme traite les données.
Mon objectif pour le moment n’est pas de créer des programmes très avancés.
Je préfère commencer par des petits projets que je peux vraiment comprendre et expliquer, comme ce filtre d’e-mails, puis augmenter progressivement la difficulté.
Pour l’instant, les choses que j’essaie surtout de maîtriser sont :
les variables ;
les conditions ;les boucles ;
les chaînes de caractères ;
les fonctions ;
la lecture et l’écriture de fichiers.
Le prochain objectif est donc de terminer mon programme de filtrage d’e-mails et de le mettre sur GitHub avec quelques exemples pour montrer son fonctionnement.

0 Commentaires