1 00:00:07,780 --> 00:00:10,540 [Powered by Google Translate] Precedència és com respondre a la pregunta, ¿quina operació hem de fer primer? 2 00:00:10,540 --> 00:00:14,250 Si la solució d'equacions matemàtiques o línies d'anàlisi de codi informàtic, 3 00:00:14,250 --> 00:00:17,230 hi ha regles estrictes de prioritat a què ens adherim 4 00:00:17,230 --> 00:00:20,270 per tal que tots els equips i les persones poden obtenir el mateix resultat. 5 00:00:20,270 --> 00:00:24,710 >> En primer lloc, la regla més important per recordar, sobretot en les proves d'error, 6 00:00:24,710 --> 00:00:27,680 és que sempre treballem des dels parèntesis exteriors més íntims. 7 00:00:27,680 --> 00:00:31,120 L'ús de parèntesi addicionals pot ser una tàctica útil de depuració, 8 00:00:31,120 --> 00:00:34,640 però no és una bona pràctica escombraries el seu codi amb parèntesis innecessaris. 9 00:00:34,640 --> 00:00:38,220 Prengui el temps per aprendre les regles bàsiques de l'operador de precedència. 10 00:00:38,220 --> 00:00:42,450 >> La segona regla general és que quan els operadors tenen PRIORITÀRIES iguals, 11 00:00:42,450 --> 00:00:44,820 només ha de resoldre d'esquerra a dreta. 12 00:00:44,820 --> 00:00:47,690 Quan es tracta de simples matemàtiques comencem amb parèntesi, 13 00:00:47,690 --> 00:00:52,110 després fer la multiplicació i la divisió, i finalment fer la suma i la resta. 14 00:00:52,110 --> 00:00:54,400 La multiplicació i la divisió tenen la mateixa prioritat, 15 00:00:54,400 --> 00:00:56,870 perquè són essencialment realitzant la mateixa operació. 16 00:00:56,870 --> 00:01:00,880 Després de tot divisió és simplement multiplicant pel invers d'un valor. 17 00:01:00,880 --> 00:01:04,300 De manera similar, es resta simple addició d'un valor negatiu. 18 00:01:04,300 --> 00:01:06,150 >> Anem a fer un exemple. 19 00:01:14,470 --> 00:01:18,300 Seguint l'ordre de precedència, anem a començar amb els parèntesis. Nou menys 1. 20 00:01:18,300 --> 00:01:23,410 Això ens donarà 8. Llavors podem passar a la divisió i la multiplicació. 21 00:01:23,410 --> 00:01:27,450 Anem a resoldre d'esquerra a dreta. Així que 10 dividit per 2 és 5. 22 00:01:27,450 --> 00:01:31,290 Tenim 5 vegades 8 aquí, i això ens donarà 40. 23 00:01:33,230 --> 00:01:35,410 A continuació, passem a la següent ordre de precedència. 24 00:01:35,410 --> 00:01:38,730 Així que ens quedem amb 3 més 40 menys 1. 25 00:01:42,400 --> 00:01:43,700 Un cop més només la solució d'esquerra a dreta, 26 00:01:43,700 --> 00:01:47,650 perquè no és la mateixa prioritat entre la suma i la resta. 27 00:01:47,650 --> 00:01:51,510 Podem dir 3 més 40 és 43, menys 1 és 42. Aquesta és la nostra resposta. 28 00:01:53,920 --> 00:01:56,730 >> Hi ha 2 tipus d'operadors decrement i increment; 29 00:01:56,730 --> 00:02:01,000 La forma de prefix, sufix i la forma. 30 00:02:01,000 --> 00:02:06,130 La forma de sufix, i + +, s'utilitza comunament en els bucles, 31 00:02:06,130 --> 00:02:10,500 el que significa que el valor actual s'utilitza en l'expressió, i després s'incrementa. 32 00:02:10,500 --> 00:02:14,240 Així únic valor serà diferent la propera vegada que s'utilitza la variable. 33 00:02:14,240 --> 00:02:17,910 D'altra banda, el prefix d'increment o decrement significa que el valor actual 34 00:02:17,910 --> 00:02:22,760 s'incrementa o decrementa primer, i després s'utilitza en l'expressió. 35 00:02:22,760 --> 00:02:25,310 >> Vegem un exemple amb el sencer x. 36 00:02:25,310 --> 00:02:27,220 Anem a posar igual a 5. 37 00:02:27,220 --> 00:02:36,500 Si utilitzem l'operador de sufix-hi i dir x + +, x en aquesta línia és encara 5. 38 00:02:36,500 --> 00:02:39,230 Si haguéssim de imprimir obtindríem el valor 5. 39 00:02:39,230 --> 00:02:42,540 Però anar cap endavant fet x1 és igual a 6. 40 00:02:42,540 --> 00:02:48,770 Així que aquí, en aquesta línia x és igual a 6, i si ho imprimeix obtindríem el valor 6. 41 00:02:48,770 --> 00:02:57,380 Ara bé, si s'utilitza l'operador de prefix, + + x, x s'incrementa primer, i després el valor s'utilitza. 42 00:02:57,380 --> 00:03:00,110 Així que és igual a 7 en aquesta línia. 43 00:03:00,110 --> 00:03:04,750 Increment de curs de 6 a 7, i si haguéssim de imprimir obtindríem el valor 7. 44 00:03:04,750 --> 00:03:09,160 >> El matís últim en precedència que veurem s'ocupa de notació punter. 45 00:03:09,160 --> 00:03:15,050 L'operador d'indirecció, estrella, té prioritat sobre els operadors matemàtics bàsics, 46 00:03:15,050 --> 00:03:18,550 però no en la incement sufix i els operadors de decrement. 47 00:03:18,550 --> 00:03:20,690 Això ens porta al nostre últim exemple. 48 00:03:20,690 --> 00:03:24,500 Prenguem el sencer x i posar igual a 7. 49 00:03:24,500 --> 00:03:30,540 També farem una i punter i el va posar igual a la direcció de x. 50 00:03:30,540 --> 00:03:34,920 Així que quan i eliminar la referència que hem d'obtenir el valor 7. 51 00:03:34,920 --> 00:03:39,380 Ara, en aquesta línia de codi, tenim una situació una mica ambigua. 52 00:03:39,380 --> 00:03:44,310 Estem dereferencing i primer, i després incrementar el valor 7? 53 00:03:44,310 --> 00:03:48,300 O estem incrementant el punter i després dereferencing ell? 54 00:03:48,300 --> 00:03:52,800 De fet, pel fet que l'operador d'increment sufix té prioritat sobre 55 00:03:52,800 --> 00:03:55,370 l'operador d'indirecció, estem tractant d'incrementar el punter i, 56 00:03:55,370 --> 00:03:59,170 de moure el punter per la grandària de bytes int. 57 00:03:59,170 --> 00:04:03,040 Essencialment ens dóna una adreça en algun moment completament diferent a la memòria, 58 00:04:03,040 --> 00:04:05,010 i llavors ho estem eliminació de referències. 59 00:04:05,010 --> 00:04:07,350 Així que aquesta és la línia de molt sentit. 60 00:04:07,350 --> 00:04:10,250 Si realment volia incrementar el valor de 7, 61 00:04:10,250 --> 00:04:14,260 hauríem de posar l'operador per desfer referències amb i entre parèntesis. 62 00:04:14,260 --> 00:04:17,290 Llavors podríem incrementar. 63 00:04:17,290 --> 00:04:21,089 Així que mentre no ens incrementant el valor de x amb la segona a l'última línia de codi, 64 00:04:21,089 --> 00:04:23,380 en l'última línia de codi que faria i de fet dereference 65 00:04:23,380 --> 00:04:26,380 per obtenir el valor de x i incrementar això. 66 00:04:26,380 --> 00:04:29,540 Ens quedaríem amb el valor de x és igual a 8. 67 00:04:31,580 --> 00:04:33,580 >> Heus aquí un resum ràpid de les regles de precedència que hem parlat. 68 00:04:33,580 --> 00:04:37,210 Anem a començar amb els parèntesis més interns i treballar cap a fora. 69 00:04:37,210 --> 00:04:41,210 Després passem als operadors de sufix com i + + o i -. 70 00:04:41,210 --> 00:04:45,920 A continuació, eliminar la referència i la direcció dels operadors com estrella xo x ampersand, 71 00:04:45,920 --> 00:04:50,260 i els operadors de prefix, com i + + o - i. 72 00:04:50,260 --> 00:04:54,920 Finalment fem les operacions matemàtiques senzilles, com la multiplicació, divisió, mòdul. 73 00:04:54,920 --> 00:04:58,400 Llavors la suma, resta. 74 00:04:58,400 --> 00:05:02,170 És precedència. Sóc Jordan Jozwiak, i això és CS50. 75 00:05:04,160 --> 00:05:10,480 Farem dereference i adreceu i - com fer que la frase? 76 00:05:12,380 --> 00:05:13,190 Ja he acabat. Bé.