C++

Sprunganweisungen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Dieser Film bringt Ihnen das Thema Sprunganweisungen näher. Sie lernen, wie Sie eine Schleife mitten in der Verarbeitung abbrechen bzw. Schleifendurchgänge überspringen. Ebenfalls macht Sie der Trainer auf die geächtete goto-Anweisung aufmerksam.

Transkript

Ich möchte Ihnen jetzt etwas zu den Anweisungen 'break / continue' zeigen. 'break' und 'continue' sind eigentlich Sprunganweisungen. Da gibt es auch noch ein 'goto', den wir aber lieber weglassen wollen, weil der einfach zuviel Probleme macht. Ich zeige Ihnen mal, was es damit auf sich hat im Prinzip, erst einmal mit der break-Anweisung. Also eine Variable brauchen wir, und wie man das schon sagen würde, ich hab da mal was vorbereitet in meinem Script. Dann mache ich hier mal eine kleine Kopie. Das ist natürlich auch immer nicht ohne Tücke, wenn man das hier einfügt, aber wir können das hier sehr schön noch einrücken. So, ich habe jetzt hier eine while-Schleife, "while(true)" - diese Schleife würde eigentlich nie aufhören. Aber es gibt natürlich ein kleinen Trick, nämlich die break-Anweisung. Ich gebe hier einen Wert ein, "i1". Und wenn dieser Wert kleiner 0 ist, dann rufe ich 'break' auf. Und 'break' bewirkt, dass er aus der Schleife herausspringt und nichts mehr ausgibt. In diesem Fall, beendet er dann die Schleife halt. So, jetzt starten wir das Ganze mal, und wir haben jetzt hier auch gleich noch vor lauter Kopieren einen kleinen Fehler eingebaut. Das kann natürlich immer passieren. Schauen wir mal, was er will. Na ja, wer hätte es denn gedacht. Das 'cout' ist hier ist doch in der Tat... Selbst im Kopieren noch ein Fehler drin gewesen, aber so was kann ja immer wieder mal passieren. Und jetzt schauen wir mal hier. So, jetzt wartet er auf eine Eingabe. Wenn ich die ausgebe, gibt er die Quadratzahlen aus. Sie sehen schon, das sieht jetzt nicht elegant aus, da fehlt das "endl;". Ich gebe jetzt mal ein -1 ein, und dann hört er auf. Und damit es hier ein bisschen eleganter aussieht das lasse ich jetzt hier nicht so stehen. Bauen wir das noch ein. So, diese break-Anweisung ist eine Möglichkeit Schleifen zu verlassen. Es geht auch bei for-Anweisungen, oder bei do-while-Anweisungen. Bei einer for-Anweisung kann ich noch was anderes, sinnvolles einsetzen, nämlich die continue-Anweisung. Und dazu haben wir hier noch ein ganz kleines Beispiel. Tue das mal wieder hier einrücken. Das ist so, hier laufe ich jetzt in einer Schleife von 1 bis 10, inklusive 10. Aber wenn 'i=5', ist rufe ich 'continue' auf. Und jetzt schauen wir uns einfach mal an, was da passiert. Aber damit wir hier oben nicht ganz durcheinander kommen, mache ich hier nochmal eine kleine Ende-Kennung mit rein. Das ist natürlich jetzt ein bisschen kombiniert, das ganze Beispiel, aber zu einfach, soll das auch nicht sein. Also, das ist jetzt hier der neue Teil. Ich muss jetzt halt am Anfang gleich mal ein -1 eingeben damit er diese Schleife gleich abbricht. Und dann sehen Sie schon, kommt hier 1,2,3,4, oops, die 5 fehlt, 6,7,8,9,10. Also, das ist doch schon ganz gut, Ich könnte jetzt hier natürlich auch noch die break-Anweisung einbauen. "if ( i == 9) break;". Es macht natürlich bei einer for-Anweisung in dieser Kombination keinen Sinn, weil dann hätte ich ja die for-Schleife gleich nur bis 8 laufen lassen können. Aber wenn ich jetzt hier mal -1 eingebe, da sehen Sie, da läuft er nur bis 8, denn sobald 9 erreicht ist, ruft er hier ein 'break' auf. Und deshalb kommentiere ich das mal raus, nur zur Erinnerung, das funktioniert. Es gibt natürlich andere sinnvolle Varianten, wo ich hier mit einem 'break' abbrechen kann. Zum Beispiel, wenn ich hier noch eine Eingabe drin habe oder irgendwas berechne, für irgendeinen Fall macht es Sinn. Das 'continue' ist schon viel interessanter, weil da überspringe ich praktisch die Schleife für irgendwelche Sonderfälle. Und spare mir eine Anweisung wie "if ( i != 5 )", dann ausführen des Restes, und diese ganze Verschachtelei, Aber Sprunganweisungen, hatte ich ja vorher schon gesagt, sind eigentlich immer gefährlich, weil die den Programmfluss stören. Eine nicht lineare Ausführung bewirkt, wie ein Sprung aus dieser Schleife. Hier ist ein Sprung, um diesen Rest herum, und das nicht so richtig visualisiert wird. Es gibt noch eine schlimmere Anweisung, ich will es Ihnen nur zeigen. Ich habe die noch in keinem meiner Programme verwendet. Soviel ich weiß jedenfalls. "goto yyy". Und dann hab ich - ich mache das deshalb nur in Kommentaren - noch ein Ziel, das muss ich dann mit "yyy:" angeben, und da kann ich jetzt große Programmteile überspringen. Früher in Zeiten von BASIC und ähnlichen Programmiersprachen, - aber auch bei Assembler braucht man es leider noch - muss man mit solchen goto-Anweisungen arbeiten. Da ging das nicht anders. Bei der strukturierten Programmierung, wenn ich 'for' und 'while' und 'if' habe, und solche Sachen sogar noch, wie 'continue' und 'break', dann brauch ich niemals ein 'goto'. Bei GOTO's, da müsste ich ja... hier habe ich ja irgendwas dazwischenstehen, muss dann da wieder zurückhüpfen und dann da wieder weitermachen, und das gibt dann einen sogenannten Spaghetti Code, also wenn Sie jemanden mal verwirren wollen, der Ihr Programm nicht lesen können soll, inklusive Ihrer selbst, dann kann man goto-Anweisungen verwenden. Ansonsten sollte man das tunlichst sein lassen.

C++

Machen Sie sich mit den einfachen Grundlagen zu C++ vertraut und lernen Sie anhand zahlreicher Übungs- und Codebeispiele die Klassenkonzepte, Prozeduren und Funktionen kennen.

9 Std. 3 min (143 Videos)
Derzeit sind keine Feedbacks vorhanden...

Video-Training auf DVD mit Bonusmagazin

+ Tutorial to go: Mit Videos für iPod, iPhone & Co.

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!