Minden rendben.
Tehát most beszéljünk valami Nagyon hasznos programming--
A feltételes utasításokat.
Tehát feltételes kifejezések lehetővé teszi a programok
döntéseket hozni, és hogy a különböző villa az úton, valami
Utaltam kicsit korábban, attól függően, hogy a változók értékeit,
vagy annak alapján, amit a felhasználó alapanyagot a programozó, a parancssorban,
vagy ha van egy gyors vagy valami ilyesmi.
C egy pár különböző módon kifejezni feltételes kifejezések, amelyek
mi is néha meg fogja hívni a Feltételes elágazások a programokban.
És ezek némelyike ​​fog kinézni elég ismerős neked a semmiből,
így fogunk is húzza őket akár egymás mellett, csak
tudod, hogy az analógia a fejedben.
>> Szóval, if-- ha egy szép egyszerű feltételes.
Ha visszahívja a semmiből a jobb oldalon van
akkor töltse ki, hogy a hatszög A kék kifejezése, ha az egeret le
vagy, ha x kisebb, mint 10, vagy valami ilyesmi.
És aztán, ha x kevesebb volt, mint 10, vagy ha az egér volt sőt, le,
az összes kódot belsejét puzzle-darab hajthat végre.
Minden dolog, hogy illeszkedjen belül, hogy a C alakú.
>> Hasonlóképpen kell nekünk ha a bal oldalon van.
Ha logikai kifejezés, ami én vagyok csak használ
mint helyettesíti az egyik Boole kifejezések azt korábban már említettük,
nyitott zárójel, kapcsos zárójel bezár.
Szóval szerintem a nyílt göndör melles és zárt kapcsos zárójel
mint egyfajta analóg a szendvics hatása, ha blokk a jobb oldalon
a semmiből.
>> Ha a logikai kifejezés az if igaz,
akkor az egész sornyi kódot kapcsos zárójelek közötti rész
végrehajtja annak érdekében, fentről lefelé.
Ha a logikai kifejezés hamis, akkor
átugorják mindent között A kapcsos zárójelek, mert csak
akar lemenni, hogy útelágazáshoz ha a logikai kifejezés igaz.
>> Mi lehet még egy lépéssel tovább, ha mást.
Tehát ez a Scratch blokk elég hasonló a
láttunk egy pillanat ezelőtt, kivéve úgy két különböző utakat alapján
mi történik.
Tehát, ha az egeret lent volt, vagy ha x kevesebb volt, mint 10,
mindent megteszünk, ami a kettő között hogy az első villát, hogy az első C,
>> Ellenkező esetben, ha az egér fel, vagy x nem kevesebb, mint 10,
mi mindent megteszünk a második szettben.
És ez analóg azzal, amit látsz ide C. Ha logikai kifejezés,
ezt a cuccot között első szettet kapcsoszárójele.
Mást, nem a cucc között második szettet kapcsoszárójele.
Tehát, ha a logikai kifejezés igaz, akkor
csinálsz, amit között van az első szettet.
Ha a kifejezés nem hamis, ami kiváltja a más,
és mi tenne bármi van A második kapcsoszárójele.
Ismét, felülről lefelé, minden vonalak zárójelek között.
>> A C-ben, lehetséges, hogy hozzon létre if-else if-else lánc.
Valójában akkor már if-else if-else ha-mást, ha, és így tovább, és így tovább, és így
tovább.
Ebben semmiből, ez szükséges fészkel a blokkokat.
Hozzáad egy if-else, és ha kellett tedd egy másik belsejében a mást,
és így tovább, és ez van a fajta A beágyazott és bonyolult.
De C, akkor nem kell csinálni.
Mi is valójában csak meg ez egy lánc, mint ez.
Itt is, mint az várható, az összes Ezek az ágazatok kölcsönösen kizárják egymást.
Csak akkor már megy le az egyik ága.
Ha ez igaz.
Ellenkező esetben, ha ez igaz.
Egyébként ezt.
Tehát mind a négy ága ezen Például kölcsönösen kizárják egymást.
Ez egy if-else if-else lánc.
>> Lehetőség van azonban, és néha nagyon hasznos,
hogy hozzon létre egy lánc nem kölcsönösen kizáró ágak.
Ebben a példában csak a harmadik és a negyedik ágak kölcsönösen kizárják egymást.
Lehet, hogy meg kielégíti az első feltételt,
és meg tudná kielégíteni A második feltétel,
és hogy eleget tegyen a harmadik condition-- amely esetben
akkor megy le az első ág, akkor menj le egy másik ága,
akkor megy le a harmadik ágat.
Vagy talán eleget az állapotban, és a második feltétel,
de nem eleget A harmadik feltétel.
Ebben az esetben megy le az első ág és a második ág,
majd a negyedik ága,
>> Ennek az az oka az, hogy a más csak kötődnek a legközelebbi ha.
Így, bár van Egy más is, hogy
nem jelent szükségszerűen kölcsönösen exkluzív lánc mindent.
Ez csak a kifejezés Ott logikai
véleménynyilvánítás 3-- ez a kölcsönösen kizárja egymást a más.
Így lehetséges, és Néha nagyon hasznos,
mint mondtam, hogy hozzon létre egy lánc nem zárja ki egymást ágak.
Vessünk egy pillantást egy másik fajta feltételes, amely
Ön még nem látott a Scratch.
Van egy úgynevezett a switch.
A switch ilyen ügyes, mert
feltételes utasítást, amely lehetővé teszi megadhatja, hogy különböző esetekben,
ahelyett, hogy logikai kifejezést, hogy a döntéseket az Ön számára.
Így például, mondjuk hogy van ez a program,
és azt kérem a felhasználó hogy járuljon nekem.
Szóval azt mondom, int x = Get Int (), és ha nem ismerik még,
kap int egy olyan funkció, amely is szerepel a CS50 Library,
így ha #include CS50.H akkor meg hozzáférést Get Int (), és annak minden
cousins-- GetFloat, GetString, és így tovább.
Alapvetően egy kap funkciót minden egyes adattípus, hogy mi már megbeszéltük.
>> Tehát Int x = GetInt.
Alapvetően mi történik hogy én vagyok a terminálon.
Arra kérem a felhasználót, hogy írja be a számot.
>> És itt vagyok váltás mit csinálok, attól függően,
amit a felhasználó beírt a billentyűket.
Tehát ha gépelt egyet, azt ki kell nyomtatni egy.
És aztán szünet.
Ha nem írják be két, azt ki kell nyomtatni kettő.
És aztán szünet.
Fontos, hogy megtörni között minden esetben
mert különben akkor esik át.
Tehát, ha nem volt semmilyen szünetek vannak, és a felhasználó
gépelt egyik, hogy mi fog történni az, kiírja egy, kettő, három, sajnálom.
Ez a fajta furcsa viselkedését, ugye?
Lehet, hogy így gondolja.
De vannak olyan esetek, ahol ténylegesen ez lehet egy nagyon hasznos dolog.
Tehát itt egy másik példa egy kapcsoló nyilatkozatot, ahol kihagyja a szünetekben.
De én szándékosan csináltam.
>> Tehát mi történik itt?
Gondolj csak egy pillanatra.
Lehet, hogy szeretné, hogy szünetelteti a videót.
>> Mi történik itt, ha A felhasználó beír négy?
Szóval kértem a felhasználó számára bemenet.
És ezek biztosítják az érték 4.
Mi lett nyomtatva, amikor tehetem ezt meg?
Az előző dia, voltak közötti szünetekben minden esetben.
És ez így is csak print négy, majd megáll.
De ebben az esetben, nem fog.
Mi lesz az Ön csökkenni fog át minden esetben.
>> Tehát ebben az esetben én szerveztem esetek oly módon, hogy ha a felhasználó típusok 4,
Én kiírja négy, három, kettő, egy, kilövésre.
És ha gépelt 5, kezdeném öt és ugyanezt csinálja.
Ha ők gépelt 1, megtenném Csak tegye, kilövésre.
>> Tehát ebben az esetben, én vagyok a egy kapcsoló fajta ügyesen úgy
hogy nem kíván esni révén az összes esetet.
De általában akkor valószínűleg lesz szeretnénk megtörni ezek között,
ha van egy helyzet mint ez, ahol te
fajta kihasználva azt a tényt, hogy akkor esik át az esetben, szünet nélkül.
Szóval ez a második legjelentősebb típusú feltételes utasítások.
Amelyek közül az utolsó is?: Szóval Két töredék a C kódot itt.
Az egyik a bal, egy a jobb oldalon.
Az egyik a bal oldalon kell Valószínűleg elég ismerős.
>> Van int x.
És én valószínűleg meg Megkértük a felhasználó
for-- ez valószínűleg Int x egyenlő GetInt, vagy valami ilyesmi.
És akkor én döntést.
Ha néhány logikai kifejezés Igaz, rendeljen x értéke 5.
Ellenkező esetben rendelheti x értéke 6.
>> Hogy a bal oldalon kell valószínűleg elég ismerős vitánk
A Ha semmi más, csak egy pillanattal ezelőtt.
Lennél lepve, hogy tudja hogy a vonal a jobb
nem pontosan ugyanaz a dolog?
>> Ezért hívják?: Vagy néha az úgynevezett háromkomponensű üzemeltető.
És ez elég jó.
Ez általában használt mint egy aranyos trükk.
>> De mi ez lehetővé teszi, hogy tennie, hogy szimulálnak Ha mást tényleg kicsi,
Tényleg triviálisan rövid feltételes elágazások.
Ön általában nem használnám?: Ha volt hat sornyi kódot között mindegyik
kapcsoszárójele.
De ha csak hogy egy gyors döntést,
ha meg akarsz csinálni egy dolog vagy a másik, és ez nagyon egyszerű,
ez lehet egy példa arra, hogyan csináld?: a háromkomponensű üzemeltetője.
Tehát Int x = kifejezés?
A dolog után a kérdés jelet, amit x értéke
lesz, ha a kifejezés igaz.
>> A dolog után vastagbél, amit x értéke
lenne, ha a kifejezés hamis volt.
Úgyhogy megkérdeztem magamtól, ez a kifejezés igaz?
Ha igen, akkor rendelheti x értéke 5.
Ha nem, rendeljen x értéke 6.
Ismét, mint mondtam.
Ez általában csak egy aranyos trükk.
És néha, ha lesz Nagyon kényelmes vele,
akkor ezt azért, mert úgy néz ki, klassz a programokban.
Általában én bemutatja, hogy Ön most így Ön ismeri meg
ha látom.
De biztosan tudjuk, akkor nem kell kell írni, hogy minden a kódot.
De ez egy olyan dolog, hogy tisztában legyünk, mert akkor biztosan találkozik
kódrészletek, itt és ott, ahol ez?: szintaxis,
AKA A háromkomponensű üzemeltető, használják.
>> Tehát gyors összefoglalót mi feltételes vannak,
és milyen lehetőségek állnak rendelkezésre Önnek C. Van Ha és amennyiben-mást,
és ha else if, satöbbi.
Használhatja logikai kifejezések azok számára, hogy a döntéseket.
>> A kapcsoló nyilatkozatok használata diszkrét esetben döntéseket hozni.
Azt konkrétan azt mondják, ha ez Egy, vagy ha ez a két, vagy ha ez a három,
Én ezt a dolgot, vagy ez a dolog, vagy ez a dolog.
És?: Lehet, hogy kell használni, hogy cserélje ki Nagyon egyszerű if-else ág,
vagy if-else láncok, hogy A kód nézni egy kicsit divatos.
>> Én Doug Lloyd.
És ez CS50.