[Powered by Google Translate] Precendence, kaip mes atsakyti į klausimą, kokia operacija turėtų daryti?
Nesvarbu, ar sprendžiant matematikos lygtis arba analizuojant kryptis kompiuterinio kodo,
yra griežtos taisyklės vyresnumo Mes laikomės
taip, kad visi kompiuteriai ir žmonės gali gauti tokį patį rezultatą.
>> Pirmiausia, svarbiausia taisyklė prisiminti, ypač klaidų bandymų,
yra tai, kad mes visada dirbti laikinojo išvežimo iš slapčiausias skliausteliuose.
Naudojant papildomus skliaustus gali būti naudinga derinimo taktika,
bet tai nėra gera praktika neteršti savo kodą su nereikalingomis skliausteliuose.
Imtis laiko išmokti pagrindinių operatorių pirmenybės taisykles.
>> Antroji bendroji taisyklė yra ta, kai operatoriai turi vienodas priorty
jūs tiesiog išspręsti iš kairės į dešinę.
, Kai kalbama apie paprastą matematinę mes pradedame su skliausteliuose,
atlikite daugyba ir dalyba, ir galiausiai sudėti ir atimti.
Daugyba ir dalyba turi vienodą prioritetą,
nes jie yra iš esmės atlikti tą pačią operaciją.
Po visų padalinio tiesiog dauginant iš kurių vertė tendencijoms.
Be to, atimtis tiesiog pridedant neigiamą vertę.
>> Darykime pavyzdį.
Pirmumo tvarka, mes pradėsime su skliausteliuose. Devyni minus 1.
Kad duos mums 8. Tada mes galime pereiti prie skyriaus ir dauginimosi.
Mes spręsti iš kairės į dešinę. Taigi 10 padalinti iš 2 5.
Mes turime 5 kartus 8 čia, ir kad duos mums 40.
Tada mes einame į kitą pirmumo tvarka.
Taigi mes liko su 3 plius 40 minus 1.
Vėl tik sprendžiant iš kairės į dešinę,
nes ten yra lygus tarp to ir atimties prioritetas.
Mes galime pasakyti, 3 plius 40 yra 43, minus 1 yra 42. Štai mūsų atsakymas.
>> Yra 2 rūšių Sumažėjimo ir prieaugis operatoriams;
Priešdėlis forma, ir priesagos forma.
Priesaga formos, i + +, yra dažniausiai naudojamas už kilpos,
, o tai reiškia, kad dabartinė vertė yra naudojama išraiška, ir tada jis yra padidinamas.
Taigi, vertė bus tik kitaip kitą kartą kintamasis naudojamas.
Kita vertus, priešdėlis prieaugis arba silpnėjimas reiškia, kad dabartinė vertė
yra padidinamos arba decremented, ir tada jis naudojamas išraiškos.
>> Paimkime pavyzdį su sveikasis skaičius x.
Mes nustatyti, kad jis lygus 5.
Jei mes naudojame priesaga operatoriaus ant jo ir sako, x + + x šioje linijoje dar 5.
Jei mes jį atspausdinti gautume vertę 5.
Bet vyksta į priekį x1 tai yra lygu 6.
Taigi čia, šioje eilutėje x lygus 6, o jei mes jį atspausdintas iš gautume vertė Vertė 6.
Dabar, jei mes operatoriaus prefiksą + + x, x yra padidinama, ir tada vertė yra naudojama.
Todėl lygus 7 šia linija.
Incrementing žinoma 6-7, ir jei mes jį atspausdinti gautume vertė Vertė 7.
>> , Paskutinis niuansas, precendence kad mes pažvelgti susijęs su rodyklių notacijos.
Dereference operatorius, žvaigždė, turi pirmenybę pagrindinių matematinių operatorių,
bet ne daugiau kaip priesagos incement ir silpnėjimas operatorių.
Tai veda mus prie mūsų galutinio pavyzdžiu.
Paimkime sveikuoju skaičiumi nurodytas x ir nustatyti, kad jis yra lygi 7.
Mes taip pat žymeklis Y ir nustatyti, kad jis lygus x adresą.
Taip, kad, kai mes dereference m turėtume gauti vertę 7.
Dabar šio kodo eilutę, mes turime šiek tiek dviprasmišką situaciją.
Mes dereferencing y 1., ir tada pokyčio vertė Vertė 7?
Arba mes incrementing žymiklį ir tada dereferencing?
Iš tikrųjų, nes priesaga prieaugis operatorius turi viršenybę
dereference operatorius, mes bandote prieaugio rodyklė y,
perkelkite žymeklį int baitų dydžio.
Iš esmės suteikia mums kai visiškai kitu kampu atminties adresą,
ir tada mes dereferencing.
Taigi tai yra labai beprasmis linija.
Jei mes iš tikrųjų norėjo prieaugio 7 vertę,
mes turėtume įdėti dereference operatoriui y skliausteliuose.
Tada mes galėtume jį prieaugio.
Taigi, nors mes negali būti pokyčio vertės x su antruoju į paskutinę eilutę kodo,
paskutinės eilutės kodo infact dereference y
gauti tokią x vertę ir prieaugio, kad.
Mes bus paliktas su x vertė lygi 8.
>> Štai greitas Priminti į precendence taisykles, kad mes kalbėjome apie.
Pradėsime giliau skliausteliuose ir dirbti į išorę.
Tada mes judėti į priesaga operatoriai, pavyzdžiui, i + + arba i -.
Tada dereference ir adresas operatoriai, pavyzdžiui žvaigžd x ar Ampersand x,
ir priešdėlis operatoriai, pavyzdžiui, + + i arba - Aš.
Galiausiai mes paprastus matematikos operacijas, pavyzdžiui, daugyba, dalyba, modulį.
Tada sudėtį, atimtį.
Štai precendence. Aš esu Jordanija Jóźwiak, ir tai yra CS50.
Mes atsiųsime dereference ir naudoti tą adresą, ir - kaip jūs frazę, kuri?
Aš padariau. Gerai.