[Muzika] DOUG Lloyd: Hi, kështu që le të flasim për operatorët në C. Pra, ne kemi parë tashmë një, në fakt, është e barabartë me operatorin detyrës. Kjo na lejon të vetëm vënë një vlerë në një variabël. Kjo është detyrë operator, shenjë e vetme të barabartë. Në mënyrë që të manipulojnë dhe të punës me vlerat dhe variablave në C, ne kemi një numër të operatorëve në dispozicion që ne mund të përdorim. Le të marrin një vështrim në disa nga ato të zakonshme duke filluar me operatorët aritmetike. Si mund të presin, ne mund të bëjmë goxha operacionet themelore të matematikës në C. Ne mund të shtoni, zbres, shumohen, dhe Numrat Ndani përdorur plus, minus, yll, dhe çaj, respektivisht. Këtu është një çift i linjave të Kodi në të cilën ne e bëjmë këtë. Pra, ne kemi int x është e barabartë me y plus 1. Le të supozojmë se diku deri mbi këtë linjë të kodit ne kishim thënë y int barabartë me 10. Cila është vlera e x pas I të ekzekutuar këtë linjë të parë të kodit? A ju thoni 11? Ju do të drejtë. Pse eshte ajo? E pra, y ishte 10. Disa int unë jam duke thënë se x është e barabartë me 10 plus 1. 10 plus 1 është 11. Pra, vlera e 11 merr ruhet në ndryshoren x. Jo shumë e keqe, apo jo? Si në lidhje me këtë linjë e ardhshëm të Kodi? x është e barabartë me x 5 herë. E pra, para se të ekzekutohet kjo linjë e kodit, x ishte 11. Pra, çfarë është vlera e x pas këtë linjë të kodit? Merrni një të dytë. Pra, është e barabartë me x x 5 herë. x ishte 11. Pra, x është e barabartë me 11 herë 5. Ose 55. Pra, nëse ju tha 55, ju do të jetë e drejtë. Tani, ajo mund të jetë pak konfuze, por me mënyrën se si caktimi punon në C është vlera në të djathtë merr caktuar për vlera në të majtë. Pra, së pari ne vlerësojmë x 5 herë. Pra, 11 herë 5 është 55. Dhe pastaj ne të ruajtur atë vlerë në x. 11 që ishte atje para është overwritten tani. Pra, vlera e X-it tani është 55. Shpresojmë se është mjaft i thjeshtë. Ka një tjetër operator që ju keni ndoshta nuk dëgjohet domosdoshmërisht quajtur këtë, por ju keni sigurisht ka punuar me të në të kaluarën në qoftë se ju kujtohet ditët e tua të gjatë Mënyra ndarje përsëri në klasën e shkollës. Ajo që quhet operatori modulus. Çfarë modulus nuk është ajo ju jep pjesën e mbetur kur ju ndani dy numra së bashku. Pra, në qoftë se unë them 13 ndarë nga 4, çfarë është pjesa tjetër? Dhe kjo vlerë do të llogaritet nga operatori modulus. Pra, unë kam një linjë të kodit këtu, m int barabartë me 13 mod 4. Dhe unë them këtu në një koment Vlera se M është tani 1. Pse e them këtë? E pra, të bëjë ndarjen e gjatë jashtë në tuaj kokë, në qoftë se ju mbajnë me mua për një të dytë. Pra, unë kam 4 ndarë nga 13. 4 shkon në 13 tri herë me një tjetër të 1. Pra, në thelb, të gjithë Operatori modulus bën është ajo ju kur ju tregon ndarje, ju merrni pjesën e mbetur. Ju mund të mendoni se kjo është në fakt nuk është një gjë tmerrësisht e dobishme, por ju do të habitur, në të vërtetë, nga sa shpesh ajo modulus Operatori mund të vijnë në volitshëm. Ka disa probleme ne do të bëjmë CS50 që të merren me të. Është gjithashtu e mirë për të bërë gjëra të tilla si numri i të rastit. Kështu, për shembull, nëse ju keni ndonjëherë dëgjuar për një gjenerator numrash të rastësishëm, që do të ju jap një numër nga 0 deri në një numër të madh. Por ndoshta ju vetëm të vërtetë nevojë për një numër nga 0 deri ne 20. Në qoftë se ju përdorni operatorin modulus në këtë numër gjigand që merr gjeneruar nga gjenerator të rastit numër, ju jeni do të marrë të gjitha Vlera e madhe është, ndajnë atë me 20, dhe për të marrë pjesën e mbetur. Pjesa tjetër mund vetëm jetë një vlerë nga 0 deri ne 19. Pra, ju përdorni operatorin modulus për të marrë këtë numër të madh dhe shkurtoj atë në diçka pak më kuptimplotë. Unë jam goxha i sigurt që ju do të jetë në gjendje të përdorin të dyja këto në disa pika në të ardhmen në CS50. Pra, C gjithashtu na jep një mënyrë të për të aplikuar një aritmetike operator të një variable të vetme në një mënyrë pak më të stenografi. Pra, në rrëshqitje të mëparshëm, pamë x është e barabartë me x herë 5. Që ka punuar. x kohët 5 pastaj merr ruajtur përsëri në x. Ka një mënyrë më të shkurtër për të bërë atë, mendimi, dhe kjo është herë Sintaksa x është e barabartë me 5. Është e njëjta gjë si e saktë duke thënë se x është e barabartë me x 5 herë. Është vetëm një pak Mënyra më e shkurtër për të bërë atë. Dhe kur ju të shihni disa Kodi shpërndarje ose ju të shihni disa kod mostër që ka gjëra si kjo, vetëm të jetë i njohur me çfarë do të thotë sintaksa. Ju me siguri nuk keni të përdorin atë, por në qoftë se ju bëni, ajo mund të bëjë kodin tuaj shikoni një pardesy të vogël. Dhe ta dini se ju mund të përdorni ndonjë nga operatorët e ndryshme ne kemi tashmë parë më parë në vend të herë. Ju mund të them x plus barabartë 5, minus barabartë, 5 herë, ndarjen, dhe mod. Të gjitha këto punë. Ka edhe diçka kjo është aq e zakonshme në C që ne kemi vendosur të përsosin atë edhe më tej. Bën rritjen një variabël nga 1 ose decrementing një variabël nga 1 është një thing-- i tillë i përbashkët sidomos kur flasim për sythe pak më vonë on-- se ne kemi vendosur në vend të duke thënë diçka si x plus është e barabartë me 1, ose x barabartë me x plus 1, ne kemi edhe dorëzoi shkurtër që me x plus plus. Pra, x është e barabartë me x plus 1, X plus barabartë me 1, dhe x plus plus të gjithë bëjnë të njëjtën gjë. Ata të gjithë x rritje prej 1. Por kjo bën rritjen dhe decrementing nga 1 është aq e zakonshme që ne kemi plus plus dhe minus minus që të na lejojë të stenografi që edhe më tej. Pra, le të kaloni ingranazhet për sekondë dhe të flasim për shprehje Boolean. Të gjitha të cilat janë gjithashtu lloj i bien në kategoria e përgjithshme e operatorëve. Por shprehje Boolean, ndryshe nga operatorët aritmetike, janë përdorur për të krahasuar vlerat. Pra, përsëri, të gjitha shprehjet Boolean në C vlerësuar në një nga dy vlerat e mundshme, kujtojnë. E vërtetë apo e gabuar. Kjo është vetëm dy vlerat që Ndryshore Boolean mund të marrë në. Ne mund të përdorin rezultatet e një shprehje Boolean në shumë mënyra në programimin. Në fakt, ju do të jetë bërë këtë një shumë mjaft. Për shembull, ne mund të vendosë, mirë, në qoftë se disa gjendja është e vërtetë, ndoshta unë do të marrë këtë degë poshtë kodin tim. Një kushtëzuar, kështu që të flasin. Ne do të mësojnë në lidhje me ato së shpejti shumë. Apo ndoshta, për aq kohë sa kjo është e vërtetë, unë dua të vazhdojmë të bëjmë këtë mbi dhe mbi dhe mbi. Një lak. Në të dyja rastet, e di se ne jemi duke përdorur një shprehje Boolean, një e vërtetë apo e rreme, për të vendosur nëse janë apo jo për të marrë një rrugë të veçantë. Ndonjëherë kur ne jemi duke punuar me shprehje Boolean, ne do të përdorim variabla e tipit bool. Ju mund të keni deklaruar një bool shtypur ndryshueshme, dhe ju do të përdorni në tuaj Shprehje Boolean. Por ju nuk gjithmonë duhet të bëni. Siç rezulton, në C, çdo jo-0 vlerë është e njëjtë si thënia e vërtetë. Në qoftë se ju kishte deklaruar një variabël i tipit Boolean, dhe caktohet asaj vlerën e vërtetë, kjo është e njëjtë si duke deklaruar një numër të plotë dhe caktimin atë vlerën 1, 2, 3, ose të vërtetë ndonjë vlerë çfarëdo tjetër se 0. Sepse në C, çdo-0 jo vlerë është e vërtetë. 0, nga ana tjetër, është e vërtetë. Kjo mund të vijë në i dobishëm më vonë për të dini, por vetëm diçka për të mbajtur në mendje. Ne nuk gjithmonë duhet të përdorni Variablat e tipit Boolean kur ne janë duke punuar me shprehje Boolean. Ka dy lloje kryesore të Boolean Shprehjet që ne do të punojmë me të. Operatorët logjike dhe Operatorët relacionale. Gjuha ka jo tmerrësisht e rëndësishme. Është me të vërtetë vetëm sa unë jam duke i grupuar ato. Dhe ju me siguri do të, unë mendoj, shpejt kuptojnë se çfarë një operator relacionale është, bazuar në atë që ata janë kur ne flasim rreth tyre në një të dytë. Por mos u bëni merak për domosdo memorizimin operatorin termin logjik ose operator relacionale. Unë jam vetëm duke e përdorur atë në grup ata në mënyrë logjike. Pra, le të marrin një vështrim në Të tre operatorët logjike se ne do të shohim mjaft bit në programimin në CS50 dhe në programimin më në përgjithësi. Logjike dhe është e vërtetë, nëse dhe vetëm në qoftë se të dy operandët janë të vërteta. Përndryshe false. Ku do të thotë kjo? Pra, le të themi se unë jam në një pikë në kodin tim ku kam dy variabla, x dhe y. Dhe unë dua për të vendosur nëse për të bërë diçka në kodin tim bazuar në qoftë se është e vërtetë x dhe y është e vërtetë. Unë vetëm dua të bëj atë nëse dy prej tyre janë të vërteta, përndryshe unë nuk dua të shkoj poshtë se rrugë për shkak se ajo nuk do të më ndihmonte. Ajo që unë mund të them është nëse x dhe y dhe. Kjo do të jetë një Boolean logjike shprehja krahasimin e x dhe y dhe duke marrë një rrugë të caktuar bazuar në atë që vlerat e tyre janë. Pra, në qoftë se x është e vërtetë dhe y është e vërtetë bazuar në këtë tryezë të vërtetën këtu, vetëm atëherë do të shkojmë poshtë këtë rrugë. Nëse x, y dhe dhe. Është vetëm true-- dhe është vetëm e vërtetë në qoftë se x është e vërtetë dhe y është e vërtetë. Nëse ose një është e rreme, si ne e shohim tabelën vërtetën, atëherë dy x dhe y nuk janë të vërtetë. Dhe kështu, x dhe y dhe është e rreme. Logjik OR është e vërtetë nëse dhe vetëm nëse të paktën një operandi është e vërtetë. Përndryshe false. Pra, logjike dhe të kërkuara dy x dhe y të jetë e vërtetë. Logjik OR kërkon x të jetë e vërtetë apo y të jetë e vërtetë, ose të dyja x dhe y të jetë e vërtetë. Pra, përsëri, ne lloj i gjeni veten në një situatë ku ne jemi duke shkuar për kodin tonë, dhe kemi arritur një pirun në rrugë. Dhe ne duam të shkojnë poshtë një rrugë të veçantë në qoftë se x është e vërtetë ose y është e vërtetë, por jo domosdoshmërisht qoftë se të dy janë të vërteta. Por ndoshta qoftë se të dy janë të vërteta. Pra, nëse x është e vërtetë dhe y është e vërtetë, ne do të shkojnë poshtë këtë rrugë. x është e vërtetë. Një prej tyre është e vërtetë, e drejtë? Nëse x është e vërtetë dhe y është e vërtetë. Nëse x është e vërtetë, dhe y është i rremë, njëri prej tyre është ende e vërtetë. Pra, x apo y është ende e vërtetë. Nëse x është i rremë, dhe y është e vërtetë, njëri prej tyre është ende e vërtetë, e drejtë? y është e vërtetë, në këtë rast. Pra, është e vërtetë se x apo y është e vërtetë. Vetëm në qoftë se x është i rremë dhe y është e rreme mos të shkojnë poshtë këtë rrugë, sepse as x as y është e vërtetë. Tani, në qoftë se ju jeni në kërkim në ekran tani dhe pyesin se çfarë kjo Simboli është për logjike OR, ajo që quhet bar vertikale. Dhe në qoftë se ju kërkoni në tastierën tuaj për një minutë, ndërsa unë jam duke bërë tani, kjo është zakonisht vetëm mbi Enter, në shumicën e tastierave, në të njëjtën çelës si backslash. Është gjithashtu zakonisht të drejtë ngjitur me kllapa katrore. Pra, ajo mund të jetë një çelës që ju nuk keni shtypur shumë në të kaluarën. Por, në qoftë se ju jeni ndonjëherë duke bërë krahasimet logjike, si ne do të bëjmë një shumë gjatë, kjo është do të jenë të dobishme për gjeni se çelësi dhe e përdorin atë. Pra, kjo është zakonisht në të njëjtin buton si backslash vetëm mbi Enter. Operatori i fundit logjik nuk është. Dhe nuk është shumë i thjeshtë. Ajo inverts vlerën e operandi të saj. Nëse x është e vërtetë, atëherë nuk x është e rreme. Nëse x është e rreme, atëherë nuk x është e vërtetë. Ndonjëherë ju do të dëgjoni këtë simbol shqiptohet si zhurmë apo thirrje apo jo. Kjo është shumë e shumë të gjithë të njëjtën gjë. Në rast se keni dëgjuar se folur dhe ju nuk jeni i sigurt se çfarë do të thotë, kjo është vetëm thirrje pikë, por nganjëherë kjo është quhet një çift gjëra të ndryshme. Të gjithë të drejtë, kështu që merr kujdesit të operatorëve logjik. Pra, le të flasim për Operatorët relacionale. Përsëri, në qoftë se ju jeni të njohur me këtë aritmetike përsëri në klasën e shkollës, ju ndoshta jeni njohur me se si këto punë tashmë. Këto sillen pikërisht si ju do të presin. Pra, më pak se kjo është e vërtetë, në këtë shembull, nëse x është më pak se y. Pra, në qoftë se x është 4 dhe y është 6, x është më pak se y. Kjo është e vërtetë. Më pak se ose e barabartë me punon mjaft të ngjashme. Nëse x eshte 4, dhe y është 4, pastaj x është më e vogël se ose e barabartë me y. Më i madh se. x është më e madhe se y. Dhe më e madhe se ose e barabartë me: x është më e madhe se ose e barabartë me y. Në qoftë se kjo është e vërtetë, atëherë ju do të kalojë këtë shprehje, dhe ju do të shkoni poshtë se rruga në rrugë. Nëse ju keni një në qoftë se x është më i madh se y, dhe x është, në të vërtetë, është më i madh se y, ju do të bëni çdo gjë që është subjekt për atë gjendje. Vini re se ne nuk kemi një karakter të vetëm për më pak se ose e barabartë me, si ju mund të jetë njohur me nga tekstet e matematikës. Pra, ne kemi më pak se simbol, e ndjekur nga një shenjë të barabartë. Kjo është se si ne përfaqësojmë me pak se ose te barabarte me. Dhe në mënyrë të ngjashme, nuk kemi të bëjmë atë për më e madhe se ose e barabartë me. Dy relacionale finale operatorët që janë të rëndësishme janë të testimit për barazi dhe pabarazi. Pra, në qoftë se x është e barabartë është e barabartë me y, është e vërtetë nëse vlera e x dhe y është i njëjtë. Nëse x është 10, dhe y është 10, pastaj x është e barabartë është e barabartë me y është e vërtetë. Nëse x është 10 dhe y është 11, x është e barabartë është e barabartë me y nuk është e vërtetë. Ne gjithashtu mund të provoni për pabarazinë përdorur pikë thirrje apo zhurmë apo jo, përsëri. Nëse x nuk është e barabartë me y, nëse kjo është testi ne jemi duke përdorur këtu, ne do të jetë mirë për të shkuar. Pra, në qoftë se x nuk është e barabartë me y, ne do të shkojnë poshtë këtë rrugë. Të jenë shumë të kujdesshëm këtu. Kjo është një mistake-- vërtetë të përbashkët dhe një Unë me siguri bërë mjaft shumë kur Unë kam qenë duke u started-- të aksidentalisht gabim operatori detyrë, barabartë të vetme, për operatorin krahasim barazia, barabartë të dyfishtë. Ajo do të çojë në disa pazakontë Sjellja në kodin tuaj, dhe zakonisht përpiluesit do të t'ju tërhequr vërejtjen në lidhje me të kur ju përpiqeni dhe të përpilojnë kodin tuaj, por ndonjëherë ju mund të jetë në gjendje për të vjedhës atë nga. Kjo nuk është domosdoshmërisht një gjë e mirë që ju vjedhës atë me, edhe pse. Vetëm kështu që nëse ju jeni duke bërë një test i pabarazisë, në qoftë se ju jeni duke kontrolluar nëse të dy variablave të ndryshme kanë të njëjtën vlerë brenda tyre, të sigurt për të përdorur është e barabartë me të barabartë, dhe të barabartë jo të vetme. Dhe në këtë mënyrë programi juaj do të kanë sjellje keni ndërmend. Unë jam Doug Lloyd dhe kjo është CS50.