[Powered by Google Translate] Precendence is hoe ons die vraag te beantwoord, wat moet operasie het ons eerste te doen?
Of die oplossing van wiskunde vergelykings of pars eer van reëls van die rekenaar kode,
Daar is streng reëls van die voorrang wat ons hou
sodat al die rekenaars en mense kan dieselfde resultaat kry.
>> Eerstens, die belangrikste reël om te onthou, veral in bug toets,
is dat ons altyd werk van die binneste hakies uiterlike.
Ekstra hakies gebruik kan 'n nuttige debugging taktiek,
maar dit is nie goeie praktyk om jou kode met onnodige hakies te rommel.
Neem die tyd om basiese operateur voorrang reëls te leer.
>> Die tweede algemene reël is dat wanneer operateurs het 'n gelyke priorty,
jy net los van links na regs.
Wanneer die hantering met 'n eenvoudige wiskunde begin ons met hakies,
dan doen vermenigvuldiging en deling, en laastens doen optelling en aftrekking.
Vermenigvuldiging en deling het dieselfde prioriteit,
want dit is in wese die uitvoering van die dieselfde operasie.
Na al die afdeling is eenvoudig vermenigvuldig met die inverse van 'n waarde.
Net so, aftrek is eenvoudig 'n negatiewe waarde.
>> Kom ons doen 'n voorbeeld.
Na aanleiding van die rangorde, sal ons begin met die hakies. Nege minus 1.
Dit sal ons 8. Dan kan ons aanbeweeg na die verdeling en vermenigvuldiging.
Ons sal oplos van links na regs. So 10 gedeel deur 2 is 5.
Ons het 5 keer 8 hier is, en dat ons sal gee 40.
Dan beweeg ons op die volgende rangorde.
Sodat ons links met 3 plus 40 minus 1.
Weer net die oplossing van links na regs,
want daar is gelyke prioriteit tussen die optelling en aftrekking.
Ons kan sê 3 plus 40 is 43 minus 1 is 42. Dit is ons antwoord.
>> Daar is 2 tipes van decrement en inkrement operateurs;
Die voorvoegsel vorm, en die agtervoegsel vorm.
Die agtervoegsel vorm, i + +, word algemeen gebruik vir loops,
wat beteken dat die huidige waarde gebruik in die uitdrukking, en dan is dit geïnkrementeer.
So waarde sal net anders wees die volgende keer die veranderlike is gebruik.
Aan die ander kant, die voorvoegsel inkrement of decrement beteken dat die huidige waarde
geïnkrementeer of decremented eerste, en dan is dit gebruik in die uitdrukking.
>> Kom ons neem 'n voorbeeld met die integer x.
Ons sal dit gelyk is aan 5.
As ons die agtervoegsel-operateur gebruik dit en sê x + +, x op hierdie lyn is nog steeds 5.
As ons dit uit te druk wat ons sou kry die waarde 5.
Maar vorentoe x1 feit is gelyk aan 6.
So reg hier op hierdie lyn x is gelyk aan 6, en as ons druk dit uit, ons sal die waarde kry 6.
Nou as ons gebruik die voorvoegsel operateur + + x, x is geïnkrementeer eerste, en dan die waarde word gebruik.
So dit is gelyk aan 7 op hierdie reël.
Verhoog van kursus 6 tot 7, en as ons dit uit te druk, sou ons die waarde 7.
>> Die laaste nuanse in precendence dat ons sal kyk na handel met pointer notasie.
Die dereference operateur, ster, het voorrang bo basiese wiskunde-operateurs,
maar nie oor die agtervoegsel incement en decrement operateurs.
Dit lei ons na ons laaste voorbeeld.
Kom ons neem die integer x en stel dit gelyk aan 7.
Ons sal ook 'n pointer y en stel dit gelyk aan die adres van x.
Sodat wanneer ons dereference y ons moet die waarde 7.
Nou, ons het in hierdie lyn van die kode 'n ietwat dubbelsinnige situasie.
Is ons ontwysing y 1, en dan die verhoog van die waarde 7?
Of is ons die verhoog van die wyser en dan ontwysing dit?
In werklikheid, omdat die agtervoegsel inkrement operateur het voorrang bo
dereference operateur, ons probeer om die wyser y te inkrementeer,
wat sou die wyser beweeg deur grootte van int bytes.
Wese gee vir ons 'n adres in sommige heeltemal ander punt in die geheue,
en dan is ons ontwysing.
So dit is baie betekenisloos lyn.
As ons wou eintlik die waarde van 7 inkrementeer,
ons wil hê dat die dereference operateur met y in hakies te sit.
Dan kan ons dit inkrementeer.
Dus, terwyl ons nie verhoog van die waarde x met die tweede tot die laaste reël van die kode,
in die laaste reël van die kode wat ons sou INFACT dereference y
die waarde x te kry en inkrementeer dat.
Ons sal gelaat word met die waarde van x is gelyk aan 8.
>> Hier is 'n vinnige recap van die precendence reëls wat ons het gepraat oor.
Ons sal begin met die binneste hakies en werk na buite.
Dan beweeg ons op agtervoegsel operateurs soos ek + + of i -.
Toe het dereference en adres van operateurs soos Star x of ampersand x,
en die voorvoegsel operateurs soos + + i of - i.
Ten slotte het ons die eenvoudige wiskunde bedrywighede soos vermenigvuldiging, deling, modulo doen.
Dan optel, aftrek.
Dis precendence. Ek is Jordan Jozwiak, en dit is CS50.
Ons sal dereference en gebruik die adres en hoe doen jy frase wat?
Ek gedoen het. Okay.