Werbung

Programmieren zu lernen ist eine kumulative Erfahrung. Neben dem Erlernen der Syntax Ihrer gewählten Sprache müssen Sie auch die allgemeinen Prinzipien lernen, die alle Programmiersprachen verwenden.

Das Verstehen und Erlernen der C-Programmierung kann entmutigend sein, aber es gibt einige grundlegende Ideen, mit denen Sie sich zu Beginn vertraut machen sollten. Ein einfaches Projekt ist eine großartige Möglichkeit, die Grundlagen von C zu erlernen.

Wo soll man also anfangen? Indem du Hallo sagst!

1. Hallo Welt!

Der erste Teil fast jedes Programmierkurses ist der Hallo Welt Programm. Wenn wir es im Detail durchgehen, werden einige der Unterschiede zwischen C und anderen Sprachen hervorgehoben. Öffnen Sie zunächst a Texteditor oder IDE Texteditoren vs. IDEs: Welche ist besser für Programmierer?Die Wahl zwischen einer erweiterten IDE und einem einfacheren Texteditor kann schwierig sein. Wir bieten Ihnen einige Einblicke, um Ihnen bei dieser Entscheidung zu helfen. Weiterlesen Ihrer Wahl und geben Sie diesen Code ein:

instagram viewer
#enthalten /* Dies ist ein Hello World-Skript in C */ int main (void) { printf("Hallo Welt! \n"); 0 zurückgeben; }

Dieser kurze Code wird an die Konsole ausgegeben, bevor das Programm beendet wird. Speichern Sie es an einem leicht zu merkenden Ort unter Hallo c. Jetzt müssen Sie Ihre Datei kompilieren und erstellen.

Damit es läuft

Normalerweise müssen Sie keine zusätzliche Software auf Ihrem Computer installieren, um C-Skripte 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, variiert von System zu System:

  • Windows-Benutzer: Machen Sie Ihre Datei ausführbar, indem Sie 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: Typ gcc -o hallo hallo.c und drücken Sie die Eingabetaste, um es ausführbar zu machen, und führen Sie es aus, indem Sie eingeben ./Hallo.

Welche Methode Sie auch verwenden, das Ausführen Ihres Skripts sollte Ihnen Folgendes zeigen:

Ausgabe mit den Ergebnissen eines Hello World! Skizze in C

Wenn es unter Windows nicht funktioniert, stellen Sie sicher, dass Sie die Eingabeaufforderung im Administratormodus. Für macOS müssen Sie möglicherweise Xcode aus dem App Store installieren und Befolgen Sie diese Schritte von StackOverflow.

Sehen wir uns nun das Programm Zeile für Zeile an, um zu sehen, wie es funktioniert, und verbessern Sie es!

Unter der Haube: Die C-Sprache verstehen

Präprozessoren

Das soeben erstellte Skript beginnt mit der Einbindung einer Bibliothek.

#enthalten 

Die erste Zeile im Skript heißt a Präprozessor. Dies wird ausgeführt, bevor der Rest des Skripts kompiliert wird. In diesem Fall weist es das Skript an, das stdio.h Bücherei. Für unterschiedliche Aufgaben stehen eine Vielzahl von Präprozessoren zur Verfügung.

Stdio.h kümmert sich darum, Eingaben vom Benutzer des Programms zu erhalten und Informationen an ihn auszugeben.

/* 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 Schrägstrich zu ignorieren. Auch wenn dies sinnlos erscheinen mag, ist es eine wesentliche Angewohnheit, sich selbst und anderen klare Notizen darüber zu machen, was Ihr Code tut.

Die Hauptfunktion

int main (void)

Jedes C-Programm muss a hauptsächlich Funktion. Main ist eine Funktion, die eine ganze Zahl zurückgibt, bezeichnet mit int. Die Klammern nach main sind für seine Argumente, obwohl in diesem Fall keine erforderlich sind, weshalb Sie das verwenden Leere Stichwort.

Den auszuführenden Code schreiben Sie zwischen zwei geschweifte Klammern.

{ printf("Hallo Welt! \n"); 0 zurückgeben; }

Innerhalb der Funktion rufen Sie die printf() Funktion. So wie hauptsächlich(), printf ist eine Funktion. Der Unterschied ist, printf ist eine Funktion im stdio Bibliothek, die Sie zu Beginn aufgenommen haben.

Printf gibt alles in Klammern zwischen den Anführungszeichen an die Konsole aus. Die \n ist eine Escape-Sequenz namens newline, die den Compiler anweist, zur nächsten Zeile in der Konsole zu springen, bevor er fortfährt.

Beachten Sie, dass diese Zeilen auf enden Semikolons, die der Compiler verwendet, um eine Aufgabe von der nächsten zu trennen. Achten Sie genau auf diese Semikolons – sie zu verpassen ist die häufigste Ursache dafür, dass etwas nicht richtig läuft!

Schließlich kehrt die Funktion mit der Zahl 0 zurück und beendet das Programm. Die hauptsächlich() Funktion muss immer eine ganze Zahl zurückgeben, und zurück = 0; signalisiert dem Computer, dass der Vorgang 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 erlernen.

2. Erstellen eigener 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"); }

Lassen Sie uns das aufschlüsseln.

Leere ist ein Schlüsselwort, das bedeutet, dass die folgende Funktion nichts zurückgibt.

print_for_me() ist der Name der Funktion, und die leeren Klammern zeigen, dass keine Argumente erforderlich sind, um zu funktionieren. Ein Argument ist jede Information, die an eine Funktion weitergegeben wird, damit sie funktioniert – später werden Sie ein eigenes Argument hinzufügen, um die Ausgabe zu ändern! Notiz: Dies ist nicht dasselbe wie die Funktion main() oben, die void verwendet hat. Diese Funktion kann keine Argumente annehmen, während diese dies kann (aber in diesem Fall nicht muss).

Der Codeblock sollte Ihnen bekannt sein – es ist nur die print-Anweisung der ursprünglichen Hauptfunktion.

Jetzt können Sie diese Funktion von Ihrer Hauptfunktion aus aufrufen.

int main (void) { print_for_me(); print_for_me(); 0 zurückgeben; }

Sie können hier einen Vorteil sehen, wenn Sie Ihre eigene Funktion verwenden. Anstatt zu tippen printf(“Hallo Welt! \n") Jedes Mal können Sie die Funktion zweimal aufrufen.

Im Moment mag dies nicht so wichtig erscheinen, aber wenn Ihre print_for_me-Funktion viele Codezeilen enthält, ist es eine große Zeitersparnis, sie so einfach aufrufen zu können!

Hallo Welt, zweimalige Ausgabe durch mehrere Funktionsaufrufe

Dies ist eine grundlegende Idee des Programmierens, auf die Sie während Ihrer gesamten Ausbildung stoßen werden. Schreiben Sie Ihre eigene Funktion einmal, anstatt immer wieder die gleichen großen Codeblöcke zu schreiben.

3. Verwenden von Funktionsprototypen in C

Prototypen sind einer der Hauptunterschiede zwischen Anfänger C von anderen Sprachen. Kurz gesagt, ein Prototyp ist wie eine Vorschau auf eine später definierte Funktion. Wenn Sie die Funktion print_for_me() nach der Hauptfunktion schreiben, erhalten Sie beim Kompilieren möglicherweise eine Warnung:

Zusammengesetztes Bild, das Code ohne Prototyp und die Warnung des c-Compilers zeigt

Die Warnmeldung sagt Ihnen, dass der Compiler die print_for_me-Funktion ausgeführt hat, bevor sie deklariert wurde.

Der Code würde noch funktionieren, aber die Warnung kann durch die Verwendung eines Prototyps vollständig vermieden werden.

#enthalten 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 sich das vollständige Programm ansehen, können Sie sehen, dass der Prototyp für print_for_me() zu Beginn des Programms existiert, aber nichts enthält. Die Prototypfunktion zeigt dem Compiler, wie die Funktion aussehen soll und ob sie Argumente benötigt 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 ausgeben kann. Das mag jetzt seltsam erscheinen, aber es wird in Zukunft helfen, sie jetzt zu kennen.

Hallo Welt, zweimalige Ausgabe durch mehrere Funktionsaufrufe

Dieses Programm funktioniert immer noch ohne einen Prototyp, aber es ist eine gute Praxis, sie zu verwenden. Die Ausgabe sieht vorerst immer noch gleich aus, lass sie uns ändern, um sie persönlicher zu machen!

4. Argumente an C-Funktionen übergeben

Ändern des Skripts

Für diesen letzten Schritt werden Sie nach dem Namen des Benutzers fragen und seine Eingaben aufzeichnen. Dann verwenden Sie es in der zuvor erstellten Funktion. In C werden Wörter nicht wie in anderen Programmiersprachen als Strings bezeichnet.

Stattdessen sind sie ein Array einzelner Zeichen. Das Symbol für ein Array ist [] und das Stichwort ist verkohlen. Beginnen Sie mit der Aktualisierung Ihrer Prototypfunktion am Anfang Ihres Skripts:

#enthalten  void print_for_me (Zeichenname[]); 

Jetzt weiß der Compiler, dass die Funktion später im Skript ein Array von Zeichen mit dem Namen Name. Bisher existiert dieser Charakter nicht. Aktualisieren Sie Ihre Hauptfunktion, um sie zu erstellen, und verwenden Sie sie, um die Benutzereingaben zu speichern:

int main (void) { Zeichenname[20]; printf("Namen eingeben: "); scanf("%s", Name); print_for_me (Name); print_for_me("Alle!"); 0 zurückgeben; }

Die erste Zeile in main erzeugt ein Zeichenarray mit 20 möglichen Leerzeichen namens name. Als nächstes wird der Benutzer aufgefordert, seinen Namen mit printf einzugeben. Die nächste Zeile verwendet eine neue Funktion namens scanf was das nächste Wort nimmt, das der Benutzer eingibt.

Die "%S" teilt der Funktion mit, dass sie die Daten als String speichern und aufrufen soll Name.

Ändern der Funktion

Wenn Sie jetzt print_for_me aufrufen, können Sie einschließen Name in den Klammern. In der nächsten Zeile sehen Sie, dass Sie auch andere Zeichen übergeben können, solange diese zwischen Anführungszeichen stehen. Beide Male wird das, was in den Klammern steht, 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 (Zeichenname[]) { printf("Hallo, "); setzt (Name); }

Hier sieht man, dass die Klammern genau wie beim Prototyp am Anfang des Skripts aktualisiert wurden. Im Inneren drucken Sie immer noch hallo mit printf. Eine neue Funktion hier ist legt. Dies ist eine erweiterte Version von printf.

Alles, was in Klammern steht, wird auf der Konsole ausgegeben, und ein Zeilenumbruch (der \n Sie zuvor verwendet haben) wird automatisch hinzugefügt.

Speichern und kompilieren Sie Ihren Code auf die gleiche Weise wie zuvor – beachten Sie, dass Sie dem Programm einen anderen Namen geben können, wenn Sie Ihr früheres Programm nicht überschreiben möchten. Ich habe meine genannt hallo2:

Das fertige Programm in C

Wie Sie sehen sollten, nimmt das Programm die Eingabe entgegen und verwendet sie in der Funktion, bevor es die voreingestellte Begrüßung „Alle!“ sendet. wieder mit zwei separaten Ausgängen für dieselbe Funktion.

Das ABC der C-Programmierung

Dieses Programm ist einfach, aber einige der darin enthaltenen Konzepte sind es nicht. Fortgeschrittener C-Code muss sehr gut geschrieben werden, um Abstürze zu vermeiden. Deshalb denken viele, es sei ein ausgezeichnete sprache, um zuerst zu lernen da es neuen Programmierern gute Gewohnheiten einflößt.

Andere denken, dass es eine bessere Idee ist, C++ zu lernen, da es auf C aufbaut, während es seine niedrigere Systemkontrolle behält. (Es gibt auch Rust zu beachten – es ist ein spannende Programmiersprache das ist syntaktisch ähnlich zu C++.)

Eines ist sicher: Sprachen wie Python sind viel anfängerfreundlicher. Für eine alte Sprache wird C immer noch überall verwendet, aber Python könnte die Sprache der Zukunft sein 6 Gründe, warum Python die Programmiersprache der Zukunft istMöchten Sie Ihre Programmierkenntnisse erlernen oder erweitern? Aus diesem Grund ist Python die beste Programmiersprache, die Sie dieses Jahr lernen können. Weiterlesen !

Ian Buckley lebt als freiberuflicher Journalist, Musiker, Performer und Videoproduzent in Berlin. Wenn er nicht gerade schreibt oder auf der Bühne steht, bastelt er an DIY-Elektronik oder Code herum, in der Hoffnung, ein verrückter Wissenschaftler zu werden.