>> [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.