Gerai.
Taigi, dabar pakalbėkime apie ką nors tikrai naudinga programming--
sąlyginiai teiginiai.
Taigi sąlyginiai išsireiškimai Leiskite savo programas
priimti sprendimus ir imtis skiriasi šakės Kelių, kažkas
Aš užsiminė šiek tiek anksčiau, priklausomai nuo kintamųjų reikšmių,
ar pagal tai, ką vartotojas žaliavas programuotojas, komandų eilutėje,
arba jei turite eilutę ar kažkas panašaus.
C turi skirtingais būdais į porą išreikšti sąlyginius išraiškas, kuris
mes taip pat kartais vadiname sąlyginė šaka savo programose.
Ir kai kurie iš jų ketiname ieškoti gana pažįstamas nuo nulio,
todėl mes net traukti juos iki greta, tik
jūs galite padaryti, kad analogiją savo galvą.
>> Taigi, if-- jei yra gana paprasta sąlyga.
Jei prisimenate iš įbrėžimams ant čia
galima užpildyti, kuri yra šešiakampis su mėlyna išraiškos jei pele žemyn
arba jeigu x yra mažiau nei 10, ar kažkas panašaus.
Ir tada, jei x buvo mažesnis nei 10, arba jei pelės buvo iš tikrųjų, žemyn,
visi viduje kodą įspūdį būtų įvykdyti.
Visi dalykai, kad tilptų viduje, kad C formos.
>> Be to, mes turime jei ten kairėje.
Jei Būlio išraiškos, kurios aš tik naudojant
kaip vieną iš Būlio pakaitalas išraiškas Mes anksčiau svarstėme,
atvira garbanotas petnešomis, netoli garbanotas petnešomis.
Taigi manau, atviros Curly petnešomis ir uždara garbanotas petnešomis
kaip rūšiuoti analogiškas sumuštinis poveikis, jei bloko dešinėje
nuo nulio.
>> Jei Būlio išraiškos IF teiginys yra teisingas,
Tada visi kodo eilučių tarp klamrami
atliks tam nuo viršaus iki apačios.
Jei Būlio išraiškos yra klaidinga, mes
praleisti viskas tarp garbanotieji petnešų, nes mes tik
noriu eiti šiuo šakutė kelyje jei Bulio logikos išraiška yra teisinga.
>> Mes galime priimti vieną žingsnį toliau su, jei kitur.
Taigi tai įbrėžimams blokas gana panašus į tą,
mes matėme tik prieš sekundę, išskyrus jis trunka dvi skirtingus kelius, pagrįstus
apie tai, kas vyksta.
Taigi, jei pelė buvo žemyn, arba jeigu x buvo mažesnis nei 10,
mes padarysime viską, kad yra tarp kad pirmasis šakutė, kad pirmasis C.,
>> Priešingu atveju, jei pelė yra aukštyn, arba X yra ne mažesnis negu 10,
mes padarysime viską, kad antrąjį.
Ir tai panašu į tai, ką matote čia C Jei Būlio išraiškos,
padaryti tarp stuff Pirmoji garbanotas petnešos.
Kita, atlikite tarp stuff Antrasis rinkinys garbanotas petnešos.
Taigi, jei Būlio išraiška yra tiesa, mes
daryti viską, kas yra tarp pirmojo rinkinio.
Jei Bulio logikos išraiška yra klaidinga, kad būtų sukelti kitur,
ir mes tai visada kas yra antrasis rinkinys garbanotas petnešos.
Vėlgi, iš viršaus į apačią, visi linijos tarp atramų.
>> C, tai galima sukurti IF-else if-kitur grandinės.
Be to, jūs galite turėti, jei-else if-kitur jei-kitur, jei, ir taip toliau, ir taip toliau ir taip
ant.
Be nulio, tai reikia lizdus blokus.
Jūs pridėti IF-kitur, ir jums teko įdėti dar vieną viduje kitur,
ir tt, ir ji gavo natūra zagnieżdżonych ir sudėtingas.
Tačiau, C, mes neturime daryti.
Mes iš tikrųjų gali tiesiog tai būtų kaip ši grandinė.
Vėlgi, kaip galima tikėtis, visi Šie filialai yra tarpusavyje nesuderinami.
Galite tik kada nors eiti žemyn vieną iš šakos.
Jei tai tiesa.
Priešingu atveju, jei tai yra tiesa.
Priešingu atveju, tai padaryti.
Taigi visi šiame šakų keturių pavyzdys yra tarpusavyje nesuderinami.
Tai jei-else if-kitur grandinės.
>> Tai yra įmanoma, nors, o kartais labai naudinga,
sukurti grandinę nėra nesuderinami filialai.
Šiame pavyzdyje, tik trečias ir ketvirta filialai yra tarpusavyje nesuderinami.
Tai gali būti, kad jums galėtų įvykdyta pirmoji sąlyga,
ir jūs galėtų patenkinti Antroji sąlyga,
ir tu gali patenkinti Trečiasis condition-- tokiu atveju
jums būtų eiti į pirmąjį filialą, tada jūs einate žemyn antrą filialą,
tada jums reikės eiti į trečiąjį filialą.
Arba galbūt jūs patenkinti pirmas sąlyga, ir antroji sąlyga,
bet jūs neturite patenkinti trečioji sąlyga.
Tokiu atveju jums eiti pirmas filialas ir antras filialas,
ir tada ketvirtą šaka,
>> Dėl šios priežasties, yra ta, kad kita bus privalomi tik artimiausias jei.
Taigi, nors ten kitur čia, kad
nebūtinai sukurti abipusiai išskirtinė grandinės visko.
Tai tik žodžiai ten su Būlio
išraiška 3-- tai toks nesuderinami su kita.
Taigi, ji yra įmanoma, ir kartais labai naudinga,
kaip sakiau, sukurti grandinę nėra tarpusavyje nesuderinami filialai.
Paimkime pažvelgti kitaip rūšies sąlyga, kuri
jūs dar nematėte anksčiau nulio.
Yra kažkas pavadino jungiklis pareiškimas.
Jungiklis teiginys yra rūšies tvarkingas, nes tai
sąlyginis teiginys, kad leidžia galite nurodyti skirtingus atvejus,
užuot pasikliaujant Būlio posakiai priimti sprendimus už jus.
Taigi, pavyzdžiui, tarkim kad aš turiu šią programą,
ir aš klausia vartotojui siekiant prisidėti prie manęs.
Taigi sakau, int x = Gauk Int () ir jei nesate susipažinę dar,
gauti int yra funkcija, kuri yra taip pat įtrauktas į CS50 bibliotekoje,
Taigi, jei jūs #include CS50.H turėsite Prieiga prie Gauk INT () ir visi jo
cousins-- GetFloat, GetString ir pan.
Iš esmės vienas Gauk funkciją už kiekvieną duomenų tipas, kad mes jau aptarė.
>> Taigi Žiniasklaida x lygus GetInt.
Iš esmės tai, kas vyksta yra aš į terminalą.
Aš klausia vartotojui įveskite numerį.
>> Ir čia aš perjungimo ką darau, priklausomai nuo
apie tai, ką vartotojas įvedėte eilutėje.
Taigi, jei jie įvedėte vieną, aš atsispausdinti vienas.
Ir tada aš pertrauka.
Jei jie tipo du, aš atsispausdinti du.
Ir tada aš pertrauka.
Svarbu pertrauka tarp kiekvienu atveju
nes kitaip jums teks per.
Taigi, jei aš neturėjo jokių pertraukas ten, ir vartotojas
įvestos vienas, kas nutiktų, tai būtų atspausdinti vieną, du, trys, atsiprašau.
Tai tipo keistą elgesį, tiesa?
Jūs manote, kad.
Tačiau yra atvejų, kai iš tikrųjų tai gali būti gana naudingas dalykas.
Taigi čia dar viena jungikliu pavyzdys pareiškimas, kur aš praleisti pertraukas.
Bet aš tai padaryti tyčia.
>> Taigi, kas atsitinka čia?
Pamąstyk sekundę.
Jūs netgi galite nori pristabdyti vaizdo įrašą.
>> Kas nutinka čia, jei vartotojas įveda keturi?
Taigi aš paprašė įvesties vartotoją.
Ir jie teikia vertės 4.
Kas gauna atspausdintas kai aš tai padaryti?
Dėl ankstesnės skaidrės, ten buvo pertraukos tarp visų atvejų.
Ir todėl jis tiesiog spausdinti keturių ir tada sustoti.
Bet šiuo atveju, tai ne.
Kas nutiks yra jums kris per kiekvienu atveju.
>> Taigi šiuo atveju aš organizavo savo bylas tokiu būdu, kad, jei vartotojas įveda 4,
Aš spausdinti keturi, trys, du, vienas, pakilkite.
Ir jei jie įvedėte 5, aš norėčiau pradėti penkių ir daryti tą patį.
Jei jie įvedėte 1, aš norėčiau tiesiog padaryti vieną, pakilkite.
>> Taigi šiuo atveju, aš naudoju jungiklis rūšies gudriai taip
kad aš ketinu kris per visas atvejais.
Bet paprastai jūs tikriausiai ruošiesi nori pertrauka tarp visi iš jų,
nebent turite situaciją patiko šį vieną, kur jūs
rūšies pritraukimu į tai, kad jūs rudenį per atvejais be pertraukos.
Taigi, kad stambių antra rūšių sąlyginių ataskaitose.
Paskutinis, kuris yra:? Taigi aš turi du fragmentus C kodą čia.
Vienas kairėje ir vienas dešinėje.
Vienas kairėje turėtų tikriausiai bus gana pažįstamas.
>> Turiu Int x.
Ir aš tikriausiai turėtų paprašė vartotoją
for-- tai tikriausiai turėtų būti Žiniasklaida x lygus GetInt, ar kažkas panašaus.
Ir tada aš priimant sprendimą.
Jei kai Būlio išraiška yra tiesa, priskirti x vertės 5.
Priešingu atveju, priskirti x vertės 6 d.
>> Tai kairėje tikriausiai turėtų būti gana susipažinę iš mūsų diskusijos
IF kita vos prieš akimirką.
Ar norėtumėte nustebinti žinoti kad dešinėje linija
daro tą patį dalyką?
>> Taigi tai vadinama:? Ar kartais vadinamas trijų komponentų operatorius.
Ir tai gana kietas.
Jis dažniausiai naudojamas kaip mielas apgauti.
>> Bet ką jis leidžia jums padaryti, tai imituoti IF kita su tikrai maža,
tikrai banaliai trumpas sąlyginės filialai.
Jūs paprastai nebūtų naudoti? Jei jus turėjo šešis eilutes kodo tarp kiekvieno rinkinio
nuo garbanotas petnešos.
Bet jei jūs tiesiog priėmimo greitą sprendimą,
jei jūs ketinate daryti vieną dalyką arba kitos, ir tai labai paprastas,
tai gali būti išdėstyta, kaip pavyzdys tai padaryti su: į trijų komponentų operatorių.
Taigi Žiniasklaida x lygus išraiška?
Po klausimo dalykas ženklas yra tai, ką x vertė
bus, jei išraiška yra teisinga.
>> Po dalykas Colon yra tai, ką x vertė
būtų, jei išraiška yra klaidinga.
Taigi, aš klausia savęs, yra pasakymas tiesa?
Jei taip, tai priskirti x vertės 5.
Jei taip nėra, priskirti x vertės 6 d.
Vėlgi, kaip ir sakiau.
Tai paprastai tik mielas triukas.
Ir kartais, jei jūs tapsite tikrai patogus su juo,
jums tai padaryti, nes jis atrodo tipo kietas savo programose.
Paprastai aš pateikti jį dabar jūs taip esate susipažinę su ja
jei jūs matote jį.
Bet tikrai žinau, jūs neturite ją parašyti bet savo kodą.
Bet tai yra kažkas turi būti susipažinę su, nes jūs tikrai susidurti
kodo fragmentus čia ir ten, kur tai? sintaksė,
Dar žinomas kaip trijų komponentų operatoriaus, yra naudojama.
>> Taigi greitai santrauka kas Conditionals yra,
ir kokios yra galimybės Jums C turite, jei ir jei-kitur,
ir, jei kitas, jei, ir taip toliau.
Jūs galite naudoti loginius išraiškas tiems, priimti sprendimus.
>> Su jungikliu ataskaitų naudoti diskrečiųjų atvejai priimti sprendimus.
Galima būtų konkrečiai pasakyti, jei tai viena arba, jei tai du, arba jei tai trys,
Aš tai padaryti pats, arba šis dalykas, ar šis dalykas.
Ir:? Gali būti naudojama pakeisti labai paprasta, jei else filialai,
arba jei else grandinės padaryti Jūsų kodas atrodyti šiek tiek fantazijos.
>> Aš Doug Lloyd.
Ir tai yra CS50.