[Powered by Google Translate] Precendence je, kako smo odgovoriti na pitanje, što je operacija trebamo učiniti prvi?
Bilo rješavanju matematičkih jednadžbi ili izdvajanja linijama računalnog koda,
postoje stroga pravila prednost koja se pridržavamo
tako da sva računala i ljudi mogu dobiti isti rezultat.
>> Prije svega, najvažnije pravilo koje treba zapamtiti, posebno u bug testiranje,
je da mi uvijek rade iz najdublje zagradama van.
Korištenje dodatne zagrade može biti korisna taktika za ispravljanje pogrešaka,
ali to nije dobra praksa da leglu svoj kod s nepotreban zagradama.
Uzmite si vremena kako bi naučili osnovne operatera prednost pravila.
>> Drugi opće pravilo je da kada operatori imaju jednak priorty,
jednostavno riješiti s lijeva na desno.
Kad se bave jednostavnom matematikom ćemo početi sa zagradama,
zatim učinite množenje i dijeljenje, i na kraju napraviti zbrajanja i oduzimanja.
Množenje i dijeljenje imaju isti prioritet,
jer oni su u osnovi obavljaju istu radnju.
Nakon svih podjela jednostavno pomnoži obrnutoj vrijednosti.
Isto tako, oduzimanje jednostavno dodavanjem negativnu vrijednost.
>> Učinimo primjer.
Nakon redoslijedu, počet ćemo s zagradama. Devet minus jedan.
To će nam dati osam. Onda možemo prijeći na podjele i multipliciranja.
Mi ćemo riješiti s lijeva na desno. Dakle, 10 podijeljeno 2 je pet.
Imamo pet puta osam ovdje, i da će nam dati 40.
Onda smo prešli na sljedeću redoslijedu.
Dakle, mi smo s lijeve strane tri plus 40 minus jedan.
Opet samo rješavanje lijeva na desno,
jer ima jednak prioritet između zbrajanja i oduzimanja.
Možemo reći tri plus 40 je 43, minus 1 je 42. To je naš odgovor.
>> Postoje dvije vrste dekrement i prirast operatera;
Prefiks oblik, te nastavka oblik.
Nastavak oblik, i + +, obično se koristi u za petlje,
što znači da je trenutna vrijednost se koristi u izrazu, a zatim ga je porastao.
Dakle, vrijednost će biti samo drugačije sljedeći put varijabla se koristi.
S druge strane, prefiks prirast ili snižavanja znači da je trenutna vrijednost
je porastao ili smanjene prvi, a zatim se koristi u izrazu.
>> Uzmimo primjer s cijelim x.
Postavit ćemo ga jednako pet.
Ako ćemo koristiti sufiks operatora na njega i reći x + +, x na toj liniji je još pet.
Ako bismo ga isprintati bismo dobili vrijednost pet.
Ali ide prema naprijed x1 činjenicu jednak 6.
Dakle, upravo ovdje na ovoj liniji x je jednak 6, a ako smo ga ispisati bismo dobili vrijednost 6.
Sada, ako smo koristili prefiks operator, + + x, x je porastao prvi, a zatim se vrijednost koristi.
Dakle, to je jednak 7 na ovoj liniji.
Povećavanjem naravno 6-7, a ako smo ga ispisati bismo dobili vrijednost sedam.
>> Posljednji nijansa u precendence da ćemo pogledati bavi pokazivač zapis.
The dereference operater, zvijezda, ima prioritet nad osnovnim matematičkim operatorima,
ali ne preko sufiks incement i smanjenje operatora.
To nas dovodi do naše konačne primjer.
Ajmo uzeti cijeli x i postaviti ga je jednak 7.
Također ćemo napraviti y pokazivač i postaviti ga jednako na adresu x.
Tako da kad smo dereference y bismo trebali dobiti vrijednost sedam.
Sada u ovoj liniji koda, imamo nešto nejasnu situaciju.
Jesmo dereferencing y prvi, a zatim povećavanjem vrijednosti 7?
Ili smo povećavanjem pokazivač i zatim ga dereferencing?
U stvari, jer je operater sufiks prirast ima prednost nad
the dereference operater, mi pokušavate povećajte pokazivač y,
koji bi pomaknuli pokazivač po veličini int bajtova.
U suštini daje nam adresu u nekom sasvim drugom mjestu u memoriji,
i onda smo ga dereferencing.
Dakle, to je vrlo besmisleno linija.
Ako smo zapravo htjeli povećajte vrijednost 7,
trebali bismo staviti dereference operatoru sa y u zagradama.
Tada bismo mogli povećavati.
Dakle, dok mi ne bi povećavanjem vrijednost x sa drugog do posljednjeg retka koda,
u zadnju liniju koda bismo infact dereference y
da biste dobili X vrijednost i povećajte to.
Mi bi se s lijeve strane je vrijednost x jednaka 8.
>> Evo brzo rekapitulacija od precendence pravila koja smo razgovarali o tome.
Počet ćemo s najdubljim zagradama i rade van.
Onda smo prešli na sufiks operatori kao što sam ja + + ili -.
Zatim dereference i adresa operatera poput zvijezda x ili ampersand x,
i prefiks operatori poput + + I ili - I.
Konačno smo napraviti jednostavne matematičke operacije kao što su množenje, dijeljenje, modulo.
Tada zbrajanje, oduzimanje.
To je precendence. Ja sam Jordan Jozwiak, a ovo je CS50.
Mi ćemo dereference i koristiti adresu i - Kako ste izraz koji?
Ja sam učinio. Ok.