1 00:00:07,780 --> 00:00:10,540 [Powered by Google Translate] Precendence, як мы адкажам на пытанне, якія аперацыі мы павінны зрабіць у першую чаргу? 2 00:00:10,540 --> 00:00:14,250 Калі рашэння матэматычных раўнанняў або разбору радкоў праграмнага кода, 3 00:00:14,250 --> 00:00:17,230 існуюць строгія правілы прыярытэту, да якога мы прытрымліваемся 4 00:00:17,230 --> 00:00:20,270 так што ўсе кампутары, і людзі могуць атрымаць той жа вынік. 5 00:00:20,270 --> 00:00:24,710 >> Па-першае, самае важнае правіла для запамінання, асабліва ў памылцы тэставання, 6 00:00:24,710 --> 00:00:27,680 з'яўляецца тое, што мы заўсёды працуем з унутранага дужкі вонкі. 7 00:00:27,680 --> 00:00:31,120 Выкарыстанне дадатковых круглых дужках можа быць карысным тактыка адладкі, 8 00:00:31,120 --> 00:00:34,640 але гэта не вельмі добрая практыка, каб смецце код з непатрэбнымі дужках. 9 00:00:34,640 --> 00:00:38,220 Выдаткуйце час, каб вывучыць асноўныя правілы прыярытэту аператараў. 10 00:00:38,220 --> 00:00:42,450 >> Другое агульнае правіла абвяшчае, што, калі аператары маюць роўныя priorty, 11 00:00:42,450 --> 00:00:44,820 Вы проста вырашыць злева направа. 12 00:00:44,820 --> 00:00:47,690 Калі маеш справу з простай матэматыцы мы пачынаем з дужках, 13 00:00:47,690 --> 00:00:52,110 затым выканаеце множанне і дзяленне, і, нарэшце, рабіць складанне і адніманне. 14 00:00:52,110 --> 00:00:54,400 Множанне і дзяленне маюць аднолькавы прыярытэт, 15 00:00:54,400 --> 00:00:56,870 таму што яны, па сутнасці выконваючы тую ж працу. 16 00:00:56,870 --> 00:01:00,880 Бо падзел проста множанне на адваротны значэнне. 17 00:01:00,880 --> 00:01:04,300 Сапраўды гэтак жа, адніманне проста дадаўшы адмоўнае значэнне. 18 00:01:04,300 --> 00:01:06,150 >> Давайце зробім прыклад. 19 00:01:14,470 --> 00:01:18,300 Пасля парадку чарговасці, мы пачнем з дужках. Дзевяць мінус 1. 20 00:01:18,300 --> 00:01:23,410 Гэта дасць нам 8. Тады мы можам перайсці да дзялення і размнажэння. 21 00:01:23,410 --> 00:01:27,450 Мы вырашым злева направа. Так 10 падзяліць на 2 роўна 5. 22 00:01:27,450 --> 00:01:31,290 У нас ёсць 5 разоў 8 тут, і гэта дасць нам 40. 23 00:01:33,230 --> 00:01:35,410 Затым мы пяройдзем да наступнага парадку старшынства. 24 00:01:35,410 --> 00:01:38,730 Такім чынам, мы пакінулі з 3 плюс 40 мінус 1. 25 00:01:42,400 --> 00:01:43,700 Зноў жа толькі рашэння злева направа, 26 00:01:43,700 --> 00:01:47,650 таму што ёсць роўны прыярытэт паміж складаннем і адніманнем. 27 00:01:47,650 --> 00:01:51,510 Мы можам сказаць 3 плюс 40 на 43, мінус 1, 42. Гэта наш адказ. 28 00:01:53,920 --> 00:01:56,730 >> Ёсць 2 тыпу декремент і інкрэмент; 29 00:01:56,730 --> 00:02:01,000 Прэфікс форме, і суфікс форме. 30 00:02:01,000 --> 00:02:06,130 Суфікс форме, я + +, шырока выкарыстоўваецца ў цыклы, 31 00:02:06,130 --> 00:02:10,500 Гэта азначае, што бягучае значэнне выкарыстоўваецца ў выразе, а затым яна павялічваецца. 32 00:02:10,500 --> 00:02:14,240 Такім чынам, кошт толькі будзе розным у наступны раз пераменная выкарыстоўваецца. 33 00:02:14,240 --> 00:02:17,910 З іншага боку, прырост або змяншэнне прэфікса азначае, што бягучае значэнне 34 00:02:17,910 --> 00:02:22,760 павялічваецца ці памяншаецца, а затым яна выкарыстоўваецца ў выразе. 35 00:02:22,760 --> 00:02:25,310 >> Давайце возьмем прыклад з цэлымі х. 36 00:02:25,310 --> 00:02:27,220 Мы усталюем яго роўным 5. 37 00:02:27,220 --> 00:02:36,500 Калі мы выкарыстоўваем суфікс аператара на ім і кажуць х + +, х на гэтай лініі яшчэ 5. 38 00:02:36,500 --> 00:02:39,230 Калі б мы маглі раздрукаваць яго, што мы атрымаем значэнне 5. 39 00:02:39,230 --> 00:02:42,540 Але ісці наперад факт x1 роўная 6. 40 00:02:42,540 --> 00:02:48,770 Так што прама тут, на гэтай лініі х роўная 6, і калі мы друкавалі яго мы атрымаем значэнне 6. 41 00:02:48,770 --> 00:02:57,380 Цяпер, калі мы выкарыстоўвалі прэфікс аператара, + + х, х павялічваецца, а затым выкарыстоўваецца значэнне. 42 00:02:57,380 --> 00:03:00,110 Так што роўна 7 на гэтай лініі. 43 00:03:00,110 --> 00:03:04,750 Інкрэмент, вядома, ад 6 да 7, і калі б мы павінны былі раздрукаваць яго, што мы атрымаем значэнне 7. 44 00:03:04,750 --> 00:03:09,160 >> Апошні нюанс у precendence, што мы будзем глядзець на справу з паказальнікам наймення. 45 00:03:09,160 --> 00:03:15,050 Аператар разнаймення, зорка, мае прыярытэт над асноўнымі аператарамі матэматыцы, 46 00:03:15,050 --> 00:03:18,550 , Але не больш за incement суфіксаў і декремента. 47 00:03:18,550 --> 00:03:20,690 Гэта прыводзіць нас да нашай канчатковай прыклад. 48 00:03:20,690 --> 00:03:24,500 Давайце возьмем лік х і ўсталяваць яго роўным 7. 49 00:03:24,500 --> 00:03:30,540 Мы таксама зрабіць паказальнік у і ўсталяваць яго роўным па адрасе х. 50 00:03:30,540 --> 00:03:34,920 Так што, калі мы разнаймення у мы павінны атрымаць значэнне 7. 51 00:03:34,920 --> 00:03:39,380 Цяпер у гэтай радку кода, у нас ёсць некалькі двухсэнсоўнай сітуацыі. 52 00:03:39,380 --> 00:03:44,310 Няўжо мы разнаймення ў першага, а затым павялічваючы значэнне 7? 53 00:03:44,310 --> 00:03:48,300 Ці мы прырашчэнне паказальніка, а затым разнаймення гэта? 54 00:03:48,300 --> 00:03:52,800 На самай справе, так як аператар суфікс прырост мае прыярытэт над 55 00:03:52,800 --> 00:03:55,370 разыменовать аператар, мы спрабуем павялічыць паказальнік у, 56 00:03:55,370 --> 00:03:59,170 які б перамясціць паказальнік па памеры Int байт. 57 00:03:59,170 --> 00:04:03,040 Па сутнасці дае нам адрас у некаторых зусім іншы кропкі ў памяці, 58 00:04:03,040 --> 00:04:05,010 а потым мы разнаймення яго. 59 00:04:05,010 --> 00:04:07,350 Так што гэта вельмі бессэнсоўныя лініі. 60 00:04:07,350 --> 00:04:10,250 Калі мы на самай справе хацелі павялічыць значэнне 7, 61 00:04:10,250 --> 00:04:14,260 мы павінны былі б паставіць аператар разнаймення з у ў дужках. 62 00:04:14,260 --> 00:04:17,290 Тады мы маглі б павялічыць яго. 63 00:04:17,290 --> 00:04:21,089 Такім чынам, хоць мы б не павялічваючы значэнне х з другога да апошняга радка кода, 64 00:04:21,089 --> 00:04:23,380 У апошняй радку кода мы б фактычна ў разнаймення 65 00:04:23,380 --> 00:04:26,380 каб атрымаць значэнне х і павялічваць гэта. 66 00:04:26,380 --> 00:04:29,540 Мы не застанецца значэнне х роўна 8. 67 00:04:31,580 --> 00:04:33,580 >> Вось кароткае рэзюмэ precendence правілы, пра якія мы гаварылі. 68 00:04:33,580 --> 00:04:37,210 Пачнем з самых ўнутраных дужак і працаваць вонкі. 69 00:04:37,210 --> 00:04:41,210 Затым мы пяройдзем да суфікс аператары, як я + +, ці я -. 70 00:04:41,210 --> 00:04:45,920 Тады разнаймення і адрас аператара, як зоркі х ці амперсанда х, 71 00:04:45,920 --> 00:04:50,260 і прэфікс аператары, такія як + + ці я - я. 72 00:04:50,260 --> 00:04:54,920 Нарэшце, мы робім простыя матэматычныя аперацыі, як множанне, дзяленне па модулю. 73 00:04:54,920 --> 00:04:58,400 Тады складанне, адніманне. 74 00:04:58,400 --> 00:05:02,170 Вось precendence. Я Іарданіі Jozwiak, і гэта CS50. 75 00:05:04,160 --> 00:05:10,480 Мы будзем разнаймення і выкарыстоўваць адрасы і - як вам фраза? 76 00:05:12,380 --> 00:05:13,190 Я зрабіў. Добра.