Benutzereingaben in C lesen

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 erfahren Sie, wie Sie mithilfe der Funktion scanf() in der Programmiersprache C Benutzereingaben lesen können. Die Funktion scanf() ist ein leistungsstarkes Werkzeug zum Lesen von Benutzereingaben und ist in der Standard-Eingabe/Ausgabe-Bibliothek stdio.h definiert. C ist eine stark typisierte Sprache, die verschiedene Datentypen unterstützt. In diesem gesamten Lab werden wir uns darauf konzentrieren, die Datentypen char und int zu verwenden, um Benutzereingaben zu lesen und anzuzeigen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/CompoundTypesGroup(["Compound Types"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c(("C")) -.-> c/PointersandMemoryGroup(["Pointers and Memory"]) c(("C")) -.-> c/FunctionsGroup(["Functions"]) c/BasicsGroup -.-> c/variables("Variables") c/BasicsGroup -.-> c/data_types("Data Types") c/BasicsGroup -.-> c/operators("Operators") c/BasicsGroup -.-> c/comments("Comments") c/CompoundTypesGroup -.-> c/strings("Strings") c/PointersandMemoryGroup -.-> c/memory_address("Memory Address") c/FunctionsGroup -.-> c/function_declaration("Function Declaration") c/UserInteractionGroup -.-> c/user_input("User Input") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-136075{{"Benutzereingaben in C lesen"}} c/data_types -.-> lab-136075{{"Benutzereingaben in C lesen"}} c/operators -.-> lab-136075{{"Benutzereingaben in C lesen"}} c/comments -.-> lab-136075{{"Benutzereingaben in C lesen"}} c/strings -.-> lab-136075{{"Benutzereingaben in C lesen"}} c/memory_address -.-> lab-136075{{"Benutzereingaben in C lesen"}} c/function_declaration -.-> lab-136075{{"Benutzereingaben in C lesen"}} c/user_input -.-> lab-136075{{"Benutzereingaben in C lesen"}} c/output -.-> lab-136075{{"Benutzereingaben in C lesen"}} end

Einrichten der Entwicklungsumgebung

In diesem Schritt richten wir unsere Entwicklungsumgebung ein und erstellen eine neue C-Datei für unser Programm.

  1. Öffnen Sie ein Terminal im WebIDE. Standardmäßig sollten Sie sich im Verzeichnis /home/labex/project befinden. Wenn Sie sich nicht sicher sind, können Sie pwd (print working directory) eingeben, um Ihren aktuellen Speicherort zu überprüfen.

  2. Erstellen Sie eine neue Datei mit dem Namen user_input.c mit dem folgenden Befehl:

    touch user_input.c

    Der Befehl touch erstellt eine neue, leere Datei, wenn sie nicht existiert, oder aktualisiert den Zeitstempel einer vorhandenen Datei.

  3. Öffnen Sie die Datei user_input.c im WebIDE-Editor. Sie können dies tun, indem Sie auf den Dateinamen im Dateiexplorer auf der linken Seite des WebIDE klicken oder die Option Open File im Menü File verwenden.

Schreiben der grundlegenden Programmstruktur

In diesem Schritt werden wir die grundlegende Struktur unseres C-Programms schreiben.

  1. Fügen Sie in der Datei user_input.c den folgenden Code hinzu:

    #include <stdio.h>
    
    int main() {
        // We will add our code here
        return 0;
    }

    Lassen Sie uns diesen Code analysieren:

    • #include <stdio.h> teilt dem Compiler mit, die Standard-Eingabe/Ausgabe-Bibliothek einzubinden. Diese Bibliothek enthält Funktionen wie printf() und scanf(), die wir für die Eingabe und Ausgabe verwenden werden.
    • int main() ist die Hauptfunktion, in der die Ausführung unseres Programms beginnt. Jedes C-Programm muss eine Hauptfunktion haben.
    • Die geschweiften Klammern { } definieren den Körper der Hauptfunktion.
    • return 0; am Ende der Hauptfunktion gibt an, dass das Programm erfolgreich ausgeführt wurde.
  2. Speichern Sie die Datei. Sie können dies tun, indem Sie Strg+S drücken oder Speichern aus dem Menü Datei auswählen.

Implementierung der Benutzereingabe für den Namen

Jetzt implementieren wir die Funktionalität, um den Namen des Benutzers zu lesen.

  1. Ändern Sie die Datei user_input.c, um den folgenden Code innerhalb der Funktion main() einzufügen:

    #include <stdio.h>
    
    int main() {
        char name[100];
    
        printf("Enter your name: ");
        scanf("%s", name);
    
        printf("Hello, %s!\n", name);
    
        return 0;
    }

    Hier ist, was jede neue Zeile macht:

    • char name[100]; deklariert ein Array von Zeichen (einen String), das bis zu 99 Zeichen plus das Nullzeichen aufnehmen kann.
    • printf("Enter your name: "); fordert den Benutzer auf, seinen Namen einzugeben.
    • scanf("%s", name); liest einen String aus der Benutzereingabe und speichert ihn im Array name. Der Format-Spezifizierer %s wird zum Lesen von Strings verwendet.
    • printf("Hello, %s!\n", name); gibt eine Begrüßung aus, die den vom Benutzer eingegebenen Namen verwendet. Das %s in der Formatzeichenkette wird durch den Wert von name ersetzt.
  2. Speichern Sie die Datei.

Hinzufügen der Altersangabe

Lassen Sie uns unser Programm erweitern, um auch nach dem Alter des Benutzers zu fragen.

  1. Ändern Sie die Datei user_input.c, um die Eingabe des Alters einzubeziehen:

    #include <stdio.h>
    
    int main() {
        char name[100];
        int age;
    
        printf("Enter your name: ");
        scanf("%s", name);
    
        printf("Enter your age: ");
        scanf("%d", &age);
    
        printf("Hello, %s! You are %d years old.\n", name, age);
    
        return 0;
    }

    Was neu ist:

    • int age; deklariert eine Ganzzahlvariable, um das Alter des Benutzers zu speichern.
    • Wir haben ein weiteres Paar aus printf() und scanf() hinzugefügt, um nach dem Alter zu fragen und es einzulesen.
    • scanf("%d", &age); liest eine Ganzzahl aus der Benutzereingabe. Der Format-Spezifizierer %d wird für Ganzzahlen verwendet. Beachten Sie das & vor age – dies liegt daran, dass scanf() die Speicheradresse der Variablen benötigt, um die Eingabe zu speichern.
    • Das letzte printf() beinhaltet nun auch das Alter in der Ausgabemeldung.
  2. Speichern Sie die Datei.

Kompilieren und Ausführen des Programms

In diesem letzten Schritt werden wir unser C-Programm kompilieren und ausführen, um die Ergebnisse zu sehen.

  1. Navigieren Sie im Terminal zum Verzeichnis, das Ihre Datei user_input.c enthält:

    cd /home/labex/project

    Dieser Schritt stellt sicher, dass Sie sich im richtigen Verzeichnis befinden. Wenn Sie bereits dort sind, sehen Sie eine Meldung "cd: no such file or directory", die Sie ignorieren können.

  2. Kompilieren Sie das Programm mit dem GCC-Compiler:

    gcc user_input.c -o user_input

    Dieser Befehl teilt GCC mit, user_input.c zu kompilieren und ein ausführbares Programm namens user_input zu erstellen. Wenn es Fehler in Ihrem Code gibt, werden Sie hier Fehlermeldungen sehen. Wenn dies der Fall ist, gehen Sie zurück zu Ihrem Code, beheben Sie die Fehler und versuchen Sie es erneut, das Programm zu kompilieren.

  3. Führen Sie das kompilierte Programm aus:

    ./user_input

    Das ./ teilt der Shell mit, im aktuellen Verzeichnis nach dem Programm zu suchen.

Terminal compiling C program
  1. Das Programm wird Sie auffordern, Ihren Namen und Ihr Alter einzugeben. Geben Sie Ihre Antworten ein und drücken Sie nach jeder Eingabe die Eingabetaste.

  2. Sie sollten eine personalisierte Begrüßungsnachricht mit Ihrem Namen und Alter sehen.

Wenn Sie auf Probleme stoßen, überprüfen Sie Ihren Code auf Tippfehler und stellen Sie sicher, dass Sie alle Änderungen gespeichert haben, bevor Sie das Programm kompilieren.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie in C mithilfe der Funktion scanf() Benutzereingaben lesen können. Sie haben ein Programm erstellt, das Benutzer nach ihrem Namen und Alter fragt, die Eingaben liest und eine personalisierte Begrüßungsnachricht anzeigt. Diese Übung hat Sie in die grundlegenden Ein- und Ausgabeoperationen in C eingeführt, in die Arbeit mit verschiedenen Datentypen (char-Arrays für Strings und int für Ganzzahlen) sowie in den Prozess des Kompilierens und Ausführens eines C-Programms.

Wichtige Erkenntnisse:

  1. Die Funktion scanf() wird verwendet, um Eingaben vom Benutzer zu lesen.
  2. Je nach Art der Eingabe, die Sie lesen, werden verschiedene Format-Spezifizierer verwendet (%s für Strings, %d für Ganzzahlen).
  3. Wenn Sie mit scanf() Ganzzahlen oder andere Nicht-String-Typen lesen, müssen Sie den &-Operator verwenden, um die Adresse der Variablen zu übergeben.
  4. Der Kompilierungsprozess wandelt Ihren C-Code in ein ausführbares Programm um.

Diese grundlegenden Fähigkeiten bilden die Grundlage für komplexere C-Programmieraufgaben und werden Ihnen bei der weiteren Entwicklung Ihrer Programmierfähigkeiten von Wert sein. Denken Sie daran, dass Übung in der Programmierung der Schlüssel ist - versuchen Sie, dieses Programm zu ändern oder neue zu erstellen, um das Gelernte zu festigen!