[Muzikos grojimo] Doug LLOYD: Sveiki, tad kalbėti apie operatorių C Taigi, mes jau matėme vieną, iš tiesų, lygus priskyrimo operatorius. Jis leidžia mums tiesiog įdėti vertę į kintamąjį. Štai užduotis operatorius, vieno lygybės ženklas. Norint manipuliuoti ir darbo su vertybėmis ir kintamųjų C, turime operatorių skaičių mūsų žinioje, kad mes galime naudoti. Paimkime pažvelgti kai bendras tie pradedant aritmetinių operatorių. Kaip galima tikėtis, mes galime padaryti gana pagrindinis matematikos operacijos C Mes galime pridėti, atimti, padauginti, ir Divide numeriai naudojant plius minus, žvaigždė, ir velniop, atitinkamai. Štai linijų pora kodas, kurioje mes galime padaryti, kad. Taigi, mes turime int x lygus y ir 1. Tarkime, kad kažkur iki virš šio kodo eilutę mes pasakė int y lygus 10. Kas X vertė po I vykdyti šį pirmą eilutę kodo? Ar galite pasakyti 11? Jūs teisus. Kodėl taip yra? Na, Y buvo 10. Kai aš sakau int x lygus 10 plius 1. 10 ir 1 yra 11. Taigi, vertė 11 gauna saugomi kintamojo x. Neblogai, tiesa? Kaip apie šį kitą eilutę kodas? x lygus X kartų 5. Na, kol mes įvykdytas tai kodo eilutę, X buvo 11. Taigi, kas yra vertė x po šio kodo eilutę? Paimkite sekundę. Taigi, x lygus X kartų 5. x buvo 11. Taigi, x lygu 11 kartų 5. Arba 55. Taigi, jei jūs sakėte, 55, norite būti teisus. Dabar, ji gali būti šiek tiek painu, bet su būdu, kad priskyrimas dirba C yra dešinėje pusėje, vertė tampa skiriamas kairėje vertę. Taigi, pirmiausia įvertiname x kartus 5. Taigi, 11 kartų 5 55. Ir tada mes saugome, kad x vertę. 11-kad ten buvo prieš dabar perrašyti. Taigi x vertė dabar yra 55. Tikimės, kad tai gana paprasta. Yra dar vienas operatorius, kad jūs tikriausiai nebūtinai girdėję vadinama tai, bet jūs tikrai dirbo su praeityje Jei prisiminti savo dienas ilgio padalinys kelią atgal į pradinėje mokykloje. Tai vadinama modulis operatorius. Kas modulis yra ji suteikia jums likusią kai padalinti du numerius kartu. Taigi, jei aš sakau, padalytą iš 13 4, kas likusi? Ir būtų apskaičiuota, kad vertė pagal modulio operatorius. Taigi, turiu kodo eilutę čia int m lygus 13 mod 4. Ir aš sakau, čia komentarą kad m vertė dabar yra 1. Kodėl aš sakau, kad? Na, tai ilgai padalijimo iš jūsų galvos, jei padengia su manimi per sekundę. Taigi, aš 4, padalytą iš 13. 4 eina į 13 tris kartus su 1 likusią dalį. Taigi, iš esmės, visi modulis operatorius daro tai kada jums pasakys Padalinti, jūs gaunate dalį. Jūs manote, kad tikrai nėra siaubingai naudingas dalykas, bet jūs nustebsite, iš tikrųjų, pagal tai, kaip dažnai tą modulį operatorius gali praversti. Yra problemų, pora mes padarysime CS50, kad susidoroti su juo. Tai taip pat gera darai tokie dalykai kaip atsitiktinių skaičių. Taigi, pavyzdžiui, jei jūs kada nors girdėję apie atsitiktinių skaičių generatorius, kad ketina suteikti jums numerį nuo 0 iki tam tikru didelį skaičių. Bet gal jūs tik tikrai reikia skaičių nuo 0 iki 20. Jei naudojate modulis operatorius tą milžinišką skaičių, kad gauna generuoja atsitiktinių skaičių generatorius, jūs ketinate imtis visų didžiulis vertė yra padalinti iš 20, ir gauti likusią dalį. Likusi gali tik būti skaičius nuo 0 iki 19. Taigi, jūs naudojate modulis operatorius imtis šį didžiulį skaičių ir drožti ją žemyn į kažką šiek tiek daugiau prasmingas. Aš esu gana įsitikinęs, jūs būsite galima naudoti tiek iš tų, tam tikru momentu ateityje CS50. Taigi, C taip pat suteikia mums būdą taikyti aritmetinį operatorius vieno kintamojo šiek tiek daugiau sutrumpinta būdu. Taigi, ankstesniame šliaužiklio, mes matėme x lygus x kartų 5. Tai dirbo. x kartų 5 tada pasireiškia saugomi atgal x. Yra trumpesnis būdas tai padaryti, mintis, ir tai sintaksė x kartų lygus 5. Tai lygiai tas pats dalykas, kaip sakydamas x lygus X kartų 5. Tai tiesiog šiek tiek trumpesnis kaip tai padaryti. Ir kai pamatysite kai paskirstymo kodas arba jūs pamatyti kai mėginio kodą, daro dalykus, kaip tai, tiesiog būti susipažinę su ką reiškia sintaksė. Jūs tikrai neturite jį naudoti, bet jei jūs darote, ji gali padaryti savo kodą atrodo šiek tiek Lietusmētelis. Ir žinau, kad jūs taip pat galite naudoti bet kurią iš skirtingų operatorių mes jau ve matęs vietoj datos. Galima sakyti x plius lygus 5, atėmus lygus 5, kartus, padalyti mod. Visi tie darbe. Taip pat kažkas tai taip dažnai C kad mes nusprendėme patikslinti, kad dar labiau. Leidžiama didinti kintamąjį 1 arba mažėjančio yra 1 kintamasis yra tokia bendra thing-- ypač kai kalbame apie kilpų šiek tiek vėliau on--, kad mes nusprendėme vietoj sakydamas kažką panašaus x plius lygus 1, arba X lygus x plius 1, mes net trumpas įteikė kad X plius plius. Taigi, x lygus x ir 1 x plius lygus 1, ir X plius plius visi padaryti tą patį. Jie visi prieaugis x 1. Bet tai incrementing ir mažėjančio 1 yra toks įprastas, kad mes turime plius pliuso ir minuso atėmus kad leidžia mums sutrumpinta kad dar labiau. Taigi, galime pereiti pavaras antrajam ir kalbėti apie Būlio išraiškos. Visi, kurie taip pat yra natūra skirstomos į bendra kategorija operatoriams. Bet Būlio išraiškos, skirtingai nuo aritmetinių operatorių, yra naudojami lyginant reikšmes. Taigi, vėlgi, visi Bulio išsireiškimai C įvertinti, iki vieno iš dviejų galimų reikšmių, priminti. Tiesa ar melas. Štai tik du vertybes, Būlio kintamasis gali imtis. Mes galime naudoti rezultatus iš Būlio išraiškos būdais programavimo aikštelė. Iš tiesų, jūs būsite tai daryti gana daug. Pavyzdžiui, mes galime nuspręsti, Na, jei kai sąlyga yra teisinga, gal aš paimsiu tai išsišakoti žemyn mano kodą. Sąlyginis, taip sakant. Mes mokytis apie tuos kai per daug. Arba gal, kaip ilgai, kaip tai tiesa, aš noriu nuolat daro tai daugiau ir daugiau ir daugiau. Kilpą. Abiem atvejais, žinau, kad mes naudojame Būlio išraiška, tiesa ar melas, nuspręsti, ar imtis tam tikrą kelią. Kartais, kai mes dirbame su Būlio išraiškos, mes naudosime kintamuosius tipo bool. Galbūt paskelbė bool įvedėte kintamasis, ir jūs naudojate savo Bulio logikos išraiška. Bet jūs ne visada turi daryti. As it turns out, C, kas ne-0 reikšmė yra tokia pati, kaip suprantama teisinga. Jei buvo deklaruotas kintamasis tipo Būlio, ir priskirti jai vertę tiesa, tai tas pats, kaip teigiama, sveikasis skaičius ir paskirti jai vertę 1, 2, 3, arba bet kokia vertė tikrai kokia kita už 0. Kadangi C, kas ne-0 yra, vertės nėra tiesa. 0, o kita vertus, yra klaidinga. Tai gali ateiti patogu vėliau žinoti, bet tiesiog kažkas nepamiršti. Mes ne visada turi naudoti Būlio tipo kintamieji, kai mes dirbame su Būlio išraiškos. Yra dviejų pagrindinių tipų Būlio išraiškas, kad mes dirbti. Loginiai operatoriai ir reliacinių operatorių. Kalba yra nelabai svarbus. Tai tikrai tik kaip aš grupuojant juos. Ir jūs tikrai, manau, greitai suprasti, ką reliacinės operatorius, remiantis tuo, kas jie yra, kai mes kalbėti apie juos per sekundę. Bet nesijaudinkite nebūtinai įsiminti terminas loginį operatorių arba reliacinė operatorius. Aš tiesiog naudoti jį į grupę juos logiškai būdu. Taigi, galime pažvelgti į trys loginių operatorių kad mes pamatysime gana tiek į programavimo CS50 ir programavimo apskritai. Logiškas ir yra tiesa, jei ir tik tada, jei abi operandai yra tiesa. Priešingu atveju klaidinga. Kur tai reiškia? Taigi, tarkime, kad aš esu priminti mano kodas, kai turiu dviejų kintamųjų x ir y. Ir aš noriu nuspręsti, ar kažką daryti mano kodas remiantis, jei x yra teisinga ir y yra tiesa. Aš tik noriu padaryti, jei jie abu yra tiesa, kitaip aš nenoriu eiti, kad Kelias nes ji nesiruošia man padėti. Ką aš galiu pasakyti yra, jei x & & Y. Tai bus logiškas Būlio išraiška, lyginant x ir y ir atsižvelgiant tam tikrą kelią remiantis tuo, kas jų vertybės. Taigi, jei x yra teisinga ir y yra tiesa remiantis šios tiesos lentelę čia tik tada mes eiti šiuo keliu. Jei x, & & Y. Tai tik true-- AND tik tiesa, jei x yra teisinga ir y yra tiesa. Jei kuri nors viena yra klaidinga, kaip matome tiesos lentelę, tada abu x ir y yra ne teisinga. Ir taip, X & Y & yra klaidinga. Loginė arba yra teisinga tada ir tik jeigu bent vienas operandas yra tiesa. Priešingu atveju klaidinga. Taigi logiška ir reikalinga abu x ir y teisinga. Loginiai arba reikalauja x, kad būtų tiesa ar m kad būtų tiesa ar abu x ir y teisinga. Taigi, dar kartą, mes rūšies rasti patys tokioje situacijoje kur mes einame į mūsų kodu ir mes pasiekėme Kelių šakutės. Ir mes norime eiti žemyn ypač kelias, jei x yra tiesa arba Y yra teisinga, bet ne nebūtinai, jei abu yra tiesa. Bet galbūt, jei abu yra tiesa. Taigi, jei x yra teisinga ir y yra tiesa, mes eiti šiuo keliu. x yra teisinga. Vienas iš jų yra tiesa, tiesa? Jei x yra teisinga ir y yra tiesa. Jei x yra tiesa, ir y yra klaidingas, vienas iš jų yra vis dar teisinga. Taigi, x arba y yra dar tiesa. Jei x yra klaidinga, ir y yra tiesa, vienas iš jų yra vis dar tiesa, tiesa? y yra tiesa, šiuo atveju. Taigi, tai tiesa, kad x arba y yra tiesa. Tik jei x yra klaidingas ir y yra klaidingas mes ne eiti tuo keliu, nes nei x nei y yra tiesa. Dabar, jei jūs ieškote į ekraną dabar ir įdomu, kas tai simbolis yra logiška ARBA, tai vadinama vertikali juosta. Ir jei jums pažvelgti į savo klaviatūrą už minutę, kaip aš darau dabar tai paprastai virš Enter, daugumos klaviatūrų, tuo pačiu klavišu kaip backslash. Tai taip pat paprastai dešinę šalia laužtiniuose skliaustuose. Taigi, tai gali būti raktas, kurį ne įvedėte labai daug anksčiau. Tačiau, jei jūs kada nors darai loginiai palyginimai kaip mes bus darai daug į paskaitas, tai bus naudinga rasti, kad raktą ir jį naudoti. Taigi, tai paprastai tuo pačiu klavišu kaip kairinis brūkšnys virš Enter. Galutinis logiška operatorius nėra. Ir ne gana paprasta. Ji apverčia jo operando vertę. Jei x yra tiesa, tada ne x yra klaidinga. Jei x yra klaidinga, tada ne x yra teisinga. Kartais jūs išgirsite šį simbolį tariamas kaip trenksmu arba šauktuku arba ne. Tai gana daug viskas tas pats dalykas. Jei išgirsite, kad kalbama ir nesate tikri, ką tai reiškia, tai tik šauktukas punkto, tačiau kartais tai vadinama pora skirtingi dalykai. Gerai, kad trunka rūpintis loginių operatorių. Taigi, pakalbėkime apie reliacinių operatorių. Vėlgi, jei esate susipažinę su šiuo aritmetinis atgal pradinėje mokykloje, jūs tikriausiai susipažinęs su tuo, kaip jie darbas jau. Tai elgtis tiksliai taip, kaip jūs tikitės. Taigi mažiau nei tiesa, šiuo Pavyzdžiui, jei x yra mažiau nei y. Taigi, jei x yra 4, ir y yra 6, x yra mažiau nei y. Tai tiesa. Mažiau nei arba lygus veikia gana panašiai. Jei x yra 4, ir y yra 4, tada x yra mažiau negu arba lygus y. Geresnis negu. x yra didesnis nei y. Ir didesnis nei arba lygus x, yra didesnis negu arba lygus y. Jei tai tiesa, tada jums praeiti išraišką, ir jums eiti tas kelias kelyje. Jei turite, jeigu X yra didesnis nei y, ir X yra, iš tikrųjų, yra didesnis nei y, jums padaryti visa, kas taikomos šios sąlygos. Atkreipkite dėmesį, kad mes ne turėti vienas simbolis mažiau nei arba lygi, nes jums gali būti susipažinęs su iš matematikos vadovėlių. Taigi, mes turime mažiau nei simbolis, po kurio vienodo ženklas. Štai kaip mes atstovaujame mažiau nei arba lygus. Ir panašiai, mes darome, kad už didesnis nei arba lygus. Galutinis dviejų reliacinės operatoriai, kurie yra svarbūs yra išbandyti lygybės ir nelygybės. Taigi, jei x yra lygus lygus y, tai tiesa jei X ir Y vertė yra ta pati. Jei x yra 10, ir y yra 10, tada x lygus lygus y yra tiesa. Jei x yra 10 ir y yra 11 x, lygus lygus y yra ne tiesa. Mes taip pat galime išbandyti nelygybės naudojant šauktukas arba sprogimo, ar ne, dar kartą. Jei x yra nėra lygus y, jei tai bandymas mes naudojame čia mes norime būti gerai eiti. Taigi, jei x yra nėra lygus Y, mes eiti šiuo keliu. Būkite atsargūs tikrai čia. Tai tikrai bendra mistake-- ir vienas aš tikrai padarė gana daug, kai Aš vis started-- netyčia klaida perleidimas operatorius, vienišiems lygūs, už lygybę palyginimus operatoriaus, dviviečiai lygių. Tai bus sukelti kažkokiam keistam elgesys kodą, ir paprastai kompiliatorių jus perspėti apie tai, kai bandote ir kaupia savo kodą, bet kartais Jums gali būti suteikta galimybė nukniaukti jį. Tai nebūtinai yra geras dalykas kad galite nukniaukti jį, nors. Tiesiog todėl, jei darai nelygybė testus, jei jūs patikrinti, ar dviejų skirtingi kintamieji turi tokią pačią reikšmę viduje jų, įsitikinkite, kad naudoti lygus lygiomis teisėmis, o ne pavienius lygių. Ir tokiu būdu jūsų programa bus turi elgesį jūs ketinate. Aš Doug Lloyd ir tai yra CS50.