Sofort öffnet sich ein Fenster und Sie sehen die wenig spektakuläre Bildschirmausgabe (Abbildung 1.14).
Abbildung 1.14: Die Ausgabe des ersten Programms
Die Meldung Press any key to continue.
gibt Ihnen Gelegenheit, die Ausgaben in Ruhe zu studieren, bevor das Programm beendet wird. Wenn Sie
Beachten Sie, dass Code::Blocks nicht wirklich dafür bestimmt ist, Windows-Programme zu entwickeln. Theoretisch können Sie eine Windows-Anwendung mit Code::Blocks schreiben, aber es ist nicht einfach. (Mit Microsofts Visual Studio geht das sehr viel leichter.)
Die C-Programme, die Sie in diesem Buch schreiben, haben eine sogenannte Kommandozeilen- oder Befehlszeilenschnittstelle (englisch command line interface), die in einem Konsolen-Fenster ausgeführt wird.
Ein Wort zu Code::Blocks und Spenden
Obwohl Code::Blocks freie Software unter der GNU-Lizenz ist, sollten Sie einen kleinen Beitrag bezahlen, damit die Entwicklung des Werkzeugs weiterhin finanziert werden kann. Sie müssen nicht zahlen, aber Sie können es tun, falls Sie wollen. Und Sie sollten es tun, wenn Sie können. Die Webseite enthält dazu mehr Details.
Schauen Sie dazu auf der Website unter DONATIONS.
Kapitel 2
Der (zumeist harmlose) Einstieg
IN DIESEM KAPITEL
Die kurze und banale Geschichte von C
Das erste C-Programm – eine alte Tradition
Die notwendigen Künste von Editieren und Kompilieren
Mit Fehlern umgehen
Wie die Sprache C aussieht
Eingaben und Ausgaben (die hier was Gutes sind)
Wichtige C-Regeln, an die Sie nie denken werden
Nachdem Sie nun den Compiler installiert und eine erste einfache Übung zum Programmstart absolviert haben, erhalten Sie in diesem Kapitel die Hintergrundinformationen, um mit der Programmierung in C beginnen zu können.
Bevor wir loslegen, würde ich Ihnen gerne versichern – vor allem, wenn Sie bisher nie Computer programmiert haben –, dass es Ihnen viel Spaß machen wird, dem Ding zu sagen, was es tun soll. Ich verspreche es.
Die kurze und banale Geschichte von C
Am Anfang war die Sprache B. Danach gab es die Sprache C.
Nein, ich bin nicht ausgeflippt. C wurde bei den AT&T Bell Labs in den frühen Siebzigern entwickelt. Zu dieser Zeit gab es in den Bell Labs eine Programmiersprache mit dem Namen B – B für Bell. Als die nächste Sprache entwickelt wurde, ging man einen Schritt weiter: C kommt nach B.
Der Typ, der C entwickelte, heißt Dennis Ritchie. Ich erwähne das nur für den Fall, dass Sie durch die Straßen laufen und plötzlich in Herrn Ritchie reinlaufen. In diesem Fall können Sie sagen: »He, sind Sie nicht Dennis Ritchie? Der Mann, der C erfunden hat?« Und er wird sagen: »Warum – äh – ja, das stimmt.« Und Sie können sagen: »Cool.«
Sachen, die Sie nicht über Hochsprachen wissen müssen
Programmiersprachen haben verschiedene Stufen. Diese Stufen beschreiben, wie schwierig oder wie einfach die Sprache zu erlernen ist. Am schwierigsten sind die Low-Level-Programmiersprachen – Hochsprachen sind einfacher und erinnern ein bisschen an Englisch. C ist eine Sprache in der Mitte, irgendwo zwischen exakter englischer Schreibweise und Grunzen und Gestikulieren.
Die niedrigste der Low-Level-Programmiersprachen ist die Maschinensprache. Das sind das primitive Grunzen und das Gestikulieren des Mikroprozessors. Maschinensprache besteht hauptsächlich aus Zahlen und Symbolen, die der Mikroprozessor versteht und ausführt. Der Vorteil von einem Programm in Maschinensprache ist, dass es schneller läuft alles jedes andere Programm, das in einer höheren Sprache geschrieben ist. Und diese Programme sind winzig klein.
Assembler ist der Cousin der Maschinensprache. Sie sind weitgehend identisch, nur verwendet man in Assembler abgekürzte englische Begriffe statt Zahlen. Dies wird immer als Low-Level-Sprache bezeichnet und kann von Menschen nur schwer erlernt und beherrscht werden. Und obwohl Assembler-Programme schneller sind als andere, dauert es doch Ewigkeiten, bis die Programme fertig sind. Na ja, zumindest eine kleine Ewigkeit.
C ist eine Mid-Level-Sprache. Teile davon erinnern an Assembler – viele C-Compiler erlauben sogar, dass man mitten im C-Programm Assembler-Anweisungen einfügt. Andere Teile von C sind eher Hochsprache, praktisch unmittelbar verständlich.
Hochsprachen umfassen populäre Sprachen wie C++, C#, Python oder Java als auch andere Sprachen, die zum Teil heute nicht mehr so verbreitet sind. Die erinnern oft an Englisch, alle Kommandos und Anweisungen sind englische Wörter – oder zumindest englische Wörter, in denen einige Vokale fehlen oder die ein bisschen durch die Schreibweise verunstaltet wurden.
Obwohl Hochsprachen sehr einfach zu lesen und von Menschen zu verstehen sind, laufen die Programme damit langsamer als ihre Gegenstücke in C oder Assembler. Außerdem neigen die Programme dazu, größer zu sein.
Wie aus einer süßen kleinen Textdatei ein Programm wird
Wenn Sie ein Programm schreiben, werden Sie zum Programmierer. Ich weiß, der Begriff ist neu für Sie. Ihre Verwandten oder Bekannten werden Sie weiterhin als »Computernutzer« einstufen, obwohl Ihre Bindung an die Maschine so eng wie nur möglich wurde. Also hängen Sie sich den Titel um den Hals und stolzieren Sie mit geschwellter Brust umher.
Nachdem Sie nun Programmierer sind, worin besteht Ihr Job? Ganz offensichtlich: Programme schreiben. Aber Programme sollten einen Zweck haben. Der Zweck ist, dass der Computer etwas tut.
Es ist Ihre Aufgabe als Programmierer, die Wünsche des Nutzers in etwas zu übersetzen, das der Computer versteht und dem Nutzer das liefert, was er will. Und falls Sie dazu nicht in der Lage sind, sollte es doch so nahe dran sein, dass sich die Leute nicht ständig beschweren und – schlimmer – ihr Geld zurückverlangen.
Ich könnte eine Menge philosophischer Ratschläge geben, wie man benutzerfreundliche Programme schreibt und daran denkt, dass der Nutzer nicht so besonders clever ist. Aber was soll’s.
Denken Sie daran, wer das Programm nutzt, und stellen Sie sicher, dass seine Bedürfnisse getroffen werden. Die Erfüllung von Bedürfnissen dagegen ist was für Fortgeschrittene.
Der Entwicklungsprozess in C
Hier nun, wie man in neun Schritten ein C-Programm