V redu. Torej, zdaj kaj je govoril o nečem res uporabno v programming-- pogojni stavki. Torej pogojnih izrazov omogočajo programe za sprejemanje odločitev in se razlikuje vilice v cestnem prometu, nekaj Jaz namiguje, da malo prej, odvisno od vrednosti spremenljivke ali na podlagi katere uporabnik vhodi na programer, v ukazni vrstici, ali če imate poziv ali nekaj takega. C ima nekaj različnih načinov za izraziti pogojnih izrazov, ki bomo tudi včasih imenujemo pogojno podružnica v svojih programih. In nekateri izmed njih se bo pogled precej pozna, da vas iz nič, zato bomo celo vleči do drug ob drugem, samo lahko naredite to analogijo v tvoji glavi. Torej, if-- če je precej preprosto pogojena. Če se spomnite iz praske na desni strani tukaj si lahko izpolnite, da je šesterokotnik z modro izražanja, če miške navzdol ali če je x manj kot 10, ali nekaj takega. In nato, če je x je manjša od 10, ali če je bila miš v resnici, tla vse kode notranjost puzzle kos bi izvršitev. Vse stvari, ki ustrezajo znotraj te oblike C. Podobno imamo če je na levi strani tam. Če Boolove izražanja, ki sem samo z uporabo kot nadomestek za enega od logičnim izrazi, smo že razpravljali, open kodrasti naramnicami, blizu kodrasti brace. Torej, mislim, odprte Curly brace in zaprt kodrasti brace kot nekakšna analogen sendvič Učinek če bloka na desni iz nič. Če Boolove izražanja v če izjavi je res, nato vse vrstic kode med zavitimi oklepaji se bodo izvajale, da bi od vrha do dna. Če Boolove izražanja je napačna, bomo preskočiti vsega vmes so zaviti oklepaji, ker smo le želim iti dol, da se vilice v cestnem prometu če je logični izraz res. Mi lahko to en korak nadalje, če drugje. Torej, to Scratch blok precej podoben tistemu smo videli samo sekundo, razen to traja dve različni poti, ki temeljijo o tem, kaj se dogaja. Torej, če je miška navzdol, ali če je X je manj kot 10, bomo storili vse, kar je vmes da prva vilice, da najprej C, V nasprotnem primeru, če je miška gor ali X ni manjša od 10, bomo storili vse, kar je v drugem nizu. In to je analogno temu, kar vidite Tukaj C. Če Boolove izražanja, narediti stvari med Prvi niz zavitimi oklepaji. Drugega, narediti stvari med Drugi niz zavitimi oklepaji. Torej, če Boolean Izraz je res, da bomo storiti karkoli je med prvim nizom. Če Logični izraz false, da bi sprožil drugega, in mi bi storiti vse, kar je v drugi niz zavitimi oklepaji. Spet zgoraj navzdol, vse linije v med oklepaji. V C, je mogoče ustvariti if-else if-ostalo verige. V bistvu lahko imate, če-else if-ostalo če-ostalo, če je, in tako naprej in tako naprej in tako o. V Scratch je to potrebno gnezdijo blokov. Dodate if-drugega, in si moral dal še eno v notranjosti drugega, in tako naprej, in da nimajo vrste ugnezdenih in zapleteno. Ampak C, nimamo za to. Mi lahko dejansko samo še bilo verige, kot je ta. Again, kot bi lahko pričakovali, vsi te panoge se med seboj izključujejo. Lahko le kdaj iti navzdol enega od veje. Če je to res. V nasprotnem primeru, če je to res. V nasprotnem primeru, če je to res. Sicer pa je to naredil. Torej, vse štiri od podružnic v to Primer se med seboj izključujejo. To je, če-else if-ostalo verige. Možno je sicer, in včasih zelo koristno, ustvariti verigo ne med seboj izključujejo panoge. V tem primeru, le tretja in četrti del se med seboj izključujejo. Prav bi bilo, da si lahko izpolnjujejo prvi pogoj, in lahko izpolnjujejo drugi pogoj, in bi lahko zadovoljili Tretji condition-- v tem primeru bi šel dol prvi podružnico, potem pa greš dol drugo vejo, potem bi šel dol v tretjo vejo. Ali morda izpolnjujejo prvi stanje in drugo stanje, vendar ne izpolnjujejo tretji pogoj. V tem primeru si šel dol prvi veja in drugi del, in nato četrta veja, Razlog za to je, da drug bo veže le na najbližjo če. Torej, čeprav obstaja drug tukaj, da Ni nujno ustvariti medsebojno ekskluzivni veriga vsega. To je samo izraz tam z logičnim Izraz 3--, da je izključuje z drugim. Torej je možno, in včasih precej koristen, kot sem rekel, da ustvarite verige ne izključujeta panoge. Oglejmo si na drugačen nekako pogojno, kar še niste videli prej v nič. Obstaja nekaj, kar ti izjava stikalo. Izjava stikalo nekako lepo, ker je pogojno izjavo, ki omogoča lahko določite različna primera, namesto da se opirajo na logičnim izrazi za sprejemanje odločitev za vas. Tako, na primer, recimo, da imam ta program, in jaz vprašam uporabnika da se zagotovi prispevek k meni. Zato pravim, int x = Get Int () in če še niste seznanjeni, dobili int je funkcija, ki je tudi v knjižnici CS50, tako da, če ste #include CS50.H boste imeli dostop do Get Int () in vsi njegovi cousins-- GetFloat, GetString, in tako naprej. V bistvu ena Get funkcijo za vsak vrsta podatkov, ki smo že razpravljali. Torej Int x enaka GetInt. V bistvu, kaj se dogaja je, da sem na terminalu. Jaz uporabnika prosi, da vnesete številko. In tukaj sem preklapljanje kaj delam, kar je odvisno o tem, kaj uporabnik natipkan na poziv. Torej, če bi vnesli enega, sem natisnete eno. In potem sem prekinil. Če se tip dva, sem izpisal dve. In potem sem prekinil. Pomembno je, da odmor med vsakem primeru ker drugače boste padli skozi. Torej, če nisem imela vsaka odmori tam, in uporabnik natipkan eno, kaj bi se zgodilo, je bi natisnete eno, dve, tri, žal. To je nekako čudno obnašanje, kajne? Morda tako misliš. Ampak tam so dejansko nekaj primerov, kjer To je lahko zelo koristna stvar. Torej, tukaj je še en primer stikala Izjava kjer sem izpustiti odmori. Ampak sem to naredil zanalašč. Torej, kaj se dogaja tukaj? Pomislite za trenutek. Morda celo želeli, da začasno ustavite videoposnetek. Kaj se dogaja tukaj, če uporabnik vnese štiri? Tako sem vprašal uporabnika za vnos. In zagotavljajo vrednost 4. Kaj dobi tiskovine, ko sem to naredil? Na prejšnjo stran je bilo odmori med vseh primerih. In tako, da bi samo tiskanje štiri in nato ustavi. Ampak v tem primeru, ne bo. Kaj se bo zgodilo, je vas bodo padli skozi vsak primer posebej. Torej, v tem primeru sem organiziral kovčke na tak način, da če uporabnik vnese 4, Bom natisniti štiri, tri, dva, ena, pišu off. In če bi vnesli 5, bi začnem ob petih in narediti isto stvar. Če jih vnesli 1, bi jaz pač eno, blast off. Torej, v tem primeru, sem s pomočjo stikalo nekako pametno, da da jaz nameravam sodijo preko vseh primerih. Ampak na splošno ste verjetno bo želijo, da bi prekinil med vse od njih, če imate stanje kot je ta, kjer ste ga vrsta vplivno dejstvo, da boste padejo skozi primerih brez odmora. Tako da je drugi izmed večjih vrsti pogojnih izkazov. Zadnji od katerih je: Torej imajo dve odrezke oznako C tukaj. Ena na levi in ​​ena na desni strani. Tista na levi smeli verjetno precej seznanjeni s tabo. Imam Int x. In jaz bi verjetno so pozvane uporabnika for-- to bi verjetno morali biti Int x enaka GetInt, ali nekaj takega. In potem sem odločitev. Če nekateri Logični izraz je Res, dodelite x vrednosti 5. V nasprotnem primeru, dodelite x vrednost 6. Da je na levi strani bi bilo verjetno precej pozna iz naše razprave o Če Else pred nekaj trenutki. Bi bili presenečeni, da veš da črte na desni strani počne točno isto stvar? Torej se to imenuje? Ali včasih imenuje ternarni operator. In to je zelo kul. To se običajno uporablja kot ljubek trik. Ampak tisto, kar vam omogoča, da storiti, je, da simulirati if Else z res majhen, Res trivially kratko pogojni panoge. Vam na splošno ne bi uporabila?: Če vas je imel šest vrstic kode med vsak sklop od zaviti oklepaji. Ampak, če ste pravkar tako hitro odločitev, če boš naredil eno stvar ali drugo in je zelo preprost, to je lahko zgled, kako to storite s:? trikomponentne operaterja. Torej Int x enak izraz? Stvar po vprašanju znamka je tisto, x je vrednost bo, če je izraz Res. Stvar po Debelo črevo je kaj vrednost x otroška bi bilo, če je bil izraz napačen. Torej, jaz sprašujem, je izraz res? Če je, dodeliti x vrednosti 5. Če je ni, dodeliti x vrednost 6. Še enkrat, kot sem rekel. To je ponavadi samo luštna trik. In včasih, če boste postali res udobno z njim, boste to storili zato, ker je videti nekako kul v vaših programov. Na splošno sem ga predloži si zdaj tako, da ste seznanjeni z njo če ga vidite. Zagotovo pa veš, da nimaš da ga napišete v katerem koli kodo. Ampak to je nekaj, da so seznanjeni z, saj boste zagotovo naleteli odrezke kode tu in tam, kjer je to:? sintaksa, AKA ternarnega operaterja, se uporablja. Torej kratek povzetek o kaj Pogojniki so, in kaj so na voljo možnosti za vas v C. morate imeti, če in če-ostalo, in če else if, et cetera. Lahko uporabite Boolean izraze za tiste, ki sprejemajo odločitve. Z izjavami stikala uporabljate diskretne primeri za sprejemanje odločitev. Ti bi posebej poudarjati, če je eno, ali če je dva, ali če je tri, Jaz bom to storil, ali ta stvar, ali je ta stvar. In: lahko se uporablja za nadomestitev zelo preprosta, če-else panoge, ali če-else verige, da bi kodo poglej malo izmišljeno. Sem Doug Lloyd. In to je CS50.