[Powered by Google Translate] Precendence je, kako smo odgovorili na vprašanje, kaj operacija naj naredimo najprej?
Ali reševanju matematičnih enačb ali razčlenjevanju zasnovo računalniške kode,
obstajajo stroga pravila o prednosti, ki jih držijo
tako da se lahko vsi računalniki in ljudje dobili enak rezultat.
>> Prvič, je najbolj pomembno pravilo, da se spomnite, predvsem pri testiranju napaki,
je, da smo vedno delajo iz najglobljih oklepaju tujino.
Uporaba dodatnih oklepajev lahko v pomoč taktika odpravljanje napak,
vendar pa to ni dobra praksa, da legla svojo kodo, s nepotrebnih oklepajih.
Vzemite si čas, da se naučijo osnovnih operaterja izpiąemo pravila.
>> Drugi Splošno pravilo je, da ko so operaterji enako priorty,
preprosto rešiti z leve proti desni.
Ko se ukvarjajo s preprostimi matematičnimi začnemo z oklepaji,
naredite množenje in deljenje, in na koncu ne seštevanje in odštevanje.
Množenje in deljenje enako prednost,
ker so v bistvu opravljajo enako operacijo.
Po vseh dejavnosti je enostavno pomnožimo s obratne vrednosti.
Podobno, odštevanje se preprosto dodate negativno vrednost.
>> Naredimo zgled.
Po prednostnem vrstnem redu, bomo začeli z oklepaji. Devet minus 1.
To nam bo dalo 8. Potem lahko gremo na delitev in razmnoževanje.
Mi bomo rešili od leve proti desni. Torej 10 deljeno z 2 je 5.
Imamo 5 krat 8 tu, da nam bo dal 40.
Potem pa gremo na naslednjo vrstnem redu.
Zato smo zapustili z 3 plus 40 minus 1.
Spet samo reševanje leve proti desni,
zato, ker je enako prednost med dodajanjem in odvzemanjem.
Lahko rečemo, 3 plus 40 je 43, minus 1 je 42. To je naš odgovor.
>> Obstajata 2 vrsti subjektov vzroka in prirastek;
Predpona oblika in pripona obliki.
Pripona oblika, i + +, se pogosto uporablja v for zanke,
kar pomeni, da je trenutna vrednost v izrazu, nato pa se poveča.
Tako bo vrednost le drugačen naslednjič, ko bo spremenljivka se uporablja.
Po drugi strani pa je predpona prirastek ali padanje pomeni, da je sedanja vrednost
se poveča ali decremented prvi, nato pa je v izrazu.
>> Vzemimo za primer s x celo.
Postavili bomo to enako 5.
Če uporabljamo končnico operaterja na njej in rekel x + +, x na tej progi še 5.
Če bi ga natisnite bi dobili vrednost 5.
Ampak gre naprej x1 dejstva enaka 6.
Torej, tukaj na tej spletni x je enaka 6, in če jo natisne bi dobili vrednost 6.
Zdaj, če smo uporabili predpono operaterja, + + x, x se najprej poveča, nato pa se uporablja vrednost.
Torej je enako 7 na tej liniji.
Povečevanje seveda 6-7, in če bi ga natisnite bi dobili vrednost 7.
>> Zadnji odtenek v precendence, da bomo pogledali ukvarja z notacijo kazalca.
The dereference operater, zvezda, ima prednost pred osnovnimi matematičnimi subjektov,
vendar ne več kot pripono incement in znižanje subjekti.
To nas pripelje do našega končnega primer.
Oglejmo celo število x in so ga v višini 7.
Prav tako bomo narediti kazalec y in ga postavi na naslovu x.
Tako da, ko bi morali dereference y dobimo vrednost 7.
Zdaj v tej vrstici kode, imamo nekoliko nejasen položaj.
Ali smo Dereferenciranje y 1. in nato povečevanje vrednosti 7?
Ali smo povečevanje kazalca in ga nato Dereferenciranje?
V bistvu, saj je pripona prirastek ima operater prednost pred
dereference the operator, bomo poskušali prirastek kazalca y,
ki bi premaknite kazalec po velikosti int bajtov.
V bistvu nam daje naslov v nekaj povsem drugega zornega v spominu,
in potem ga bomo Dereferenciranje.
Torej, to je zelo nesmiselno line.
Če smo dejansko želel prirastek vrednosti 7,
bomo morali postaviti dereference operaterju y v oklepajih.
Potem bi jo lahko prirastek.
Torej, medtem ko ne bi povečevanje vrednosti x pri predzadnji vrstici kode,
v zadnji vrstici kode bi nam Dejstvo dereference y
da se je vrednost x in prirastek to.
Mi bi zapustili z vrednostjo x 8 enaka.
>> Tukaj je hitro Rekapitulacija o precendence pravil, ki smo govorili o tem.
Začeli bomo z najglobljih oklepajih in deluje navzven.
Potem pa gremo na Suffix subjektom, kot sem jaz + + ali -.
Potem dereference in naslov subjektov, kot zvezda x ali znak '& x,
predpona in operaterji, kot + + i ali - i.
Na koncu bomo preproste matematične operacije, kot so množenja, deljenja, modulo.
Potem seštevanje, odštevanje.
To je precendence. Jaz sem Jordan Jozwiak, in to je CS50.
Mi bomo dereference in uporabljajo naslov in - kako vam stavek tega?
Jaz sem naredil. Ok.