So lernen Sie die C-Programmierung mit diesem Anfängerprojekt
Programmieren ist eine kumulative Erfahrung. Sie müssen nicht nur die Syntax Ihrer gewählten Sprache lernen, sondern auch die allgemeinen Prinzipien, die alle Programmiersprachen verwenden.
Das Verstehen und Lernen von C-Programmierung kann entmutigend sein, aber es gibt einige grundlegende Ideen, die es wert sind, sich beim Start vertraut zu machen. Ein einfaches Projekt ist eine großartige Möglichkeit, die Grundlagen von C zu erlernen.
Also, wo solltest du anfangen? Hallo sagen!
1. Hallo Welt!
Der erste Teil von fast jedem Codierkurs ist der Hallo Welt Programm. Wenn Sie es im Detail durchgehen, werden einige der Unterschiede zwischen C und anderen Sprachen hervorgehoben. Öffnen Sie zunächst einen Texteditor oder IDE-Texteditoren im Vergleich zu IDEs: Welcher ist besser für Programmierer? Texteditoren vs. IDEs: Welche ist besser für Programmierer? Die Wahl zwischen einer erweiterten IDE und einem einfacheren Texteditor kann schwierig sein. Wir bieten einige Einblicke, um Ihnen bei dieser Entscheidung zu helfen. Lesen Sie mehr Ihrer Wahl und geben Sie diesen Code ein:
#umfassen / * Dies ist ein Hello World-Skript in C * / int main (void) printf ("Hallo, Welt! \ n"); 0 zurückgeben;
Dieser kurze Code wird vor dem Beenden des Programms auf der Konsole gedruckt. Speichern Sie es an einem leicht zu merkenden Ort Hallo c. Nun müssen Sie Ihre Datei kompilieren und erstellen.
Lass es laufen
Normalerweise müssen Sie keine zusätzliche Software auf Ihrem Computer installieren, um C-Skripts auszuführen. Öffnen Sie ein Terminalfenster (oder eine Eingabeaufforderung, wenn Sie Windows ausführen) und navigieren Sie zu dem Verzeichnis, in dem Sie Ihr Skript gespeichert haben.
Die Art und Weise, wie Sie Ihre Datei kompilieren und ausführen, ist von System zu System unterschiedlich:
- Windows-Benutzer: Machen Sie Ihre Datei durch Eingabe ausführbar cl hallo.c und drücken Sie die Eingabetaste. Dadurch wird hello.exe im selben Ordner erstellt, den Sie durch Eingabe ausführen können Hallo.
- Linux- und MacOS-Benutzer: Art gcc -o hallo hallo.c und drücken Sie die Eingabetaste, um es ausführbar zu machen, und führen Sie es durch Eingabe aus ./Hallo.
Welche Methode auch immer Sie verwenden, das Ausführen Ihres Skripts sollte Ihnen Folgendes zeigen:
Wenn dies unter Windows nicht funktioniert hat, stellen Sie sicher, dass Sie die Eingabeaufforderung im Administratormodus ausführen. Für macOS müssen Sie möglicherweise Xcode aus dem App Store installieren und diese Schritte in StackOverflow ausführen.
Schauen wir uns das Programm nun Zeile für Zeile an, um zu sehen, wie es funktioniert und es zu verbessern!
Unter der Haube: Die C-Sprache verstehen
Vorprozessoren
Das soeben erstellte Skript beginnt mit der Aufnahme einer Bibliothek.
#umfassen
Die erste Zeile im Skript heißt a Präprozessor. Dies wird ausgeführt, bevor der Rest des Skripts kompiliert wird. In diesem Fall teilt es dem Skript mit, dass stdio.h Bibliothek. Es gibt eine Vielzahl von Präprozessoren für verschiedene Aufgaben.
Stdio.h sorgt dafür, dass der Benutzer des Programms Eingaben erhält und Informationen zurückgibt.
/ * Dies ist ein Hello World-Skript in C * /
Diese nächste Zeile ist ein Kommentar. Der Schrägstrich und der Stern weisen den Compiler an, alles zwischen ihm und dem schließenden Stern und dem Schrägstrich zu ignorieren. Auch wenn dies sinnlos erscheinen mag, ist es eine wesentliche Angewohnheit, sich selbst und anderen klare Hinweise zu geben, was Ihr Code bewirkt.
Die Hauptfunktion
int main (void)
Jedes C-Programm muss eine Main Funktion. Main ist eine Funktion, die eine Ganzzahl zurückgibt, bezeichnet mit int. Die Klammern hinter main sind für ihre Argumente, obwohl in diesem Fall keine verwendet wird. Deshalb verwenden Sie die Leere Stichwort.
Sie schreiben den Code, der zwischen zwei geschweiften Klammern ausgeführt werden soll.
printf ("Hallo, Welt! \ n"); 0 zurückgeben;
Innerhalb der Funktion rufen Sie die printf () Funktion. So wie Main(), printf ist eine Funktion. Der Unterschied ist, printf ist eine Funktion in der stdio Bibliothek, die Sie am Anfang aufgenommen haben.
Printf druckt alles in den Klammern zwischen den Anführungszeichen auf die Konsole. Das \ n ist eine Escape-Sequenz namens newline, die den Compiler anweist, zur nächsten Zeile in der Konsole zu springen, bevor Sie fortfahren.
Beachten Sie, dass diese Zeilen auf enden Semikolons, der Compiler verwendet, um eine Task von der nächsten aufzuteilen. Achten Sie genau auf diese Semikolons - das Fehlen dieser Nummer ist die Hauptursache dafür, dass die Dinge nicht richtig laufen!
Schließlich kehrt die Funktion mit der Nummer 0 zurück und beendet das Programm. Das Main() Funktion muss immer eine ganze Zahl und zurückgeben return = 0; signalisiert dem Computer, dass der Prozess erfolgreich war.
Das Verständnis der einzelnen Schritte dieses Skripts ist ein guter Anfang, um sowohl die C-Syntax als auch die Funktionsweise der Sprache zu lernen.
2. Erstellen Sie Ihre eigenen C-Funktionen
Sie können Ihre eigenen benutzerdefinierten Funktionen in C erstellen. Anstatt Hello World in der Hauptfunktion zu drucken, erstellen Sie eine neue Funktion, die dies für Sie erledigt.
void print_for_me () printf ("Hallo, Welt! \ n");
Lass uns das aufteilen.
Leere ist ein Schlüsselwort. Die folgende Funktion gibt nichts zurück.
print_for_me () ist der Name der Funktion, und die leeren Klammern zeigen an, dass zur Ausführung keine Argumente erforderlich sind. Ein Argument ist eine beliebige Information, die an eine Funktion übergeben wird, damit sie funktioniert. Später fügen Sie ein eigenes Argument hinzu, um die Ausgabe zu ändern! Hinweis: Dies ist nicht dasselbe wie die main () - Funktion, über der void verwendet wurde. Diese Funktion kann keine Argumente annehmen, während diese (dies muss aber nicht)..
Der Codeblock sollte Ihnen vertraut sein - es ist nur die Druckaussage der ursprünglichen Hauptfunktion.
Nun können Sie diese Funktion von Ihrer Hauptfunktion aus aufrufen.
int main (void) print_for_me (); print_for_me (); 0 zurückgeben;
Hier sehen Sie einen Vorteil der Verwendung Ihrer eigenen Funktion. Anstatt zu tippen printf (“Hallo Welt! \ n”) Sie können die Funktion jedes Mal zweimal aufrufen.
Im Moment mag dies nicht so wichtig erscheinen, aber wenn Ihre print_for_me-Funktion viele Codezeilen enthielt, ist es eine große Zeitersparnis, sie so einfach aufrufen zu können!
Dies ist eine grundlegende Idee der Programmierung, auf die Sie während Ihrer gesamten Ausbildung stoßen werden. Schreiben Sie Ihre eigene Funktion einmal, anstatt dieselben großen Codeabschnitte immer wieder zu schreiben.
3. Funktionsprototypen in C verwenden
Prototypen sind eine der Hauptarten, in denen sich Anfänger C von anderen Sprachen unterscheidet. Kurz gesagt handelt es sich bei einem Prototyp um eine Vorschau einer später definierten Funktion. Wenn Sie die Funktion print_for_me () nach der Hauptfunktion schreiben, wird beim Kompilieren möglicherweise eine Warnung angezeigt:
Die Warnmeldung informiert Sie darüber, dass der Compiler vor der Deklaration in die Funktion print_for_me gestoßen ist, sodass er nicht sicher sein kann, dass er beim Ausführen des Programms ordnungsgemäß funktioniert.
Der Code würde weiterhin funktionieren, aber die Warnung kann durch Verwendung eines Prototyps vollständig vermieden werden.
#umfassen void print_for_me (); int main (void) print_for_me (); print_for_me (); 0 zurückgeben; void print_for_me () printf ("Hallo, Welt! \ n");
Wenn Sie das vollständige Programm betrachten, können Sie sehen, dass der Prototyp für print_for_me () zu Beginn des Programms vorhanden ist, aber nichts enthält. Die Prototypfunktion zeigt dem Compiler, wie die Funktion aussehen soll und ob Argumente erforderlich sind oder nicht.
Das bedeutet, dass der Compiler beim Aufruf in der main-Funktion weiß, ob er korrekt aufgerufen wird, und bei Bedarf eine Warnung oder einen Fehler auslösen kann. Dies mag etwas seltsam erscheinen, aber jetzt zu wissen, wird in der Zukunft hilfreich sein.
Dieses Programm funktioniert immer noch ohne Prototyp, aber es ist eine gute Praxis. Die Ausgabe sieht noch immer gleich aus. Sie können sie ändern, um sie persönlicher zu gestalten!
4. Argumente an C-Funktionen übergeben
Das Skript ändern
Für diesen letzten Schritt werden Sie nach dem Namen des Benutzers gefragt und dessen Eingabe aufzeichnen. Dann verwenden Sie es in der zuvor erstellten Funktion. In C sind Wörter nicht wie in anderen Programmiersprachen als Zeichenfolgen bekannt.
Sie sind stattdessen ein Array aus einzelnen Zeichen. Das Symbol für ein Array ist [] und das Stichwort lautet verkohlen. Beginnen Sie mit dem Aktualisieren Ihrer Prototypfunktion zu Beginn Ihres Skripts:
#umfassen void print_for_me (char name []);
Nun weiß der Compiler, dass die Funktion später im Skript ein Array von Zeichen benötigt, das aufgerufen wird Name. Bisher existiert dieser Charakter nicht. Aktualisieren Sie Ihre Hauptfunktion, um sie zu erstellen, und speichern Sie die Benutzereingaben:
int main (void) char name [20]; printf ("Name eingeben:"); scanf ("% s", Name); print_for_me (name); print_for_me ("Jeder!"); 0 zurückgeben;
Die erste Zeile in main erstellt ein Zeichenarray mit 20 möglichen Leerzeichen, genannt name. Als Nächstes wird der Benutzer aufgefordert, seinen Namen mit printf einzugeben. In der nächsten Zeile wird eine neue Funktion aufgerufen scanf Das nächste Wort wird vom Benutzer eingegeben.
Das “% s” teilt der Funktion mit, dass sie die Daten als String speichern soll, und ruft sie auf Name.
Funktion ändern
Wenn Sie jetzt print_for_me aufrufen, können Sie Include hinzufügen Name in den Klammern. In der nächsten Zeile sehen Sie, dass Sie auch andere Zeichen übergeben können, solange sie zwischen Anführungszeichen stehen. Was in den Klammern steht, wird beide Male an die Funktion print_for_me übergeben.
Ändern Sie das jetzt, um die neuen Informationen zu verwenden, die Sie ihm geben:
void print_for_me (char name []) printf ("Hallo"); setzt (Name);
Hier sehen Sie, dass die Klammern genauso wie der Prototyp am Anfang des Skripts aktualisiert wurden. Drinnen drucken Sie immer noch hallo mit printf. Eine neue Funktion ist hier setzt. Dies ist eine fortgeschrittenere Version von Printf.
Alles, was in den Klammern steht, wird auf die Konsole gedruckt und ein Zeilenvorschub (der \ n früher verwendet) wird automatisch hinzugefügt.
Speichern und kompilieren Sie Ihren Code auf dieselbe Weise wie zuvor. Beachten Sie, dass Sie dem Programm einen anderen Namen geben können, wenn Sie das vorherige Programm nicht überschreiben möchten. Ich habe meinen genannt hallo2:
Wie Sie sehen sollten, nimmt das Programm die Eingabe und verwendet sie in der Funktion, bevor die voreingestellte Begrüßung von gesendet wird “Jeder!” wieder zwei separate Ausgänge für die gleiche Funktion.
Die ABCs der C-Programmierung
Dieses Programm ist einfach, aber einige Konzepte sind nicht so. Fortgeschrittener C-Code muss sehr gut geschrieben werden, um Abstürze zu vermeiden. Deshalb denken viele, dass es eine ausgezeichnete Sprache ist, um zuerst zu lernen, da sie neuen Programmierern gute Gewohnheiten verleiht.
Andere meinen, C ++ zu lernen ist eine bessere Idee, da es auf C aufbaut und dabei die Kontrolle über das untere System behält. Eines ist sicher: Sprachen wie Python sind viel Anfängerfreundlicher. Für eine alte Sprache wird C immer noch überall verwendet, aber Python ist möglicherweise die Sprache der Zukunft. 6 Gründe, warum Python die Programmiersprache der Zukunft ist. 6 Gründe, warum Python die Programmiersprache der Zukunft ist. Möchten Sie Ihre Programmierfähigkeiten erlernen oder erweitern? ? Deshalb ist Python die beste Programmiersprache, die es in diesem Jahr zu lernen gilt. Weiterlesen !
.