C für Dummies. Dan Gookin

C für Dummies - Dan Gookin


Скачать книгу
verbotenes Zeichen aufzunehmen.

      Schauen wir uns also nun das neue und verbesserte Programm an:

       #include <stdio.h> int main() { printf("Er sagte: \"Ta da! Ich bin ein String.\""); return 0; }

      Listing 3.3: Name: Dblquote2.c

      Die einzige Änderung passiert in Zeile 5. Beachten Sie die Escape-Sequenz \" in dem String. Sie taucht zweimal auf, einmal in der Mitte und einmal am Ende. Die äußeren Anführungszeichen bleiben unverändert. Sieht verrückt aus, funktioniert aber.

      Speichern Sie das Programm Dblquote2.c, kompilieren und starten Sie es. Diesmal sollte es funktionieren und den folgenden Text ausgeben:

       Er sagte: "Ta da! Ich bin ein String."

       Die Escape-Sequenz \" erzeugt in einem String das Anführungszeichen.

       Eine andere nützliche Escape-Sequenz kennen Sie von Kapitel 2: \n. Sie erzeugt eine neue Zeile in einem String, so als wenn Sie drücken würden.

       Alle Escape-Sequenzen beginnen mit einem Backslash \. Wie stellt man also den Backslash selbst in einem String dar? Man nimmt zwei: \\ ist die Escape-Sequenz, die einen – Achtung! – nur einen \ in einem String einfügt.

       Eine Escape-Sequenz kann überall in einem String auftauchen: am Anfang, in der Mitte, am Ende. Wo es gerade benötigt wird.

       Weitere Escape-Sequenzen werden in Tabelle 3.1 weiter hinten in diesem Kapitel aufgelistet.

       Das f steht für formatiert

      Die Funktion heißt aus einem bestimmten Grund printf. Das f bedeutet etwas, es steht nicht etwa für Funktion, sondern es steht für formatiert. Der Vorteil von printf im Vergleich zu anderen Ausgabefunktionen in C liegt darin, dass die Ausgabe formatiert sein kann.

      Weitere Informationen darüber, was Variablen sind und was sie tun, erhalten Sie in Kapitel 4.

      Die Funktion printf

      Ja, die printf-Funktion stellt immer noch Ausgaben auf dem Bildschirm dar. Aber der dargestellte String kann auch ein Formatstring sein, also einer, der das Format der Ausgabe steuern kann:

       printf("FormatString"[, var[, …]]);

      Was in den Anführungszeichen erscheint, ist in Wirklichkeit ein Formatstring. Es ist immer noch ein Text, der bei der Ausgabe geschrieben wird. Im String eingemischt sind verschiedene Konvertierungszeichen, spezielle »Platzhalter«, die printf sagen, wie es seine Ausgaben formatieren muss.

      Die zusätzlichen Dinge, die in der obigen Codezeile in den eckigen Klammern stehen, heißen Argumente. Das Argument heißt var, kurz für Variable. printf kann benutzt werden, um den Inhalt einer oder mehrerer Variablen darzustellen. Dies macht man, indem man bestimmte Konvertierungszeichen im FormatString benutzt. Die Abbildung verdeutlicht dies sehr schön.

image

      Das [, …] bedeutet, dass man eine beliebige Anzahl von Variablen in einer einzigen printf-Funktion anfügen kann (aber vor der schließenden Klammer). Auf jeden Fall muss für jede Variable in FormatString ein zugehöriges Konvertierungszeichen stehen. Diese müssen zueinander passen, oder Sie erhalten einen Fehler bei der Kompilierung oder später im lauffähigen Programm.

       Richtʼ Euch!

      Zum jetzigen Zeitpunkt besteht keine Notwendigkeit, tiefer in die kalten und dunklen Gewässer der printf-Funktion einzusteigen – Argumente und Variablen.

       #include <stdio.h> int main() { printf("%15s", "rechts\n"); printf("%-15s", "links\n"); return 0; }

      Listing 3.4: Name: Justify.c

      Geben Sie den Quelltext in Ihrem Editor ein. In der ersten printf-Anweisung ist der erste String ein %15s (Prozent, 15, kleines s). In der zweiten printf-Anweisung sieht das fast genauso aus, aber da steht vor der 15 noch ein Minuszeichen -.

      Prüfen Sie Ihre Eingaben gründlich. Starten Sie dann das Programm. Die Ausgabe sollte wie folgt aussehen:

       rechts links

      Das Wort rechts ist 15 Zeichen weiter rechts rechtsbündig angeordnet, links ist linksbündig angeordnet. Das wurde durch den Formatstring %15s bewirkt. Das %15s ist nicht sichtbar, stattdessen hat es bestimmt, wie das Wort rechts angeordnet wurde. Dies zeigt die Möglichkeiten von printf an einem lebenden Beispiel.

      Im Programm Justify.c sieht man nur ein wenig von dem, was printf kann. Die Funktion kann außerdem auch Zahlen in einer bemerkenswerten Weise darstellen, aber das führt im Moment noch zu weit.

       Haben Sie an die Semikolons am Ende von printf gedacht? Vergessen? Das ist ein typischer Fehler.

       Die Variablen var nennt man »Argumente«. Der Begriff Argument bedeutet eine andere Option, etwas, das von der Sprache C benötigt wird.

       Weitere Details zur Formatierung von printf werden weiter hinten in diesem Kapitel vorgestellt. Dennoch taucht dieses Buch nicht in die Tiefen der Formatierung ein, wie man sie zum Beispiel beim Programm Justify.c sehen kann. Schauen Sie bei Interesse doch in Ihrer C-Sprachreferenz zu printf nach; dort finden Sie weitere Details.

      Das Programm Justify.c besteht aus zwei printf-Anweisungen, die spezielle Formatierungsanweisungen benutzen, um die Ausgabe zu formatieren.

       printf("%15s", "rechts\n");

      Der »Steuerstring« wird zuerst angegeben, er teilt printf mit, was darzustellen ist. Zuvor hat printf einfach Texte ausgegeben. Aber das Prozentzeichen hat eine spezielle Bedeutung für printf. Es deutet auf ein Konvertierungszeichen – ich nenne das »Platzhalter« –, das printf sagt, wie die Ausgabe zu formatieren ist. Hier ist das Konvertierungszeichen ein s, was für String steht. Die 15 sagt printf, dass es den String genau


Скачать книгу