1 00:00:07,780 --> 00:00:10,540 [Powered by Google Translate] Precendence yw sut yr ydym yn ateb y cwestiwn, pa weithrediad rydym yn ei wneud yn gyntaf? 2 00:00:10,540 --> 00:00:14,250 P'un a datrys hafaliadau mathemateg neu linellau dosrannu o god cyfrifiadurol, 3 00:00:14,250 --> 00:00:17,230 mae yna reolau llym blaenoriaeth yr ydym yn cadw 4 00:00:17,230 --> 00:00:20,270 fel y gall yr holl gyfrifiaduron a phobl yn cael yr un canlyniad. 5 00:00:20,270 --> 00:00:24,710 >> Yn gyntaf, y rheol pwysicaf i'w gofio, yn enwedig yn profi nam, 6 00:00:24,710 --> 00:00:27,680 yw ein bod bob amser yn gweithio o'r cromfachau dyfnaf allanol. 7 00:00:27,680 --> 00:00:31,120 Gall defnyddio cromfachau ychwanegol fod yn dacteg debugging defnyddiol, 8 00:00:31,120 --> 00:00:34,640 ond nid yw'n arfer da i sbwriel eich cod gyda cromfachau diangen. 9 00:00:34,640 --> 00:00:38,220 Cymerwch yr amser i ddysgu weithredwr sylfaenol rheolau blaenoriaeth. 10 00:00:38,220 --> 00:00:42,450 >> Y rheol gyffredinol ail yw bod pan fydd gweithredwyr yn cael fater o flaenoriaeth gyfartal, 11 00:00:42,450 --> 00:00:44,820 rydych yn syml yn datrys o'r chwith i'r dde. 12 00:00:44,820 --> 00:00:47,690 Wrth ymdrin â cwestiwn syml yma i ni ddechrau gyda'r cromfachau, 13 00:00:47,690 --> 00:00:52,110 yna gwnewch lluosi a rhannu, ac yn olaf gwneud adio a thynnu. 14 00:00:52,110 --> 00:00:54,400 Lluosi a rhannu yn cael yr un flaenoriaeth, 15 00:00:54,400 --> 00:00:56,870 oherwydd eu bod yn eu hanfod yn perfformio yr un llawdriniaeth. 16 00:00:56,870 --> 00:01:00,880 Wedi'r cyfan is-adran yn syml luosi gan y gwrthdro o werth. 17 00:01:00,880 --> 00:01:04,300 Yn yr un modd, tynnu, yn syml, ychwanegu gwerth negyddol. 18 00:01:04,300 --> 00:01:06,150 >> Gadewch i ni wneud yn enghraifft. 19 00:01:14,470 --> 00:01:18,300 Yn dilyn y drefn flaenoriaeth, byddwn yn dechrau gyda'r cromfachau. Naw minws 1. 20 00:01:18,300 --> 00:01:23,410 Bydd hynny'n rhoi i ni 8. Yna, gallwn symud ymlaen at y rhannu a lluosi. 21 00:01:23,410 --> 00:01:27,450 Byddwn yn datrys o'r chwith i'r dde. Hynny 10 wedi'i rannu â 2 yw 5. 22 00:01:27,450 --> 00:01:31,290 Yr ydym ni 5 gwaith 8 yma, a fydd yn rhoi i ni 40. 23 00:01:33,230 --> 00:01:35,410 Yna, rydym yn symud ymlaen at y gorchymyn nesaf o flaenoriaeth. 24 00:01:35,410 --> 00:01:38,730 Felly, rydym yn gadael gyda 3 ynghyd â 40 minws 1. 25 00:01:42,400 --> 00:01:43,700 Unwaith eto, dim ond datrys chwith i'r dde, 26 00:01:43,700 --> 00:01:47,650 oherwydd mae blaenoriaeth gyfartal rhwng y adio a thynnu. 27 00:01:47,650 --> 00:01:51,510 Gallwn ddweud 3 yn ogystal â 40 yn 43, minws 1 yw 42. Dyna ein hateb. 28 00:01:53,920 --> 00:01:56,730 >> Mae 2 fath o weithredwyr a lleihau a cynyddiad; 29 00:01:56,730 --> 00:02:01,000 Mae'r ffurflen rhagddodiad a'r ffurflen ôl-ddodiad. 30 00:02:01,000 --> 00:02:06,130 Mae'r ffurflen ôl-ddodiad, i + +, yn cael ei ddefnyddio yn gyffredin i mewn ar gyfer dolenni, 31 00:02:06,130 --> 00:02:10,500 sy'n golygu bod y gwerth cyfredol yn cael ei ddefnyddio yn y mynegiant, ac yna mae'n cael ei cynyddran. 32 00:02:10,500 --> 00:02:14,240 Felly bydd gwerth yn unig yn wahanol y tro nesaf y newidyn yn cael ei ddefnyddio. 33 00:02:14,240 --> 00:02:17,910 Ar y llaw arall, y cynyddiad rhagddodiad neu lleihau a golygu bod y gwerth presennol 34 00:02:17,910 --> 00:02:22,760 yn cael ei cynyddran neu decremented gyntaf, ac yna mae'n cael ei ddefnyddio yn y mynegiant. 35 00:02:22,760 --> 00:02:25,310 >> Gadewch i ni gymryd enghraifft gyda'r x cyfanrif. 36 00:02:25,310 --> 00:02:27,220 Byddwn yn ei osod yn gyfartal i 5. 37 00:02:27,220 --> 00:02:36,500 Os defnyddiwn y gweithredwr ôl-ddodiad arno a dweud x + +, x ar y llinell hon yn dal i 5. 38 00:02:36,500 --> 00:02:39,230 Pe baem yn ei hargraffu byddem yn cael y gwerth 5. 39 00:02:39,230 --> 00:02:42,540 Ond fynd ffaith x1 ymlaen yn hafal i 6. 40 00:02:42,540 --> 00:02:48,770 Felly, i'r dde yma ar y llinell x yn hafal i 6, ac os ydym yn argraffu allan byddem yn cael y gwerth 6. 41 00:02:48,770 --> 00:02:57,380 Nawr, os defnyddiwyd y gweithredwr rhagddodiad, + + x, x yn cael ei cynyddran yn gyntaf, ac yna y gwerth yn cael ei ddefnyddio. 42 00:02:57,380 --> 00:03:00,110 Felly mae'n hafal i 7 ar y llinell hon. 43 00:03:00,110 --> 00:03:04,750 Incrementing o gwrs 6 i 7, a phe baem yn ei argraffu allan byddem yn cael y gwerth 7. 44 00:03:04,750 --> 00:03:09,160 >> Mae'r naws olaf yn precendence y byddwn yn edrych ar ymdrin â nodiant pwyntydd. 45 00:03:09,160 --> 00:03:15,050 Mae'r gweithredwr dereference seren, yn cael blaenoriaeth dros y gweithredwyr mathemateg sylfaenol, 46 00:03:15,050 --> 00:03:18,550 ond nid dros y incement ôl-ddodiad a gweithredwyr lleihau a. 47 00:03:18,550 --> 00:03:20,690 Hyn yn ein harwain at ein henghraifft terfynol. 48 00:03:20,690 --> 00:03:24,500 Gadewch i ni gymryd y x cyfanrif a'i osod gyfartal i 7. 49 00:03:24,500 --> 00:03:30,540 Byddwn hefyd yn gwneud y pwyntydd a'i osod gyfartal i gyfeiriad x. 50 00:03:30,540 --> 00:03:34,920 Felly, pan fyddwn yn y dereference dylem gael y gwerth 7. 51 00:03:34,920 --> 00:03:39,380 Nawr yn y llinell o god, mae gennym sefyllfa braidd yn amwys. 52 00:03:39,380 --> 00:03:44,310 A ydym yn dereferencing y gyntaf, ac yna incrementing gwerth 7? 53 00:03:44,310 --> 00:03:48,300 Neu a ydym yn incrementing y pwyntydd ac yna dereferencing ei? 54 00:03:48,300 --> 00:03:52,800 Yn wir, gan fod y gweithredwr ôl-ddodiad cynyddiad yn cael blaenoriaeth dros 55 00:03:52,800 --> 00:03:55,370 y gweithredwr dereference, rydym yn ceisio i gynnydd y pwyntydd y, 56 00:03:55,370 --> 00:03:59,170 a fyddai'n symud y pwyntydd yn ôl maint y bytes int. 57 00:03:59,170 --> 00:04:03,040 Yn y bôn gan roi i ni cyfeiriad mewn rhyw bwynt hollol wahanol er cof, 58 00:04:03,040 --> 00:04:05,010 ac yna rydym ni'n ei dereferencing. 59 00:04:05,010 --> 00:04:07,350 Felly, mae hyn yn llinell yn ddiystyr. 60 00:04:07,350 --> 00:04:10,250 Os ydym mewn gwirionedd yn awyddus i gynnydd gwerth 7, 61 00:04:10,250 --> 00:04:14,260 byddai'n rhaid i ni roi'r weithredwr dereference gyda 'y' mewn cromfachau. 62 00:04:14,260 --> 00:04:17,290 Yna gallem ei hicyn. 63 00:04:17,290 --> 00:04:21,089 Felly, er na fyddem yn incrementing y gwerth x gyda'r ail linell olaf o god, 64 00:04:21,089 --> 00:04:23,380 yn y llinell olaf o god byddem yn y dereference ddeud y gwir ry'n 65 00:04:23,380 --> 00:04:26,380 i gael y gwerth x ac codiad hynny. 66 00:04:26,380 --> 00:04:29,540 Byddem yn cael ei adael gyda'r gwerth x yn hafal i 8. 67 00:04:31,580 --> 00:04:33,580 >> Dyma ailadrodd cyflym o'r rheolau precendence yr ydym wedi sôn amdano. 68 00:04:33,580 --> 00:04:37,210 Byddwn yn dechrau gyda'r cromfachau dyfnaf ac yn gweithio allan. 69 00:04:37,210 --> 00:04:41,210 Yna, rydym yn symud ymlaen i weithredwyr ôl-ddodiad fel i + + neu i -. 70 00:04:41,210 --> 00:04:45,920 Yna dereference a chyfeiriad y gweithredwyr fel seren x neu ampersand x, 71 00:04:45,920 --> 00:04:50,260 a'r gweithredwyr rhagddodiad fel + + i neu - i. 72 00:04:50,260 --> 00:04:54,920 Yn olaf, rydym yn gwneud y gweithrediadau mathemateg syml fel, is-adran lluosi, modwlo. 73 00:04:54,920 --> 00:04:58,400 Yna adio, tynnu. 74 00:04:58,400 --> 00:05:02,170 Dyna precendence. Rwy'n Jordan Jozwiak, ac mae hyn yn CS50. 75 00:05:04,160 --> 00:05:10,480 Gallwn eich dereference a defnyddio'r cyfeiriad a - sut ydych chi'n ymadrodd hynny? 76 00:05:12,380 --> 00:05:13,190 Dwi'n ei wneud. Iawn.