W porządku. Więc teraz porozmawiajmy o czymś bardzo przydatne w programming-- Instrukcje warunkowe. Wyrażenia tak warunkowe umożliwiają programy podejmować decyzje i brać różne widły na drodze, coś Wspomniałem nieco wcześniej, w zależności od wartości zmiennych lub w oparciu o to, co dane wprowadzane przez użytkownika w programista, w linii poleceń, lub jeśli masz wiersz czy coś takiego. C ma kilka różnych sposobów wyrażenia wyrażeń warunkowych, które my także czasami nazywamy skok warunkowy w swoich programach. A niektóre z nich będzie wyglądać całkiem znajomo od podstaw, więc będziemy nawet je wyciągnąć się obok siebie, po prostu można dokonać tego analogii w twojej głowie. Tak, if-- jeśli jest ładna proste warunkowe. Jeśli pamiętacie z zadrapanie na prawo tutaj można wypełnić w tym jest sześciokąt z niebieskim wyrażenie jeśli mysz w dół albo jeśli x jest mniejsze niż 10, czy coś takiego. A następnie, jeśli x mniej niż 10, lub jeśli mysz była w rzeczywistości, w dół, cały kod wewnątrz kawałek układanki będzie wykonać. Wszystkie rzeczy, które pasują wewnątrz tego kształtu C. Podobnie mamy jeśli się tam w lewo. Jeśli wyrażenie Boolean, które ja tylko przy użyciu jako substytut jednego z Boolean wyrażenia poprzednio omówione, otwarty nawias klamrowy, blisko nawias klamrowy. Więc myślę o otwartym kręcone klamra i zamknięty nawias klamrowy jako rodzaj analogiczne do kanapek Efekt jeśli bloku po prawej stronie od zera. Jeśli wyrażenia logicznego w instrukcji if jest prawdziwe, Wtedy wszystkie linie kodu między nawiasy zostaną wykonane w porządku od góry do dołu. Jeśli wyrażenia logicznego jest fałszywe, będziemy pominąć wszystko pomiędzy nawiasy klamrowe, ponieważ tylko chcą iść tą rozwidleniu dróg jeśli wyrażenie logiczne jest prawdziwe. Możemy wziąć ten jeden krok dodatkowo, jeżeli indziej. Tak to zarysowania blok jest całkiem podobna do tej, widzieliśmy tylko sekundy temu, z wyjątkiem trwa dwie różne ścieżki w oparciu na to, co się dzieje. Więc jeśli mysz była w dół, albo jeśli x mniej niż 10, Zrobimy wszystko, co w między że pierwszy widelec, że najpierw C., W przeciwnym razie, jeśli mysz jest w górę, lub x jest nie mniejsza niż 10, zrobimy wszystko, co w drugim secie. I to jest analogiczne do tego, co widzisz tutaj wypowiedzi C. Jeśli Boolean, robić rzeczy między Pierwszy zestaw nawiasy. Indziej, robić rzeczy, między Drugi zestaw nawiasy. Więc jeśli Boolean wyrażenie jest prawdziwe, będziemy robić, co jest pomiędzy pierwszym secie. Jeżeli wyrażenie logiczne jest fałszywe, że wyzwolić innego, i zrobimy wszystko co w drugi zestaw nawiasy. Ponownie, od góry do dołu, wszystkie linie między szelkami. W C, to jest możliwe, aby stworzyć if-else if-else łańcucha. W rzeczywistości możesz mieć if-else if-else Jeśli, w przeciwnym razie, w przypadku, i tak dalej, i tak dalej, i tak na. W Scratch, to wymagane zagnieżdżanie bloków. Możesz dodać if-else, i trzeba było umieścić inny wewnątrz innego, i tak dalej, i to ma niby zagnieżdżonych i skomplikowane. Ale C, nie musimy tego robić. Możemy faktycznie po prostu to łańcuch tak. Ponownie, jak można się spodziewać, wszystkie oddziały te wzajemnie się wykluczają. Możesz zawsze tylko iść dół jednego oddziału. Jeśli jest to prawdą. W przeciwnym razie, czy to prawda. W przeciwnym razie, czy to prawda. W przeciwnym razie, to zrobić. Tak więc wszystkie cztery oddziały w tym Przykładem wykluczają się wzajemnie. Jest to if-else if-else łańcucha. Możliwe jest, choć a czasami bardzo przydatne, w celu utworzenia łańcucha, nie wzajemnie wykluczające się gałęzie. W tym przypadku tylko trzeci i czwarty gałęzie wykluczają się wzajemnie. To może być, że można spełnia pierwszy warunek, i można zaspokoić drugi warunek, i można zaspokoić Trzeci condition-- w takim przypadku by zejść pierwszy oddział, a następnie udać się drugi oddział, potem pójdzie w dół trzeci oddział. A może zaspokoić pierwszy stan i drugi stan, ale nie spełniają trzeci warunek. W tym przypadku można zejść pierwszy oddział, a drugi oddział, i czwarty gałęzi, Powodem tego jest to, że inaczej będzie obowiązywał tylko do najbliższego jeśli. Więc nawet jeśli nie ma jeszcze tutaj, że nie musi tworzyć wzajemnie ekskluzywna sieć wszystkiego. To tylko wyrażenie tam z Boolean Wyrażenie 3-- to jest wykluczają z innego. Tak więc jest możliwe, czasami bardzo przydatne, jak powiedziałem, aby stworzyć łańcuch nie wykluczają się wzajemnie oddziały. Rzućmy okiem na inny rodzaj warunkowe, które nie widziałem wcześniej w Scratch. Jest coś, co nazywa się instrukcja switch. Instrukcja switch jest rodzaj schludne, bo to warunkowe oświadczenie, że pozwala określić odrębne przypadki, zamiast opierania się na Boolean wyrażenia podejmować decyzje dla Ciebie. Tak na przykład, powiedzmy, że mam ten program, i pytam użytkownika wniesienie wkładu do mnie. Więc mówię, int x = Get Int (), a jeśli nie jesteś jeszcze znane, uzyskać int to funkcja, która jest również w bibliotece CS50, więc jeśli #include CS50.H musisz Uzyskaj dostęp do int () i wszystkich jego cousins-- GetFloat, GetString, i tak dalej. Zasadniczo dostać funkcję dla każdego Typ danych, które mamy już omówione. Tak Int x równa GetInt. W zasadzie to, co się dzieje to ja jestem w terminalu. Pytam użytkownikowi wpisać numer. I tu mam przełączania co robię, w zależności na tym, co użytkownik wpisał w wierszu. Więc jeśli wpisane jedno, mogę wydrukować jeden. I wtedy złamać. Jeśli wpisać dwa, mogę wydrukować dwa. I wtedy złamać. Ważne jest, aby przerwa między każdym przypadku bo inaczej będzie spadać przez. Więc jeśli nie ma żadnych przerwy tam, a użytkownik wpisany jeden, co by się stało, to jest będzie drukować jeden, dwa, trzy, przepraszam. To trochę dziwne zachowanie, prawda? Możesz myśleć, że tak. Ale są rzeczywiście niektórych przypadkach, gdy to może być całkiem przydatna rzecz. Więc oto kolejny przykład przełącznika Oświadczenie gdzie pominąć przerwy. Ale robię to celowo. Więc co tu się dzieje? Pomyśl przez chwilę. Można nawet chcą zatrzymać wideo. Co dzieje się tutaj, jeśli użytkownik wpisze cztery? Więc poprosiłem użytkownikowi na wejście. I dają wartość 4. Co zostaje drukowane kiedy to zrobić? Na poprzedniej szkiełku tam przerwy między wszystkich przypadkach. I tak to po prostu wydrukować cztery, a następnie zatrzymać. Ale w tym przypadku nie będzie. Co się stanie, to ty spadnie przez każdego przypadku. Więc w tym przypadku mam zorganizowane moje przypadki w taki sposób, że w przypadku tych typów użytkowników 4, Będę wydrukować cztery, trzy, dwa, jeden, wystrzelić. A jeśli wpisane 5, chciałbym zacząć o piątej i zrobić to samo. Jeśli wpisane 1, chciałbym po prostu zrobić jedną, wystrzelić. Więc w tym przypadku, używam przełącznik rodzaju sprytnie tak że zamierzam spadać na wszystkich przypadków. Ale ogólnie jesteś prawdopodobnie będzie Chce przebić pomiędzy nimi, chyba że masz sytuację podobny do tego, gdzie jesteś rodzaj wykorzystując fakt, że będziesz nie mieści się w przypadkach bez przerwy. Więc to drugi z głównych typy instrukcji warunkowych. Ostatnim z nich jest:? Więc dwa fragmenty kodu C tutaj. Jeden po lewej i jedno po prawej stronie. Ten po lewej stronie powinna prawdopodobnie dość znajomo. Mam Int x. A ja chyba powinno Zwróciliśmy się do użytkownika for-- powinno to prawdopodobnie Int x równa GetInt, czy coś takiego. A potem robię decyzję. Jeśli niektóre wyrażenie logiczne jest prawda, przypisać x wartość 5. W przeciwnym razie, przypisanie x wartości 6. , Że po lewej stronie powinien prawdopodobnie dość znane z naszej dyskusji Jeśli Else z chwilą. Chcesz być zaskoczony tym, że zgodnie z prawej robi dokładnie to samo? Tak to się nazywa:? Lub czasem zwany operator trójargumentowy. I to jest całkiem fajne. To jest zwykle używany jako słodki sztuczki. Ale to, co pozwala zrobić to symulacji If Else z naprawdę mały, bardzo trywialnie skrócie skoków warunkowych. Zazwyczaj nie używać: jeśli Ciebie miał sześć linijek kodu między każdym zestawie z nawiasy klamrowe. Ale jeśli jesteś po prostu podejmowania szybkiej decyzji, jeśli masz zamiar zrobić jedną rzecz lub drugi i jest to bardzo proste, Może to być na przykład, jak zrobić z: operator trójargumentowy. Tak Int x równa wyraz? Rzecz po pytaniu Znak jest wartość tego, co X. będzie, jeśli wyrażenie jest prawdziwe. Rzecz po jelita grubego jest co wartości X. byłoby, gdyby wyrażenie było fałszywe. Więc zastanawiam się, jest wyrazem prawda? Jeśli tak, to przypisanie x wartość 5. Jeśli tak nie jest, przypisać x wartości 6. Ponownie, tak jak powiedziałem. Zazwyczaj jest to tylko sprytny trik. A czasami, jeśli się bardzo wygodne z nim, musisz to zrobić, ponieważ to wygląda rodzaj COOL w swoich programach. Ogólnie jestem przedstawieniem go teraz więc jesteś z nim zapoznać jeśli go zobaczyć. Ale na pewno wiem, nie musisz napisać go w dowolnym kodzie. Ale jest coś, co się zna, bo na pewno będziesz spotkanie fragmentów kodu tu i tam, gdzie to: składnia, AKA operatora potrójnego, jest używany. Tak szybkie podsumowanie co warunkowe są, i jakie dostępne są opcje do ciebie w C. Jeśli i Państwo mają if-else, i jeśli else if, i tak dalej. Możesz używać wyrażeń logicznych dla tych, do podejmowania decyzji. Z instrukcji switch korzystania dyskretne przypadki podejmowania decyzji. Można by powiedzieć, szczególnie, jeśli jest to Jeden z nich, lub gdy jest to dwa, lub jeśli jest to trzy, Zrobię to coś, lub to coś, czy to coś. I: mogą być wykorzystane w celu zastąpienia bardzo proste gałęzie if-else, else if lub łańcuchy, aby Twój kod wygląda trochę fantazji. Jestem Doug Lloyd. I to jest CS50.