Achten Sie auf Zeile 10 und 11: Obwohl die Zeile im Quelltext aufgeteilt ist, wird nur eine einzige Zeile in der Ausgabe erzeugt. Das liegt daran, weil das Zeichen \ dem printf mitteilt, dass die beiden Zeilen miteinander verbunden werden sollen.
Das sind alle Regeln? Ha! Sie sollten sich glücklich schätzen. Im Grunde sollten Sie der Kakerlaken-Regel folgen: Für jede, die Sie sehen, gibt es noch zehn weitere in den dunklen Ecken. Mal im Ernst, die obigen Regeln werden am häufigsten verletzt. Zumindest ging es mir so.
Schauen Sie sich mal den folgenden Textstring an:
"Das ist ein Textstring."
Das Teil nennt sich String. Es ist ein Text, eingesperrt zwischen zwei Anführungszeichen; auf diese Weise handhabt C Texte.
In diesem Kapitel wurde die Funktion printf
mehrfach benutzt, um Text auszugeben, Text wie diesen. In fast jedem Fall endete der Text mit:
\n
Das kommt Ihnen spanisch vor, oder? Auf C-isch heißt das »Gib mal ʼne neue Zeile rüber«. Das n
steht hier für »neue Zeile« oder eigentlich »newline«.
Entfernen Sie zum Ausprobieren mal im Programm Rules
alle \n
aus dem Quelltext. Starten Sie dann das Programm. Sie sollten die folgende unübersichtliche Ausgabe erhalten:
Klammern immer paarweise!Kommentare immer paarweise!Anweisungen enden mit einem ;Leerzeichen kann man weglassen!main() ist immer notwendig!C besteht fast nur aus Kleinschreibung!Gross-/Kleinschreibung werden unterschieden!Unterstriche _ beachten wir nicht!Variablen werden vor der Benutzung deklariert!
Ohne \n
im Text werden alle Texte bei der Ausgabe hintereinander geschrieben. Mit dem \n
fügt die printf
-Funktion immer am Ende des Textes eine neue Zeile ein – und das Ganze sieht schön ordentlich aus.
In C wird das \n in einem String so benutzt, als wenn Sie die -Taste gedrückt hätten.
Es ist immer ein \n, mit kleinem n. C ist fast immer Kleinschreibung.
Das \n wird newline genannt, aber man sagt auch »Släsch n« oder »Bäcksläsch n« dazu – solange Sie es nicht laut sagen, ist das auch okay.
Kapitel 3
Einfache C-Programme basteln
IN DIESEM KAPITEL
printf
scanf
Bemerkungen, Kommentare und Vorschläge
fgets und puts
Mehr Spaß mit printf
»Sprich zu mir, oh großer Computer! – Was ist los? Ich kann dich nicht hören!«
Wahrscheinlich deswegen, weil Sie noch nicht gelernt haben, wie man dem Computer sagt, dass er sprechen soll. Computer können sprechen. Manchmal, wenn man nicht vorsichtig ist, ist es schwierig, sie wieder zu stoppen. Und anders als viele Menschen können sie sogar zuhören. Dieses Kapitel behandelt die Grundlagen, wie man einem Computer Sprechen und Zuhören beibringt – unter Benutzung der Sprache C.
printf (wer bei print an Drucken denkt, liegt falsch)
Die Funktion printf
wird in C benutzt, um Informationen auf dem Bildschirm auszugeben. Es ist das grundlegende Allzweckmittel für: »Hey, ich will dem Benutzer was sagen.« Das Format, wie man die Funktion printf
in C-Programmen benutzt, steht im Kasten »Die Funktion printf (etwas auf dem Bildschirm ausgeben)«.
Die printf
-Funktion ist eine komplette Anweisung. Der letzten Klammer folgt immer ein Semikolon (es könnte eine Ausnahme davon geben, aber es ist nicht wert, das zu erwähnen).
»print« hat traditionell die Bedeutung, etwas an den »printer«, den Drucker, zu schicken. In der guten alten Zeit hatten die Computer noch keine so schicken Bildschirme. Damals schrieb printf
tatsächlich auf einen Drucker. Aber anstatt den Namen zu ändern, hat man nur den Ort, an dem die Informationen auftauchen, geändert.
Die Funktion printf (etwas auf dem Bildschirm ausgeben)
Die Funktion printf
kann ziemlich abgedreht sein, aber in der einfachen Betriebsart verwendet sie folgendes Format:
printf("text");
printf
wird immer kleingeschrieben, das ist nicht verhandelbar. Darauf folgen runde Klammern, die einen Text in Anführungszeichen enthalten. Der schließenden Klammer folgt immer ein Semikolon.
Der kursiv geschriebene text in dem kleinen Codeabschnitt bedeutet, dass man ihn durch einen beliebigen String ersetzen kann. printf
wird diesen Text dann darstellen. Obwohl der Text in Anführungszeichen steht, werden diese nicht am Bildschirm ausgegeben.
Es gibt weitere Regeln zu printf
, die noch nachgereicht werden.
Ein anderes »printf macht was Lustiges«-Programm
Die Aufgabe von printf
besteht darin, Ausgaben auf dem Bildschirm erscheinen zu lassen. Das haben Sie in Kapitel 2schon mehrfach gemacht. Was halten Sie davon, dies im folgenden Programm Ende.c
noch mal zu tun?
#include
int main()
{
printf("Was soll ich beenden?\n");
return 0;
}
Listing 3.1:Name: Ende.c
Starten Sie Ihren Editor, geben Sie das Programm ein, kompilieren und starten Sie es. Das ist ein Programmierergag, wie er im Buche steht.
Geben Sie nun in der Eingabeaufforderung die Anweisung zum Starten des Programms Ende.exe
ein, indem Sie Ende
eingeben. So sieht die Antwort aus:
Was soll ich beenden?
Haha. Das ist, wenn Sie das in der Kommandozeile machen. Die anderen werden zu Ihnen sagen: »Hey Alter, du bist ziemlich abgedreht, seit du programmierst.« Und Sie werden antworten: »Ich programmiere nicht, ich code.«
Offensichtlich macht dieses Programm keinen Sinn, wenn man es unter Windows startet … denken Sie daher daran, dass Sie die Beispiele hier im Buch von einer Kommandozeile aus (»DOS-Fenster«) oder unter Code:Blocks starten, dann können Sie auch alles lesen.
Meine Damen und Herren, ich präsentiere Ihnen den folgenden String:
"Ta da! Ich bin ein String."
Eine einfache Ansammlung von Buchstaben, Zeichen und Symbolen, umgeben von Anführungszeichen. Packen wir das in runde Klammern ein, damit der String nicht friert, schreiben wir links ein printf
hin und rechts ein Semikolon:
printf("Ta da! Ich bin ein String.");
Und fertig ist die C-Anweisung, um den genannten String auf dem Bildschirm darzustellen.
Aber betrachten Sie nun diesen String:
"Er sagte: "Ta da! Ich bin ein String.""
Ist das verboten oder was? Es ist immer noch ein String, aber nun mit mehrfachen Anführungszeichen. Acht Striche schwirren um den String. Wie wird er damit fertig?
Der C-Compiler bestraft Sie nicht dafür, wenn Sie etwas ausprobieren. Fehler sind eine sichere Sache, also lasst uns ein wenig experimentieren.
Erzeugen Sie das folgende Programm Dblquote.c
, das im Wesentlichen wieder nur ein »printf schreibt was«-Programm ist. Das ist bereits das ganze Experiment.
#include
int main()
{
printf("Er sagte: "Ta da! Ich bin ein String."");
return 0;
}
Listing 3.2:Name: Dblquote.c
Tippen Sie den Programmcode genauso ab, wie er da steht. Achten Sie vor allem auf die Anführungszeichen. Speichern Sie die Datei ab und starten Sie das Programm.
Читать дальше