Die Sprache C benutzt Wörter – Schlüsselwörter, Funktionen und so weiter – als Basiselemente.
Außer den Wörtern gibt es Symbole. Manchmal werden diese Symbole Operatoren genannt. Zum Beispiel wird das Pluszeichen + in C benutzt, um Dinge zu addieren.
Für die Wörter gibt es Optionen und Regeln, wie man sie benutzt. All diese Regeln werden in den C-Handbüchern der Compiler erklärt; man muss sie nicht auswendig können. Dennoch werden Ihnen einige mit der Zeit in Fleisch und Blut übergehen.
Klammern werden in C immer benutzt, um eine bestimmte Art von Informationen zusammenzufassen, die von C-Wörtern benötigt werden. Diese Wörter werden zusammengesetzt, um Anweisungen zu erstellen, was den Sätzen einer natürlichen Sprache entspricht. Die Anweisungen enden alle mit einem Semikolon.
Geschweifte Klammern werden benutzt, um Teile des Programms zu gruppieren. Einige Schlüsselwörter benutzen geschweifte Klammern, um die zu ihnen gehörenden Teile an sich zu binden, und alle von Ihnen in einem Programm erstellten Funktionen verwenden geschweifte Klammern für den gleichen Zweck. Dies konnten Sie in diesem Kapitel bei der Funktion main() sehen.
All diese Dinge zusammengepackt (und eine Menge anderes Zeugs, das ich im Moment mal lieber nicht erwähne) bilden die Syntax der Sprache C. Syntax bezeichnet die Art und Weise, wie man Sprachen zusammensetzt.
Eingaben und Ausgaben (die hier mal was Gutes sind)
Bei Computern dreht sich alles um Ein- oder Ausgaben. Eingabe – Ausgabe: Sie geben etwas ein und erhalten eine Antwort, eine Reaktion. Stellen Sie eine Frage, werfen Sie einen Euro ein und Sie erhalten Ihr Antwortkärtchen – darum geht es. Es ist Ihre Aufgabe als Programmierer, Programme zu schreiben, die etwas tun. Zum jetzigen Zeitpunkt mit unserem Wissensstand ist es okay, wenn das triviale Dinge sind. Schon bald werden Sie Programme schreiben, die wirklich etwas tun.
Stellen Sie sich bei Herrn Computer vor
Um den Nutzen und die Anwendung von Eingaben und Ausgaben kennenzulernen, können Sie das folgende Programm ausprobieren, Whoru.c
– der Name leitet sich vom Englischen »Who are you?« ab.
Der Sinn und Zweck des Programms ist es, dass Sie Ihren Namen über die Tastatur eingeben und dass der Computer daraufhin Ihren Namen auf dem Bildschirm anzeigt, zusammen mit einer freundlichen Begrüßung.
#include
int main()
{
char me[20];
printf("Wie heissen Sie? ");
fgets(me, 20, stdin);
printf("Hallo %s, nett, Sie kennenzulernen!\n", me);
return 0;
}
Listing 2.3:Name: Whoru.c
Starten Sie Ihren Texteditor und beginnen Sie wieder mit einer neuen Datei. Geben Sie den Quelltext wie oben beschrieben ein und speichern Sie die Datei unter dem Namen Whoru.c
ab. Inhalte interessieren uns nicht, zunächst abtippen und singen Sie dabei von mir aus vor sich hin, wenn Sie das entspannt.
Kompilieren Sie das Programm Whoru.c
mit dem Compiler. Wenn Syntaxfehler oder andere Dinge auftreten, prüfen Sie Ihre Eingabe auf Abweichungen von den Vorgaben hier im Buch. Achten Sie auf Kleinigkeiten, Semikolons, Kommas oder Prozentzeichen.
Wenn alles geklappt hat, haben Sie nun auch die Datei Whoru.exe
auf der Festplatte. Starten Sie das Programm aber noch nicht! Das kommt erst gleich. Noch einen Moment Geduld.
Bei den integrierten Entwicklungsumgebungen können Sie mit dem Menübefehl BUILD AND RUN ein neues Fenster für den Editor öffnen.
Eine Variable ist ein Speicherplatz, an dem man Informationen in einem Programm ablegen kann. Eine Stringvariable, so wie me in Whoru.c, wird benutzt, um Text zu speichern. Numerische Variablen speichern Zahlen und Werte. Kapitel 4wird Ihren brennenden Wissensdurst zu diesem Thema befriedigen.
Beseitigen Sie eventuelle Fehler durch Änderungen und Neukompilierung.
Ein typischer Anfängerfehler: Anführungszeichen vergessen! Das zweite " fehlt! Vergewissern Sie sich, dass Sie immer ein Paar von " benutzen. Falls eines fehlt, erhalten Sie einen Fehler. Das Gleiche gilt für alle Klammersorten: Nehmen Sie immer ein Pärchen, so wie bei der Arche Noah.
Falls der Compiler das Programm Whoru
nicht automatisch startet – einige tun dies –, starten Sie es nun. Die Ausgabe in der Kommandozeile sollte so aussehen:
Wie heissen Sie?
Das Programm wartet nun auf Ihre Eingabe. Also los, geben Sie Ihren Namen ein und drücken Sie
.
Falls Sie C-Guru
eingetippt haben, wird folgende Zeile dargestellt:
Hallo C-Guru
, nett, Sie kennenzulernen!
Falls die Ausgabe anders aussieht oder das Programm nicht so arbeitet oder einen Fehler erzeugt, prüfen Sie noch einmal den Quelltext. Ändern Sie ihn, um Fehler zu beseitigen, und kompilieren Sie das Programm neu.
Die Ausgabe ist nicht so hübsch wie erhofft mit dem Zeilenumbruch nach C-Guru
. Dieses Problem zu beheben wird noch einige Kapitel dauern.
In einigen Entwicklungsumgebungen müssen Sie die Fenster wechseln, damit Sie das Fenster mit der Kommandozeile sehen.
Dies ist ein Beispiel für ein Programm, das eine Eingabe übernimmt und etwas ausgibt. Es macht mit der Eingabe nichts außer dem Erzeugen der Ausgabe, aber das reicht schon für die Erfüllung des EVA-Prinzips: Eingabe – Verarbeitung – Ausgabe.
Geheime Informationen über die Arbeitsweise von Whoru.c
Wenn Ihr C-Programm läuft, arbeitet der Computer zuerst die main
-Funktion ab (es passieren zuvor noch ein paar andere Dinge, aber das interessiert uns hier nicht). In Whoru.c
gibt es fünf Anweisungen in der Funktion main
– die wie folgt arbeiten:
char me[20];
Die vorstehende Zeile sagt dem Compiler, dass er eine Stringvariable erzeugen soll. char
steht für Char acter, das englische Wort für Zeichen. Dies steht hier im Gegensatz zu einem Speicher für Zahlen oder einem Schuhschrank, in dem Sie Ihre alten Schuhe aufheben. Der Name der Stringvariablen ist me
(man kann einer Variablen praktisch jeden Namen geben – Kapitel 4enthält die Regeln dazu). Die Zahl in den eckigen Klammern sagt dem Compiler, dass er für 20 Zeichen Speicherplatz organisieren muss – das sind hier 20 Bytes. Sie können also Text mit maximal 20 Zeichen Länge in me
speichern.
printf("Wie heissen Sie?");
Diese Zeile sagt dem Compiler, dass er die Funktion printf
aufrufen soll. printf
zeigt den String Wie heissen Sie?
auf dem Bildschirm an. Das ist die Aufforderung des Programms, dass es nun gerne eine Eingabe hätte.
fgets(me, 20, stdin);
Hier wird die Funktion fgets
aufgerufen. fgets
liest die Tastatur ein. Der Teil mit dem me
sagt der fgets
-Funktion, dass der Text in der Variablen me
zu speichern ist, und es sollen maximal 20
Zeichen sein.
printf("Hallo %s, nett, Sie kennenzulernen!\n", me);
Diese nächste Anweisung sagt dem Compiler, dass wieder die printf
-Funktion benötigt wird. Der Text in Anführungszeichen wird ausgegeben, aber printf
zaubert aus dem %s
noch etwas Besonderes. Das %s
bedeutet so viel wie »Ich bin nur ein Platzhalter – hier ist noch eine Lücke, fülle diese Stelle mit Inhalt«. Der Inhalt, der diesen Platzhalter füllt, wird aus der Variablen me
geholt, die deswegen hinter dem Text nach einem Komma auch noch angegeben wird.
Читать дальше