[Powered by Google Translate] Precendence je, ako sme odpovedať na otázku, ako by mala operácie mali urobiť ako prvé?
Nech riešenie matematických rovníc alebo pri spracovávaní riadkov počítačového kódu,
existujú prísne pravidlá prednosti, na ktoré sa riadime
tak, aby všetky počítače a ľudia môžu získať rovnaký výsledok.
>> Po prvé, najdôležitejšie pravidlo na zapamätanie, a to najmä v hlásení testovanie,
je to, že sme sa vždy pracovať od najvnútornejších zátvorkách vonkajšie.
Pomocou fotku zátvoriek môže byť užitočné ladenie taktika,
ale to nie je dobré praxe Litter kódu s nepotrebných zátvorkách.
Urobte si čas naučiť sa základné priority operátorov pravidlá.
>> Druhý Všeobecným pravidlom je, že ak prevádzkovatelia majú rovnakú PRIORITNÝCH,
jednoducho vyriešiť zľava doprava.
Pokiaľ sa jedná o jednoduchú matematikou začneme so zátvorkami,
potom robiť násobenie a delenie, a konečne to sčítanie a odčítanie.
Násobenie a delenie majú rovnakú prioritu,
pretože sú v podstate vykonáva rovnaké operácie.
Po tom všetkom, rozdelenie je jednoducho vynásobením inverznej hodnoty.
Podobne, odčítanie je jednoduchým pridaním zápornej hodnoty.
>> Poďme urobiť príklad.
Po poradí, začneme s zátvorkách. Deväť mínus 1.
To nám dá 8. Potom môžeme prejsť k rozdeleniu a násobenie.
Budeme riešiť zľava doprava. Tak 10 deleno 2 je 5.
Máme 5 krát 8 tu, a že nám dá 40.
Potom sa presunieme na ďalšie poradie.
Takže sme opustili s 3 plus 40 mínus 1.
Opäť len riešenie zľava doprava,
pretože tam je rovnaká priorita medzi sčítanie a odčítanie.
Dá sa povedať, 3 plus 40 je 43, mínus 1 je 42. To je naša odpoveď.
>> K dispozícii sú 2 typy Decrement a prírastok subjekty;
Predpona formulára, a prípona formulár.
Prípona forma, i + +, sa bežne používa v pre slučky,
, Čo znamená, že hodnota prúdu je používaný vo výraze, a potom sa zvýši.
Takže hodnota bude iba líšiť nabudúce premenná je použitá.
Na druhej strane, prefix zvýšenie alebo zníženie znamená, že hodnota prúdu
je zvyšovať alebo znižovať prvý, a potom sa používa vo výraze.
>> Zoberme si príklad s celočíselným x.
Budeme nastavte výške 5.
Ak budeme používať príponu operátora na neho a povedal x + +, x na tomto riadku je stále 5.
Ak by sme mali ju vytlačiť by sme si hodnotu 5.
Ale ísť vpred x1 skutočnosť sa rovná 6.
Tak tu na tomto riadku je x rovné 6, a ak sme si vytlačili to by sme sa dostali hodnotu 6.
Teraz, keď sa používa prefix operátor, + + x, x je zvýšený a až potom sa hodnota sa používa.
Takže je to rovná 7 na tejto linke.
Zvyšovanie samozrejme 6-7, a keď sme boli ju vytlačiť by sme získať hodnotu 7.
>> The last nuansy v precendence, že sa pozrieme na meste s ukazovateľom zápisu.
Dereferencia Prevádzkovateľ, hviezda, má prednosť pred základné matematické operátory,
ale nie nad príponou incement a dekrementační operátormi.
To nás vedie k našej poslednej príklad.
Zoberme si integer x, a nastavte ju na hodnotu 7.
Budeme tiež ukazovacieho y a nastavte ju rovno na adresu x.
Takže keď sme dereferencia y by sme sa mali dostať hodnotu 7.
Teraz v tomto riadku kódu, máme trochu nejasnú situáciu.
Sme dereferencing y prvý, a potom navýšením hodnoty 7?
Alebo sme zvyšovanie ukazovateľ a potom dereferencing to?
V skutočnosti, pretože prípona prírastok operátor má prednosť pred
the dereferencia prevádzkovateľ, sme snaží zvýšiť ukazovatele y,
ktoré by presuňte ukazovateľ podľa veľkosti int bajtov.
V podstate nám dáva adresu v nejakom úplne inom mieste v pamäti,
a potom sme dereferencing to.
Takže je to veľmi bezvýznamné line.
Ak by sme skutočne chceli zvýšiť hodnotu 7,
budeme musieť dať dereferencia prevádzkovateľovi y v zátvorkách.
Potom by sme sa mohli zvyšovať ju.
Takže zatiaľ čo by sme sa zvyšovanie hodnotu x s ​​Druhý až posledný riadok kódu,
v poslednom riadku kódu by sme infact dereferencia y
získať hodnotu x a zvýšite, že.
Radi by sme zostať s hodnotou x sa rovná 8.
>> Tu je rýchly rekapitulácia precendence pravidiel, ktoré sme hovorili.
Začneme s najvnútornejšej zátvoriek a práce von.
Potom sme prejsť na prípony subjektom, ako aj + + alebo aj -.
Potom dereferencia a adresa subjektov, ako je star x alebo ampersand ax,
a prefix subjekty, ako je + + i alebo - I.
Nakoniec sme to jednoduché matematické operácie ako násobenie, delenie, modulo.
Potom sčítanie, odčítanie.
To je precendence. Som Jordan Jozwiak, a to je CS50.
Budeme dereferencia a použite adresu a - ako sa vám frázu, že?
Skončil som. Dobre.