>> [Predvaja glasba]
>> Doug LLOYD: Hi, tako da je govorimo o operaterjev v C.
Torej, smo že videli eno, v resnici, enaka operaterja odstop.
To nam omogoča, da enostavno vrednost v spremenljivko.
To je naloga Operater, enojni enačaj.
Da bi lahko manipulira in dela z vrednotami in spremenljivke v C,
imamo več operaterjev so nam na voljo, da lahko uporabimo.
Oglejmo si na nekaj skupnih tistih
začenši z aritmetične operatorje.
Kot bi lahko pričakovali, lahko storimo lepa osnovne matematične operacije v C
Mi lahko dodamo, odštevanje, množenje, in divide številke uporabljajo plus, minus, zvezda,
in poševnica, oz.
Tukaj je nekaj vrstic koda, v katerem delamo, da.
Torej, imamo int x enak y plus 1.
Denimo, da nekje gor nad to vrstico kode
mi je rekel int y enaka 10.
Kakšna je vrednost x po I izvršiti to prvo vrstico kode?
Si rekel 11?
Ti bi prav.
Zakaj je tako?
No, y bila 10.
Nekateri int Pravim x znaša 10 plus 1.
10 plus 1, je 11.
Torej, je vrednost 11 bolnikih shranjena v spremenljivko x.
Ni tako slabo, kajne?
>> Kako o tem naslednjo vrstico koda? x je enak x krat 5.
No, preden smo izvedli ta vrstica kode, x je bil 11.
Torej, kaj je vrednost x po tem vrstico kode?
Vzemite si trenutek.
Torej, je x enak x krat 5.
x je bil 11.
Torej, x je enaka 11-krat 5.
Ali 55.
Torej, če ste rekli, 55, bi bilo prav.
>> Zdaj je morda malo zmedeno, vendar z načinom, da odstop deluje v C
je vrednost na desni dobi dodeljena vrednosti na levi strani.
Torej, najprej ocenjujemo x krat 5.
Torej, 11-krat 5 je 55.
In potem smo shranite to vrednost x.
11, ki je bil tam preden se zdaj prepiše.
Torej vrednost x je zdaj 55.
Upajmo, da je to precej enostavno.
>> Še en operater, ki ste Verjetno ni nujno slišali
imenujemo to, ampak ste zagotovo delal z v preteklosti
če se spomnite svoje dni dolgo delitev davnega leta razredu šole.
To se imenuje upravljavec modul.
Kaj modul pa je to vam preostanek
ko si razdeliti dve številki skupaj.
Torej, če rečem 13, deljeno s 4, kar je preostanek?
In bi se ta vrednost izračunana operater modulom.
>> Torej, imam vrstico kode tukaj, int m enaka 13 mod 4.
In sem rekel, tukaj v komentarju vrednost, da m je zdaj 1.
Zakaj pravim, da je?
No, ne dolgo delitev v vaš glava, če se nosi z menoj za sekundo.
Torej, sem 4, deljeno s 13.
4 gre v 13 trikrat z preostanek 1.
Torej, v bistvu vse modul operater ne
je vas, ko pove, razkorak, dobiš preostanek.
Morda si mislite, da je to dejansko ni strašno uporabna stvar,
vendar bi bil presenečen, dejansko, s tem, kako pogosto to modulom
Operater lahko pridejo v priročni.
>> Tukaj je nekaj težav bomo naredili CS50, ki se ukvarjajo s tem.
Prav tako je dobro za to Stvari, kot so naključno število.
Tako, na primer, če ste kdaj slišal za generator naključnih števil,
da se dogaja, da vam več od 0 do neke velikem številu.
Morda pa si res samo potrebujejo več od 0 do 20.
Če uporabite operator modula na ta velikan številko, ki
dobi ustvari z Generator naključnih števil,
boste vzeli karkoli velika vrednost, ki jo je, ga delimo s 20,
in dobili preostanek.
Preostanek lahko samo vrednost med 0 do 19.
Torej, uporabite operator modula da bo to ogromno število
in whittle dol v nekaj malo bolj smiselno.
Prepričan sem, da boste mogli uporabljati tako tistih
na neki točki v prihodnosti v CS50.
>> Torej, C tudi nam daje pot uporabiti aritmetični
Operater na eno spremenljivko v malo bolj stenografski način.
Torej, v prejšnjem diapozitivu, smo videli x enaka x krat 5.
Da je delal.
x krat 5 nato gets shranjeni nazaj v x.
Tam je krajša pot, da to storite, misel, in to je sintaksa x krat enaka 5.
To je isto natančen stvar kot rekoč x enaka x-krat 5.
To je samo nekoliko krajša pot, da to storite.
In ko vidiš nekaj distribucija kodo ali ste
videli nekaj vzorčno kodo, ki počne stvari, kot je ta,
Samo poznati kaj pomeni sintakso.
Vi zagotovo nimajo da jo uporabljajo, ampak če boste to storili,
to bi lahko dal svojo kodo poglej malo elegantnejšo.
In vem, da lahko uporabite tudi katerega od različni operaterji, ki smo jih že
videl namesto krat.
Lahko bi rekli, x plus enaka 5, minus enaka 5, krat, razkorak, in mod.
Vse tiste dela.
>> Tam je tudi nekaj da je tako pogost v C
da smo se odločili, da izpopolniti, da še dlje.
Povečevanje spremenljivko z 1 ali pomanjšanja spremenljivko za 1
je takšna skupna thing-- zlasti ko govorimo o zank malo kasneje
on--, da smo se odločili, namesto rekel nekaj podobnega x plus enaka 1,
ali je x enak x plus 1, ki smo jih tudi Skratka izročil, da x plus plus.
Torej, je x enak x in 1, X plus enak 1, in x plus plus vsi delati isto stvar.
Vsi prirastek x za 1.
Ampak, da je povečevanje in pomanjšanja z 1
je tako pogost, da imamo plus plus in minus minus
ki nam omogočajo, da stenografistk da tudi dlje.
>> Torej, kaj je stikalo orodja za sekundo in govori o logičnih izrazov.
Vsi, ki so tudi nekako spada v celotna kategorija operaterjev.
Ampak Logični izrazi, za razliko od aritmetične operatorje,
Uporabljajo se za primerjanje vrednosti.
Torej, še enkrat, vse Boolove izrazi v C oceni enem izmed dveh možnih vrednosti,
odpokličejo.
Pravilno ali napačno.
To je le dve vrednosti, ki Boolova spremenljivka lahko prevzamejo.
Mi lahko uporabi rezultate iz Boolove izražanja
v veliko pogledih v programiranju.
V bistvu, boste počne to kar veliko.
>> Na primer, lahko se odločimo, tudi, če nekateri pogoj izpolnjen,
Mogoče bom to podružnico dol mojo kodo.
Pogojno, če se tako izrazim.
Bomo spoznali tiste kmalu preveč.
Ali morda, dokler to je res, hočem
obdržati tem znova in znova in znova.
Zanka.
V obeh primerih, vemo, da smo s pomočjo Boolova izraz, resnična ali neresnična,
odločiti, ali ne da sprejme posebno pot.
Včasih, ko delamo z Boolovih izrazov,
bomo uporabili spremenljivke tipa bool.
Ste morda razglašen Bool vnesli spremenljivko,
in ga boste uporabljali v vašem Logični izraz.
Vendar vam ni treba vedno narediti.
Kot se je izkazalo, v C, vsak non-0 vrednost je enaka kot pravim res.
Če bi razglašena za spremenljivka tipa Boolean,
in ji dodeli vrednost true, da je enako kot izjavlja celo
in ji dodelite vrednost 1, 2, 3, ali res katerokoli vrednost
kakršnikoli drugi od 0.
Ker v C, vsak non-0 vrednost je true.
0, na drugi strani pa je false.
To bi lahko prišel v priročen kasneje vedeti,
ampak samo nekaj, da v mislih.
Nimamo vedno uporabljati Spremenljivke Boolove tipa, ko smo
delajo z logičnih izrazov.
>> Obstajata dve glavni vrsti logičnim izrazi, da bomo delati.
Logični operatorji in relacijske operaterji.
Jezik je ni strašno pomembno.
To je res samo, kako sem jih razporedite.
In boste zagotovo, mislim, da se hitro zavedaš, kaj relacijski operator,
ki temelji na tisto, kar so, ko smo govori o njih v sekundi.
Ampak ne skrbite nujno pomnjenja izraz logični operator
ali relacijski operator.
Jaz sem samo, da jo uporabljajo za skupine jim na logičen način.
>> Torej, dajmo si oglejte trije logičnih operatorjev
da bomo videli precej bit v programiranje v CS50
in v programiranju bolj na splošno.
Logično in je res, če in le, če obe operandi so resnične.
Drugače false.
Kje naj bi to pomenilo?
Torej, recimo, da sem na točka v svojo kodo, kjer imam
dve spremenljivki, x in y.
In želim, da se odloči, ali nekaj storiti v mojem kodo
na osnovi če x drži in y je res.
Želim samo, da to storite, če oba sta res,
sicer nočem iti dol, da pot, saj to ne bo, da mi pomaga.
Kaj lahko rečem, je, če je x & & y.
To bo logično Boolova Izraz primerjavo x in y
in ob neko pot temelji na kaj so njihove vrednote.
Torej, če je X res in y je res temelji na tem resnice mizi tukaj,
šele potem bomo šli po tej poti.
Če so x, y in &.
To je le true-- in je le res, če je x drži in y je res.
Če katera je napačen, kot smo videli resnico tabelo,
nato oba X in Y ne drži.
In tako, x & y je napačen.
>> Logični ALI velja, če in samo če je vsaj en operand res.
Drugače false.
Torej logično zahteva sta x in y, da je res.
Logični ALI zahteva, x, da je res ali y da bi bilo res ali obe x in y, da bi bilo res.
Torej, še enkrat, mi nekako zdi, sami v položaju
kjer bomo našo kodo, in smo dosegli vilice v cestnem prometu.
In želimo iti navzdol Zlasti pot, če x velja
ali je y res, vendar ne nujno, če sta oba res.
Ampak morda, če sta oba res.
Torej, če je x velja in je y res, bomo šli po tej poti.
x je res.
Eden od njih je res, ne?
Če x drži in y je res.
Če x je res, in y je neresnično, eden izmed njih še vedno velja.
Torej, x ali y še vedno velja.
Če x ni izpolnjeno, in y je res, eden od njih je še vedno res, kajne?
y je res, v tem primeru.
Torej, to je res, da je x ali y res.
Samo, če je x false in y je napačen ne bomo dol tej poti,
ker niti x niti y je res.
Zdaj, če ste iskali Na zaslonu se zdaj
in se sprašujete, kaj to Simbol je za logično OR,
to se imenuje navpična vrstica.
In če vas je videti na tipkovnici za minuto, kar delam zdaj,
to je ponavadi samo nad Tipko Enter, na večini tipkovnic,
na isti tipki kot poševnico nazaj.
Prav tako je po navadi prav poleg oglatih oklepajih.
Torej, je morda ključ, ki vas niso vnesli zelo veliko v preteklosti.
Ampak, če ste že kdaj delal logične primerjave,
saj bomo lotili Veliko v teku, je
bo koristno Ugotovijo, da je ključ in jo uporabite.
Torej, to je ponavadi na isti tipki kot poševnico tik nad Enter.
>> Končni logični operator NOT.
In NE je precej preprosta.
To obrne vrednost njegovega operanda.
Če x je res, potem ne x je napačen.
Če je x false, potem ne x je res.
Včasih boste slišali ta simbol izgovarja kot bang ali Exclamation
ali ne.
To je precej vse isto stvar.
V primeru, da ste slišali, da govorijo in niste prepričani, kaj to pomeni,
to je samo klicaj točka, ampak včasih je
imenuje nekaj različnih stvari.
Vse je v redu, tako da traja mar logičnih operaterjev.
Torej, kaj je govoril o relacijske operaterji.
Še enkrat, če ste seznanjeni s tem aritmetična nazaj v osnovni šoli,
ste verjetno seznanjeni s tem, kako to dela že.
Ti se obnašajo natanko tako, kot ste pričakovali.
Torej manj kot je res, v tem Na primer, če je x manjša od y.
Torej, če je x 4 in je y 6, x je manjša od y.
To drži.
Manjša ali enaka deluje precej podobno.
Če je x 4, in je y 4, nato x je manjša ali enaka y.
Večji kot. x je večja od y.
In je večja ali enaka x je večje ali enako y.
Če je to res, potem boste mimo tega izraza,
in boš šel dol da je pot na cesti.
Če imate, če je x večji od y, in x je v bistvu večja od y,
boste storili vse, kar je pod tem pogojem.
>> Obvestilo, da ne bomo imeli sam znak za manj kot
ali enako, kot bi morali biti poznamo iz matematičnih učbenikov.
Torej, imamo manj kot simbol, čemur sledi enačaj.
To je, kako smo se predstavljajo manjša ali enaka.
In podobno storimo, da za več kot ali enako.
>> Končni dva relacijska Operaterji, ki so pomembni
Preizkušajo za enakost in neenakost.
Torej, če je x enak enak y, velja če je X in Y je vrednost enaka.
Če je x 10 in y je 10, potem x je enak enak y je res.
Če je x 10 in je y 11, x enaka enaka y ni res.
Mi lahko tudi test za neenakost uporabo klicaj ali bang ali ne,
znova.
Če x ni enako y, če da je test smo uporabo tukaj,
mi bi bilo dobro iti.
Torej, če X ni enak y, bomo šli po tej poti.
>> Biti res previdni tukaj.
To je res pogosta mistake-- in ena Vsekakor je precej veliko, ko
Bil sem že started-- nenamerno napaka
upravljavec dodelitev enkratne enakimi, za operaterja primerjava enakosti,
dvoposteljna Ene.
To bo privedlo do nekaj čudnega vedenje v kodi,
in ponavadi prevajalnik bo vas opozori na to, ko boste poskušali
in zbrati kodo, vendar včasih boste morda lahko, da ga skrivaj ga.
To ni nujno dobra stvar da jo skrivaj ga, čeprav.
Samo toliko, da če delaš test neenakost,
če ste preverili, ali dveh Različne spremenljivke imajo enako vrednost
znotraj njih, poskrbite, da uporabite enaka enaka, in ne posamezne enaka.
In na ta način je vaš program bo imajo vedenja, ki jih nameravate.
Sem Doug Lloyd in to je CS50.