Créez votre premier programme C sur LabEx

CCBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez à écrire et à exécuter votre premier programme C dans la machine virtuelle (VM) LabEx. Vous commencerez par un simple programme "Hello, World!", puis améliorerez la sortie avec plusieurs instructions d'impression, personnaliserez la sortie en utilisant des variables, explorerez la manipulation de chaînes de caractères en C, et enfin, apprendrez à compiler et à déboguer des programmes C.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/ControlFlowGroup(["Control Flow"]) c(("C")) -.-> c/CompoundTypesGroup(["Compound Types"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c/BasicsGroup -.-> c/variables("Variables") c/BasicsGroup -.-> c/comments("Comments") c/ControlFlowGroup -.-> c/if_else("If...Else") c/CompoundTypesGroup -.-> c/strings("Strings") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-438241{{"Créez votre premier programme C sur LabEx"}} c/comments -.-> lab-438241{{"Créez votre premier programme C sur LabEx"}} c/if_else -.-> lab-438241{{"Créez votre premier programme C sur LabEx"}} c/strings -.-> lab-438241{{"Créez votre premier programme C sur LabEx"}} c/output -.-> lab-438241{{"Créez votre premier programme C sur LabEx"}} end

Écrire et exécuter votre premier programme C

Dans cette étape, vous allez écrire et exécuter votre tout premier programme C dans la machine virtuelle (VM) LabEx. Nous vous guiderons tout au long de la création d'un simple programme "Hello, World!" qui vous introduira à la structure de base de la programmation en C.

Ouvrir le WebIDE

  1. Cliquez sur l'onglet "WebIDE" (par défaut) dans l'interface LabEx pour ouvrir l'environnement similaire à VS Code.
  2. Dans l'explorateur de fichiers de la barre latérale gauche, cliquez avec le bouton droit et sélectionnez "Nouveau fichier".
  3. Nommez le fichier hello.c. L'extension .c indique qu'il s'agit d'un fichier de code source C.
Capture d'écran de l'interface WebIDE

Si vous souhaitez en savoir plus sur le WebIDE, consultez le Guide du WebIDE.

Écrire votre premier programme C

Copiez et collez le code suivant dans votre fichier hello.c :

#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}

Analysons ce code :

  • #include <stdio.h> : Inclut la bibliothèque standard d'entrée/sortie
  • int main() {... } : La fonction principale où commence l'exécution du programme
  • printf("Hello, World!\n"); : Affiche du texte à l'écran
  • \n : Passe à la ligne après l'affichage
  • return 0; : Indique la fin réussie du programme

Compiler et exécuter le programme

Ouvrez le terminal dans votre WebIDE et exécutez ces commandes :

gcc hello.c -o hello
./hello
Terminal exécutant un programme C

Exemple de sortie :

Hello, World!

Explication des commandes

  • gcc hello.c -o hello : Compile le code source C en un exécutable nommé hello
  • ./hello : Exécute le programme compilé

Améliorer la sortie avec plusieurs instructions d'impression

Dans cette étape, vous apprendrez à améliorer votre programme C en ajoutant plusieurs instructions d'impression. Cela vous aidera à comprendre comment afficher des sorties plus complexes et à utiliser plusieurs lignes de texte dans vos programmes.

Modifier votre programme existant

  1. Ouvrez le fichier hello.c dans le WebIDE que vous avez créé à l'étape précédente.
  2. Remplacez le contenu du fichier par le code suivant :
#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    printf("Welcome to C programming!\n");
    printf("This is your first multi-line program.\n");
    return 0;
}

Explication du code

  • Nous avons ajouté deux instructions printf supplémentaires.
  • Chaque instruction printf se termine par \n pour créer une nouvelle ligne.
  • Les points-virgules (;) marquent la fin de chaque instruction.

Compiler et exécuter le programme mis à jour

Ouvrez le terminal dans votre WebIDE et exécutez ces commandes :

gcc hello.c -o hello
./hello

Exemple de sortie :

Hello, World!
Welcome to C programming!
This is your first multi-line program.

Observations clés

  • Chaque instruction printf s'affiche sur une ligne distincte.
  • Le caractère \n assure les sauts de ligne entre les sorties.
  • Vous pouvez ajouter autant d'instructions printf que nécessaire.

Conseils de dépannage :

  • Assurez-vous que chaque ligne se termine par \n.
  • Vérifiez que chaque instruction printf se termine par un point-virgule.
  • Vérifiez que vous avez enregistré le fichier avant de le compiler.

Personnaliser la sortie en utilisant des variables

Dans cette étape, vous apprendrez à utiliser des variables en C pour créer des sorties plus dynamiques et personnalisées. Les variables vous permettent de stocker et de manipuler des données dans votre programme.

Créer un nouveau programme C avec des variables

  1. Ouvrez le WebIDE et créez un nouveau fichier nommé greeting.c. Ou, vous pouvez taper touch greeting.c dans le terminal pour créer le fichier.
  2. Entrez le code suivant dans le fichier greeting.c :
#include <stdio.h>

int main() {
    char name[] = "LabEx";
    printf("Hello, %s!\n", name);
    printf("Welcome to C programming, %s!\n", name);
    return 0;
}

Explication du code

  • char name[] = "LabEx"; : Crée une variable tableau de caractères (chaîne de caractères) nommée name
  • %s est un spécificateur de format qui indique à printf d'insérer une chaîne de caractères
  • , name après la chaîne de format spécifie quelle variable insérer

Compiler et exécuter le programme

Ouvrez le terminal dans votre WebIDE et exécutez ces commandes :

gcc greeting.c -o greeting
./greeting

Exemple de sortie :

Hello, LabEx!
Welcome to C programming, LabEx!

Expérimenter avec les variables

Essayez de changer la variable name pour votre propre nom :

char name[] = "Your Name";

Recompilez et exécutez le programme pour voir la sortie personnalisée.

Conseils de dépannage :

  • Assurez-vous que la variable est définie avant de l'utiliser dans printf
  • Vérifiez que vous avez enregistré le fichier avant de le compiler
  • Vérifiez que le nom de la variable est orthographié correctement

Explorer la manipulation de chaînes de caractères en C

Dans cette étape, vous apprendrez les techniques de base de manipulation de chaînes de caractères en C, y compris la concaténation de chaînes et l'utilisation de fonctions liées aux chaînes de caractères de la bibliothèque standard.

Créer un programme de manipulation de chaînes de caractères

  1. Ouvrez le WebIDE et créez un nouveau fichier nommé strings.c.
  2. Entrez le code suivant :
#include <stdio.h>
#include <string.h>

int main() {
    char first_name[] = "Lab";
    char last_name[] = "Ex";
    char full_name[20];

    // Concatenate strings
    strcpy(full_name, first_name);
    strcat(full_name, " ");
    strcat(full_name, last_name);

    // Print string length and concatenated name
    printf("First name length: %lu\n", strlen(first_name));
    printf("Last name length: %lu\n", strlen(last_name));
    printf("Full name: %s\n", full_name);

    return 0;
}

Explication du code

  • #include <string.h> : Inclut les fonctions de manipulation de chaînes de caractères
  • strcpy() : Copie une chaîne de caractères dans une autre
  • strcat() : Concatène (joint) deux chaînes de caractères
  • strlen() : Retourne la longueur d'une chaîne de caractères
  • %lu : Spécificateur de format pour un entier non signé long (utilisé avec la longueur d'une chaîne de caractères)

Compiler et exécuter le programme

Ouvrez le terminal dans votre WebIDE et exécutez ces commandes :

gcc strings.c -o strings
./strings

Exemple de sortie :

First name length: 3
Last name length: 2
Full name: Lab Ex

Techniques de manipulation de chaînes de caractères

Opérations clés sur les chaînes de caractères démontrées :

  • Création de tableaux de caractères
  • Copie de chaînes de caractères avec strcpy()
  • Jointure de chaînes de caractères avec strcat()
  • Recherche de la longueur d'une chaîne de caractères avec strlen()

Conseils de dépannage :

  • Assurez-vous d'avoir suffisamment d'espace dans la chaîne de destination
  • Toujours inclure <string.h> pour les fonctions de chaînes de caractères
  • Faites attention aux tailles des tampons de chaînes pour éviter les dépassements de capacité

Compiler et déboguer des programmes C

Dans cette étape, vous apprendrez les techniques essentielles de compilation et de débogage pour les programmes C, notamment la compréhension des avertissements du compilateur, l'utilisation d'indicateurs de compilation et les stratégies de débogage de base.

Créer un programme avec des erreurs intentionnelles

  1. Ouvrez le WebIDE et créez un nouveau fichier nommé debug.c.
  2. Entrez le code suivant avec quelques erreurs intentionnelles :
#include <stdio.h>

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

    // Intentional division by zero
    int result = x / y;

    printf("Result: %d\n", result);

    // Unused variable
    int z = 5;

    return 0;
}

Compiler avec des avertissements

Compilez le programme avec des indicateurs d'avertissement supplémentaires :

gcc -Wall -Wextra debug.c -o debug

Explication des indicateurs de compilation

  • -Wall : Active la plupart des messages d'avertissement
  • -Wextra : Active des avertissements encore plus détaillés

Exemple de sortie du compilateur :

debug.c: In function ‘main’:
debug.c:13:9: warning: unused variable ‘z’ [-Wunused-variable]
   13 |     int z = 5;
      |         ^

Utiliser GDB pour le débogage

Compilez avec des symboles de débogage :

gcc -g debug.c -o debug

Démarrez le débogage :

gdb./debug

Commandes GDB :

  • run : Démarrer le programme
  • break main : Définir un point d'arrêt à la fonction principale
  • print x : Afficher la valeur de la variable x
  • next : Exécuter la ligne suivante
  • quit : Quitter GDB
(gdb) run
Starting program: /home/labex/project/debug
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGFPE, Arithmetic exception.
0x0000555555555167 in main () at debug.c:8
8           int result = x / y;
(gdb) print x
$1 = 10
(gdb) break main
Breakpoint 1 at 0x555555555155: file debug.c, line 4.
(gdb) next

Program terminated with signal SIGFPE, Arithmetic exception.
The program no longer exists.
(gdb) quit

GDB montre une erreur de division par zéro à la ligne 8. Le programme plante en raison d'une exception arithmétique.

Corriger le programme

Modifiez debug.c pour gérer la division en toute sécurité :

#include <stdio.h>

int main() {
    int x = 10;
    int y = 2;  // Change from 0 to a non-zero value

    if (y!= 0) {
        int result = x / y;
        printf("Result: %d\n", result);
    } else {
        printf("Error: Division by zero!\n");
    }

    return 0;
}

Recompilez et exécutez :

gcc -Wall -Wextra debug.c -o debug
./debug

Sortie :

Result: 5

Conseils de dépannage :

  • Toujours compiler avec -Wall -Wextra
  • Prêtez attention aux avertissements du compilateur
  • Utilisez GDB pour les scénarios de débogage complexes
  • Ajoutez des vérifications d'erreur pour les problèmes potentiels à l'exécution

Résumé

Dans ce laboratoire, vous avez appris à écrire et à exécuter votre premier programme C, à améliorer la sortie avec plusieurs instructions d'impression, à personnaliser la sortie en utilisant des variables, à explorer la manipulation de chaînes de caractères en C, ainsi qu'à compiler et à déboguer des programmes C. Vous avez acquis une expérience pratique de la structure de base de la programmation en C, y compris l'inclusion de bibliothèques, la définition de la fonction principale, l'utilisation de printf() pour afficher la sortie, ainsi que la compilation et l'exécution du programme. Vous avez également exploré des concepts plus avancés tels que l'utilisation de plusieurs instructions d'impression et la manipulation de variables et de chaînes de caractères.