Erstellen Sie Ihr erstes C-Programm in LabEx

CCBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie Ihr erstes C-Programm in der LabEx VM schreiben und ausführen. Sie beginnen mit einem einfachen "Hello, World!"-Programm, verbessern dann die Ausgabe mit mehreren Print-Anweisungen, personalisieren die Ausgabe mithilfe von Variablen, erkunden die Zeichenkettenmanipulation in C und lernen schließlich, wie Sie C-Programme kompilieren und debuggen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/CompoundTypesGroup(["Compound Types"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/ControlFlowGroup(["Control Flow"]) 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{{"Erstellen Sie Ihr erstes C-Programm in LabEx"}} c/comments -.-> lab-438241{{"Erstellen Sie Ihr erstes C-Programm in LabEx"}} c/if_else -.-> lab-438241{{"Erstellen Sie Ihr erstes C-Programm in LabEx"}} c/strings -.-> lab-438241{{"Erstellen Sie Ihr erstes C-Programm in LabEx"}} c/output -.-> lab-438241{{"Erstellen Sie Ihr erstes C-Programm in LabEx"}} end

Schreiben und Ausführen Ihres ersten C-Programms

In diesem Schritt werden Sie Ihr erstes C-Programm in der LabEx VM schreiben und ausführen. Wir werden Sie durch die Erstellung eines einfachen "Hello, World!"-Programms führen, das Ihnen die Grundstruktur der C-Programmierung vorstellt.

Öffnen der WebIDE

  1. Klicken Sie auf die Registerkarte "WebIDE" (Standard) in der LabEx-Oberfläche, um die VS Code-ähnliche Umgebung zu öffnen.
  2. Klicken Sie im Dateiexplorer der linken Seitenleiste mit der rechten Maustaste und wählen Sie "Neue Datei".
  3. Benennen Sie die Datei hello.c. Die .c-Erweiterung zeigt an, dass dies eine C-Quellcodedatei ist.
Screenshot der WebIDE-Oberfläche

Wenn Sie mehr über die WebIDE erfahren möchten, lesen Sie den WebIDE-Leitfaden.

Schreiben Ihres ersten C-Programms

Kopieren Sie den folgenden Code und fügen Sie ihn in Ihre hello.c-Datei ein:

#include <stdio.h>

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

Lassen Sie uns diesen Code analysieren:

  • #include <stdio.h>: Inkludiert die Standard-Eingabe/Ausgabe-Bibliothek
  • int main() {... }: Die Hauptfunktion, in der die Programmausführung beginnt
  • printf("Hello, World!\n");: Gibt Text auf dem Bildschirm aus
  • \n: Springt nach dem Ausgeben auf eine neue Zeile
  • return 0;: Gibt an, dass das Programm erfolgreich abgeschlossen wurde

Kompilieren und Ausführen des Programms

Öffnen Sie das Terminal in Ihrer WebIDE und führen Sie diese Befehle aus:

gcc hello.c -o hello
./hello
Terminal, das ein C-Programm ausführt

Beispielausgabe:

Hello, World!

Erklärung der Befehle

  • gcc hello.c -o hello: Kompiliert den C-Quellcode zu einem ausführbaren Programm namens hello
  • ./hello: Führt das kompilierte Programm aus

In diesem Schritt lernen Sie, wie Sie Ihr C-Programm verbessern können, indem Sie mehrere Print-Anweisungen hinzufügen. Dies hilft Ihnen zu verstehen, wie Sie komplexere Ausgaben anzeigen und mehrere Textzeilen in Ihren Programmen verwenden können.

Modifizieren Sie Ihr vorhandenes Programm

  1. Öffnen Sie die hello.c-Datei in der WebIDE, die Sie im vorherigen Schritt erstellt haben.
  2. Ersetzen Sie den Inhalt der Datei durch den folgenden Code:
#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;
}

Code-Erklärung

  • Wir haben zwei weitere printf-Anweisungen hinzugefügt.
  • Jede printf-Anweisung endet mit \n, um eine neue Zeile zu erstellen.
  • Semikolons (;) markieren das Ende jeder Anweisung.

Kompilieren und Ausführen des aktualisierten Programms

Öffnen Sie das Terminal in Ihrer WebIDE und führen Sie diese Befehle aus:

gcc hello.c -o hello
./hello

Beispielausgabe:

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

Wichtige Beobachtungen

  • Jede printf-Anweisung wird in einer separaten Zeile ausgegeben.
  • Das \n sorgt für Zeilenumbrüche zwischen den Ausgaben.
  • Sie können so viele printf-Anweisungen hinzufügen, wie benötigt.

Fehlerbehebungstipps:

  • Stellen Sie sicher, dass jede Zeile mit \n endet.
  • Überprüfen Sie, dass jede printf-Anweisung mit einem Semikolon endet.
  • Vergewissern Sie sich, dass Sie die Datei vor dem Kompilieren gespeichert haben.

Personalisieren der Ausgabe mit Variablen

In diesem Schritt lernen Sie, wie Sie Variablen in C verwenden können, um dynamischere und personalisierte Ausgaben zu erstellen. Variablen ermöglichen es Ihnen, Daten in Ihrem Programm zu speichern und zu manipulieren.

Erstellen eines neuen C-Programms mit Variablen

  1. Öffnen Sie die WebIDE und erstellen Sie eine neue Datei mit dem Namen greeting.c. Alternativ können Sie touch greeting.c im Terminal eingeben, um die Datei zu erstellen.
  2. Geben Sie den folgenden Code in die greeting.c-Datei ein:
#include <stdio.h>

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

Code-Erklärung

  • char name[] = "LabEx";: Erstellt eine Zeichenkettenvariable (character array) namens name
  • %s ist ein Format-Spezifizierer, der printf sagt, dass eine Zeichenkette eingefügt werden soll
  • , name hinter der Formatzeichenkette gibt an, welche Variable eingefügt werden soll

Kompilieren und Ausführen des Programms

Öffnen Sie das Terminal in Ihrer WebIDE und führen Sie diese Befehle aus:

gcc greeting.c -o greeting
./greeting

Beispielausgabe:

Hello, LabEx!
Welcome to C programming, LabEx!

Experimentieren mit Variablen

Versuchen Sie, die name-Variable in Ihren eigenen Namen zu ändern:

char name[] = "Your Name";

Kompilieren Sie das Programm erneut und führen Sie es aus, um die personalisierte Ausgabe zu sehen.

Fehlerbehebungstipps:

  • Stellen Sie sicher, dass die Variable definiert ist, bevor Sie sie in printf verwenden.
  • Überprüfen Sie, dass Sie die Datei vor dem Kompilieren gespeichert haben.
  • Vergewissern Sie sich, dass der Variablenname richtig geschrieben ist.

Erkundung der Zeichenkettenmanipulation in C

In diesem Schritt lernen Sie grundlegende Techniken zur Zeichenkettenmanipulation in C kennen, einschließlich der Verkettung von Zeichenketten und der Verwendung von Zeichenketten-bezogenen Funktionen aus der Standardbibliothek.

Erstellen eines Programms zur Zeichenkettenmanipulation

  1. Öffnen Sie die WebIDE und erstellen Sie eine neue Datei mit dem Namen strings.c.
  2. Geben Sie den folgenden Code ein:
#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;
}

Code-Erklärung

  • #include <string.h>: Inkludiert Funktionen zur Zeichenkettenmanipulation
  • strcpy(): Kopiert eine Zeichenkette in eine andere
  • strcat(): Verkettet (fügt zusammen) zwei Zeichenketten
  • strlen(): Gibt die Länge einer Zeichenkette zurück
  • %lu: Format-Spezifizierer für vorzeichenlose Ganzzahlen (für die Zeichenkettenlänge verwendet)

Kompilieren und Ausführen des Programms

Öffnen Sie das Terminal in Ihrer WebIDE und führen Sie diese Befehle aus:

gcc strings.c -o strings
./strings

Beispielausgabe:

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

Techniken zur Zeichenkettenmanipulation

Hauptsächlich demonstrierte Zeichenkettenoperationen:

  • Erstellen von Zeichenkettenarrays
  • Kopieren von Zeichenketten mit strcpy()
  • Verbinden von Zeichenketten mit strcat()
  • Ermitteln der Zeichenkettenlänge mit strlen()

Fehlerbehebungstipps:

  • Stellen Sie sicher, dass die Zielzeichenkette genug Platz hat.
  • Inkludieren Sie immer <string.h> für Zeichenkettenfunktionen.
  • Seien Sie vorsichtig mit den Größen der Zeichenkettenpuffer, um Überläufe zu vermeiden.

Kompilieren und Debuggen von C-Programmen

In diesem Schritt lernen Sie essentielle Kompilierungs- und Debugging-Techniken für C-Programme kennen, einschließlich des Verständnisses von Compiler-Warnungen, der Verwendung von Kompilierungs-Flags und grundlegender Debugging-Strategien.

Erstellen eines Programms mit absichtlichen Fehlern

  1. Öffnen Sie die WebIDE und erstellen Sie eine neue Datei mit dem Namen debug.c.
  2. Geben Sie den folgenden Code mit einigen absichtlichen Fehlern ein:
#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;
}

Kompilieren mit Warnungen

Kompilieren Sie das Programm mit zusätzlichen Warnungs-Flags:

gcc -Wall -Wextra debug.c -o debug

Erklärung der Kompilierungs-Flags

  • -Wall: Aktiviert die meisten Warnungsmeldungen
  • -Wextra: Aktiviert noch detailliertere Warnungen

Beispiel der Compiler-Ausgabe:

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

Verwenden von GDB zum Debuggen

Kompilieren Sie mit Debugging-Symbolen:

gcc -g debug.c -o debug

Starten Sie das Debugging:

gdb./debug

GDB-Befehle:

  • run: Starten Sie das Programm
  • break main: Setzen Sie einen Breakpoint in der Hauptfunktion
  • print x: Geben Sie den Wert der Variablen x aus
  • next: Führen Sie die nächste Zeile aus
  • quit: Beenden Sie 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 zeigt einen Fehler bei der Division durch Null in Zeile 8 an. Das Programm stürzt aufgrund einer arithmetischen Ausnahme ab.

Beheben des Programms

Ändern Sie debug.c, um die Division sicher zu handhaben:

#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;
}

Kompilieren Sie erneut und führen Sie das Programm aus:

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

Ausgabe:

Result: 5

Fehlerbehebungstipps:

  • Kompilieren Sie immer mit -Wall -Wextra
  • Achten Sie auf Compiler-Warnungen
  • Verwenden Sie GDB für komplexe Debugging-Szenarien
  • Fügen Sie Fehlerprüfungen für potenzielle Laufzeitprobleme hinzu

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie Ihr erstes C-Programm schreiben und ausführen, die Ausgabe mit mehreren Print-Anweisungen verbessern, die Ausgabe mithilfe von Variablen personalisieren, die Zeichenkettenmanipulation in C erkunden sowie C-Programme kompilieren und debuggen. Sie haben praktische Erfahrungen mit der Grundstruktur der C-Programmierung gesammelt, einschließlich des Einbinden von Bibliotheken, der Definition der Hauptfunktion, der Verwendung von printf() zur Anzeige von Ausgaben sowie des Kompilierens und Ausführens des Programms. Sie haben auch fortgeschrittenere Konzepte wie die Verwendung mehrerer Print-Anweisungen und die Arbeit mit Variablen und Zeichenketten erkundet.