1 00:00:07,780 --> 00:00:10,540 [Powered by Google Translate] Precendence je, jak jsme odpovědět na otázku, jak by měla operace měli udělat jako první? 2 00:00:10,540 --> 00:00:14,250 Ať řešení matematických rovnic nebo při zpracovávání řádků počítačového kódu, 3 00:00:14,250 --> 00:00:17,230 existují přísná pravidla přednosti, na které se řídíme 4 00:00:17,230 --> 00:00:20,270 tak, aby všechny počítače a lidé mohou získat stejný výsledek. 5 00:00:20,270 --> 00:00:24,710 >> Za prvé, nejdůležitější pravidlo na paměti, obzvláště v hlášení testování, 6 00:00:24,710 --> 00:00:27,680 je to, že jsme se vždy pracovat od nejniternějších závorkách vnější. 7 00:00:27,680 --> 00:00:31,120 Pomocí fotku závorek může být užitečné ladění taktika, 8 00:00:31,120 --> 00:00:34,640 ale to není dobré praxe vrhu kódu s nepotřebných závorkách. 9 00:00:34,640 --> 00:00:38,220 Udělejte si čas naučit se základní priority operátorů pravidla. 10 00:00:38,220 --> 00:00:42,450 >> Druhý Obecným pravidlem je, že pokud provozovatelé mají stejnou PRIORITNÍCH, 11 00:00:42,450 --> 00:00:44,820 jednoduše vyřešit zleva doprava. 12 00:00:44,820 --> 00:00:47,690 Pokud se jedná o jednoduchou matematikou začneme se závorkami, 13 00:00:47,690 --> 00:00:52,110 pak dělat násobení a dělení, a konečně to sčítání a odčítání. 14 00:00:52,110 --> 00:00:54,400 Násobení a dělení mají stejnou prioritu, 15 00:00:54,400 --> 00:00:56,870 protože jsou v podstatě provádí stejné operace. 16 00:00:56,870 --> 00:01:00,880 Po tom všem, rozdělení je jednoduše vynásobením inverzní hodnoty. 17 00:01:00,880 --> 00:01:04,300 Podobně, odčítání je pouhým přidáním záporné hodnoty. 18 00:01:04,300 --> 00:01:06,150 >> Pojďme udělat příklad. 19 00:01:14,470 --> 00:01:18,300 Po pořadí, začneme s závorkách. Devět minus 1. 20 00:01:18,300 --> 00:01:23,410 To nám dá 8. Pak můžeme přejít k rozdělení a násobení. 21 00:01:23,410 --> 00:01:27,450 Budeme řešit zleva doprava. Tak 10 děleno 2 je 5. 22 00:01:27,450 --> 00:01:31,290 Máme 5 krát 8 tady, a že nám dá 40. 23 00:01:33,230 --> 00:01:35,410 Pak se přesuneme na další pořadí. 24 00:01:35,410 --> 00:01:38,730 Takže jsme opustili s 3 plus 40 minus 1. 25 00:01:42,400 --> 00:01:43,700 Opět jen řešení zleva doprava, 26 00:01:43,700 --> 00:01:47,650 protože tam je stejná priorita mezi sčítání a odčítání. 27 00:01:47,650 --> 00:01:51,510 Dá se říci, 3 plus 40 je 43, minus 1 je 42. To je naše odpověď. 28 00:01:53,920 --> 00:01:56,730 >> K dispozici jsou 2 typy Decrement a přírůstek subjekty; 29 00:01:56,730 --> 00:02:01,000 Prefix forma, a přípona formulář. 30 00:02:01,000 --> 00:02:06,130 Přípona forma, i + +, se běžně používá v pro smyčky, 31 00:02:06,130 --> 00:02:10,500 , což znamená, že se hodnota proudu je používán ve výrazu, a pak se zvýší. 32 00:02:10,500 --> 00:02:14,240 Takže hodnota bude pouze lišit příště proměnná je použita. 33 00:02:14,240 --> 00:02:17,910 Na druhé straně, prefix zvýšení nebo snížení znamená, že hodnota proudu 34 00:02:17,910 --> 00:02:22,760 je zvyšovat nebo snižovat první, a pak se používá ve výrazu. 35 00:02:22,760 --> 00:02:25,310 >> Vezměme si příklad s celočíselným x. 36 00:02:25,310 --> 00:02:27,220 Budeme nastavte výši 5. 37 00:02:27,220 --> 00:02:36,500 Pokud budeme používat příponu operátora na něj a řekl x + +, x na tomto řádku je stále 5. 38 00:02:36,500 --> 00:02:39,230 Pokud bychom měli ji vytisknout bychom si hodnotu 5. 39 00:02:39,230 --> 00:02:42,540 Ale jít vpřed x1 skutečnost se rovná 6. 40 00:02:42,540 --> 00:02:48,770 Tak tady na tomto řádku je x rovno 6, a pokud jsme si vytiskli to bychom se dostali hodnotu 6. 41 00:02:48,770 --> 00:02:57,380 Nyní, když se používá prefix operátor, + + x, x je zvýšen a teprve potom se hodnota se používá. 42 00:02:57,380 --> 00:03:00,110 Takže je to rovna 7 na této lince. 43 00:03:00,110 --> 00:03:04,750 Zvyšování samozřejmě 6-7, a když jsme byli ji vytisknout bychom získat hodnotu 7. 44 00:03:04,750 --> 00:03:09,160 >> Poslední nuance v precendence, že se podíváme na městě s ukazatelem zápisu. 45 00:03:09,160 --> 00:03:15,050 The dereference Provozovatel, hvězda, má přednost před základní matematické operátory, 46 00:03:15,050 --> 00:03:18,550 ale ne nad příponou incement a dekrementační operátory. 47 00:03:18,550 --> 00:03:20,690 To nás vede k naší poslední příklad. 48 00:03:20,690 --> 00:03:24,500 Vezměme si integer x, a nastavte ji na hodnotu 7. 49 00:03:24,500 --> 00:03:30,540 Budeme také ukazovacího y a nastavte ji rovno na adresu x. 50 00:03:30,540 --> 00:03:34,920 Takže když jsme dereference y bychom se měli dostat hodnotu 7. 51 00:03:34,920 --> 00:03:39,380 Nyní v tomto řádku kódu, máme poněkud nejasnou situaci. 52 00:03:39,380 --> 00:03:44,310 Jsme dereferencing y první, a pak navýšením hodnoty 7? 53 00:03:44,310 --> 00:03:48,300 Nebo jsme zvyšování ukazatel a pak dereferencing to? 54 00:03:48,300 --> 00:03:52,800 Ve skutečnosti, protože přípona přírůstek operátor má přednost před 55 00:03:52,800 --> 00:03:55,370 dereference provozovatel, jsme snaží zvýšit ukazatele y, 56 00:03:55,370 --> 00:03:59,170 které by přesuňte ukazatel podle velikosti int bajtů. 57 00:03:59,170 --> 00:04:03,040 V podstatě nám dává adresu v nějakém úplně jiném místě v paměti, 58 00:04:03,040 --> 00:04:05,010 a pak jsme dereferencing to. 59 00:04:05,010 --> 00:04:07,350 Takže je to velmi bezvýznamné line. 60 00:04:07,350 --> 00:04:10,250 Pokud bychom skutečně chtěli zvýšit hodnotu 7, 61 00:04:10,250 --> 00:04:14,260 budeme muset dát dereference provozovateli y v závorkách. 62 00:04:14,260 --> 00:04:17,290 Pak bychom se mohli zvyšovat ji. 63 00:04:17,290 --> 00:04:21,089 Takže zatímco bychom se zvyšování hodnotu x s ​​Druhý až poslední řádek kódu, 64 00:04:21,089 --> 00:04:23,380 v posledním řádku kódu bychom infact dereference y 65 00:04:23,380 --> 00:04:26,380 získat hodnotu x a zvýšíte, že. 66 00:04:26,380 --> 00:04:29,540 Rádi bychom zůstat s hodnotou x se rovná 8. 67 00:04:31,580 --> 00:04:33,580 >> Zde je rychlý rekapitulace precendence pravidel, která jsme mluvili. 68 00:04:33,580 --> 00:04:37,210 Začneme s nejvnitřnějších závorek a práce ven. 69 00:04:37,210 --> 00:04:41,210 Pak jsme přejít na přípony subjektům, jako i + + nebo i -. 70 00:04:41,210 --> 00:04:45,920 Pak dereference a adresa subjektů, jako je star x nebo ampersand ax, 71 00:04:45,920 --> 00:04:50,260 a prefix subjekty, jako je + + i nebo - I. 72 00:04:50,260 --> 00:04:54,920 Nakonec jsme to jednoduché matematické operace jako násobení, dělení, modulo. 73 00:04:54,920 --> 00:04:58,400 Pak sčítání, odčítání. 74 00:04:58,400 --> 00:05:02,170 To je precendence. Jsem Jordan Jozwiak, a to je CS50. 75 00:05:04,160 --> 00:05:10,480 Budeme dereference a použijte adresu a - jak se vám frázi, že? 76 00:05:12,380 --> 00:05:13,190 Skončil jsem. Dobře.