1 00:00:07,780 --> 00:00:10,540 [Powered by Google Translate] Precendence ni jinsi sisi kujibu swali, nini tunapaswa kufanya operesheni ya kwanza? 2 00:00:10,540 --> 00:00:14,250 Kama kutatua equations math au mistari parsing wa code kompyuta, 3 00:00:14,250 --> 00:00:17,230 kuna sheria kali ya precedence ambayo sisi kuambatana 4 00:00:17,230 --> 00:00:20,270 ili wote kompyuta na watu wanaweza kupata matokeo sawa. 5 00:00:20,270 --> 00:00:24,710 >> Kwanza mbali, utawala muhimu kukumbuka, hasa katika kupima mdudu, 6 00:00:24,710 --> 00:00:27,680 ni kwamba sisi daima kazi kutoka mabano ndani nje. 7 00:00:27,680 --> 00:00:31,120 Kutumia mabano ziada inaweza kusaidia debugging mbinu, 8 00:00:31,120 --> 00:00:34,640 lakini siyo vizuri mazoezi ya takataka code yako kwa mabano unneeded. 9 00:00:34,640 --> 00:00:38,220 Kuchukua muda kujifunza msingi operator sheria ya kuendelezwa. 10 00:00:38,220 --> 00:00:42,450 >> pili kanuni ya jumla ni kwamba wakati waendeshaji kuwa priorty sawa, 11 00:00:42,450 --> 00:00:44,820 wewe tu kutatua kutoka kushoto kwenda kulia. 12 00:00:44,820 --> 00:00:47,690 Wakati wa kushughulika na math rahisi sisi kuanza na mabano, 13 00:00:47,690 --> 00:00:52,110 kisha kufanya kuzidisha na kugawanya, na mwishowe kufanya kujumlisha na kutoa. 14 00:00:52,110 --> 00:00:54,400 Kuzidisha na kugawanya kuwa na kipaumbele huo, 15 00:00:54,400 --> 00:00:56,870 kwa sababu wao ni kimsingi kufanya operesheni moja. 16 00:00:56,870 --> 00:01:00,880 Baada ya mgawanyiko wote ni tu kuzidisha na Inverse ya thamani. 17 00:01:00,880 --> 00:01:04,300 Vile vile, utoaji ni tu kuongeza thamani hasi. 18 00:01:04,300 --> 00:01:06,150 >> Hebu kufanya mfano. 19 00:01:14,470 --> 00:01:18,300 Kufuatia amri ya precedence, tutaweza kuanza na mabano. Tisa minus 1. 20 00:01:18,300 --> 00:01:23,410 Hiyo itatupa 8. Kisha tunaweza kuendelea na mgawanyiko na kuzidisha. 21 00:01:23,410 --> 00:01:27,450 Tutaweza kutatua kutoka kushoto kwenda kulia. Hivyo 10 kugawanywa na 2 ni 5. 22 00:01:27,450 --> 00:01:31,290 Tuna mara 5 8 hapa, na kwamba atatupa 40. 23 00:01:33,230 --> 00:01:35,410 Kisha sisi kuendelea na utaratibu ijayo ya kuendelezwa. 24 00:01:35,410 --> 00:01:38,730 Hivyo sisi ni wa kushoto na 3 plus minus 40 1. 25 00:01:42,400 --> 00:01:43,700 Tena tu kutatua kushoto na kulia, 26 00:01:43,700 --> 00:01:47,650 sababu kuna sawa kipaumbele kati ya kujumlisha na kutoa. 27 00:01:47,650 --> 00:01:51,510 Tunaweza kusema 3 plus 40 ni 43, minus 1 ni 42. Hiyo ni jibu letu. 28 00:01:53,920 --> 00:01:56,730 >> Kuna aina 2 ya kampuni za pungufu na increment; 29 00:01:56,730 --> 00:02:01,000 fomu kiambishi awali, na fomu suffix. 30 00:02:01,000 --> 00:02:06,130 fomu suffix, i + +, ni kawaida kutumika katika kwa tanzi, 31 00:02:06,130 --> 00:02:10,500 ambayo ina maana kwamba thamani ya sasa ni kutumika katika kujieleza, na kisha ni incremented. 32 00:02:10,500 --> 00:02:14,240 Hivyo thamani itakuwa tu tofauti wakati ujao variable ni kutumika. 33 00:02:14,240 --> 00:02:17,910 Kwa upande mwingine, increment kiambishi awali au pungufu ina maana kwamba thamani ya sasa ya 34 00:02:17,910 --> 00:02:22,760 ni incremented au decremented kwanza, na kisha ni kutumika katika kujieleza. 35 00:02:22,760 --> 00:02:25,310 >> Hebu chukua mfano kwa x integer. 36 00:02:25,310 --> 00:02:27,220 Tutaweza kuliweka sawa na 5. 37 00:02:27,220 --> 00:02:36,500 Kama sisi kutumia operator suffix juu yake na kusema x + +, x juu ya mstari huu ni bado 5. 38 00:02:36,500 --> 00:02:39,230 Kama tulikuwa na magazeti ni nje tunataka kupata thamani 5. 39 00:02:39,230 --> 00:02:42,540 Lakini kwenda mbele x1 ukweli sawa na 6. 40 00:02:42,540 --> 00:02:48,770 Hivyo haki hapa kwenye x line hii ni sawa na 6, na kama sisi kuchapishwa nje tunataka kupata thamani 6. 41 00:02:48,770 --> 00:02:57,380 Sasa kama sisi kutumika operator kiambishi awali, + + x, x ni incremented kwanza, na kisha thamani ni kutumika. 42 00:02:57,380 --> 00:03:00,110 Hivyo ni sawa na 7 juu ya mstari huu. 43 00:03:00,110 --> 00:03:04,750 Incrementing bila shaka 6-7, na kama tulikuwa na magazeti ni nje tunataka kupata thamani 7. 44 00:03:04,750 --> 00:03:09,160 >> nuance mwisho katika precendence kwamba tutaangalia mikataba na nukuu pointer. 45 00:03:09,160 --> 00:03:15,050 operator dereference, nyota, ina kipaumbele juu ya waendeshaji msingi math, 46 00:03:15,050 --> 00:03:18,550 lakini si zaidi ya incement suffix na waendeshaji pungufu. 47 00:03:18,550 --> 00:03:20,690 Hii imesababisha sisi mfano wetu wa mwisho. 48 00:03:20,690 --> 00:03:24,500 Hebu x integer na kuliweka sawa na 7. 49 00:03:24,500 --> 00:03:30,540 Tutaweza pia kufanya y pointer na kuliweka sawa na anuani ya x. 50 00:03:30,540 --> 00:03:34,920 Hivyo kwamba wakati sisi dereference y tunapaswa kupata thamani 7. 51 00:03:34,920 --> 00:03:39,380 Sasa katika mstari wa kanuni, tuna hali fulani utata. 52 00:03:39,380 --> 00:03:44,310 Je, sisi dereferencing y kwanza, na kisha incrementing thamani 7? 53 00:03:44,310 --> 00:03:48,300 Au ni sisi incrementing pointer na kisha dereferencing yake? 54 00:03:48,300 --> 00:03:52,800 Kwa kweli, kwa sababu increment suffix operator ina precedence juu ya 55 00:03:52,800 --> 00:03:55,370 operator dereference, sisi ni kujaribu increment y pointer, 56 00:03:55,370 --> 00:03:59,170 ambayo itakuwa hoja pointer na ukubwa wa ka int. 57 00:03:59,170 --> 00:04:03,040 Kimsingi, akitupa anwani katika baadhi ya uhakika tofauti kabisa katika kumbukumbu, 58 00:04:03,040 --> 00:04:05,010 na kisha sisi ni dereferencing yake. 59 00:04:05,010 --> 00:04:07,350 Hivyo hii ni sana maana mstari. 60 00:04:07,350 --> 00:04:10,250 Kama sisi kweli alitaka increment thamani ya 7, 61 00:04:10,250 --> 00:04:14,260 sisi ingekuwa kuweka operator dereference na y katika mabano. 62 00:04:14,260 --> 00:04:17,290 Kisha tunaweza increment yake. 63 00:04:17,290 --> 00:04:21,089 Hivyo wakati sisi isingekuwa incrementing x thamani na ya pili mstari wa mwisho wa code, 64 00:04:21,089 --> 00:04:23,380 katika mstari wa mwisho wa code tunataka infact dereference y 65 00:04:23,380 --> 00:04:26,380 kupata x thamani na increment kwamba. 66 00:04:26,380 --> 00:04:29,540 Tutakuwa kushoto na thamani sawa na x 8. 67 00:04:31,580 --> 00:04:33,580 >> Hapa ni recap ya haraka ya sheria precendence kwamba tumekuwa kuzungumzwa. 68 00:04:33,580 --> 00:04:37,210 Tutaweza kuanza na mabano ndani na kazi nje. 69 00:04:37,210 --> 00:04:41,210 Kisha sisi hoja juu ya suffix operators kama i + + au i -. 70 00:04:41,210 --> 00:04:45,920 Kisha dereference na anuani ya kampuni kama nyota x au ampersand x, 71 00:04:45,920 --> 00:04:50,260 na waendeshaji kiambishi awali kama + + i au - i. 72 00:04:50,260 --> 00:04:54,920 Hatimaye sisi kufanya shughuli rahisi math kama mgawanyiko kuzidisha,, modulo. 73 00:04:54,920 --> 00:04:58,400 Kisha Aidha, kutoa. 74 00:04:58,400 --> 00:05:02,170 Hiyo precendence. Mimi nina Jordan Jozwiak, na hii ni CS50. 75 00:05:04,160 --> 00:05:10,480 Tutaweza dereference na kutumia anwani na - jinsi ya kufanya wewe maneno ya kwamba? 76 00:05:12,380 --> 00:05:13,190 Mimi nina kufanyika. Sawa.