C für Dummies. Dan Gookin
Чтение книги онлайн.

Читать онлайн книгу C für Dummies - Dan Gookin страница 33

Название: C für Dummies

Автор: Dan Gookin

Издательство: John Wiley & Sons Limited

Жанр: Программы

Серия:

isbn: 9783527833382

isbn:

СКАЧАТЬ aufzulösen, führen Sie in der Zeile mit dem printf im Programm Color.c folgende Änderung durch:

       printf("Die Lieblingsfarbe von %s ist %s\n", color, name);

      Die Reihenfolge der Variablen ist hier vertauscht, erst color, dann name. Starten Sie das Programm, um etwas Derartiges zu sehen:

       Die Lieblingsfarbe von Rot ist Marcus

      Erkannt? Computer sind doof. Wesentlicher Punkt ist hier also, dass Sie bei mehreren Variablen in der printf-Funktion auf die Reihenfolge achten müssen. Tja, und das %s? Es ist halt wirklich nur Platzhalter, mehr nicht.

      Wie siehtʼs denn mit dieser Änderung aus:

       printf("Die Lieblingsfarbe von %s ist %s\n", name, name);

      Die Variable name gleich zweimal – absolut nicht verboten. printf benötigt zwei Stringvariablen, damit die zwei Platzhalter %s gefüllt werden können. Welche, ist ihr egal. So könnte die Ausgabe aussehen:

       Die Lieblingsfarbe von Marcus ist Marcus

      Tja Marcus, mal wieder zu viel getrunken? Merken Sie sich also, dass Sie sich an die Reihenfolge halten müssen. Genau wie in Ihrer Steuererklärung, da können Sie ja auch nicht die Reihenfolge durcheinanderwerfen (na ja, Sie können schon … aber auch das führt nicht zum gewünschten Erfolg, genau wie hier).

      Zum Schluss noch eine kleine Änderung:

       printf("Die Lieblingsfarbe von %s ist %s\n", "Katthriya", color);

      Statt der Variablen name wird eine Stringkonstante benutzt. Eine Stringkonstante ist ein einfacher String in Anführungszeichen eingeschlossen. Sie kann sich nie ändern, anders als eine Variable, die alles enthalten kann (sie ist eben konstant und nicht variabel).

      Starten Sie das Programm. Es funktioniert immer noch, aber egal, welchen Namen Sie eintippen, der Computer besteht immer auf dem Namen »Katthriya«.

       Die Stringkonstante "Katthriya" funktioniert, weil der Platzhalter %s nach einem String sucht. Es spielt keine Rolle, ob es sich um eine Stringvariable oder einen »echten« Textstring handelt. (Natürlich ist der Vorteil von einem Programm, dass man Variablen zur Speicherung von Eingaben benutzen kann. Eine Konstante zu benutzen, ist ein wenig sinnlos, weil der Computer und Sie schon vorher wissen, was ausgegeben wird.)

       Der Platzhalter %s in einer printf-Funktion sucht nach einer zugehörigen Stringvariablen und fügt den Inhalt in den dargestellten Text ein.

       Für jedes %s im Formatstring einer printf-Funktion benötigen Sie auch eine Stringvariable. Fehlt die Variable, können allerlei ungewünschte Effekte auftreten.

       Zusätzlich zu Stringvariablen können Sie auch Stringkonstanten einsetzen, sogenannte Literale. Das ist nicht sonderlich clever, weil man keine Zeit mit dem %s verschwenden muss, wenn man ohnehin schon weiß, was herauskommt (ich musste es hier mal zeigen, sonst müsste ich sofort ins Gefängnis für C-Lehrer gehen).

       Achten Sie darauf, dass die Reihenfolge der Variablen stimmt. Das ist besonders wichtig, wenn Sie sowohl numerische als auch Stringvariablen benutzen.

      

Das Prozentzeichen % ist ein heiliges Zeichen. Om! Falls Sie ein Prozentzeichen in einer Ausgabe von printf darstellen wollen, müssen Sie zwei benutzen: %%. (Raten Sie mal, wie viele Sie angeben müssen, wenn in der Ausgabe von printf drei Prozentzeichen erscheinen sollen …)

      Ein wichtiger Aspekt in der Programmierung ist, dass man sich auch noch daran erinnert, was man tun wollte. Ich meine damit nicht die Programmierung selbst – das kann man sich leicht merken und es gibt genug Bücher und Hilfen zum Nachblättern. Nein, woran man sich erinnern muss, ist, was ein Programm an einer bestimmten Stelle tun sollte. Das kann man erreichen, indem man einen Kommentar in den Quelltext einfügt.

      Kommentare sind nicht wirklich notwendig bei den kleinen Programmen, die wir in diesem Buch erörtern. Sie sind nicht notwendig, solange man keine größeren Programme schreibt, aber spätestens, wenn Sie ein eigenes Office-Paket programmieren, werden Sie irgendwann einzelne Ideen auch wieder vergessen. Damit Sie sich selbst daran erinnern können, was Sie im Programm tun, sollten Sie einen Kommentar im Quelltext einfügen, der Ihren Ansatz oder die Idee erläutert. Wenn Sie dann den Quelltext noch mal überfliegen, verlieren Sie auf diese Weise nicht den Faden und es wird klar, was eigentlich passiert.

       Darf ich um einen kurzen Kommentar bitten?

      Kommentare in C haben einen Startpunkt und einen Endpunkt. Alles zwischen diesen zwei Punkten wird vom Compiler ignoriert, das bedeutet, Sie können jeden beliebigen Text dazwischen eingeben und das beeinflusst das Programm in keiner Weise.

       /* So sieht ein Kommentar in C aus */

      Das ist ein schönes und sinniges Beispiel für einen Kommentar. Oder ein anderes Beispiel, das irgendwie besser zu dieser Buchreihe passt:

       /* Hallo Compiler! Hey, mach mal'n Fehler: pirntf Ha! Du kannst mich nicht sehen, nana. Main MIAn main miau */

       Der Beginn eines Kommentars wird mit einem Schrägstrich (»Slash«, sprich »Släsch«) / und einem Sternchen * eingeleitet: /*.

       Das Ende eines Kommentars wird durch die umgekehrte Reihenfolge angezeigt: */.

       Ja, genau hinsehen, da gibt es einen Unterschied.

       Der Kommentar ist keine Anweisung in C, also muss auch kein Semikolon dahinter.

       Kommentarstile

      Es gibt viele Arten, um einen Quelltext zu kommentieren, aber die im Folgenden gezeigten sind die am häufigsten verwendeten:

       /* MADLIB1.C Quelltext geschrieben von Mike Rowsoft */

      Schon immer beliebt, der mehrzeilige Kommentar. Die erste Zeile enthält nur das /*, die folgenden Zeilen sind allesamt Kommentarzeilen und werden daher ignoriert. Die letzte Zeile enthält nur das */ – denken Sie daran, sonst denkt der Compiler, Ihr Programm wäre nur ein einziger langer Kommentar (möglich, aber nicht empfehlenswert).

       /* Eingaben von Tastatur einlesen */

      Das ist ein einzeiliger Kommentar, nicht zu verwechseln mit einer C-Anweisung. Der Kommentar beginnt mit /* und endet mit */, das ist hundertprozentig korrekt. Denken Sie daran, es ist keine Anweisung, also brauchen Sie auch kein Semikolon.

       СКАЧАТЬ