[Muzikos grojimo] Pranešėjas: Viskas teisingai. Taigi pakalbėkime apie kitą dalykas, kad tipo unikalus C, kuri yra duomenų tipai ir kintamieji. Kai aš sakau, unikalus C, aš tikrai reikšti tik kontekste, Jei jau programuotojas tikrai ilgą laiką, Jūs tikriausiai nėra dirbo su duomenų tipų jei jūs naudojama moderni programavimo kalbomis. Šiuolaikinės kalbos kaip PHP ir JavaScript kurią mes taip pat pamatysite šiek tiek vėliau ir, žinoma, jūs neturite iš tikrųjų turi nurodyti duomenų tipo kintamojo kai jūs jį naudoti. Jūs tiesiog deklaruoti ir pradėti jį naudoti. Jei tai yra sveikasis skaičius, tai žinau, tai yra sveikasis skaičius. Jei tai simbolis, tai žino, kad tai personažas. Jei tai žodis, jis žino tai eilutė, taip vadinamas. Bet iš C, kuris yra vyresni kalba, mums reikia nurodyti duomenis tipas kiekvieno kintamojo kad mes sukurti pirmą kartą kad mes naudojame, kad kintamasis. Taigi C ateina su kai built-in duomenų tipų. Ir tegul susipažinti su kai iš tų. Ir tada po mes taip pat pakalbėti Šiek tiek apie kai kurias duomenų tipų kad mes parašiau jums, todėl jūs galite naudoti juos CS50. Pirmasis yra int. Int duomenų tipas yra naudojamas kintamųjų kad bus išsaugoti sveikas vertybes. Taigi, 1, 2, 3, neigiama 1, 2, 3, ir taip toliau. Sveikieji, kuri yra kažkas, ką jūs turėtų nepamiršti, kad viktorina, visada užtrukti iki keturių baitų atminties, kuri yra 32 bitų. Yra aštuoni bitai baitas. Taigi, tai reiškia, kad intervale vertina, kad sveikasis skaičius gali saugoti yra apribota, kas gali tilptų 32 bitų verta informacija. Dabar, kaip it turns out, ji buvo seniai nusprendė kad mes padalinti kad 32 bitai asortimentas į neigiamų skaičių ir teigiami sveikieji skaičiai, kiekviena gauti pusė diapazone. Taigi vertybių, kad mes atstovaujame diapazone su sveikojo skaičiaus diapazone nuo neigiamo 2 į 31 galios nuo 2 iki 31-maitinimo minuso 1, sukelti jums taip pat reikės 0 vietoje. Taigi, iš esmės pusė galimų reikšmių Jums gali tilpti int yra neigiamas, o kita pusė yra teigiami. Ir maždaug čia, tai yra apie neigiamas 2 milijardus į teigiamus 2 mlrd. Suteikti arba užtrukti porą šimtų milijonų. Štai ką jūs gali tilpti į kintamąjį. Dabar mes taip pat turime kažką vadinamas nepasirašytas sveikasis skaičius. Dabar nepasirašytos ints nėra atskiras rūšis kintamąjį. Atvirkščiai, nepasirašytas yra kas vadinama kriterijaus. Jis keičia duomenis tipo sveikasis skaičius nežymiai. Ir šiuo atveju, kas nepasirašytas means-- ir jūs taip pat galite naudoti nepasirašytas kitų duomenų tipų, sveikasis skaičius nėra vienintelis. Ką ji veiksmingai daro, yra dviviečiai teigiamas verčių ribos kad sveikas gali imtis ne iš nebeleisti sąnaudos Jums imtis neigiamų reikšmių. Taigi, jei turite numerius, kad jūs žinote gaus didesnes, nei 2 mlrd, bet mažiau nei 4 milijardai eurų, už example-- kuri yra nuo 2 iki 32-ajai power-- Jūs galbūt norėsite naudoti nepasirašytas int jei jus žinoti savo vertę, niekada nebus neigiamas. Jūs kartais turite naudojamas nepasirašytas kintamųjų į CS50, kuris yra, kodėl aš sakiau, jį čia. Bet vėl, verčių diapazonas, kad jūs gali atstovauti su unsigned sveikasis skaičius kaip iki t reguliariai sveikasis skaičius, yra 0 nuo 2 iki 32-galios atėmus 1 arba apytiksliai 0 iki 4 milijardų. Taigi, jūs efektyviai dvigubinti teigiamas diapazonas, kad jums gali tilpti, bet jūs atsisakė visi neigiamas vertes. Dabar, kaip panaikinti, nepasirašytos yra ne tik ribotojas kad galėtume pamatyti kintamųjų duomenų tipai. Taip pat yra dalykų, vadinami trumpas ir ilgas ir const. Konst matysime šiek tiek Kiek vėliau į paskaitas. Trumpas ir ilgas, mes tikriausiai nebus. Bet tiesiog žinau, kad ten Yra ir kitų apibūdinimų. Nepasirašytos nėra vienintelis. Bet tai tik vienas mes ketiname kalbėti apie dabar. Taigi viskas gerai. Taigi mes apėmė sveikieji skaičiai. Kas toliau? Simbolių. Taigi simbolių naudojami kintamieji kad bus išsaugoti pavienius simbolius. Char yra trumpas pobūdžio. Ir kartais jums gali išgirsti žmonių ištarti, kaip automobilio. Taigi simbolių visada užima vieną baitų atminties, kuri yra tik 8 bitai. Taigi, tai reiškia, kad jie gali tik tilptų vertės neigiamų 2 diapazone į septintąjį galia, arba neigiamas, 128, iki 2 iki 7-galios minus 1 punkte, arba 127. Ačiū ASCII, tai buvo seniai nusprendė būdą į žemėlapį tuos teigiamus skaičius nuo 0-127 įvairių simbolių kad visi egzistuoja mūsų klaviatūra. Taigi, kaip matysime vėliau ir žinoma, ir jūs tikriausiai ateiti įsiminti bent keletą taškas, kapitalo A už example-- simbolis kapitalo A-- žemėlapiai į numerį 65. Ir dėl šios priežasties yra nes tai, kas tai yra buvo suteiktas ASCII standartą. Mažosios raidės A yra 97. Pobūdžio 0, kai jūs iš tikrųjų įrašykite simbolį, o ne atstovaujantis skaičius lygus nuliui, yra 48. Sužinosite pora iš jų, kaip jūs einate. Ir jūs tikrai ateis reikia juos šiek tiek vėliau CS50. Kitas svarbus duomenų tipas yra slankiojo kablelio skaičių. Taigi slankaus kablelio skaičiai yra taip pat žinomas kaip realieji skaičiai. Jie iš esmės skaičiai, kurie turėti kablelio jais. Slankiojo kablelio vertybes kaip sveikieji skaičiai taip pat yra pateikta per 4 baitų atminties. Dabar nėra diagrama čia. Nėra skaičius linija, nes Aprašant plūdės asortimentą nėra tiksliai aišku, ar intuityvus. Užtenka pasakyti jums 32 bitai dirbti. O jei turite numerį kaip pi, kuri turi sveikas skaičius, dalis 3, ir slankiojo punkto dalis, arba 0,14159 dešimtainė dalis, ir tt, jums reikia sugebėti atstovauti visus it-- sveikasis skaičius dalis ir dešimtainė dalis. Taigi, ką jūs manote, kad gali reikšti? Vienas dalykas yra tai, kad jei po dešimtainio dalis gauna vis ilgiau ir ilgiau, jei turiu labai didelis sveikas dalis, nebūčiau galėtų būti taip tiksliai su dešimtainio dalis. Ir tai tikrai apribojimas trintuve. Plūdės turi tikslumo problema. Mes turime tik 32 bitai dirbti, todėl mes galime tik būti tokie tikslūs mūsų dešimtąją dalį. Mes galime nebūtinai turi dešimtosios dalies dalis tikslūs, 100 arba 200 skaitmenų, nes turime tik 32 bitų dirbti. Taigi, kad iš plūdės apribojimas. Dabar, laimei, ten kitas duomenų tipas vadinamas dvigubai, o tai šiek tiek susijęs su šia problema. Dviviečiai, kaip plūdės, taip pat naudojami saugoti realieji skaičiai, arba slankiojo kablelio vertybės. Skirtumas yra tas, dviviečiai yra dvigubo tikslumo. Jie gali tilpti 64 bitai duomenis, arba į aštuonerių baitai. Ką tai reiškia? Na, tai reiškia, kad mes galime būti daug daugiau tiksli su kablelio. Užuot pi iki septynių vietos gal, su trintuve, mes galime gal turite jį iki 30 vietų. Jei tai svarbu, galbūt norėsite naudoti dviguba vietoj float. Iš esmės, jei esate dirba ką nors kur turintys tikrai ilgą dešimtainį vietą ir iš tikslumo daug yra svarbu, jūs tikriausiai norite vartoti dvigubos overfloat. Dabar didžiąją dalį savo darbo CS50, plūduras turėtų pakakti. Bet ar žinote, kad dviviečiai egzistuoti kaip būdas šiek tiek kovoti su tikslumo problema, suteikiant Jums papildomai 32 bitai dirbti su jūsų numerius. Dabar tai nėra duomenų tipas. Tai yra tipo. Ir tai vadinama negaliojančiu. Ir aš kalbu apie tai nes čia mes tikriausiai mačiau kelis kartus jau į CS50. Ir jums gali būti įdomu ką tai visi apie. Taigi negaliojančiu yra tipo. Ji egzistuoja. Bet tai nėra duomenų tipas. Mes negalime sukurti tipo kintamąjį, negalioja ir priskirti vertę į jį. Bet funkcijos, pavyzdžiui, gali turėti negaliojantis grįžties tipas. Iš esmės, jei matote funkciją kad turi negaliojantis grįžties tipas, tai reiškia, kad nėra grąžina reikšmę. Ar manote, kad bendras funkcija, kad mes naudojamas iki šiol į CS50, kad negrąžina vertę? Printf yra vienas. Printf iš tikrųjų nėra grįžti nieko jums. Jis spausdina kažką į ekranas, ir tai iš esmės šalutinis poveikis, ką printf daro. Bet tai nesuteikia jums vertę atgal. Jūs neturite užfiksuoti rezultatą ir parduotuvę tai kai kintamojo naudoti jį vėliau. Jis tiesiog spausdina kažką ekranas ir baigsite. Taigi mes sakome, kad printf yra negaliojantis funkcija. Ji grąžina nieko. Perimetro sąrašas funkcija taip pat gali būti negaliojantys. Ir jūs taip pat matyti, kad gana į CS50 tiek per daug. Int main negaliojančiu. Ar tai žiedas varpas? Iš esmės, kas reiškia, kad yra tai, kad Pagrindinis nesiima jokių parametrų. Nėra argumentas, kad gauti išlaikė į pagrindines. Dabar, vėliau matysime, kad yra būdas perduoti argumentus, į pagrindines, tačiau iki šiol, ką mes mačiau, yra int main negaliojančiu. Pagrindinė tiesiog nesiima jokių argumentų. Ir taip mes nurodome, kad sakydamas negaliojančiu. Užtenka tik yra labai aiškiai apie tai kad ji nesiima jokių argumentų. Taigi dabar, pakanka konstatuoti, pasakyti, kad negaliojančiu iš esmės tiesiog reikia būti rezervuota vieta Jums, kaip galvoti apie kaip nieko. Tai tikrai ne ką nors. Nėra gražinama reikšmė čia. Nėra jokių parametrų čia. Tai yra niekiniai. Tai šiek tiek sudėtingesnis nei tas. Bet tai turėtų pakakti geriau kurso dalis. Ir tikiuosi, dabar jūs turite šiek tiek šiek tiek daugiau sampratos, kas yra tuščia. Taigi tas yra penkių tipų jūs susidurti, kad yra built-in į C. Bet CS50 mes taip pat turime biblioteka. CS50.h, kurį galite įtraukti. Ir kuris suteiks jums kartu su dviem papildomais tipų kad jūs tikriausiai galės naudoti savo užduotis, arba tiesiog dirba paprastai programavimą. Pirmasis iš jų yra bool. Taigi Bulio duomenų tipas, bool, naudojamas kintamųjų kad bus išsaugoti Būlio vertė. Jeigu jūs kada nors girdėjote Šis terminas anksčiau, jūs gali žinoti, kad Būlio vertė yra pajėgi tik turintis dvi skirtingas skirtingas reikšmes. True ir false. Dabar tai atrodo gana esminis, ar ne? Tai tipo staigmena kad šioje neegzistuoja C, nes jis manimi built-in. Ir daugeliu šiuolaikinių kalbų, žinoma, loginę yra standartinė numatytoji duomenų tipas. Tačiau C, jie tikrai ne. Bet mes sukūrėme tai už jus. Taigi, jei jūs kada nors reikia sukurti kintamasis, kurio tipas yra bool, tik būtinai #include CS50.h ne jūsų programos pradžioje, ir jums bus suteikta galimybė sukurti kintamieji bool tipo. Jei pamiršote #include CS50.h ir pradėdami vartoti Būlio tipo kintamuosius, jums gali susidurti su kai kurių problemų kai jūs sudarant savo programą. Taigi tiesiog dėl, kad Lookout. O gal galite tiesiog nustatyti problemos pagal svarą įskaitant CS50.h. Kitas svarbus duomenų tipas, kad mes numatyti jumis CS50 bibliotekoje yra eilutė. Taigi, kas yra eilutė? Stygos yra tikrai tik žodžiai. Jie kolekcijos simbolių. Jie žodžius. Jie sakinius. Jie pastraipas. Gali būti sveiki knygos, net. Labai trumpas, kad labai ilgai serijos simbolių. Jei jums reikia naudoti stygas, pavyzdžiui, siekiant išsaugoti žodį, tik būtinai įtraukite CS50.h ne jūsų programos pradžioje todėl jūs galite naudoti string tipo. Ir tada jūs galite sukurti kintamieji kurių duomenų tipas yra eilutė. Dabar, vėliau į paskaitas, mes taip pat matome, kad tai ne visą istoriją, bet. Mes susiduriame dalykus vadinami statiniai, kurios leidžia grupuoti kas gali būti sveikasis skaičius, ir seka, į vieną vienetą. Ir mes galime naudoti, kad kai tikslas, kuris galėtų praversti vėliau į paskaitas. Ir mes taip pat mokosi apie nustatytų tipų, kuri leidžia jums sukurti jūsų pačių duomenų tipai. Mums nereikia jaudintis apie tai dabar. Bet tiesiog žinau, kad tai kažkas horizonte, kad ten daug daugiau šio visuma tipo dalykas nei aš sakau jums, tik dabar. Taigi dabar, kad mes išmoko Šiek tiek apie pagrindinius duomenis rūšys ir CS50 duomenų tipai, galime kalbėti apie tai, kaip dirbti su kintamųjų ir sukurti juos naudojant tai Duomenų tipai mūsų programas. Jei norite sukurti kintamąjį, Viskas, ką jums reikia padaryti, tai du dalykai. Pirma, jums reikia suteikti jai tipą. Antrasis dalykas, kurį reikia reikia padaryti, tai suteikti jai pavadinimą. Kai baigsite, kad ir antausį SEMICOLON tuo tos linijos pabaigoje, jūs sukūrėte kintamąjį. Taigi čia du pavyzdžius. Žiniasklaida, skaičių; char laiškas ;. Ką aš padariau čia? Aš sukūriau du kintamuosius. Pirmasis, kintamasis s vardas, skaičius. Ir numeris yra pajėgi turintis sveikasis skaičius įvesti reikšmes, nes jos tipas yra int. Laiškas yra kitas kintamasis kurie gali turėti ženklų nes jos duomenų tipas yra char. Gana paprasta, tiesa? Jei radote sau tokioje situacijoje, kai jums reikia sukurti keletą kintamieji to paties tipo, Jums tik reikia nurodyti tipas pavadinimas karto. Tada tiesiog išvardinti daug kintamųjų tos rūšies, kaip jums reikia. Taigi galėjau pavyzdžiui, čia Šioje trečioje eilutėje kodas, sako int aukštis ;, naują eilutę. Žiniasklaida plotis ;. Ir kad būtų pernelyg dirbti. Aš vis dar gauti du kintamieji vadinami aukščio ir pločio, iš kurių kiekvienas yra sveikasis skaičius. Bet aš leista, ką į C sintaksę, įtvirtinti jį į vieną liniją. Žiniasklaida aukštis, plotis; Tai tas pats dalykas. Aš sukūriau du kintamuosius, vienas vadinamas aukštis vienas vadinamas plotis, kurie abu sugeba ūkyje sveikasis tipas vertybės. Panašiai čia, galiu sukurti tris slankiojo kablelio vertės iš karto. Galiu gal sukurti kintamąjį vadinama kvadratinė šaknis iš 2-- kuris greičiausiai galų gale palaikykite slankiojo point-- kad kvadrato pavaizdavimas šaknis 2-- kvadratinės šaknies iš 3, pi. Galėčiau tai padarysite ant trijų atskirų linijų. Plūdės, kvadratinės šaknies 2; Plūdės kvadratinė šaknis 3; plūduriuoti pi; ir kad būtų pernelyg dirbti. Bet vėl, aš tiesiog gali sustiprinti tai į vieną liniją kodu. Daro ką truputį trumpesnis, o ne kaip clunky. Dabar apskritai, tai geras dizainas tik paskelbti kintamąjį, kai jums reikia. Ir mes kalbame šiek tiek šiek tiek daugiau apie tai vėliau į paskaitas kai mes aptarti apimtį. Taigi, nebūtinai turi sukurti visiems savo kintamiesiems tuo programos pradžioje, kuris Kai kurie žmonės galėjo padaryti praeitį, ar tikrai buvo labai dažnas prieš kodavimo praktikos daug metų Dirbdami su C. galite tiesiog norite sukurti kintamą teisus jums reikia. Gerai. Taigi mes sukūrėme kintamuosius. Kaip mes juos naudoti? Kai mes deklaruoti kintamasis, mums nereikia nurodyti duomenų tipą tos kintamojo nebėra. Iš tiesų, jei jums tai padaryti, jums gali baigti su kai kuriais keistais pasekmes kad mes rūšies Koloryzować dabar. Tačiau pakanka pasakyti, keistam viskas vyksta pradėti vyksta, jei netyčia naujo deklaruoti kintamuosius su tuo pačiu pavadinimu vėl ir vėl. Taigi čia turiu keturis kodo eilutes. Ir turiu pora Komentarai tik nurodant kas vyksta Kiekviena eilutė tiesiog padėti jums įsikūręs tai, kas vyksta. Taigi int numeris ;. Jūs pamačiau, kad anksčiau. Štai kintamasis deklaracija. Aš dabar sukurta kintamąjį vadinamas skaičius, kad tai galima laikyti sveikas tipo vertybes. Aš pranešiau tai. Kitas linija aš priskirdami vertės numeriu. Taškų lygus 17. Kas vyksta ten? Aš išleisti numeris 17 viduje, kad kintamasis. Taigi, jei aš kada nors tada atsispausdinti, ką numerių turinys vėliau, jie jums pasakys man tai 17. Taigi aš paskelbė kintamąjį, ir tada aš jam paskirtas. Mes galime pakartokite šį procesą vėl su char laiške ;. Štai deklaracija. Laiškas lygus kapitalą H. Štai perleidimas. Gana paprasta, per daug. Dabar šis procesas galėtų atrodo rūšies kvailas. Kodėl mes tai darome dviejų eilučių kodo? Ar yra geresnis būdas tai padaryti? Iš tiesų, yra. Kartais jūs galite pamatyti Tai vadinama iniciacijos. Tai kai paskelbti kintamąjį ir priskirti vertę tuo pačiu metu. Tai iš tikrųjų yra gana bendras dalykas daryti. Kai kuriate kintamąjį, kurį paprastai noriu, kad ji turi tam tikrą pagrindinę vertę. Net jei tai 0 ar kažką. Jūs tiesiog galite duoti jai vertę. Jūs galite inicijuoti kintamąjį. Int skaičius yra lygus 17, yra toks pat kaip pirmos dvi eilutės kodo iki aukščiau. Char raidžių lygus h yra toks pat, kaip trečia ir ketvirta eilutės kodą. Svarbiausia Takeaway čia kai mes deklaruoti ir priskirti kintamieji yra po mes paskelbė ją, pranešimas Nesu naudojant duomenų tipą dar kartą. Aš nesakau, int numeris lygus 17 d antroji linija kodu, pavyzdžiui. Aš tiesiog pasakyti, skaičius yra lygus 17. Vėlgi, iš naujo skelbiantis po kintamasis Jūs jau pareiškė jis gali sukelti kad kažkokiam keistam pasekmė. Taigi tik būkite atsargūs, kad. Aš Doug Lloyd. Ir tai yra CS50.