Hallo und herzlich willkommen. Wir beginnen einen neuen
Abschnitt und werden über Kontrolle sprechen. Flow Control Flow befasst
sich im Wesentlichen mit bedingten Anweisungen, Anweisungen,
if-Anweisungen und Entscheidungen in Ihrem Programm sowie mit der Wiederholung von Code,
bei dem es sich um Schleifen handelt.
Dies ist also ein wichtiger Abschnitt, und dies sind grundlegende Programmiertechniken, die in
den meisten Sprachen verwendet werden. Wir werden darüber sprechen, wie spezifisch sie für c sind.
Aber um Ihnen einen Überblick
zu geben, bevor wir über Syntax sprechen und in Beispiele auseinander gehen.
Ich möchte Ihnen sagen, was Kontrollfluss in Bezug auf ein Programm bedeutet.
Daher werden die Anweisungen in Ihren Quelldateien im Allgemeinen von oben nach unten in der Reihenfolge ausgeführt, in
der sie angezeigt werden. Dies wird als sequentiell bezeichnet.
Sie haben alle diese Aussagen. Wir haben Ausdrücke innerhalb oder außerhalb
der Anweisungen gelernt, aber Sie gehen vom Anfang bis zum Ende.
Das haben wir bisher gelernt.
Wir sind noch nie herumgesprungen. Wir haben noch nie etwas getan, bei dem wir Dinge automatisch wiederholt haben,
von Anfang bis Ende.
Kontrollflussanweisungen unterbrechen diesen Ausführungsfluss jedoch, indem sie Dinge wie Entscheidungsfindung
hinzufügen, im Wesentlichen Fragen stellen, Code wiederholen,
Schleifen und Verzweigungen erstellen.
Dadurch kann Ihr Programm bestimmte
Codeblöcke bedingt ausführen.
Es wird also nicht nur oben in der Hauptfunktion beginnen, sondern ganz unten.
Sie können jetzt hin und her gehen.
Möglicherweise verzweigen Sie sich oder Sie springen in Codeblöcke hinein
und aus diesen heraus. Der Code
im Programm wird also etwas komplizierter.
Also Dinge, über die wir in Bezug
auf Kontrollflussentscheidungen sprechen. Hier stellen Sie im Wesentlichen
eine Frage und erhalten dann eine Antwort, eine wahre oder eine falsche Antwort.
Dinge, die in c unterstützt werden, sind die if-Entscheidungsanweisung und dann
haben Sie if else und dann
haben Sie auch eine switch-Anweisung und eine go to-Anweisung.
Dies sind alles Entscheidungserklärungen. Gehen Sie zu, ich habe hier eingegeben,
weil es in c existiert.
Sie werden es wahrscheinlich nicht verwenden wollen. Ich werde kurz darüber sprechen.
Es ist wirklich nur etwas, das der Programmierer hart auf ein Etikett codiert.
Wir haben auch Schleifenanweisungen, die in der Sprache c unterstützt werden.
Das Schlüsselwort 4, das Schlüsselwort while und das Schlüsselwort do while.
Das sind die drei Arten von Schleifen. Schleifen wiederholen den Code.
Und dann sind Verzweigungsanweisungen ähnlich. Sie werden normalerweise
innerhalb einer Schleife oder innerhalb einer Entscheidung verwendet.
Dies sind Dinge wie die Pause, die weiterhin zurückkehrt.
Wir werden also versuchen, uns in diesem Abschnitt auf bestimmte Vorlesungen für Entscheidung versus Schleife zu
konzentrieren und dann auch ein wenig über das Brechen zu sprechen.
Wieder ein sehr wichtiger Vortrag.
Also Entscheidungsfindung. Was bedeutet das wirklich innerhalb eines Programms?
Wieder haben wir bis jetzt im Grunde genommen Variablen erstellt, sie
deklariert und Berechnungen durchgeführt.
Aber wir haben nie wirklich konkrete logische Entscheidungen getroffen.
Ein Entscheidungskonzept sieht also vor, dass der Programmierer eine oder
mehrere Bedingungen spezifiziert, die vom Programm bewertet oder getestet
werden sollen.
Was im Wesentlichen passiert, ist, dass Sie eine Frage innerhalb des Programms stellen, das ist die Logik.
Und wenn die Bedingung oder die Antwort auf diese
Frage wahr ist, werden Sie
Code und Anweisungen ausführen. Wenn die Antwort auf diese
Frage falsch ist, können Sie andere Anweisungen ausführen oder gar nichts tun.
Hier ist unser kleines Datenflussdiagramm, das Ihnen das Konzept der
Entscheidungsfindung in einem Programm zeigt. Sie haben diesen Zustand.
Abhängig von der Antwort auf diese Bedingung, ob wahr oder falsch,
führen Sie entweder Code aus oder nicht.
Es hängt davon ab, ob. Es wird etwas komplizierter, aber dies ist
die Grundstruktur, wie Sie Entscheidungen in Ihrem Programm treffen können.
Was dies bedeutet, ist, dass Sie in Ihrem Quellcode einen Code überspringen, abhängig von der
Antwort auf eine Frage, je nachdem,
ob er wahr oder falsch ist.
Die von c unterstützten Anweisungen sind also die if-Anweisung.
Die if-Anweisung hat ein spezielles Schlüsselwort namens.
Wenn wir ausführlich darüber sprechen und Beispiele nennen
wollen, wird diese Aussage die Frage im Wesentlichen stellen.
In den Klammern wird ein boolescher Ausdruck stehen.
Wir wissen, was boolesche Ausdrücke sind.
Grundsätzlich können sie einen wahren oder falschen
Wert zurückgeben, eine Anweisung, die
einen wahren oder falschen Wert zurückgibt, außer in ihrem Ausdruck,
und sie kann eine oder mehrere Anweisungen innerhalb des Körpers haben, die if-Anweisung.
Sie haben auch ein Wenn sonst.
Dies ist also eine if-Anweisung, auf die ein optionales else folgen kann.
Wenn es wahr ist, mach das. Wenn es falsch ist, machen Sie etwas anderes.
Und dann haben wir if-Anweisungen verschachtelt.
Dies ist der Fall, wenn Sie eine if-Anweisung in einer anderen if-Anweisung haben.
Möglicherweise stellen Sie mehrere Fragen.
Auch dies wird anhand spezifischer Beispiele
und Syntax detailliert beschrieben. Ich versuche an dieser Stelle nur einen Überblick zu geben.
Was das Wiederholen von Code angeht, ist dies wiederum ein weiterer Kontrollflussmechanismus,
da Sie nicht mehr nacheinander fortfahren.
Wenn Sie Code wiederholen, führen Sie denselben Code mehrmals aus.
Es kann also vorkommen, dass Sie einen Codeblock mehrmals ausführen müssen, die Anweisungen nacheinander
ausgeführt werden, die erste Anweisung
in einer Funktion zuerst ausgeführt wird, gefolgt von der zweiten usw.
Es hängt alles ab. Dies ist eine Art Block des Codes des Schleifenkörpers.
Eine Schleifenanweisung ermöglicht es uns also, eine Anweisung oder eine Gruppe von
Anweisungen mehrmals auszuführen, ohne dass jede Anweisung tatsächlich so
oft wiederholt werden muss.
Schleifensteueranweisungen ändern die Ausführung von ihrer normalen Reihenfolge.
Wenn die Ausführung den Bereich
verlässt, werden alle automatischen Objekte, die in diesem Bereich erstellt wurden, zerstört.
Hier geht es also um den Umfang in
Bezug auf Variablen und im Grunde genommen darum, dass Sie außerhalb der Schleife
nicht auf diese zugreifen können, wenn Sie
sich im Hauptteil einer Schleife befinden und lokale Variablen haben.
Eine Schleife wird zu einer Endlosschleife, wenn eine Bedingung niemals falsch wird.
Und das bedeutet, dass Ihr Programm hängen bleibt, weil Sie Code immer
und immer wieder ausführen und nie wirklich beenden.
Manchmal müssen Sie das tatsächlich tun.
Wenn Sie etwas überwachen oder auf etwas hören.
Und die Art und Weise, dies tatsächlich zu implementieren und zu sehen, ist, dass Sie höchstwahrscheinlich eine for-Schleife verwenden
würden, aber Sie könnten auch eine while-Schleife verwenden.
Wir werden in einer späteren Vorlesung über Endlosschleifen sprechen und warum Sie sie möglicherweise benötigen und
was dies bedeutet.
Der tatsächliche Datenfluss einer Schleife sieht also ungefähr so aus.
Sie überprüfen eine Bedingung. Und wenn die Bedingung wahr
ist, führen Sie einen Code aus und tun dies dann immer und immer und immer
wieder, bis die Bedingung als falsch ausgewertet wird.
Sobald die Bedingung als falsch ausgewertet wird, verlassen Sie die Schleife.
Die in c unterstützten Schleifen sind die while-Schleife, die for-Schleife und die do while-Schleife.
Spezielle Schlüsselwörter.
Die while-Schleife wiederholt eine Anweisung oder eine Gruppe von Anweisungen,
während eine bestimmte Bedingung erfüllt ist. Die Bedingung steht also ganz oben in den wilden Klammern.
Die Bedingung wird oben getestet, bevor der Schleifenkörper ausgeführt wird.
Obwohl drei verschiedene Arten von Schleifen unterstützt werden, können Sie eine mehr
als die andere verwenden. Während die for-Schleifen ziemlich gleich sind, haben
sie nur eine andere Syntax. Und Sie können mehr Dinge anders machen.
Die do while-Schleife ist anders, da Sie den
Test tatsächlich unten haben. Sie können die Schleife also immer mindestens einmal
ausführen, den Hauptteil der Schleife.
Aber noch einmal, wir werden über dieses Zeug reden. Das spezielle Schlüsselwort for loop führt
Sequenzanweisungen mehrmals aus. Es hat
einfach eine einfachere Syntax. Sie können die Regelungsvariable und die Bedingungen
in einer Anweisung initialisieren.
Und dann ist die do a while-Schleife, wie gesagt,
etwas anders, da es sich um eine Post-Test-Schleife handelt, eine Exit-Regelschleife, was
bedeutet, dass Sie immer mindestens einmal in den Körper der Schleife eintreten.
Und wir werden auch über verschachtelte Schleifen sprechen. Dies ist wiederum nur eine Schleife
innerhalb einer Schleife, genau wie eine verschachtelte if-Anweisung eine if-Anweisung innerhalb einer
if-Anweisung. Gleiches gilt für Schleifen. Wir werden sehen, wie dies manchmal
erforderlich ist und die Dinge komplizieren kann, aber es
ist wichtig zur Programmierung.
Ein schöner schneller Überblick über die verschiedenen Kontrollflussmechanismen, die
hohe Ebene und einige der Schlüsselwörter, die von c unterstützt
werden, um dies tatsächlich zu implementieren.
Lassen Sie uns nun einige Beispiele nennen und über die Entscheidungsfindung sprechen.
Danke.