>> [Zenelejátszási]
>> DOUG LLOYD: Szia, úgyhogy beszélni szereplők C.
Szóval, már láttam egyet, sőt, megegyezik az értékadó operátor.
Ez lehetővé teszi számunkra, hogy csak fel egy értéket a változó.
Ez a feladat üzemeltetője, egy egyenlőségjel.
Annak érdekében, hogy manipulálják és munka értékekkel és változók a C,
van a piaci szereplők a rendelkezésünkre áll, hogy tudjuk használni.
Vessünk egy pillantást néhány közös jellemző,
kezdve számtani műveletekkel.
Amint az várható, amit tehetünk, elég alap matematikai műveletek C.
Mi lehet összeadni, kivonni, szorozni, és szakadék számok segítségével plusz, mínusz, csillag,
és slash, ill.
Itt egy pár sornyi kódot, amit csinálni.
Szóval, van int x = y + 1.
Tegyük fel, hogy valahol fönt ezt a kódsort
azt mondta int y = 10.
Mi az x értékét, miután végre ez első sorban a kódot?
Azt mondtad, 11?
Az ember azt jobb.
Miert van az?
Nos, y volt 10.
Néhány mondok int x = 10 plusz 1.
10 plusz 1 11.
Igen, az érték 11 lesz változóban tárolt x.
Nem is rossz, ugye?
>> Mit szólsz ehhez következő sor kód? x = x-szer 5.
Nos, mielőtt kivégezték ezt a kódsort, x 11 éves volt.
Szóval, mi az értéke x után ezt a kódsort?
Vegyünk egy pillanatra.
Szóval, x = x-szer 5.
x 11 éves volt.
Szóval, x = 11-szer 5.
Vagy 55.
Tehát, ha azt mondta 55, igazad van.
>> Most lehet, hogy egy kicsit zavaró, de az, ahogyan a feladatot működik C
ez az érték a jobb lesz rendelt érték a bal oldalon.
Tehát először értékeljük x-szer 5.
Szóval, 11-szer 5 55.
És akkor mi tároljuk, hogy értéket x.
A 11, hogy ott volt előtt most felülírja.
Tehát x értéke most 55.
Remélhetőleg ez meglehetősen egyszerű.
>> Van egy másik üzemben, hogy már Valószínűleg nem feltétlenül hallottam
hívják ezt, de akkor már természetesen dolgozott a múltban
ha eszébe jut a napok hosszú divízió módon vissza az iskolában.
Úgy hívják operátorról.
Mit csinál ez modulus megadja neked a fennmaradó
felosztásakor két szám együttesen.
Tehát, ha azt mondom, 13 osztva 4, mi a többi?
És ez az érték kerül kiszámításra A operátorról.
>> Szóval, van egy sor kódot Itt, int m = 13 mod 4.
És azt mondom, itt egy megjegyzést hogy m értéke jelenleg 1.
Miért mondom ezt?
Nos, nem a hosszú divízió ki a fejét, ha a medve velem egy pillanatra.
Szóval, én 4 osztva 13.
4 bemegy 13 háromszorosa egy fennmaradó 1.
Szóval, alapvetően, minden operátorról nem
ez jelzi, mikor megosztottság, az lesz a maradék.
Azt gondolhatnánk, hogy valójában nem egy rettenetesen hasznos dolog,
de te lennél lepve, tényleg, hogy milyen gyakran, hogy modulus
üzemeltető jól jöhet.
>> Van egy pár probléma fogjuk csinálni CS50, hogy foglalkozzon vele.
Az is jó csinál dolgok, mint a véletlen szám.
Így például, ha valaha hallottam, hogy egy véletlenszám-generátor,
hogy fog adni egy számot 0 és néhány hatalmas szám.
De talán csak igazán Szükségem van egy szám 0-20.
Ha a operátorról azon a hatalmas szám,
gets által generált véletlenszám-generátor,
fogsz, hogy bármilyen Hatalmas érték ez, oszd el 20,
és kap a maradékot.
A fennmaradó csak egy érték 0-19.
Szóval, akkor használd operátorról hogy ez a hatalmas szám
és fúr-farag le valami egy kicsit érthetőbb.
Biztos vagyok benne leszel tudja használni mind a két
valamikor a jövőben CS50.
>> Szóval, C is ad nekünk egy módja alkalmazni aritmetikai
üzemeltetőt, hogy egyetlen változó egy kicsit gyors- módon.
Szóval, az előző dia, láttuk x = x-szer 5.
Ez működött.
x-szer 5 majd kap tárolt vissza x.
Van egy rövidebb utat megtenni, gondolat, és ez a szintaxis x-szer = 5.
Ez pontosan ugyanolyan dolog, mint mondván x = x-szer 5.
Ez csak egy kicsit rövidebb utat megtenni.
És ha látod néhány eloszlása ​​adott meg vagy
látni néhány minta kódot, nem a dolgok, mint ez,
Csak ismernie kell amit a szintaxis jelent.
Te biztosan nem kell használni, de ha nem,
így valószínűbb, hogy a kódot Egy kicsit puhább.
És tudom, hogy akkor is használhatja bármelyik A különböző szereplők Már
látott helyett alkalommal.
Azt lehetne mondani, x, plusz = 5, mínusz = 5, alkalommal, osztás, mod.
Minden ilyen munkát.
>> Van még valami, ez annyira gyakori a C
hogy úgy döntöttünk, hogy finomítani, hogy még tovább.
Növelésének egy változó 1 vagy csökkentjük a változó 1-
van egy ilyen közös thing-- különösen amikor arról beszélünk, hurkok egy kicsit később
on--, hogy úgy döntöttünk, ahelyett, valami olyasmit, x, plusz értéke 1,
vagy x = x + 1, mi már akkor is kislétszámú, hogy az x plus plus.
Szóval, x = x + 1, x, plusz értéke 1, és x plus, valamint az összes nem ugyanaz a dolog.
Mindannyian növekmény x 1.
De, hogy megnő és a csökkentés 1-
olyan gyakori, hogy van plusz és mínusz mínusz plusz
amelyek lehetővé teszik számunkra, hogy emberhátránynak hogy még tovább.
>> Nos, nézzük válthat, a második és beszélni logikai kifejezések.
Minden ami szintén egyfajta esik Az összetettben a piaci szereplők.
De logikai kifejezések, eltérően aritmetikai operátorok,
használják összehasonlításával értékeket.
Szóval, megint minden logikai kifejezések a C értékeli, hogy a két lehetséges érték,
felidézni.
Igaz vagy hamis.
Ez az egyetlen vagyis, hogy Logikai változó vehet.
Tudjuk használni az eredményeket Egy logikai kifejezés
egy csomó módon a programozás során.
Tény, hogy te leszel Ezzel elég sokat.
>> Például, dönthet úgy, Nos, ha néhány feltétel igaz,
talán majd ezt ágaznak le a kódomat.
A feltételes, hogy úgy mondjam.
Majd megtudjuk, azok hamar túl.
Vagy talán, ameddig ez igaz, azt akarom,
hogy ezt tovább csinálni újra és újra és újra.
A hurok.
Mindkét esetben tudjuk, hogy mi használ a logikai kifejezés, igaz vagy hamis,
eldöntheti, hogy nem hogy egy bizonyos utat.
Néha, amikor dolgozunk A logikai kifejezések,
fogjuk használni változók típusú Bool.
Lehet, hogy kijelentette, egy Bool gépelt változó,
és akkor használja a Logikai kifejezést.
De nem mindig van köze.
Mint kiderült, a C-ben minden nem 0 értéke megegyezik a mondás igaz.
Ha már nyilvánították változó logikai típusú,
majd hozzá kell értéket igaz, ez ugyanaz, mint a nyilvánító egész szám
rendeli, az értéket 1, 2, 3, vagy tényleg olyan értéket
egyáltalán nem 0.
Mivel a C, minden nem 0 érték a true.
0, másrészt, hamis.
Ez bejöhet praktikus később tudni,
de csak valami szem előtt tartani.
Nem mindig kell használni Logikai típusú változók, amikor
dolgozunk logikai kifejezések.
>> Két fő típusa Boole kifejezést, hogy együtt fogunk működni.
Logikai operátorok és relációs operátorok.
A nyelvben van Nem igazán fontos.
Ez tényleg csak hogy vagyok csoportosítva őket.
És akkor biztosan, azt hiszem, gyorsan megvalósítani azt, amit egy relációs operátor,
annak alapján, amit ők, amikor beszélni őket egy kicsit.
De ne aggódj feltétlenül megjegyzi a kifejezés logikai operátor
vagy relációs operátor.
Én csak arra használják, hogy csoportban őket logikus módon.
>> Tehát, vessünk egy pillantást A három logikai operátorok
hogy majd meglátjuk elég bit programozás CS50
és a programozás általában.
Logikai ÉS igaz, és ha igen, csak akkor, ha mindkét operandusa igaz.
Ellenkező esetben hamis.
Hol jelent?
Tehát, mondjuk, hogy én vagyok a pont az én kódot, ahol már
két változó, x és y.
És azt szeretném eldönteni, hogy tegyen valamit a kódomat
alapján, ha x igaz és y igaz.
Csak azt akarom csinálni, ha mindkettő igaz,
különben nem akar lemenni, hogy utat, mert ez nem fog segíteni.
Mit tudok mondani, ha x és y &.
Ez lesz a logikus logikai expresszió összehasonlítása x és y
és vesz egy bizonyos utat alapuló hogy milyen értékeket vallanak.
Tehát, ha x igaz és y igaz alapján ezt az igazságot asztalt,
Csak akkor fogunk menni ezen az úton.
Ha x, y & &.
Ez csak true-- az, és csak Igaz, ha x és y igaz, az igaz.
Ha az egyik hamis, mint látjuk az igazságot asztal,
akkor mindkét X és Y nem igaz.
És így, x és y & hamis.
>> Logikai VAGY igaz akkor és csak akkor ha legalább az egyik operandus igaz.
Ellenkező esetben hamis.
Annyira ésszerű és szükséges X és Y, hogy igaz.
Logikai VAGY igényel x ahhoz, hogy igaz vagy y , hogy igaz, vagy mindkét X és Y, hogy igaz.
Szóval, megint azt a fajta találni magunkat olyan helyzetben,
hová megyünk, hogy mi kódot, és elértünk egy útelágazáshoz.
És azt akarjuk, hogy menjen le a Különösen utat, ha x igaz
vagy y igaz, de nem szükségszerűen, ha mindkettő igaz.
De az is lehet, ha mindkettő igaz.
Tehát, ha x igaz és y Igaz, megyünk ezen az úton.
x igaz.
Ezek közül az egyik igaz, ugye?
Ha x igaz és y igaz.
Ha x igaz, és y hamis, egyikük még mindig igaz.
Szóval, X vagy Y még mindig igaz.
Ha x hamis, és y értéke igaz, egyikük még mindig igaz, ugye?
y értéke igaz, ebben az esetben.
Szóval, az igaz, hogy x vagy y igaz.
Csak akkor, ha x és y hamis hamis Vajon nem megy ezen az úton,
mert sem x sem y igaz.
Most, ha keres A képernyőn most
és kíváncsi, hogy mi szimbólum a logikai VAGY
Ezt hívják a függőleges vonal.
És ha nézi a billentyűzetet Egy percig, mint most csinálok,
ez általában éppen a Enter billentyűt, a legtöbb billentyűzeten,
ugyanazon a gombon van, mint az eléjük.
Ez is általában jobb Közvetlenül a szögletes zárójelben.
Szóval, lehet, hogy kulcsfontosságú, hogy Nem gépelt nagyon a múltban.
De, ha valaha csinál logikai összehasonlítás,
mivel mi lenne ezzel a során sokat, ez
lesz hasznos megtalálja azt a kulcsot, és használja.
Szóval, ez általában ugyanazon a gombon a fordított perjel fölött Enter.
>> A végső logikai operátor nincs.
És NEM elég egyértelmű.
Ez megfordítja az értéke az operandusát.
Ha x igaz, akkor nem X hamis.
Ha x hamis, akkor nem X igaz.
Néha hallani fogod ezt a szimbólumot hangsúlyos, mint bumm vagy felkiáltójel
vagy sem.
Ez elég sok minden ugyanaz.
Abban az esetben, ha hallja, hogy a beszélt és nem biztos benne, hogy ez mit jelent,
ez csak a felkiáltó pont, de néha
úgynevezett pár különböző dolog.
Rendben, úgy, hogy vesz érdekel a logikai operátorok.
Szóval, beszéljünk relációs operátorok.
Ismét, ha Ön ismeri ezt a számtani vissza az iskolában,
Te bizonyára ismeri azzal, hogy hogyan működnek ezek már.
Ezek úgy viselkednek ahogy az elvárható.
Tehát kevesebb, mint igaz, ebben a Például, ha x kisebb mint y.
Tehát, ha x értéke 4 és y értéke 6, x kisebb mint y.
Az igaz.
Kevesebb, mint vagy egyenlő működik elég hasonló.
Ha x értéke 4, és Y jelentése 4, akkor x kisebb vagy egyenlő, mint az y.
Nagyobb, mint. x nagyobb mint y.
És nagyobb, mint vagy egyenlő, x nagyobb, vagy egyenlő, mint az y.
Ha ez igaz, akkor majd át ezt a kifejezést,
és akkor megy le ezen az úton az úton.
Ha van egy ha x nagyobb mint y, és x értéke, sőt, nagyobb, mint Y,
akkor telhetően vonatkozik e feltétel.
>> Vegyük észre, hogy nincs egyetlen karakter kevesebb mint
vagy egyenlő, mint te lehet ismeri a matematikától tankönyvek.
Szóval, mi van a kevesebb, mint szimbólum, majd egy egyenlőségjel.
Így az általunk képviselt kevesebb vagy egyenlő, mint.
És hasonlóképpen, csináljuk nagyobb vagy egyenlő, mint.
>> Az utolsó két relációs üzemeltetők, amelyek fontosak
tesztelik az egyenlőség és az egyenlőtlenség.
Tehát, ha x = y egyenlő, igaz ha x és y értéke azonos.
Ha x 10, és y értéke 10, akkor x = y értéke igaz.
Ha x 10, és y értéke 11, x egyenlő egyenlő y nem igaz.
Azt is tesztelni egyenlőtlenség segítségével felkiáltójel vagy durranó, akár nem,
újra.
Ha x nem egyenlő Y jelentése, ha ez a vizsgálat mi használ itt,
mi lenne jó menni.
Tehát, ha x nem egyenlő y, megyünk ezen az úton.
>> Legyen nagyon óvatos itt.
Ez egy nagyon gyakori mistake-- és Egy Én bizonyára elég sokat, ha
Kezdtem started-- véletlenül tévedés
Az értékadó operátor, egyetlen egyenlők, az egyenlő összehasonlító operátor,
dupla egyenlőségjel.
Ez lesz vezetni valami furcsa viselkedés a kódot,
és általában a fordító figyelmezteti Önt, ha kipróbálod
és fordítsa le a kódot, de néha akkor lehet, hogy a besurranó azt.
Ez nem feltétlenül jó dolog, hogy besurranó azt, mégis.
Csak, hogy ha csinálsz egyenlőtlenség vizsgálat,
ha annak ellenőrzése, hogy a két különböző változók értéke ugyanaz
bennük, ügyeljen rá, hogy egyenlő az egyenlők, és nem egyetlen egyenlők.
És így a program van viselkedést kíván.
Én Doug Lloyd és ez CS50.