>> [Predvaja glasba]
SPEAKER: V redu.
Torej, kaj je govoril o drugi stvar, ki je nekako edinstven C,
ki je tipi podatkov in spremenljivke.
Ko rečem edinstvena C, res pomenilo le v kontekstu,
če ste bili programer za zelo dolgo časa,
ste verjetno ne delal s podatkovnimi tipi
Če ste uporabili moderno programski jeziki.
Sodobni jezike, kot PHP in JavaScript,
ki smo ga videli tudi malo Kasneje v teku,
ne boste dejansko morali določiti podatkovni tip spremenljivke
ko jo uporabljate.
>> Pravkar ste jo razglaša in začnete uporabljati.
Če je celo število, ga Vem, da je celo število.
Če je to znak, da je ve, da je to znak.
Če je beseda, ve je niz, ti.
>> Toda v C, ki je starejši jezik, moramo
navesti podatke Tip vsake spremenljivke
da ustvarimo prvi čas da bomo uporabili to spremenljivko.
Torej, C prihaja z nekaterimi vgrajene podatkovne tipe.
In naj se navadim z nekaterimi od teh.
In potem kasneje bomo tudi talk malo o nekaterih podatkovnih tipov
ki smo jih napisal za vas, tako da jih lahko uporabite v CS50.
>> Prvi je int.
Tip int podatkov se uporablja za spremenljivke da bo shranjevanje integer vrednosti.
Torej 1, 2, 3, negativni 1, 2, 3, in tako naprej.
Cela števila, ki je nekaj, kar morajo voditi v mislih za kviz,
vedno traja štiri bajte pomnilnika, kar je 32 bitov.
Obstaja osem bitov v bajt.
>> To torej pomeni, da na območju Vrednosti, ki lahko celo shranjevanje
je omejena s tem, kar lahko v fit 32 bitov vrednosti informacij.
Zdaj, ko se je izkazalo, je bilo že davno odločil,
da bi si razdelili da je razpon 32 bitov
v negativnih števil in pozitivna cela števila,
vsak dobili polovico območju.
Torej razponu vrednosti, ki jih zastopamo z integer razponu od negativnega 2
do 31. močjo do 2 do 31. moč minus 1,
povzroči potrebujete tudi spot za 0.
>> Torej v bistvu polovica možnih vrednosti lahko fit v notr so negativni,
in pol so pozitivni.
In približno tod gre negativna 2 milijardi za okoli pozitivne 2 milijardi.
Dati ali vzeti nekaj sto milijonov.
Torej, to je tisto, kar ste lahko fit v celoštevilski spremenljivki.
Zdaj imamo tudi nekaj imenovano nepodpisani celo število.
Zdaj nepodpisane Ints niso ločen tip spremenljivke.
Namesto, nepodpisani je kar se imenuje kvalifikant.
To spreminja podatke tip celo nekoliko.
>> In v tem primeru, kaj nepodpisana means-- in lahko tudi
uporabite nepodpisane druge podatkovne tipe, celo ni edini.
Kaj to dejansko počne, je v dvojicah pozitivni razpon vrednosti
da lahko celo prevzamejo pri odhodek ni daljše omogoča
ste, da na negativne vrednosti.
Torej, če imate številke, ki jih poznate boste dobili višje kot 2 milijardi, vendar manj
kot 4 milijarde, za example-- ki je od 2 do 32. power--
boste morda želeli uporabiti nepodpisan int, če vas
poznate svoje vrednost nikoli ne bo negativna.
>> Boste občasno imeli uporablja za nepodpisane spremenljivk
v CS50, kar je razlog, zakaj sem ga omenil tukaj.
Ampak spet, razpon vrednosti, ki jih lahko predstavlja s celo število brez predznaka
kot t redno celo število, so 0 na 2 do 32. moč minus 1,
ali približno od 0 do 4 milijarde.
Torej, da ste dejansko podvojila pozitivno območje, ki ga lahko fit,
ampak si dal gor vse negativne vrednosti.
>> Zdaj kot prahi, nepodpisani ni edini kvalifikant
da lahko vidimo za spremenljivka vrste podatkov.
Obstajajo tudi stvari imenovane kratko in dolgo in const.
Const bomo videli malo malce kasneje v teku.
Kratko in dolgo, mi verjetno ne bo.
>> Ampak samo vem, da obstaja drugi kvalifikanti.
Nepodpisani ni edini.
Ampak to je samo ena smo bomo govorili o tem zdaj.
Torej je vse v redu.
Torej smo pokrita cela.
Kaj je naslednje?
>> Znakov.
Torej so črke uporablja za spremenljivke da bo shranite posamezne znake.
Char je okrajšava za značaj.
In včasih boste morda slišali ljudje izgovarjajo kot avto.
>> Torej znaki vedno traja eno bajt pomnilnika, ki je le 8 bitov.
Torej to pomeni, da so lahko primerni le Vrednosti v območju negativnih 2
na sedmi moči ali negativni 128, za 2 do 7. moči minus 1 ali 127.
>> Zahvaljujoč ASCII, je bilo že zdavnaj odločili za pot
zemljevid tiste pozitivne številke od Od 0 do 127 različnih likov
da vse obstaja na naši tipkovnici.
Tako kot bomo videli kasneje v seveda, in boste verjetno
prišel, da si zapomnimo na nekatere točka, kapital A, za example--
znak kapital A-- preslika na številko 65.
In razlog za to je ker to je tisto, kar je, da je
bile dodeljene v standardu ASCII.
>> Male črke A je 97.
Lik 0, ko vas dejansko tip značaj, ne
predstavlja število nič, je 48.
Boste izvedeli par od teh, kot greš.
In boste zagotovo prišli do potrebujete jim malo kasneje v CS50.
>> Naslednja večja vrsta podatkov se s plavajočo vejico.
Torej s plavajočo vejico, so znan tudi kot realnih števil.
Oni so v bistvu številke, ki imajo decimalno vejico v njih.
Plavajočo vejico kot celih tudi
vsebovana v 4 bajtov pomnilnika.
Zdaj ni grafikon tukaj.
Ni številko vrstice, ker opisuje vrsto plovcem
ni ravno jasno, ali intuitivno.
>> Dovolj je, da vam rečem ima 32 bitov za delo z.
In če imate več kot pi, ki ima
celo del 3, in plavajoči točka del, ali decimalni del 0,14159,
in tako naprej, morate biti sposoben, da zastopa vse it--
celo število del in decimalni del.
>> Torej, kaj misliš, da bi to pomenilo?
Ena stvar je, da če decimalne del dobi več in več,
če imam zelo veliko število del, ne bom
mogli biti kar najbolj natančna s decimalni del.
In to je res Omejitev likvidna sredstva.
>> Plovci imajo natančnost problem.
Imamo le 32 bitov na delo z, tako da bomo lahko le
biti tako natančni z našo decimalni del.
Ne moremo imeti nujno tudi decimalko del natančen, da 100 ali 200 znakov,
saj imamo samo 32 bitov delati.
Tako da je omejitev likvidna sredstva.
>> Zdaj na srečo obstaja druga vrsta podatkov imenuje
dvojno, kar je nekoliko se ukvarja s tem problemom.
Dvojice, kot plovci, se uporabljajo tudi za shranjevanje realne številke ali plavajočo vejico
vrednosti.
Razlika je v tem, da dvojice so dvojno natančnostjo.
Ti lahko fit 64 bitov podatki, ali osem bajtov.
Kaj to pomeni?
No, to pomeni, da smo lahko veliko bolj natančna z decimalno vejico.
Namesto da pi do sedem kraji, morda, s plovcem,
bomo lahko morda ga imate na 30 krajih.
Če je to pomembno, boste morda želeli uporabiti dvojni namesto likvidna sredstva.
V bistvu, če ste delajo na karkoli, kjer je
ima zelo dolgo decimalno mesto in veliko natančnostjo, je pomembno,
boste verjetno želeli uporabite dvojnega overfloat.
Zdaj za večino svojega dela v CS50, mora plovec zadostuje.
Ampak vem, da obstajajo podvoji kot način, da se nekoliko ukvarjajo z natančnostjo
Problem, ki vam daje dodaten 32 bitov za delo z za vaše številke.
>> Zdaj to ni tip podatkov.
To je vrsta.
In se imenuje neveljaven.
In govorim o tem tukaj, ker smo jih verjetno
videl nekajkrat že v CS50.
In morda se sprašujete, kaj to je vse okoli.
>> Torej praznina je vrsta.
To ne obstaja.
Vendar ni podatkovni tip.
>> Mi ne moremo ustvariti spremenljivko tipa izniči in dodelite vrednost.
Toda funkcije, na primer, ima lahko tip void donosa.
V bistvu, če ste videli funkcijo da ima tip void vračanja,
to pomeni, da se ne vrne vrednost.
Lahko si misliš o skupni Funkcija, ki smo jih doslej uporabili
v CS50, ki ne vrne vrednost?
>> Printf je ena.
Printf dejansko ne vrne ničesar za vas.
To natisne nekaj, na zaslon, in to je v bistvu
stranski učinek, kar printf počne.
Ampak ne dam vrednost nazaj.
Vi ne zajemajo rezultat in trgovino je v nekaterih spremenljivko jo uporabljati kasneje.
Samo natisne nekaj za zaslon in ste končali.
>> Zato smo rekli, da printf je funkcija nična.
Se vrne ničesar.
>> Seznam obodu Funkcija je lahko tudi neveljavne.
In ste videli tudi, da zelo malo v CS50 preveč.
Int glavni neveljavne.
Ali, da je zvonil zvonec?
V bistvu, kaj to pomeni, da Glavna ne sprejme nobenih parametrov.
Ni argument, da se prenesejo v glavno.
Zdaj kasneje bomo videli, da je način, da prenese argumente v glavnem,
vendar doslej kar smo videti je int glavno nična.
Glavna samo ne sprejme nobenih argumentov.
In tako smo določiti, da z besedami, nična.
Mi samo, da zelo Izrecno o tem
da ne bo nobenih argumentov.
>> Torej za zdaj, je dovolj, da pravijo, da je praznino v bistvu
bi samo služi kot ogrado za vas, kot misliti kot nič.
To ni res počne ničesar.
Ni vrne vrednost tukaj.
Tukaj ni parametri tukaj.
To je nična.
To je malo bolj zapletena, kot da je.
Ampak to bi moralo zadostovati za boljši del tečaja.
In upajmo, da sedaj imate malo malo več pojma o tem, kaj je nična.
>> Torej, to so pet vrst Boste Srečanje, ki so vgrajeni na C.
Toda v CS50 imamo tudi knjižnico.
CS50.h, ki lahko vključujejo.
In ki vam bo zagotovila z dvema dodatnima vrst
da boste verjetno lahko za uporabo na vaših nalogah,
ali pa samo delo na splošno programiranje.
>> Prvi od teh je bool.
Torej, logični podatkovni tip, bool, ki se uporablja za spremenljivke
da bo shranite Boolova vrednost.
Če ste kdaj slišali ta izraz, preden vas
Morda veste, da je logičnim Vrednost je mogoče le
držite dva različna ločene vrednosti.
True in false.
Zdaj pa se zdi to precej temeljna, kajne?
To je neke vrste presenečenje, da je to ne obstaja v C, kot je to vgrajeno.
In v mnogih sodobnih jezikov, seveda, Booleans
so standardni privzeti podatkovni tip.
Toda v C, oni dejansko ni.
Ampak smo ga ustvarili za vas.
Torej, če boste kdaj morali ustvariti spremenljivka, katere tip je bool,
Samo se prepričajte, da #include CS50.h na začetku vašega programa,
in boste lahko ustvarili spremenljivke tipa bool.
>> Če ste pozabili #include CS50.h, in začnete uporabljati spremenljivk Boolean tipa,
boste morda naleteli na nekaj težav ko ste sestavljanju svoj program.
Torej, samo se na razgledni za to.
In morda lahko samo fiksirana Težave z funt vključno CS50.h.
>> Druga pomembna vrsta podatkov, ki smo zagotoviti za vas v knjižnici CS50
je niz.
Torej, kaj je niz?
Strune so res samo besede.
Oni zbirke znakov.
Oni besed.
Oni kazni.
Oni odstavke.
Lahko cele knjige, tudi.
>> Zelo kratek, da zelo dolgo niz znakov.
Če morate uporabiti strune, na primer, za shranjevanje besedo,
Samo se prepričajte, da vključuje CS50.h na začetku vašega programa
tako da lahko uporabite vrsto niza.
In potem si lahko ustvarite spremenljivk katerih vrsta podatkov je niz.
Sedaj kasneje v teku, bomo tudi videli, da je to
ni celotna zgodba, bodisi.
Bomo naleteli stvari imenovane strukture,
ki vam omogočajo, da skupine, kar je lahko celo število in niz v eno enoto.
In bomo lahko uporabili, da je za nekateri namen, ki bi lahko
pridejo v priročni kasneje v teku.
>> In bomo naučili tudi o opredeljenih vrst,
ki vam omogočajo, da ustvarite lastne podatkovne tipe.
Nam ni treba skrbeti O tem za zdaj.
Ampak samo vem, da je to nekaj, na obzorju,
da obstaja veliko več za to celoto Tip stvar kot ti pravim samo
zdaj.
Torej sedaj, da smo se naučili malo o osnovnih podatkov
vrste in podatkovnih CS50 vrste, dajmo govori o tem, kako delati s spremenljivkami
in jih ustvarite z uporabo teh podatkovni tipi v naših programih.
Če želite ustvariti spremenljivko, vse, kar morate storiti je, da dve stvari.
>> Prvič, boste morali dati to vrsto.
Druga stvar, ki jo potrebujete storiti je, da to ime.
Ko ste storili, da je in udaril podpičjem na koncu te vrstice,
ki ste jih ustvarili spremenljivko.
>> Torej, tukaj je dva primera.
Int številka; char pismo ;.
Kaj sem naredil tukaj?
Sem ustvaril dve spremenljivki.
>> Prvi je spremenljivka je ime je številka.
In številka je sposoben držati celo tip vrednosti, ker je njegov tip int.
Pismo je še ena spremenljivka da lahko imajo znake
ker je njena vrsta podatkov je char.
>> Precej preprosto, kajne?
Če se znajdete V situaciji, ko
morate ustvariti multipla spremenljivke istega tipa,
morate samo določiti ime enkrat tipa.
Potem samo seznam toliko spremenljivk tega tipa, kot ga potrebujete.
>> Tako sem lahko na primer tukaj v tej tretji vrstici kode,
pravijo, višina int ;, novo linijo.
Int širina ;.
In da bi bilo preveč dela.
Jaz bi še vedno dobil dve spremenljivki imenuje višina in širina, od katerih je vsak
je celo število.
Ampak jaz dovoljeno, stvari C sintakse, je združila v eno samo vrstico.
Višina Int, širina; To je ista stvar.
Sem ustvaril dve spremenljivki, ena imenovana višina je imenovana širina, ki sta
so sposobni gospodarstva celoštevilske vrednosti tipa.
>> Prav tu, sem lahko ustvarite tri plavajočo vejico na enkrat.
Lahko morda ustvariti spremenljivko imenujemo kvadratni koren 2--
kar verjetno bo sčasoma držite plavajoče Point--
da je zastopanost na trgu koren 2-- kvadratnim korenom 3, in pi.
Lahko bi to storil na treh ločenih vrsticah.
Float, kvadratni koren 2; Float kvadratni koren 3; float pi; in da bi delo preveč.
>> Ampak še enkrat, jaz lahko samo utrditi to v eno vrstico kode.
Naredi stvari malo krajši, ne kot clunky.
>> Sedaj na splošno, da je dobro oblikovanje le razglasi spremenljivko, ko jo potrebujete.
In bomo govorili malo malo več o tem
Kasneje v teku ko smo razpravljali o obseg.
Torej ni nujno, da ustvariti vse vaše spremenljivk
na začetku programa, ki nekateri ljudje bi lahko storili v preteklosti,
ali je bilo gotovo zelo pogosti Pred kodiranje praksi veliko let
Pri delu s C. boste morda le želite ustvariti spremenljivo prav, ko
jo potrebujete.
V redu.
Tako smo ustvarili spremenljivke.
Kako jih uporabljamo?
Ko smo razglasi spremenljivka, ne potrebujemo
določiti vrsto podatkov te spremenljivke več.
V bistvu, če boste to storili, boste morda končajo z nekaj čudnih posledic
da bomo nekako prikriti za zdaj.
Ampak je dovolj reči, čudne stvari se dogaja
za začetek se dogaja, če vas nehote ponovno razglasi spremenljivke z istim imenom
znova in znova.
>> Torej, tukaj imam štiri vrstic kode.
In imam par komentarji tam le z navedbo
kaj se dogaja na vsaka vrstica samo za pomoč
dobiš nahaja v kaj se dogaja.
Torej int število ;.
Boste videli, da prej.
To je spremenljivka deklaracija.
>> Sem zdaj ustvarila spremenljivko klicana številka, ki je
sposoben držati vrednosti celo število tipa.
Sem ga razglasiti.
>> Naslednja vrstica sem dodeljevanje vrednost za številko.
Število enaka 17.
Kaj se tam dogaja?
Jaz sem dajanje številko 17 znotraj te spremenljivke.
>> Torej, če sem kdaj nato natisnete, kaj vsebina številom so kasneje,
mi bo povedal, da je 17.
Tako sem izjavil spremenljivko, in potem sem ga dodeljena.
>> Mi lahko ponovite postopek spet z char pismu ;.
To je izjava.
Pismo je enak kapital H. To je naloga.
Precej enostavno, preveč.
>> Zdaj ta proces morda zdi nekako neumno.
Zakaj to počnemo v dveh vrstic kode?
Ali obstaja boljši način za to?
Dejstvo je, da je.
Včasih boste morda videli to imenuje inicializacijo.
To je, ko razglasi spremenljivko in dodeliti vrednost istočasno.
To je pravzaprav zelo skupna stvar.
Ko ustvarite spremenljivko, ki ga ponavadi želim, da bi imeli neko osnovno vrednost.
Tudi če je 0 ali kaj podobnega.
Pravkar ste si ji dati vrednost.
>> Lahko inicializacijo spremenljivke.
Int številka je enaka 17 je enak prvih dveh vrstic kode up zgoraj.
Char črka enaka h je enak kot tretji in četrti vrstic kode zgoraj.
Najpomembnejši takeaway tukaj ko smo razglasitvi in ​​dodeljevanje
spremenljivke, je po tem, ko smo jih je izjavil, obvestilo
Ne bom spet z vrsto podatkov.
Ne pravim, int število znaša 17 o druga vrstica kode, na primer.
Pravim samo število je enako 17.
>> Again, re-razglasitvi spremenljivke po ste že izjavila, da lahko povzroči
do neke čudne posledice.
Torej, samo pazite, da.
>> Sem Doug Lloyd.
In to je CS50.