011
16.11.2010, 20:58 Uhr
Hans
Library Walker (Operator)
|
So, jetzt noch mal zum Thema Schleifen: Das es sich dabei um wiederholt auszuführende Anweisungen, bzw. Anweisungsblöcke handelt, dürfte klar sein. In C und C++ gibt es davon 3 Arten, wobei ich hier hauptsächlich auf die eingehe, die Du benutzt hast, also die do-Schleife. Die funktioniert grundsätzlich nach dem Muster:
C++: |
do Anweisung; while (Bedingung == true);
|
oder, wenn mehrere Anweisungen ausgeführt werden sollen:
C++: |
do { Anweisung 1; Anweisung 2; ... Anweisung n; } while (Bedingung == true);
|
Man kann Schleifen auch verschachteln, d.h. eine Schleife im Anweisungsblock einer weiteren Schleife unterbringen. Das sieht so aus:
C++: |
do // äussere Schleife { Anweisung 1; // äussere Schleife Anweisung 2; // äussere Schleife
do // innere Schleife { Anweisung 1; // innere Schleife Anweisung 2; // innere Schleife ... // innere Schleife Anweisung n; // innere Schleife } while (Bedingung == true); // Abbruchbedingung der inneren Schleife
... // äussere Schleife Anweisung n; // äussere Schleife } while (Bedingung == true); // Abbruchbedingung der äusseren Schleife
|
Was aber wiederum nicht sinnvoll funktioniert, ist diese Konstruktion:
C++: |
{ Anweisung(en); } while (Bedingung);
|
Da fehlt das do am Anfang, wenn es 'ne Schleife sein soll.
Es gibt aber auch noch die while-Schleife, aber deren Syntax sieht anders aus. Da steht das while mit seiner Abbruchbedingung allein, danach erfolgt ein Anweisungsblock. Also so:
C++: |
while (Bedingung) Anweisung;
|
bzw.
C++: |
while (Bedingung) { Anweisung 1; Anweisung 2; ... Anweisung n; }
|
Mit diesem Wissen stellt man dann fest, dass das hier
C++: |
{ } while (Bedingung);
|
eine while Schleife mit einem leeren Anweisungsblock ist. - Ja, das geht auch, es stellt sich aber die Frage, wozu das gut sein soll?
Soweit mal dieses Grundlagenkapitel. Obwohl das, was ich hier geschrieben habe, in jedem vernünftigen Lehrbuch drin steht. Und es ist in C und C++ identisch und völlig unabhängig vom verwendeten Compiler oder Betriebssystem. D.h. diesen Stoff über Schleifen kannst Du in jedem Buch nachlesen, das C oder C++ behandelt.
Noch ein Wort zur Formatierung: Wie Du bei den verschachtelten Schleifen sehen kannst, hab ich die Einrückungen so gewählt, das die zusammengehörigen Klammern {} immer untereinander stehen. Das ist die Methode, die ich vorziehe, weil ich sie am verständlichsten finde. Andere machen es beispielsweise so:
C++: |
while (Bedingung) { Anweisung 1; Anweisung 2; ... Anweisung n; }
|
Da stehen die Klammern zwar nicht untereinander, aber der Text des Schleifenrumpfes ist immer noch eingerückt. Man kann also trotzdem schnell erkennen, welche Anweisungen zur Schleife dazu gehören, und welche nicht.
Hans -- Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung. Dieser Post wurde am 16.11.2010 um 21:15 Uhr von Hans editiert. |