PDF download PDF herunterladen PDF download PDF herunterladen

C ist eine der ältesten Programmiersprachen. Sie wurde in den 70er-Jahren entwickelt und ist eine sehr maschinennahe Sprache, was sie sehr mächtig macht. C zu lernen ist eine gute Methode sich einen leichteren Zugang zu komplexeren Programmiersprachen zu ermöglichen. Das Wissen das beim Lernen von C angeeignet wird kann in fast jeder anderen Sprache nützlich sein. Um zu lernen wie mithilfe von C programmiert wird, sieh dir Schritt 1 unten an.

Teil 1
Teil 1 von 6:

Vorbereitungen treffen

PDF download PDF herunterladen
  1. Damit der Computer den C-Code versteht, benötigt er einen Compiler der das Programm in Maschinensignale umwandelt. Compiler sind üblicherweise gratis und stehen für verschiedene Betriebssysteme zur Verfügung.
    • Für Windows, probiere Microsoft Visual Studio Express oder MinGW.
    • Für Mac ist XCode einer der besten C-Compiler.
    • Für Linux ist gcc einer der beliebtesten Compiler.
  2. C ist eine der älteren Programmiersprachen und kann sehr mächtig sein. Es wurde zwar für Unix Betriebssysteme entwickelt aber wurde für beinahe alle Betriebssysteme adaptiert und erweitert. Die moderne Version von C ist C++.
    • C besteht prinzipiell aus Funktionen in denen Variablen verwendet werden können um Daten zu speichern oder bedingte Anweisungen und Schleifen um Daten zu manipulieren.
  3. Sieh dir das (sehr) einfache Programm unten an um einen ersten Eindruck zu erhalten wie die verschiedenen Aspekte der Sprache miteinander arbeiten und wie ein Programm funktioniert.
     #include 
     <stdio.h> 
      
     int 
     main 
     () 
     { 
     printf 
     ( 
     "Hello, World! 
     \n 
     " 
     ); 
     getchar 
     (); 
     return 
     0 
     ; 
     } 
    
    [1]
    • Der #include Befehl wird durchgeführt noch bevor das Programm startet und lädt Bibliotheken die Funktionen beinhalten, welche im Laufe des Programms benötigt werden. In diesem Beispiel lässt uns stdio.h die Befehle printf() und getchar() verwenden.
    • Der |int main() Ausdruck sagt dem Compiler, dass das Programm die Funktion "main" ausführt, welche einen Integer zurückliefert sobald sie beendet ist. Alle C-Programme haben eine solche "main" Funktion.
    • Die {} zeigen an, dass alles zwischen ihnen Teil der Funktion ist. In diesem Fall sagen sie, dass alles zwischen ihnen zur "main" Funktion gehört.
    • Die printf() Funktion zeigt den Inhalt der Klammern am Benutzerbildschirm an. Die Anführungszeichen stellen sicher, dass der String zwischen ihnen als Buchstaben ausgegeben wird. Das \n sagt dem Compiler, dass hier ein Zeilenumbruch stattfindet.
    • Das ; kennzeichnet das Ende der Zeile. Die meisten Codezeilen in C müssen mit einem Strichpunkt enden.
    • Der getchar() Befehl sagt dem Compiler, dass er auf das Drücken einer Taste warten muss um fortzufahren. Dies ist deshalb nützlich, weil viele Compiler das Programm nach dem Durchführen des Programms das Fenster einfach wieder schließen würden. getchar() verhindert dass das Programm beendet wird, bis eine Taste gedrückt wird.
    • Der return 0 Befehl zeigt das Ende der Funktion an. Beachte, dass die "main" Funktion eine int Funktion ist. Das bedeutet, dass ein Integer(eine ganze Zahl) zurückgeliefert werden muss sobald das Programm beendet wurde. Eine "0" bedeutet, dass das Programm ordnungsgemäß ausgeführt wurde, eine andere ganze Zahl dass ein Fehler aufgetreten ist.
  4. Tippe den Code in einen Editor und speichere ihn als "*.c" Datei. Compiliere ihn anschließend mit deinem Compiler, indem du auf den Build- oder Run-Knopf klickst.
  5. Kommentare sind nicht Teil des Codes der compiliert wird, aber sie erlauben dir zu erklären was passiert. Das ist sehr nützlich um dich daran zu erinnern, welche Funktion dein Code hat und um es anderen Entwicklern zu erleichtern, sich in deinem Code zurechtzufinden.
    • Um in C etwas zu kommentieren platziere /* am Anfang deines Kommentars und */ am Ende.
    • Kommentiere alles, außer die einfachsten Teile deines Codes.
    • Kommentare können benutzt werden um Teile deines Codes zu entfernen ohne ihn zu löschen. Platziere einfach die Kommentierzeichen um deinen Code und compiliere. Wenn du den Code wieder hinzufügen willst, lösche einfach die Zeichen.
    Werbeanzeige
Teil 2
Teil 2 von 6:

Benutzen von Variablen

PDF download PDF herunterladen
  1. Variablen erlauben es dir Daten, die berechnet oder vom Benutzer eingegeben werden, zu speichern. Variablen müssen vor dem Benutzen definiert werden. Es gibt verschiedene Datentypen mit denen Variablen erstellt werden können.
    • Einige der häufigeren Variablen sind int, char und float. Jede speichert eine andere Art von Daten.
  2. Variablen müssen deklariert werden, bevor sie vom Programm benützt werden können. Variablen werden deklariert indem der Datentyp, gefolgt vom Variablennamen eingegeben wird. Die folgenden Beispiele zeigen gültige Variablendeklarationen:
     float 
     x 
     ; 
     char 
     name 
     ; 
     int 
     a 
     , 
     b 
     , 
     c 
     , 
     d 
     ; 
    
    • Beachte dass mehrere Variablen in der selben Zeile deklariert werden können, solange sie den selben Datentyp besitzen, indem sie einfach mit einem Beistrich getrennt werden.
    • Wie viele Zeilen in C, müssen auch Variablendeklarationen mit einem Strichpunkt enden.
  3. Variablen müssen am Anfang jedes Codeblocks deklariert werden (Der Teil des Codes, der mit {} Klammern umschlossen ist). Wenn du versuchst eine Variable später im Block zu deklarieren wird das Programm nicht korrekt funktionieren.
  4. Da du nun weißt wie Variablen grundsätzlich funktionieren, kannst du ein einfaches Programm schreiben, welches die Eingaben des Benutzers speichert. Du wirst eine weitere Funktion in diesem Programm benutzen die scanf genannt wird. Diese Funktion sucht im Input nach bestimmten Werten.
     #include 
     <stdio.h> 
      
     int 
     main 
     () 
     { 
     int 
     x 
     ; 
     printf 
     ( 
     "Enter a number: " 
     ); 
     scanf 
     ( 
     "%d" 
     , 
     & 
     x 
     ); 
     printf 
     ( 
     "You entered %d" 
     , 
     x 
     ); 
     getchar 
     (); 
     return 
     0 
     ; 
     } 
    
    • Die Zeichenfolge "%d" signalisiert scanf nach Integer in der Benutzereingabe zu suchen.
    • Das & vor der Variable x sagt scanf wo sich die Variable im Arbeitsspeicher befindet um diese zu verändern und speichert den Integer in der Variable
    • Der letzte printf Befehl gibt die eingegebene Zahl am Bildschirm aus.
  5. Du kannst mathematische Ausdrücke benutzen um Daten, die du in Variablen gespeichert hast, zu verändern. Der wichtigste Unterschied bei mathematischen Ausdrücken ist, dass ein einfaches = der Variable einen Wert zuweist, wohingegen == die Werte zu beiden Seiten vergleicht um zu sehen ob diese gleichwertig sind.
     x 
     = 
     3 
     * 
     4 
     ; 
     /* sets "x" to 3 * 4, or 12 */ 
     x 
     = 
     x 
     + 
     3 
     ; 
     /* adds 3 to the original value of "x", and sets the new value as the variable */ 
     x 
     == 
     15 
     ; 
     /* checks to see if "x" equals 15 */ 
     x 
     < 
     10 
     ; 
     /* checks if the value of "x" is less than 10 */ 
    
    Werbeanzeige
Teil 3
Teil 3 von 6:

Bedingte Anweisungen benutzen

PDF download PDF herunterladen
  1. Bedingte Anweisungen treiben die meisten Programme an. Es sind Ausdrücke die entweder TRUE oder FALSE sein können und dann je nach Resultat weiterarbeiten. Der einfachste Befehl ist der IF Befehl.
    • TRUE und FALSE funktionieren anders in C als du vielleicht gewohnt bist. TRUE Aussagen sind immer gleich einer Zahl ungleich 0. Wenn Vergleiche getätigt werden und das Resultat TRUE ist, wird eine "1" zurückgeliefert. Ist hingegen das Resultat FALSE, wird eine "0" zurückgeliefert. Wenn du das verstehst, wird es dir leichter fallen IF-Anweisungen zu verstehen.
  2. Bedingte Anweisungen arbeiten mit mathematischen Operatoren die Werte vergleichen. Die folgende Liste enthält die häufigsten Vergleichsoperatoren.
     > 
     /* größer als */ 
     < 
     /* kleiner als */ 
     >= 
     /* größer oder gleich */ 
     <= 
     /* kleiner oder gleich */ 
     == 
     /*gleich */ 
     != 
     /* ungleich */ 
    


     10 
     > 
     5 
     TRUE 
     6 
     < 
     15 
     TRUE 
     8 
     >= 
     8 
     TRUE 
     4 
     <= 
     8 
     TRUE 
     3 
     == 
     3 
     TRUE 
     4 
     != 
     5 
     TRUE 
    
  3. Du kannst IF Statements benutzen um festzulegen, was das Programm tun soll nachdem das Statement ausgewertet wurde. Du kannst es später mit anderen bedingten Anweisungen verbinden um Mehrfachoperationen zu erstellen. Doch für jetzt reicht es wenn du erstmal eine einfache IF-Anweisung erstellst.
     #include 
     <stdio.h> 
      
     int 
     main 
     () 
     { 
     if 
     ( 
     3 
     < 
     5 
     ) 
     printf 
     ( 
     "3 is less than 5" 
     ); 
     getchar 
     (); 
     } 
    
  4. Du kannst IF Ausdrücke erweitern indem du ELSE und ELSE IF Ausdrücke benutzt um verschiedene Resultate handzuhaben. ELSE Ausdrücke werden ausgeführt wenn der IF Ausdruck FALSE ist. ELSE IF Ausdrücke erlauben es dir mehrere IF Ausdrücke in einen einzigen Codeblock einzubeziehen, um verschiedene Fälle zu behandeln. Sieh dir das Beispielprogramm unten an um zu verstehen wie diese miteinander arbeiten:
     #include 
     <stdio.h> 
      
     int 
     main 
     () 
     { 
     int 
     age 
     ; 
     printf 
     ( 
     "Please enter your current age: " 
     ); 
     scanf 
     ( 
     "%d" 
     , 
     & 
     age 
     ); 
     if 
     ( 
     age 
     <= 
     12 
     ) 
     { 
     printf 
     ( 
     "You're just a kid! 
     \n 
     " 
     ); 
     } 
     else 
     if 
     ( 
     age 
     < 
     20 
     ) 
     { 
     printf 
     ( 
     "Being a teenager is pretty great! 
     \n 
     " 
     ); 
     } 
     else 
     if 
     ( 
     age 
     < 
     40 
     ) 
     { 
     printf 
     ( 
     "You're still young at heart! 
     \n 
     " 
     ); 
     } 
     else 
     { 
     printf 
     ( 
     "With age comes wisdom. 
     \n 
     " 
     ); 
     } 
     return 
     0 
     ; 
     } 
    
    [2]
    • Das Programm verwendet den Input des Benutzers und führt die IF Anweisungen durch. Wenn die Zahl den ersten Ausdruck erfüllt wird der erste printf Befehl ausgeführt. Wenn sie den ersten Ausdruck nicht erfüllt, wird sie an allen ELSE IF Ausdrücken erprobt , bis ein funktionierender gefunden wird. Wenn sie keinen Ausdruck erfüllt, dann wird der ELSE Ausdruck am Ende ausgeführt.
    Werbeanzeige
Teil 4
Teil 4 von 6:

Schleifen lernen

PDF download PDF herunterladen
  1. Schleifen sind eine der wichtigsten Aspekte des Programmierens. Sie erlauben es dir Codeblocks solange zu wiederholen, bis bestimmte Bedingungen erfüllt sind. Dies ermöglicht dir, sich wiederholende Aktionen sehr leicht zu implementieren und verhindert, dass du neue bedingte Anweisungen schreiben musst wenn etwas geschehen soll.
    • Es gibt drei Haupttypen von Schleifen: FOR, WHILE und DO ... WHILE.
  2. Sie ist die häufigste und nützlichste Art von Schleifen. Sie wird solange laufen bis die gesetzten Bedingungen in der FOR-Schleife erfüllt sind. FOR-Schleifen benötigen drei Bedingungen: Initialisieren der Variable, die zu erfüllende Bedingung und die Art in der die Variable aktualisiert wird. Wenn du nicht alle drei Bedingungen benötigst, musst du trotzdem ein Leerzeichen mit einem Strichpunkt setzen. Ansonsten wird die Schleife endlos weiterlaufen. [3]
     #include 
     <stdio.h> 
      
     int 
     main 
     () 
     { 
     int 
     y 
     ; 
     for 
     ( 
     y 
     = 
     0 
     ; 
     y 
     < 
     15 
     ; 
     y 
     ++ 
     ;){ 
     printf 
     ( 
     "%d 
     \n 
     " 
     , 
     y 
     ); 
     } 
     getchar 
     (); 
     } 
    
    • Im obigen Programm ist y auf 0 gesetzt und die Schleife läuft solange der Wert von y kleiner als 15 ist. Jedes mal wenn der Wert von y abgebildet wird, wird 1 zum aktuellen Wert von y addiert und die Schleife fortgesetzt. Sobald y = 15 eintrifft, wird die Schleife beendet.
  3. WHILE-Schleifen sind einfacher als FOR-Schleifen. Sie haben nur eine Bedingung und die Schleife wird fortgesetzt solange diese Bedingung TRUE ist. Du musst keine Variable initialisieren oder aktualisieren, aber du kannst es im Block der Schleife machen.
     #include 
     <stdio.h> 
      
     int 
     main 
     () 
     { 
     int 
     y 
     ; 
     while 
     ( 
     y 
     <= 
     15 
     ){ 
     printf 
     ( 
     "%d 
     \n 
     " 
     , 
     y 
     ); 
     y 
     ++ 
     ; 
     } 
     getchar 
     (); 
     } 
    
    • Bei jedem Durchgang der Schleife addiert der y++ Befehl 1 zur Variable y. Sobald y den Wert 16 erreicht (beachte dass, diese Schleife läuft solange y kleiner oder gleich 15 ist), wird die Schleife beendet.
  4. .WHILE-Schleife. Diese Schleife ist sehr nützlich wenn die Schleife mindestens einmal ausgeführt werden soll. Bei FOR- und WHILE-Schleifen wird die Bedingung am Anfang der Schleife abgeprüft, was bedeutet, dass die Schleife nicht unbedingt ausgeführt wird. DO...WHILE-Schleifen prüfen die Bedingung erst am Ende der Schleife und gewährleisten dass die Schleife mindestens einmal ausgeführt wird.
     #include 
     <stdio.h> 
      
     int 
     main 
     () 
     { 
     int 
     y 
     ; 
     y 
     = 
     5 
     ; 
     do 
     { 
     printf 
     ( 
     "This loop is running! 
     \n 
     " 
     ); 
     } 
     while 
     ( 
     y 
     != 
     5 
     ); 
     getchar 
     (); 
     } 
    
    • Diese Schleife wird die Nachricht anzeigen obwohl die Bedingung FALSE ist. Die Variable y ist auf 5 gesetzt und die WHILE Schleife läuft solange y ungleich 5 ist, also wird die Schleife beendet. Die Nachricht wurde bereits angezeigt, da die Bedingung bis zum Ende der Schleife nicht überprüft wird.
    • Die WHILE-Schleife in einem DO...WHILE muss mit einem Strichpunkt enden. Das ist die einzige Art der Schleife welche mit einem Strichpunkt endet.
    Werbeanzeige
Teil 5
Teil 5 von 6:

Funktionen benutzen

PDF download PDF herunterladen
  1. Funktionen sind unabhängige Blöcke von Code der von anderen Teilen des Programms aufgerufen werden können. Sie können es sehr einfach machen Code zu wiederholen und machen es einfacher, das Programm zu lesen und zu verändern. Funktionen können alle vorhergehenden Techniken dieses Artikels und auch andere Funktionen beinhalten.
    • Die main() Zeile am Anfang aller obigen Beispiele ist eine Funktion, genauso wie getchar()
    • Funktionen sind wichtig für effizienten und leicht lesbaren Code. Benutze Funktionen um dein Programm zu optimieren.
  2. Am besten schaffst du dir einen Überblick über das Ziel deiner Funktion bevor du mit dem eigentlichen Programmieren anfängst. Die Basis-Syntax einer Funktion ist "Rückgabe_Typ Name (argument1, argument2, etc.);". Hier als Beispiel eine Funktion, die zwei Zahlen addiert:
     int 
     add 
     ( 
     int 
     x 
     , 
     int 
     y 
     ); 
    
    • Dies wird eine Funktion erzeugen die zwei Integer x und y addiert und die Summe als Integer zurückliefert.
  3. Du kannst den Entwurf benutzen um ein Programm zu erstellen, welches zwei vom Benutzer eingegebene Integer addiert. Das Programm wird definieren wie die "add" Funktion arbeitet und sie dazu benutzen, die eingegebenen Zahlen zu verändern.
     #include 
     <stdio.h> 
      
     int 
     add 
     ( 
     int 
     x 
     , 
     int 
     y 
     ); 
     int 
     main 
     () 
     { 
     int 
     x 
     ; 
     int 
     y 
     ; 
     printf 
     ( 
     "Enter two numbers to add together: " 
     ); 
     scanf 
     ( 
     "%d" 
     , 
     & 
     x 
     ); 
     scanf 
     ( 
     "%d" 
     , 
     & 
     y 
     ); 
     printf 
     ( 
     "The sum of your numbers is %d 
     \n 
     " 
     add 
     ( 
     x 
     , 
     y 
     ) 
     ); 
     getchar 
     (); 
     } 
     int 
     add 
     ( 
     int 
     x 
     , 
     int 
     y 
     ) 
     { 
     return 
     x 
     + 
     y 
     ; 
     } 
    
    • Beachte, dass der Prototyp sich noch immer am Anfang des Programms befindet. Das sagt dem Compiler was er zu erwarten hat wenn die Funktion aufgerufen wird und was zurückgeliefert wird. Das ist nur notwendig wenn du die Funktion später im Programm definieren willst. Du könntest add() vor der main() Funktion definieren und das Resultat wäre das selbe ohne den Prototyp.
    • Die eigentliche Funktionalität der Funktion ist am Ende des Programms definiert. Die main() Funktion sammelt die Integer vom Benutzer und sendet diese an die add() Funktion um sie dort weiterzuverarbeiten. Die add() Funktion schickt dann das Resultat an main() zurück.
    • Nun wurde die add() Funktion definiert und kann überall im Programm aufgerufen werden.
    Werbeanzeige
Teil 6
Teil 6 von 6:

Weiteres Lernen

PDF download PDF herunterladen
  1. Dieser Artikel deckt die Grundsätze ab, aber er kratzt nur an der Oberfläche der C Programmierung und dem dazugehörigen Wissen. Ein gutes Nachschlagewerk wird dir helfen viele Probleme zu lösen und erspart dir viel Grübelei.
  2. Es gibt viele Gruppen, sowohl online als auch in der echten Welt, die sich für Programmieren und alle dazugehörigen Sprachen engagieren. Finde einige gleichdenkende C-Programmierer um Code und Ideen auszutauschen und du wirst bald viel Neues lernen.
    • Nimm, wenn möglich, an einigen Hack-A-Thons teil. Dies sind Events wo Teams oder Einzelpersonen in einer bestimmten Zeit Programme und Lösungen erarbeiten müssen und die Kreativität fördern. Auf diesem Weg kannst du eine Menge guter Programmierer kennen lernen. Hack-A-Thons finden regelmäßig weltweit statt.
  3. Du musst nicht zurück zur Schule gehen um einen Abschluss in Informatik zu erlangen, aber nimm an ein paar Kursen teil. Sie können dir beim lernen sehr helfen. Nichts ist besser als praktische Hilfe von Personen die sehr erfahren in der Sprache sind. Kurse finden oft bei in Ortsgemeinden und Volkshochschulen statt. Manche Universitäten werden dir erlauben an ihren Vorlesungen teilzunehmen ohne dich dafür anmelden zu müssen.
  4. Sobald du bei C den Dreh raus hast, kann es nicht schaden einen Blick auf C++ zu werfen. Das ist die moderne Version von C und erlaubt dir mehr Flexibilität. C++ wurde mit dem Gedanken an Objekt-Handling entwickelt und C++ zu können ermöglicht es dir mächtigere Programme für beliebige Betriebssysteme zu entwickeln.
    Werbeanzeige

Tipps

  • Füge deinem Programm immer Kommentare hinzu. Es hilft nicht nur anderen die vielleicht einen Blick auf deinen Sourcecode werfen, es kann auch dir helfen dich zu erinnern was du schreibst und warum. Du kannst dich vielleicht daran erinnern was du im Moment machst wenn du den Code schreibst, aber nach zwei, drei Monaten wirst du dich nicht mehr an viel erinnern.
  • Wenn ein Syntax-Error beim compilieren deines Programms auftritt und du überfragt bist, suche mit Google (oder anderen Suchmaschinen) nach dem erhaltenen Fehler. Es ist wahrscheinlich dass bereits jemand das selbe Problem hatte und eine Lösung dazu gepostet hat.
  • Dein Sourcecode benötigt eine *.c Erweiterung, damit dein Compiler weiß dass es sich um eine C Code Datei handelt.
Werbeanzeige

Über dieses wikiHow

Diese Seite wurde bisher 41.251 mal abgerufen.

War dieser Artikel hilfreich?

Werbeanzeige