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.
Entwicklungsumgebung einrichten
In diesem Schritt richten wir unsere Entwicklungsumgebung ein und erstellen eine neue C-Datei für unser Programm.
Öffnen Sie ein Terminal im WebIDE. Standardmäßig sollten Sie sich im Verzeichnis
/home/labex/projectbefinden. Wenn Sie sich nicht sicher sind, können Siepwd(print working directory) eingeben, um Ihren aktuellen Speicherort zu überprüfen.Erstellen Sie eine neue Datei mit dem Namen
user_input.cmit dem folgenden Befehl:touch user_input.cDer Befehl
toucherstellt eine neue, leere Datei, wenn sie nicht existiert, oder aktualisiert den Zeitstempel einer vorhandenen Datei.Öffnen Sie die Datei
user_input.cim WebIDE-Editor. Sie können dies tun, indem Sie auf den Dateinamen im Dateiexplorer auf der linken Seite des WebIDE klicken oder die OptionOpen Fileim MenüFileverwenden.
Grundstruktur des Programms schreiben
In diesem Schritt werden wir die grundlegende Struktur unseres C-Programms schreiben.
Fügen Sie in der Datei
user_input.cden 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 wieprintf()undscanf(), 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.
Speichern Sie die Datei. Sie können dies tun, indem Sie Strg+S drücken oder
Speichernaus dem MenüDateiauswählen.
Benutzereingabe für den Namen implementieren
Jetzt implementieren wir die Funktionalität, um den Namen des Benutzers zu lesen.
Ändern Sie die Datei
user_input.c, um den folgenden Code innerhalb der Funktionmain()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 Arrayname. Der Format-Spezifizierer%swird zum Lesen von Strings verwendet.printf("Hello, %s!\n", name);gibt eine Begrüßung aus, die den vom Benutzer eingegebenen Namen verwendet. Das%sin der Formatzeichenkette wird durch den Wert vonnameersetzt.
Speichern Sie die Datei.
Alterseingabe hinzufügen
Lassen Sie uns unser Programm erweitern, um auch nach dem Alter des Benutzers zu fragen.
Ä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()undscanf()hinzugefügt, um nach dem Alter zu fragen und es einzulesen. scanf("%d", &age);liest eine Ganzzahl aus der Benutzereingabe. Der Format-Spezifizierer%dwird für Ganzzahlen verwendet. Beachten Sie das&vorage– dies liegt daran, dassscanf()die Speicheradresse der Variablen benötigt, um die Eingabe zu speichern.- Das letzte
printf()beinhaltet nun auch das Alter in der Ausgabemeldung.
Speichern Sie die Datei.
Programm kompilieren und ausführen
In diesem letzten Schritt werden wir unser C-Programm kompilieren und ausführen, um die Ergebnisse zu sehen.
Navigieren Sie im Terminal zum Verzeichnis, das Ihre Datei
user_input.centhält:cd /home/labex/projectDieser 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.
Kompilieren Sie das Programm mit dem GCC-Compiler:
gcc user_input.c -o user_inputDieser Befehl teilt GCC mit,
user_input.czu kompilieren und ein ausführbares Programm namensuser_inputzu 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.Führen Sie das kompilierte Programm aus:
./user_inputDas
./teilt der Shell mit, im aktuellen Verzeichnis nach dem Programm zu suchen.

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.
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:
- Die Funktion
scanf()wird verwendet, um Eingaben vom Benutzer zu lesen. - Je nach Art der Eingabe, die Sie lesen, werden verschiedene Format-Spezifizierer verwendet (
%sfür Strings,%dfür Ganzzahlen). - Wenn Sie mit
scanf()Ganzzahlen oder andere Nicht-String-Typen lesen, müssen Sie den&-Operator verwenden, um die Adresse der Variablen zu übergeben. - 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!



