1 00:00:07,780 --> 00:00:10,540 [Powered by Google Translate] Precendence është se si ne t'iu përgjigjur pyetjes, se çfarë duhet të bëjmë operacioni i parë? 2 00:00:10,540 --> 00:00:14,250 Nëse zgjidhjen e ekuacioneve matematike ose linja parsing të kodit kompjuterik, 3 00:00:14,250 --> 00:00:17,230 ka rregulla strikte të përparësisë në të cilat Ne t'i përmbahen 4 00:00:17,230 --> 00:00:20,270 në mënyrë që të gjithë kompjuterat dhe njerëzit mund të merrni të njëjtin rezultat. 5 00:00:20,270 --> 00:00:24,710 >> Së pari, rregulli më i rëndësishëm për të kujtuar, sidomos në testimin bug, 6 00:00:24,710 --> 00:00:27,680 është se ne gjithmonë punojnë nga kllapa të thella jashtme. 7 00:00:27,680 --> 00:00:31,120 Duke përdorur kllapa shtesë mund të jetë një taktikë e dobishme debugging, 8 00:00:31,120 --> 00:00:34,640 por kjo nuk është praktikë e mirë për të pjellë kodin tuaj me kllapa unneeded. 9 00:00:34,640 --> 00:00:38,220 Merrni kohë për të mësuar themelore operator rregullat përparësi. 10 00:00:38,220 --> 00:00:42,450 >> Rregulli i dytë i përgjithshëm është se kur operatorët kanë priorty të barabartë, 11 00:00:42,450 --> 00:00:44,820 ju thjesht zgjidhur nga e majta në të djathtë. 12 00:00:44,820 --> 00:00:47,690 Kur kanë të bëjnë me matematikë të thjeshtë që ne të fillojmë me kllapa, 13 00:00:47,690 --> 00:00:52,110 pastaj të bëjë shumëzimin dhe pjesëtimin, dhe së fundi të bëjë mbledhjes dhe të zbritjes. 14 00:00:52,110 --> 00:00:54,400 Shumëzimit dhe ndarjen e kanë të njëjtin prioritet, 15 00:00:54,400 --> 00:00:56,870 sepse ata janë në thelb të kryer operacionin e njëjtë. 16 00:00:56,870 --> 00:01:00,880 Pas të gjitha ndarjes është thjesht shumëzuar me inversi i një vlerë. 17 00:01:00,880 --> 00:01:04,300 Në mënyrë të ngjashme, zbritja është thjesht duke shtuar një vlerë negative. 18 00:01:04,300 --> 00:01:06,150 >> Le të bëjmë një shembull. 19 00:01:14,470 --> 00:01:18,300 Pas rendit të përparësisë, ne do të fillojmë me kllapa. Nëntë minus 1. 20 00:01:18,300 --> 00:01:23,410 Kjo do të na japë 8. Atëherë ne mund të lëvizin për në ndarjen dhe shumëzimit. 21 00:01:23,410 --> 00:01:27,450 Ne do ta zgjidhim nga e majta në të djathtë. Pra, 10 është ndarë nga 2 5. 22 00:01:27,450 --> 00:01:31,290 Ne kemi 5 herë 8 here, dhe që do të na japë 40. 23 00:01:33,230 --> 00:01:35,410 Pastaj ne të lëvizin për në mënyrë tjetër të përparësisë. 24 00:01:35,410 --> 00:01:38,730 Pra, ne jemi të majtë me 3 plus minus 1 40. 25 00:01:42,400 --> 00:01:43,700 Përsëri vetëm zgjidhjen e majta në të djathtë, 26 00:01:43,700 --> 00:01:47,650 sepse nuk ka prioritet të barabartë në mes të mbledhjes dhe të zbritjes. 27 00:01:47,650 --> 00:01:51,510 Ne mund të themi 3 plus 40 është 43, minus 1 është 42. Kjo është përgjigjja jonë. 28 00:01:53,920 --> 00:01:56,730 >> Ka 2 lloje të pakësim dhe rritje operatorëve; 29 00:01:56,730 --> 00:02:01,000 Forma parashtesë, prapashtesë dhe forma. 30 00:02:01,000 --> 00:02:06,130 Forma prapashtesë, i + +, zakonisht është përdorur për sythe në, 31 00:02:06,130 --> 00:02:10,500 që do të thotë se vlera aktuale është përdorur në shprehje, dhe pastaj ajo është incremented. 32 00:02:10,500 --> 00:02:14,240 Pra, vlera vetëm që do të jetë ndryshe herën tjetër variabël është përdorur. 33 00:02:14,240 --> 00:02:17,910 Nga ana tjetër, rritja parashtesë apo pakësim të thotë se vlera aktuale 34 00:02:17,910 --> 00:02:22,760 është incremented ose decremented parë, dhe pastaj ajo është përdorur në shprehjes. 35 00:02:22,760 --> 00:02:25,310 >> Le të marrin një shembull me x numër i plotë. 36 00:02:25,310 --> 00:02:27,220 Ne do të vënë atë të barabartë me 5. 37 00:02:27,220 --> 00:02:36,500 Nëse ne përdorim operatorin prapashtesë në të dhe thonë se x + +, x në këtë linjë është ende 5. 38 00:02:36,500 --> 00:02:39,230 Nëse ne do të shtypura it out ne do të merrni vlerën 5. 39 00:02:39,230 --> 00:02:42,540 Por duke shkuar përpara faktin x1 barabartë 6. 40 00:02:42,540 --> 00:02:48,770 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. 41 00:02:48,770 --> 00:02:57,380 Tani në qoftë se ne kemi përdorur operatorin prefiksin, + + x, x është incremented parë, dhe pastaj vlera është përdorur. 42 00:02:57,380 --> 00:03:00,110 Pra, kjo është e barabartë me 7 në këtë linjë. 43 00:03:00,110 --> 00:03:04,750 Bën rritjen natyrisht 6-7, dhe në qoftë se ne do të shtypura it out ne do të marrë vlerën 7. 44 00:03:04,750 --> 00:03:09,160 >> The nuancë fundit në precendence që ne do të shikojmë në marrëveshje me simbol akrep. 45 00:03:09,160 --> 00:03:15,050 Operatori dereference, yll, ka përparësi mbi operatorët e matematikës elementare, 46 00:03:15,050 --> 00:03:18,550 por jo mbi incement prapashtesë dhe operatorët pakësim. 47 00:03:18,550 --> 00:03:20,690 Kjo na çon në shembullin tonë përfundimtar. 48 00:03:20,690 --> 00:03:24,500 Le të marrin x numër i plotë dhe e vendosi atë të barabartë me 7. 49 00:03:24,500 --> 00:03:30,540 Ne gjithashtu do të bëjë një y akrep dhe e vendosi atë të barabartë me adresën e x. 50 00:03:30,540 --> 00:03:34,920 Kështu që, kur ne y dereference ne duhet të marrë vlerën 7. 51 00:03:34,920 --> 00:03:39,380 Tani, në këtë linjë të kodit, ne kemi një situatë disi të paqartë. 52 00:03:39,380 --> 00:03:44,310 Jemi dereferencing y parë, dhe pastaj rritjen e vlerës 7? 53 00:03:44,310 --> 00:03:48,300 Apo jemi ne treguesin e bën rritjen dhe pastaj dereferencing atë? 54 00:03:48,300 --> 00:03:52,800 Në fakt, për shkak se rritja prapashtesë operatori ka përparësi mbi 55 00:03:52,800 --> 00:03:55,370 operatori dereference, ne jemi duke u përpjekur për të ardhura y akrep, 56 00:03:55,370 --> 00:03:59,170 që do të lëvizin në treguesin sipas madhësisë së bytes Int. 57 00:03:59,170 --> 00:04:03,040 Thelb duke na dhënë një adresë në një pikë krejtësisht të ndryshme në kujtesë, 58 00:04:03,040 --> 00:04:05,010 dhe pastaj ne jemi dereferencing atë. 59 00:04:05,010 --> 00:04:07,350 Pra, kjo është linjë shumë e pakuptimtë. 60 00:04:07,350 --> 00:04:10,250 Në qoftë se ne të vërtetë të kërkuar për të ardhura vlerën e 7, 61 00:04:10,250 --> 00:04:14,260 ne do të duhet për të vënë operatorin dereference me y në kllapa. 62 00:04:14,260 --> 00:04:17,290 Atëherë ne mund ardhura atë. 63 00:04:17,290 --> 00:04:21,089 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, 64 00:04:21,089 --> 00:04:23,380 në linjë e fundit e kodit ne do dereference Infact y 65 00:04:23,380 --> 00:04:26,380 për të marrë x vlerë dhe rritje se. 66 00:04:26,380 --> 00:04:29,540 Ne do të mbetet me vlerë x barabartë 8. 67 00:04:31,580 --> 00:04:33,580 >> Këtu është një radhitje të shpejtë të rregullave precendence që ne kemi biseduar rreth. 68 00:04:33,580 --> 00:04:37,210 Ne do të fillojë me kllapa të thella dhe të punojnë jashtë. 69 00:04:37,210 --> 00:04:41,210 Pastaj ne të lëvizin për operatorët prapashtesë si unë + + ose i -. 70 00:04:41,210 --> 00:04:45,920 Pastaj dereference dhe adresa e operatorëve si yll X ose ampersand x, 71 00:04:45,920 --> 00:04:50,260 dhe operatorët parashtesës + + I ose - Unë. 72 00:04:50,260 --> 00:04:54,920 Së fundi, ne bëjmë operacionet e thjeshta matematike, si ndarje, shumëzimit modulo. 73 00:04:54,920 --> 00:04:58,400 Pastaj Përveç kësaj, zbritja. 74 00:04:58,400 --> 00:05:02,170 Kjo është precendence. Unë jam Jordan Jozwiak, dhe kjo është CS50. 75 00:05:04,160 --> 00:05:10,480 Ne do dereference dhe të përdorni adresën dhe - si mendoni ju se fraza? 76 00:05:12,380 --> 00:05:13,190 Unë jam bërë. Rregull.