[Musikwiedergabe] DOUG LLOYD: Hallo, also lassen Sie uns sprechen über Operatoren in C. So haben wir schon einen gesehen, in der Tat, gleich dem Zuweisungsoperator. Es ermöglicht uns, setzen Sie einfach ein Wert in eine Variable. Das ist die Zuordnung Betreiber, Single Gleichheitszeichen. Um zu manipulieren und Arbeit mit den Werten und Variablen in C, wir haben eine Reihe von Operatoren zur Verfügung, die wir verwenden können. Werfen wir einen Blick auf einige der häufigsten beginnend mit arithmetischen Operatoren. Wie zu erwarten, was wir tun können ziemlich grundlegende mathematische Operationen in C. Wir können addieren, subtrahieren, multiplizieren und divide Zahlen mit plus, minus, star, und Schrägstrich verbunden. Hier ein paar Zeilen Code, in dem wir das tun. Also, wir haben int x gleich y plus 1. Nehmen wir an, dass irgendwo up über dieser Zeile Code wir gesagt hatte int y = 10. Was ist der Wert von x, nachdem ich führen Sie diese erste Zeile des Codes? Sagten Sie 11? Sie hatte Recht. Warum ist das so? Nun, das war y 10. Einige ich sage int x = 10 plus 1. 10 plus 1 ist 11. So wird der Wert 11 erhält in der Variablen x gespeichert. Nicht schlecht, oder? Wie über diese nächste Zeile Code? x gleich x-mal 5. Nun, bevor wir hinge Diese Codezeile, x 11 war. Also, was ist der Wert von x nach dieser Codezeile? Nehmen Sie eine Sekunde. Also, x gleich x-mal 5. x 11 war. Also, x gleich 11 Mal 5. Oder 55. Also, wenn Sie die 55, hätten Sie recht. Jetzt kann es ein wenig verwirrend sein, aber mit der Art, dass der Zuteilung arbeitet C ist der Wert auf der rechten Seite erhält auf den Wert auf der linken Seite zugeordnet. Also, zunächst evaluieren wir x-mal 5. So, 11 mal 5 ist 55. Und dann speichern wir den Wert in x. Die 11, die es bevor nun überschrieben. So den Wert von x ist jetzt 55. Hoffentlich ist das recht einfach. Es gibt einen anderen Betreiber, die Sie haben wahrscheinlich nicht gehört genannt, aber Sie haben, sicherlich arbeitete mit in der Vergangenheit wenn Sie daran denken Ihre Tage des lang Teilung Weg zurück in der Grundschule. Es heißt die Modulo-Operator. Was Modul tut, ist es gibt Ihnen den Rest wenn Sie zwei Zahlen teilen zusammen. Also, wenn ich sage, 13 geteilt durch 4, was ist der Rest? Und dieser Wert berechnet werden würde durch den Modulo-Operator. Also, ich habe eine Codezeile hier, int m gleich 13 mod 4. Und ich sage hier in einem Kommentar dass m Wert ist jetzt 1. Warum sage ich das? Nun, machen die lange Teilung in Ihrem Kopf, wenn Sie Geduld mit mir für eine Sekunde. Also, ich habe 4 geteilt durch 13. 4 geht in 13 drei Mal mit einem Rest von 1. Also, im Grunde alle Modulo-Operator funktioniert ist es, wenn man Ihnen sagt, Kluft, erhalten Sie den Rest aus. Man könnte denken, dass ist eigentlich nicht ein schrecklich nützliche Sache, aber Sie würden überrascht sein, tatsächlich, von, wie häufig dieser Modul Bediener kann sich als nützlich. Es gibt ein paar Probleme, wir CS50, die damit umgehen zu tun. Es ist auch gut zu tun Dinge wie Zufallszahl. So zum Beispiel, wenn Sie jemals haben von einem Zufallszahlengenerator gehört, das wird Sie eine Nummer zu geben, von 0 bis zu einem gewissen riesige Anzahl. Aber vielleicht haben Sie eigentlich nur benötigen eine Zahl von 0 bis 20 ist. Wenn Sie den Modulo-Operator verwenden, auf dieser riesigen Zahl, wird von der generierte Zufallszahlengenerator, Sie gehen zu nehmen sind unabhängig großen Wert ist, teilen sie durch 20, und erhalten den Rest. Der Rest kann nur ist ein Wert von 0 bis 19. Also, Modulo-Operator nutzen zu können, um diese riesige Anzahl nehmen und beschneiden und es nach unten in etwas ein wenig aussagekräftig. Ich bin mir ziemlich sicher, dass Sie sein in der Lage, beide von denen verwenden zu einem bestimmten Zeitpunkt in der Zukunft in CS50. Also, gibt C auch uns einen Weg eine arithmetische gelten Betreiber einer einzigen Variablen in ein wenig mehr Kurzform. Also, in der vorherigen Folie, wir sahen x gleich x-mal 5. Das funktionierte. x-mal 5 erhält dann zurück in x gespeichert. Es gibt einen kürzeren Weg, es zu tun, dachte, und es ist die Syntax x-mal gleich 5. Es ist die gleiche genaue Sache wie sagen, x gleich x-mal 5. Es ist nur eine etwas kürzeren Weg, es zu tun. Und wenn Sie etwas sehen, Verteilungscode oder Sie sehen Sie einige Beispielcode, tut Dinge wie diese, nur vertraut sein was die Syntax bedeutet. Sie sicherlich nicht haben , es zu benutzen, aber wenn Sie das tun, es könnte Ihr Code machen schauen ein wenig glatter. Und wissen, dass man auch jeder verwenden die verschiedenen Betreibern wir schon haben vor statt Zeiten gesehen. Man könnte sagen, x plus gleich 5, minus gleich 5, Male, dividieren und mod. All die Arbeit. Es gibt auch etwas, das ist so üblich in C dass wir entschieden haben zu verfeinern, dass sogar noch weiter. Inkrementieren einer Variable um 1 oder Verringern einer Variable um 1 ist eine solche gemeinsame thing-- insbesondere wenn wir reden über Schleifen ein wenig später an--, dass wir anstatt sich entschieden haben, etwas sagen wie x plus 1 entspricht, oder x gleich x plus 1, haben wir auch kurz, dass den x plus plus übergeben. So, ist x gleich x + 1, x plus 1 entspricht, und x plus plus alle das gleiche tun. Alle Schrittweite x um 1. Aber das Erhöhen und Dekrementieren um 1 ist so verbreitet, dass wir plus plus und minus minus dass es uns ermöglichen, Kurzschrift daß noch weiter. Also, lasst uns Schaltanlagen für die zweite und sprechen über Boolesche Ausdrücke. Alle, die auch Art fallen in die gesamte Gruppe der Marktbeteiligten. Aber Booleschen Ausdrücken, anders als arithmetische Operatoren, Zum Vergleichen von Werten verwendet. Also, noch einmal, alle Booleschen Ausdrücken in C zu bewerten, um einen von zwei möglichen Werten, wieder zu verwenden. Richtig oder falsch. Das ist die nur zwei Werte, Boolesche Variable kann nehmen. Wir können die Ergebnisse nutzen eines booleschen Ausdrucks in einer Vielzahl von Möglichkeiten in der Programmierung. In der Tat, werden Sie dies zu tun eine ganze Menge. Zum Beispiel könnten wir uns entscheiden, Nun, wenn eine Bedingung wahr ist, vielleicht werde ich diese nehmen verzweigen sich mein Code. Eine bedingte, so zu sprechen. Wir werden über diejenigen, bald auch lernen. Oder vielleicht, solange das ist wahr, ich will zu halten, dies zu tun immer und immer wieder. Eine Schleife. In beiden Fällen wissen, dass wir mit Hilfe ein Boolescher Ausdruck, a wahr oder falsch, ob oder ob nicht entscheiden um einen bestimmten Weg zu gehen. Manchmal, wenn wir arbeiten mit Booleschen Ausdrücken, wir werden Variablen vom Typ Bool verwenden. Vielleicht haben Sie erklärt haben, ein Bool typisierte Variablen und du wirst in der Nutzung Ihrer Boolean Ausdruck. Aber Sie müssen nicht immer zu tun. Wie sich herausstellt, in C, alle nicht-0 Wert ist der gleiche wie zu sagen wahr. Wenn Sie erklärt hatte eine Variable vom Typ Boolean, und vergeben Sie den Wert wahr, das ist, die gleichen wie für eine ganze Zahl erklärt und die Zuordnung wird der Wert 1, 2, 3, oder wirklich jeder Wert auch immer ungleich 0. Da in C ist jeder nicht-0 Wert true. 0 ist, auf der anderen Seite, ist falsch. Dies könnte kommen in handliches später zu wissen, aber nur etwas im Auge zu behalten. Wir haben nicht immer zu nutzen Typ Boolean-Variablen, wenn wir werden mit Booleschen Ausdrücken arbeiten. Es gibt zwei Haupttypen von Boolean Ausdrücke, die wir mit der Arbeit. Logische Operatoren und Vergleichsoperatoren. Die Sprache ist nicht sehr wichtig. Es ist wirklich nur, wie ich gruppieren. Und Sie werden mit Sicherheit, denke ich, schnell erkennen, was ein relationaler Operator ist, auf, was sie sind, wenn wir reden über sie in einer Sekunde. Aber nicht unbedingt Sorgen machen Auswendiglernen des Begriffs logischen Operator oder relationalen Operator. Ich bin einfach nur benutzen, um Gruppen sie in eine logische Art und Weise. Also, lassen Sie uns einen Blick auf die drei logischen Operatoren dass wir ganz zu sehen Bit in der Programmierung in CS50 und in der Programmierung im Allgemeinen. Logisches UND wahr ist, ob und nur dann, wenn beide Operanden wahr sind. Andernfalls false. Wo soll das bedeuten? Also, lassen Sie uns sagen, dass ich bei einem Punkt in meinem Code, wo ich zwei Variablen, x und y. Und ich möchte, ob entscheiden um etwas in meinem Code zu tun bezogen auf, wenn x und y wahr ist wahr. Ich möchte nur, um es zu tun, wenn beide wahr sind, sonst will ich nicht nach unten gehen, dass Weg, weil es nicht geht, um mir zu helfen. Was ich sagen kann, ist, wenn x & y &. Das wird eine logische Boolean sein Expressions Vergleichen x und y und unter einem bestimmten Pfad auf, was ihre Werte. Wenn also x wahr ist und y wahr basierend auf dieser Wahrheitstabelle Hier nur dann werden wir gehen diesen Weg. Wenn x, & & y. Es ist nur die true-- und ist nur true, wenn x wahr ist und y ist wahr. Wenn einer falsch ist, wie wir die Wahrheitstabelle, dann beide x und y sind nicht wahr. Und so ist x & y & false. Logisches ODER wahr genau dann, wenn zumindest eine Operand wahr. Andernfalls false. So logisch UND erforderlich X und Y beide wahr zu sein. Logisches ODER erfordert x wahr oder y zu sein wahr ist oder X und Y beide wahr zu sein. Also, noch einmal, wir irgendwie zu finden uns in einer Situation wo wir unseren Code gehen, und wir erreichen eine Weggabelung. Und wir nach unten gehen Gesuch bestimmten Weg, wenn x wahr ist oder y wahr, nicht aber notwendig, wenn beide wahr sind. Aber vielleicht, wenn beide wahr sind. Also, wenn x wahr ist und y wahr, wir gehen diesen Weg. x gilt. Einer von ihnen ist wahr, nicht wahr? Wenn x und y wahr ist wahr. Wenn x ist wahr, und y falsch ist, einer von ihnen ist noch wahr. So, X oder Y immer noch wahr. Wenn x falsch ist und y wahr, einer von ihnen ist immer noch wahr, oder? y gilt, in diesem Fall. Also, es ist wahr, dass x oder y ist wahr. Nur wenn x falsch ist und y ist falsch haben wir nicht auf diesem Weg zu gehen, denn weder x noch y wahr ist. Nun, wenn Sie suchen auf den Bildschirm jetzt und frage mich, was dass Symbol für logisches ODER, es ist der senkrechte Strich genannt. Und wenn Sie auf der Suche an der Tastatur für eine Minute, wie ich jetzt tue, es ist in der Regel nur über die Enter-Taste, auf den meisten Tastaturen, auf der gleichen Tonart wie das Backslash. Es ist auch in der Regel direkt neben den eckigen Klammern. So könnte es einen Schlüssel sein, dass Sie nicht sehr stark in der Vergangenheit eingegeben wird. Aber, wenn Sie jemals tun logische Vergleiche, wie wir tun werden ein viel in der natürlich, es ist gehen sinnvoll zu sein, finden diesen Schlüssel und verwenden Sie es. Also, es ist in der Regel auf dem gleichen Schlüssel wie Backslash knapp über Enter. Der letzte logische Operator ist NICHT. Und nicht die ist ziemlich einfach. Es invertiert den Wert des Operanden. Wenn x wahr ist, dann nicht x ist falsch. Wenn x falsch ist, dann nicht x ist wahr. Manchmal werden Sie dieses Symbol zu hören ausgeprägt wie Knall oder Ausrufe oder nicht. Es ist so ziemlich alles dasselbe. Wenn Sie hören, dass Wort und Sie sich nicht sicher, was das bedeutet, es ist nur das Ausrufe Punkt, aber manchmal ist es rief ein paar verschiedene Dinge. In Ordnung, so dass dauert Pflege von logischen Operatoren. Also, lasst uns darüber reden Vergleichsoperatoren. Auch, wenn Sie mit diesen vertraut sind arithmetische zurück in der Grundschule, sind Sie wahrscheinlich vertraut mit, wie diese Arbeit, die bereits. Diese verhalten sich genau so, wie man erwarten würde. Also weniger als es ist wahr, in diesem Wenn beispielsweise x kleiner als y ist. Also, wenn x 4 ist und y 6 ist, x kleiner als y ist. Das ist richtig. Weniger als oder gleich funktioniert ziemlich ähnlich. Wenn x 4 ist und y 4 ist, dann x kleiner als oder gleich y ist. Größer als. x größer als y ist. Und größer als oder gleich x größer oder gleich y ist. Wenn es wahr ist, dann werden Sie passieren, dass die Expression, und Sie werden unten gehen dieser Pfad auf der Straße. Wenn Sie ein, wenn x größer als y ist, und x ist, in der Tat größer als y, Sie werden alles tun, was Gegenstand dieser Bedingung. Beachten Sie, dass wir nicht über ein Einzelzeichen für weniger als oder gleich, wie Sie sein könnte vertraut mit aus Mathematik Lehrbücher. So haben wir die weniger als Symbol, gefolgt von einem Gleichheitszeichen. Das ist, wie wir vertreten weniger als oder gleich. Und in ähnlicher Weise machen wir das länger als oder gleich. Die letzten beiden relationalen Betreiber, die wichtig sind testen auf Gleichheit und Ungleichheit. Also, wenn x gleich gleich y, stimmt wenn x und y den Wert der gleiche ist. Wenn x 10 ist und y 10 ist, dann x gleich y gleich wahr ist. Wenn x 10 und y 11 ist, x gleich gleich y ist nicht wahr. Wir können auch für Ungleichheit Test mit Ausrufezeichen oder Knall oder nicht, erneut. Wenn x nicht gleich y ist, wenn das ist der Test verwenden wir hier, wir würden gut zu gehen. Also, wenn x ungleich y, wir gehen diesen Weg. Seien Sie hier sehr vorsichtig. Es ist eine wirklich gemeinsame mistake-- und den ich sicherlich machte eine ganze Menge, wenn Ich war immer started-- versehentlich verwechselt der Zuweisungsoperator, Single Gleichen, für die Gleichstellung der Vergleichsoperator, Doppel Gleichen. Es wird bis zu einem gewissen seltsamen führen Verhalten im Code, und in der Regel wird der Compiler warnen Sie darüber, wenn Sie versuchen und kompilieren Sie Ihren Code, aber manchmal Sie könnten durch schleichen. Es ist nicht unbedingt eine gute Sache dass Sie es durch schleichen, though. Nur dann, wenn Sie tun, eine Ungleichheit Test, wenn Sie die Überprüfung, ob zwei sind verschiedene Variablen denselben Wert haben innen von ihnen, stellen Sie sicher zu bedienen gleich equals, und nicht die einzelnen Gleichen. Und auf diese Weise wird Ihr Programm haben das Verhalten, das Sie wollen. Ich bin Doug Lloyd und das ist CS50.