[Powered by Google Translate] Precendence është se si ne t'iu përgjigjur pyetjes, se çfarë duhet të bëjmë operacioni i parë?
Nëse zgjidhjen e ekuacioneve matematike ose linja parsing të kodit kompjuterik,
ka rregulla strikte të përparësisë në të cilat Ne t'i përmbahen
në mënyrë që të gjithë kompjuterat dhe njerëzit mund të merrni të njëjtin rezultat.
>> Së pari, rregulli më i rëndësishëm për të kujtuar, sidomos në testimin bug,
është se ne gjithmonë punojnë nga kllapa të thella jashtme.
Duke përdorur kllapa shtesë mund të jetë një taktikë e dobishme debugging,
por kjo nuk është praktikë e mirë për të pjellë kodin tuaj me kllapa unneeded.
Merrni kohë për të mësuar themelore operator rregullat përparësi.
>> Rregulli i dytë i përgjithshëm është se kur operatorët kanë priorty të barabartë,
ju thjesht zgjidhur nga e majta në të djathtë.
Kur kanë të bëjnë me matematikë të thjeshtë që ne të fillojmë me kllapa,
pastaj të bëjë shumëzimin dhe pjesëtimin, dhe së fundi të bëjë mbledhjes dhe të zbritjes.
Shumëzimit dhe ndarjen e kanë të njëjtin prioritet,
sepse ata janë në thelb të kryer operacionin e njëjtë.
Pas të gjitha ndarjes është thjesht shumëzuar me inversi i një vlerë.
Në mënyrë të ngjashme, zbritja është thjesht duke shtuar një vlerë negative.
>> Le të bëjmë një shembull.
Pas rendit të përparësisë, ne do të fillojmë me kllapa. Nëntë minus 1.
Kjo do të na japë 8. Atëherë ne mund të lëvizin për në ndarjen dhe shumëzimit.
Ne do ta zgjidhim nga e majta në të djathtë. Pra, 10 është ndarë nga 2 5.
Ne kemi 5 herë 8 here, dhe që do të na japë 40.
Pastaj ne të lëvizin për në mënyrë tjetër të përparësisë.
Pra, ne jemi të majtë me 3 plus minus 1 40.
Përsëri vetëm zgjidhjen e majta në të djathtë,
sepse nuk ka prioritet të barabartë në mes të mbledhjes dhe të zbritjes.
Ne mund të themi 3 plus 40 është 43, minus 1 është 42. Kjo është përgjigjja jonë.
>> Ka 2 lloje të pakësim dhe rritje operatorëve;
Forma parashtesë, prapashtesë dhe forma.
Forma prapashtesë, i + +, zakonisht është përdorur për sythe në,
që do të thotë se vlera aktuale është përdorur në shprehje, dhe pastaj ajo është incremented.
Pra, vlera vetëm që do të jetë ndryshe herën tjetër variabël është përdorur.
Nga ana tjetër, rritja parashtesë apo pakësim të thotë se vlera aktuale
është incremented ose decremented parë, dhe pastaj ajo është përdorur në shprehjes.
>> Le të marrin një shembull me x numër i plotë.
Ne do të vënë atë të barabartë me 5.
Nëse ne përdorim operatorin prapashtesë në të dhe thonë se x + +, x në këtë linjë është ende 5.
Nëse ne do të shtypura it out ne do të merrni vlerën 5.
Por duke shkuar përpara faktin x1 barabartë 6.
Në mënyrë të drejtë këtu në këtë linjë x është e barabartë me 6, dhe në qoftë se ne të shtypura it out ne do të marrë vlerën 6.
Tani në qoftë se ne kemi përdorur operatorin prefiksin, + + x, x është incremented parë, dhe pastaj vlera është përdorur.
Pra, kjo është e barabartë me 7 në këtë linjë.
Bën rritjen natyrisht 6-7, dhe në qoftë se ne do të shtypura it out ne do të marrë vlerën 7.
>> The nuancë fundit në precendence që ne do të shikojmë në marrëveshje me simbol akrep.
Operatori dereference, yll, ka përparësi mbi operatorët e matematikës elementare,
por jo mbi incement prapashtesë dhe operatorët pakësim.
Kjo na çon në shembullin tonë përfundimtar.
Le të marrin x numër i plotë dhe e vendosi atë të barabartë me 7.
Ne gjithashtu do të bëjë një y akrep dhe e vendosi atë të barabartë me adresën e x.
Kështu që, kur ne y dereference ne duhet të marrë vlerën 7.
Tani, në këtë linjë të kodit, ne kemi një situatë disi të paqartë.
Jemi dereferencing y parë, dhe pastaj rritjen e vlerës 7?
Apo jemi ne treguesin e bën rritjen dhe pastaj dereferencing atë?
Në fakt, për shkak se rritja prapashtesë operatori ka përparësi mbi
operatori dereference, ne jemi duke u përpjekur për të ardhura y akrep,
që do të lëvizin në treguesin sipas madhësisë së bytes Int.
Thelb duke na dhënë një adresë në një pikë krejtësisht të ndryshme në kujtesë,
dhe pastaj ne jemi dereferencing atë.
Pra, kjo është linjë shumë e pakuptimtë.
Në qoftë se ne të vërtetë të kërkuar për të ardhura vlerën e 7,
ne do të duhet për të vënë operatorin dereference me y në kllapa.
Atëherë ne mund ardhura atë.
Kështu, ndërsa ne nuk do të bën rritjen e vlerës x me e dytë të vijës së fundit së kodit,
në linjë e fundit e kodit ne do dereference Infact y
për të marrë x vlerë dhe rritje se.
Ne do të mbetet me vlerë x barabartë 8.
>> Këtu është një radhitje të shpejtë të rregullave precendence që ne kemi biseduar rreth.
Ne do të fillojë me kllapa të thella dhe të punojnë jashtë.
Pastaj ne të lëvizin për operatorët prapashtesë si unë + + ose i -.
Pastaj dereference dhe adresa e operatorëve si yll X ose ampersand x,
dhe operatorët parashtesës + + I ose - Unë.
Së fundi, ne bëjmë operacionet e thjeshta matematike, si ndarje, shumëzimit modulo.
Pastaj Përveç kësaj, zbritja.
Kjo është precendence. Unë jam Jordan Jozwiak, dhe kjo është CS50.
Ne do dereference dhe të përdorni adresën dhe - si mendoni ju se fraza?
Unë jam bërë. Rregull.