Sie möchten mit dem Programmieren beginnen, sind sich aber bei C nicht sicher?  Probieren Sie dieses C-Programmier-Tutorial für Anfänger aus, um zu prüfen, ob es die Sprache für Sie ist.

C-Programmierung mit diesem Einsteigerprojekt lernen

Werbung Programmieren lernen ist eine kumulative Erfahrung. Neben dem Erlernen der Syntax der von Ihnen gewählten Sprache müssen Sie auch die allgemeinen Prinzipien erlernen, die von allen Programmiersprachen verwendet werden. Das Verstehen und Lernen von C-Programmierung kann entmutigend sein, aber es gibt ein paar grundlegende Ideen, mit denen Sie sich zu Beginn vertraut machen sollten.

Werbung

Programmieren lernen ist eine kumulative Erfahrung. Neben dem Erlernen der Syntax der von Ihnen gewählten Sprache müssen Sie auch die allgemeinen Prinzipien erlernen, die von allen Programmiersprachen verwendet werden.

Das Verstehen und Lernen von C-Programmierung kann entmutigend sein, aber es gibt ein paar 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 lernen.

Also, wo solltest du anfangen? Indem ich hallo sage!

1. Hallo Welt!

Der erste Teil fast jedes Kodierungskurses ist das Hallo-Welt- Programm. Wenn Sie im Detail darauf eingehen, werden einige der Unterschiede zwischen C und anderen Sprachen hervorgehoben. Öffnen Sie zunächst einen Texteditor oder IDE Text Editors vs. IDEs: Welcher ist besser für Programmierer? Texteditoren vs. IDEs: Welche sind 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. Lesen Sie mehr von Ihrer Wahl und geben Sie diesen Code ein:

 #include /* this is a Hello World script in C */ int main(void) { printf("Hello, World! \n"); return 0; } 

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

Es zum Laufen bringen

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 hello.c eingeben und die Eingabetaste drücken. Dadurch wird hello.exe in demselben Ordner erstellt, den Sie ausführen können, indem Sie hello eingeben.
  • Linux- und MacOS-Benutzer: Geben Sie gcc -o hello hello.c ein und drücken Sie die Eingabetaste, um die Datei ausführbar zu machen. Führen Sie sie aus, indem Sie ./hello eingeben .

Unabhängig davon, welche Methode Sie verwenden, sollte die Ausführung Ihres Skripts Folgendes anzeigen:

Ausgabe mit den Ergebnissen einer Hello World! Skizze in C

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

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

Unter der Haube: Die C-Sprache verstehen

Präprozessoren

Das soeben erstellte Skript beginnt mit der Aufnahme einer Bibliothek.

 #include 

Die erste Zeile im Skript wird als Präprozessor bezeichnet . Dies wird ausgeführt, bevor der Rest des Skripts kompiliert wird. In diesem Fall weist es das Skript an, die Bibliothek stdio.h zu verwenden. Es gibt eine Vielzahl von Präprozessoren, die für unterschiedliche Aufgaben zur Verfügung stehen.

Stdio.h kümmert sich darum, dass der Benutzer des Programms Eingaben vornimmt und Informationen an ihn zurückgibt.

 /* this is a Hello World script 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. Obwohl 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 eine Hauptfunktion haben. Main ist eine Funktion, die eine Ganzzahl zurückgibt, die mit int bezeichnet wird. Die Klammern nach main stehen für die Argumente. In diesem Fall ist jedoch none erforderlich, weshalb Sie das Schlüsselwort void verwenden .

Sie schreiben den Code, der zwischen zwei geschweiften Klammern ausgeführt werden soll.

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

Innerhalb der Funktion rufen Sie die Funktion printf () auf . Printf ist wie main () eine Funktion. Der Unterschied besteht darin, dass printf eine Funktion in der stdio- Bibliothek ist, die Sie zu Beginn hinzugefügt haben .

Printf druckt alles in den Klammern zwischen den Anführungszeichen in die Konsole. \ N ist eine Escape-Sequenz mit dem Namen newline, mit der der Compiler angewiesen wird, zur nächsten Zeile in der Konsole zu springen, bevor er fortfährt.

Beachten Sie, dass diese Zeilen mit einem Semikolon enden, mit dem der Compiler eine Aufgabe von der nächsten trennt. Achten Sie genau auf diese Semikolons - wenn Sie sie nicht finden, ist dies die häufigste Ursache dafür, dass die Dinge nicht richtig laufen!

Schließlich kehrt die Funktion mit der Nummer 0 zurück und beendet das Programm. Die main () - Funktion muss immer eine Ganzzahl zurückgeben und return = 0; signalisiert dem Computer, dass der Vorgang erfolgreich war.

Das Verständnis der einzelnen Schritte dieses Skripts ist ein guter Einstieg in die C-Syntax und in die Funktionsweise der Sprache.

2. Eigene C-Funktionen erstellen

Sie können Ihre eigenen benutzerdefinierten Funktionen in C erstellen. Anstatt Hello World in der Hauptfunktion zu drucken, erstellen Sie eine neue Funktion, um dies für Sie zu tun.

 void print_for_me() { printf("Hello, World! \n"); } 

Lassen Sie uns das aufschlüsseln.

void 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 an, dass keine Argumente erforderlich sind, um zu funktionieren. Ein Argument ist eine Information, die an eine Funktion übergeben werden muss, damit sie funktioniert. Später fügen Sie ein eigenes Argument hinzu, um die Ausgabe zu ändern. Hinweis: Dies ist nicht dasselbe wie die Funktion main (), über der void verwendet wurde. Diese Funktion kann keine Argumente entgegennehmen, während dies möglich ist (aber in diesem Fall nicht muss).

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

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

 int main(void) { print_for_me(); print_for_me(); return 0; } 

Sie können hier einen Vorteil der Verwendung Ihrer eigenen Funktion sehen. Anstatt jedes Mal printf („Hello, World! \ N“) einzugeben, können Sie die Funktion zweimal aufrufen.

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

Hallo Welt, die zweimal durch mehrfache Funktionsaufrufe ausgibt

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 immer wieder dieselben großen Codestücke zu schreiben.

3. Verwenden von Funktionsprototypen in C

Prototypen sind einer der Hauptgründe, warum Anfänger C sich von anderen Sprachen unterscheidet. Kurz gesagt, ein Prototyp ist eine Art Vorschau einer später definierten Funktion. Wenn Sie die Funktion print_for_me () nach der Hauptfunktion schreiben, erhalten Sie möglicherweise eine Warnung beim Kompilieren:

Zusammengesetztes Bild mit Code ohne Prototyp und der Warnung, die der C-Compiler ausgibt

Die Warnmeldung weist darauf hin, dass der Compiler die Funktion print_for_me ausgeführt hat, bevor sie deklariert wurde, sodass nicht sichergestellt werden konnte, dass sie beim Ausführen des Programms ordnungsgemäß funktioniert.

Der Code würde weiterhin funktionieren, aber die Warnung kann mithilfe eines Prototyps vollständig vermieden werden.

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

Wenn Sie sich das vollständige Programm ansehen, sehen Sie, 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 Argumente erforderlich sind oder nicht.

Dies bedeutet, dass der Compiler beim Aufrufen in der Hauptfunktion weiß, ob er korrekt aufgerufen wird, und bei Bedarf eine Warnung oder einen Fehler auslösen kann. Dies mag etwas sein, das jetzt seltsam erscheint, aber es wird in Zukunft helfen, wenn man es jetzt kennt.

Hallo Welt, die zweimal durch mehrfache Funktionsaufrufe ausgibt

Dieses Programm funktioniert immer noch ohne Prototyp, aber es empfiehlt sich, sie zu verwenden. Die Ausgabe sieht vorerst immer noch gleich aus. Ändern Sie sie, um sie persönlicher zu gestalten.

4. Übergeben von Argumenten an C-Funktionen

Ändern des Skripts

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

Stattdessen handelt es sich um ein Array von Einzelzeichen. Das Symbol für ein Array ist [] und das Schlüsselwort ist char . Beginnen Sie mit der Aktualisierung Ihrer Prototypfunktion zu Beginn Ihres Skripts:

 #include void print_for_me(char name[]); 

Jetzt weiß der Compiler, dass die Funktion später im Skript ein Array von Zeichen namens name akzeptiert. Bisher existiert dieser Charakter nicht. Aktualisieren Sie Ihre Hauptfunktion, um sie zu erstellen, und verwenden Sie sie zum Speichern der Benutzereingaben:

 int main(void) { char name[20]; printf("Enter name: "); scanf("%s", name); print_for_me(name); print_for_me("Everyone!"); return 0; } 

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. In der nächsten Zeile wird eine neue Funktion namens scanf verwendet, die das nächste Wort verwendet, das der Benutzer eingibt .

Das "% s" teilt der Funktion mit, dass die Daten als Zeichenfolge gespeichert und als Name bezeichnet werden sollen .

Ändern der Funktion

Wenn Sie jetzt print_for_me aufrufen, können Sie den Namen in die Klammern einschließen. In der nächsten Zeile sehen Sie, dass Sie auch andere Zeichen übergeben können, solange diese zwischen Anführungszeichen stehen. In beiden Fällen wird das, was in 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(char name[]) { printf("Hello, "); puts(name); } 

Hier sehen Sie, dass die Klammern wie der Prototyp zu Beginn des Skripts aktualisiert wurden. Im Inneren drucken Sie immer noch Hallo mit printf. Eine neue Funktion ist hier Puts . Dies ist eine erweiterte Version von printf.

Alle Angaben in den Klammern werden auf der Konsole ausgedruckt, und eine neue Zeile (die \ n, die Sie zuvor verwendet haben) wird automatisch hinzugefügt.

Speichern und kompilieren Sie Ihren Code auf dieselbe Weise wie zuvor. Beachten Sie, dass Sie das Programm anders benennen können, wenn Sie Ihr früheres Programm nicht überschreiben möchten. Ich nannte mein hallo2 :

Das fertige Programm in C

Wie Sie sehen sollten, nimmt das Programm die Eingabe und verwendet sie in der Funktion, bevor es die voreingestellte Begrüßung „Jeder!“ Sendet, die derselben Funktion wieder zwei separate Ausgaben gibt.

Das ABC der C-Programmierung

Dieses Programm ist einfach, einige der darin enthaltenen Konzepte jedoch nicht. Weiterentwickelter C-Code muss sehr gut geschrieben sein, um Abstürze zu vermeiden. Aus diesem Grund denken viele, dass es eine ausgezeichnete Sprache ist, die man zuerst lernen sollte, da sie neuen Programmierern gute Gewohnheiten vermittelt.

Andere halten das Erlernen von C ++ für eine bessere Idee, da es auf C aufbaut und gleichzeitig die niedrigere Systemsteuerung beibehält. (Es gibt auch Rust zu berücksichtigen - es ist eine aufregende Programmiersprache, die syntaktisch C ++ ähnelt.)

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 Sie möchten Ihre Programmierfähigkeiten erlernen oder erweitern ? Deshalb ist Python die beste Programmiersprache, die Sie in diesem Jahr lernen können. Weiterlesen !

Erfahren Sie mehr über: C, Coding Tutorials, Programmierung.