[Prehrávanie hudby] SPEAKER: Dobre. Tak poďme hovoriť o ďalšie vec, ktorá je druh jedinečné C, čo je dátové typy a premenné. Keď hovorím, že jedinečné C, naozaj znamenať len v kontexte, Ak ste boli programátor pre naozaj dlhú dobu, pravdepodobne ste nie pracoval s dátovými typmi ak ste použili moderné programovacie jazyky. Moderné jazyky, ako je PHP a JavaScript ktorý budeme tiež vidieť trochu neskôr v priebehu, nemáte skutočne nutné zadať dátový typ premennej keď ju použijete. Práve ste deklarovať to, a začať používať. Ak je to celé číslo, to viem, že je to celé číslo. Ak je to postava, to je vie, že je to postava. Ak je to slovo, to vie to je reťazec, tak-zvané. Ale v C, čo je staršie jazyka, potrebujeme špecifikovať dáta typ každej premennej že vytvoríme prvýkrát že použijeme tejto premennej. Takže C je dodávaný s niektorými vstavaných dátových typov. A poďme sa zoznámiť s niektorými z nich. A potom potom budeme tiež hovoriť Niečo málo o niektorých typov údajov že písali sme pre vás, takže ich môžete použiť v CS50. Prvý z nich je int. Typ int dáta sú použité pre premenné že bude ukladať celočíselné hodnoty. So 1, 2, 3, negatívne 1, 2, 3, a tak ďalej. Celé čísla, čo je niečo, čo by mali mať na pamäti, pre kvízu, vždy zaberajú štyri bajty pamäte, čo je 32 bitov. Existuje osem bitov byte. Takže to znamená, že rozsah oceňuje, že celé číslo je možné uložiť je obmedzený tým, čo sa zmestí do 32 bitov v hodnote informácií. Teraz, ako to dopadá, to bolo dávno rozhodnuté že by sme rozdelili že rozsah 32 bitov do záporných čísel a kladné celé čísla, každá dostáva polovicu rozsahu. Takže rozsah hodnôt, ktoré zastupujeme s celočíselnú rozmedzí od negatívneho 2 k 31. výkonu na 2 až 31. sila mínus 1, spôsobiť, že tiež potrebujú miesto pre 0. Takže v podstate polovica možných hodnôt sa zmestí do int, sú negatívne, a polovica je pozitívny. A zhruba tu, to je o negatívny 2000000000 až o pozitívnom 2 miliardy. Dajte alebo trvať niekoľko sto miliónov. Takže to je to, čo sa zmestí v celočíselné premenné. Teraz máme tiež niečo volal celé číslo bez znamienka. Teraz nepodpísané ints nie sú samostatný typ premennej. Skôr je nepodpísaný čo sa nazýva kvalifikácia. To upraví údaje typ integer mierne. A v tomto prípade to, čo nepodpísaný means-- a môžete tiež použiť nepodpísané iné dátové typy, integer to nie je jediný. Čo to v skutočnosti robí, je štvorhra pozitívne rozsah hodnôt že číslo môže prijať na na úkor už umožňuje vás vziať na záporných hodnôt. Takže ak máte čísla, ktoré poznáte budú mať vyššie ako 2 miliardy, ale menej ako 4 miliardy, pre example-- čo je o 2 až 32. power-- možno budete chcieť použiť unsigned int ak máte viete, aby vaša hodnota bude nikdy byť negatívne. Budete príležitostne používa pre nepodpísané premenné vo CS50, čo je dôvod, prečo som tu o ňom zmieniť. Ale opäť, rozsah hodnôt, ktoré ste môže predstavovať s celé číslo bez znamienka as t pravidelné celé číslo, sú 0 na 2 až 32. sile mínus 1, alebo približne 0 až 4 miliardy. Takže ste skutočne na dvojnásobok Pozitívne oblasť, ktorá sa zmestí, ale vy ste vzdali všetky záporné hodnoty. Teraz ako stranou, nepodpísaný nie je jediným kvalifikátor že by sme mohli vidieť premenných dátové typy. Tam sú tiež veci, zvané krátky a dlhý a const. Const uvidíme trochu niečo neskôr v kurze. Krátka a dlhá, my asi nebude. Ale viem, že tam sú ďalšie kvalifikátory. Unsigned nie je jediný. Ale je to jediný, my sme bude hovoriť o práve teraz. Takže v poriadku. Preto sme sa vzťahuje celé čísla. Čo bude ďalej? Znakov. Tak znaky sa používajú pre premenné že bude ukladať jednotlivé znaky. Char je skratka pre charakter. A niekedy môžete počuť ľudia vyslovujú to ako auto. Takže postavy vždy tvoria jednu byte pamäte, čo je len 8 bitov. Takže to znamená, že sa zmestí len hodnoty v rozsahu od negatívnej 2 do siedmej výkonu, alebo negatívne 128, na 2 až 7. sile mínus 1, alebo 127. Vďaka ASCII, to bolo dávno rozhodol cestu zmapovať tie pozitívne čísla z 0-127 do rôznych postáv že všetky existujú na našej klávesnici. Takže ako uvidíme neskôr v kurz, a budete pravdepodobne prísť na zapamätanie na niektorej bod, kapitál A, pre example-- charakter kapitál je-- mapuje na číslo 65. A dôvod pre to je pretože to je to, čo je to prideľuje norme ASCII. Malé písmená A je 97. Znak 0, keď vás vlastne zadajte znak, nie predstavujúce číslo nula, je 48. Naučíte sa pár z nich as you go. A budete určite príde potrebovať je o niečo neskôr v CS50. Budúci hlavný dátový typ plávajúcou desatinnou čiarkou. Takže desatinných čísel sú tiež známy ako reálne čísla. Sú to v podstate, že čísla majú desatinnú čiarku v nich. S plávajúcou desatinnou čiarkou hodnoty rovnako ako celé čísla sú tiež obsiahnuté 4 bajtov pamäte. Teraz je tu žiadny graf sem. Neexistuje žiadne číslo linky, pretože popisujúci rozsah plaváka Nie je úplne jasné, alebo intuitívne. Postačí, keď hovoríte majú 32 bitov pracovať. A ak máte číslo ako pi, ktorý má celé číslo časť 3, a plávajúce bod časti, alebo desatinné časť 0,14159, a tak ďalej, musíte byť schopný reprezentovať všetky to-- celá časť a desatinnú časť. Takže to, čo si myslíte, že by to mohlo znamenať? Jedna vec je, že ak od desatinnej čiarky diel dostane dlhšie a dlhšie, ak mám veľmi veľký celá časť, možno by som to môcť byť čo najpresnejšie s desatinnou časťou. A to je naozaj obmedzenie plaváku. Plaváky mať presnosť problém. Máme len 32 bitov na pracovať, tak len môžeme bolo natoľko presné, s našou desatinnú časť. Nemôžeme mať nutne desatinné časť presný k 100 alebo 200 číslic, pretože máme len 32 bitov pre prácu s. Takže to je obmedzenie plaváku. Teraz našťastie je tu iný dátový typ nazvaný double, čo trochu spoločnosti s týmto problémom. Štvorhra, rovnako ako plaváky, sú tiež používané pre ukladanie reálnych čísel, alebo s plávajúcou rádovou čiarkou hodnoty. Rozdiel je v tom, že dvojlôžkových sú double precision. Sa mohli vojsť 64 bitov dáta, alebo osem bajtov. Čo to znamená? No, to znamená, že môžeme byť oveľa presné s desatinnou čiarkou. Namiesto toho, aby pi na sedem miest možná, s plavákom, môžeme možno mať až 30 miest. Ak je to dôležité, možno budete chcieť používať dvojaký miesto plaváku. V podstate, ak ste Pracuješ na niečom kde má naozaj dlho desatinné miesto a veľa presnosť je dôležitá, pravdepodobne budete chcieť používajú dvojaký overfloat. Teraz pre väčšinu svojej práce v CS50, plavák by malo stačiť. Ale viem, že existujú ako dvojlôžkové spôsob, ako sa vysporiadať s trochu presnosťou Problém tým, že vám navyše 32 bitov pre prácu s pre vaše čísla. Teraz to nie je typ dát. Jedná sa o typ. A je to len neplatné. A ja hovorím o tom tu preto, že sme pravdepodobne Videl ju niekoľkokrát už v CS50. A môžete sa opýtať čo je to všetko okolo. Takže void je typ. To neexistuje. Ale nie je to typ dát. Nemôžeme vytvoriť premennú typu ruší a priradiť hodnotu. Ale funkcie, napríklad, môže mať návratový typ void. V podstate, keď vidíte funkciu ktorý má návratový typ void, to znamená, že nevracia hodnotu. Dokážete si myslíte, že spoločný funkcia, ktorú sme doteraz použitý V CS50, že nevracia hodnotu? Printf je jeden. Printf nie je v skutočnosti vrátiť vám niečo. Je to niečo, čo vytlačí na obrazovky, a je to v podstate vedľajší účinok toho, čo robí printf. Ale to nedáva vám hodnotu späť. Nemusíte zachytiť výsledok a obchod že v niektorých premennej ju použiť neskôr. Je to proste niečo, čo vytlačí obrazovky a máte hotovo. Preto hovoríme, že printf je funkcia neplatné. Vracia nič. Zoznam Obvod funkcia môže byť tiež neplatné. A vy ste tiež vidieť, že dosť na CS50 taky. Int main neplatné. Znamená to, že nehovorí? V podstate, čo to znamená, že je Hlavné neberie žiadne parametre. Neexistuje žiadny argument, že dostať prešiel do hlavnej. Teraz neskôr budeme vidieť, že existuje spôsob, ako odovzdať argumenty do hlavnej, ale zatiaľ to, čo máme Videl je int main neplatné. Hlavné jednoducho neberie žiadne argumenty. A tak sme určiť, že tým, že hovorí neplatné. Sme len byť veľmi explicitné o tom, že to nebude trvať žiadne argumenty. Takže teraz, stačí povedať, že v podstate void mal proste slúžiť ako zástupný symbol pre vás ako myslieť ako nič. Nie je to naozaj niečo robiť. Neexistuje žiadna návratová hodnota tu. K dispozícii je tu žiadne parametre. To je neplatné. Je to trochu zložitejšie, než to. Ale to by malo stačiť pre lepšiu časť kurzu. A dúfajme, že teraz budete mať trochu trochu viac o poňatie toho, čo je neplatné. Takže to sú päť typov budete Stretnutie, ktoré sú vstavané do C. Ale v CS50 máme tiež knižnicu. CS50.h, ktoré si môžete zahrnúť. A ktorý vám poskytne s ďalšími dvoma typmi že budete pravdepodobne môcť pre použitie na svojich úloh, alebo len pracovné všeobecne programovania. Prvým z nich je bool. Takže Boolean dátový typ, bool, sa používa pre premenné ktorý bude ukladať logickú hodnotu. Ak ste niekedy počuli Tento termín predtým, vás Možno viete, že Boolean hodnota je schopný len drží dve rôzne odlišné hodnoty. True a false. Teraz to vyzerá celkom fundamentálne, že jo? Je to tak trochu prekvapením, že tento neexistuje v C, ako je to vstavané. A v mnohých moderných jazykoch, Samozrejme, že Booleans sú štandardné predvolený typ dát. Ale v C, sú to v skutočnosti nie je. Ale my sme vytvorili pre vás. Takže ak budete niekedy potrebovať vytvoriť premenná, ktorej typ je bool, len sa uistite, #include CS50.h na začiatku programu, a budete môcť vytvárať premenné typu BOOL. Ak zabudnete #include CS50.h, a začnete premenné typu Boolean, sa môžu vyskytnúť nejaké problémy keď ste kompilácii programu. Takže jednoducho byť na pozore, že. A možno si môžete len opraviť Problémy podľa libru vrátane CS50.h. Iný hlavný typ dát, ktoré sme Zabezpečíme pre Vás v knižnici CS50 je reťazec. Takže to, čo je reťazec? Reťazce sú naozaj len slová. Sú zbierky postáv. Sú to slová. Sú vety. Sú to body. Môže byť celé knihy, a to aj. Veľmi krátka na veľmi dlhé rad znakov. Ak potrebujete použiť reťazca, Napríklad, pre uloženie slovo, Len nezabudnite uviesť CS50.h na začiatku svojho programu takže môžete použiť typ reťazec. A potom si môžete vytvoriť premenné ktorého dátový typ je reťazec. Teraz neskôr v priebehu, budeme tiež vidieť, že to je nie celý príbeh, a to buď. Budeme stretávame veci tzv štruktúry, ktorý vám umožní skupine, čo môže byť celé číslo a reťazec do jedného celku. A môžeme používať pre nejaký účel, ktorý by mohol hodiť neskôr v kurze. A budeme tiež naučiť o definovaných typov, ktorý vám umožní vytvoriť Vaše vlastné dátové typy. Nepotrebujeme sa obávať o tom teraz. Ale viem, že to je niečo na obzore, že je tu oveľa viac k tomuto celku Typ vec, než som ti len teraz. Takže teraz, keď sme sa dozvedeli Niečo málo o prístup k základným údajom typy a typy dát CS50, poďme hovoriť o tom, ako pracovať s premennými a vytvorte je pomocou týchto dátové typy v našich programoch. Ak chcete vytvoriť premennú, všetko, čo potrebujete urobiť, je dve veci. Po prvé, je potrebné, aby to typ. Druhá vec, ktorú potrebujete urobiť, je dať mu meno. Potom, čo ste urobil, že a tresol bodkočiarka na konci tejto línie, ste vytvorili premennú. Tak tu je dva príklady. Číslo Int; char letter;. Čo tu som to urobil? Vytvoril som dve premenné. Prvý z nich, premenné Volá sa číslo. A číslo je schopná pojať celé číslo zadajte hodnoty, pretože jeho typ je int. List je ďalšia premenná ktoré môžu držať znaky pretože jej dátový typ je char. Celkom jednoduché, nie? Ak sa ocitnete v situácii, keď musíte vytvoriť viac premenné rovnakého typu, stačí iba zadať je názov typu raz. Potom už stačí len vypísať toľko premenných tohto typu, ako budete potrebovať. Tak som mohol napríklad tu V tejto tretej riadok kódu, hovoria, výška int;, nový riadok. Šírka Int;. A to by fungovať tiež. Ja by som ešte dostať dve premenné s názvom výška a šírka, pričom každý z nich je celé číslo. Ale ja dovolené, veci syntaxe C, konsolidáciu do jediného riadku. Int výška, šírka; Je to rovnaká vec. Vytvoril som dve premenné, jeden s názvom výška jeden s názvom šírka, v oboch prípadoch sú schopné udržať celočíselné hodnoty typu. Rovnako tak tu, môžem vytvoriť tri plávajúce čiarkou naraz. Môžem snáď vytvoriť premennú volal odmocnina 2-- ktorý pravdepodobne bude nakoniec držať plávajúce point-- že zastúpenie námestí koreň 2-- odmocniny 3, a pí. Mohol som to urobil na tri samostatné riadky. Float, odmocnina 2; Float odmocninu 3; float pi; a že bude fungovať tiež. Ale na druhú stranu, ja si len konsolidovať to do jedného riadku kódu. Robí veci trochu kratšie, nie ako neohrabaný. Teraz všeobecne, je to dobrý návrh, aby iba deklarovať premennú, keď ju potrebujete. A budeme hovoriť trochu trochu viac o tom, že neskôr v priebehu keď budeme diskutovať o odbor. Takže sa nemusíte nutne vytvoriť všetky vaše premenné na začiatku programu, ktorý Niektorí ľudia by mohli urobiť minulosť, alebo to bol určite veľmi časté Pred mnohými rokmi praxe kódovania Pri práci s C. môžete len Chcete vytvoriť variabilný pravdu, keď ju budete potrebovať. Dobre. Preto sme vytvorili premenné. Ako by sme ich používať? Potom, čo sme vyhlásiť variabilné, nepotrebujeme určiť typ dát tej premenné ešte. V skutočnosti, ak tak urobíte, môžete skončiť s niektorými podivnými dôsledkami že budeme trochu zakryť teraz. Ale stačí povedať, divné veci idú spustiť deje Ak omylom znovu deklarovať premenné s rovnakým názvom znova a znova. Tak tu mám štyri riadky kódu. A mám pár Komentáre Momentálne tu len naznačujú, čo sa deje na Každá linka len pomôcť dostanete nachádza v tom, čo sa deje. Takže int číslo;. Ste videli, že skôr. To je deklarácia premenných. Ja som teraz vytvorili premennú volané číslo, ktoré je schopné udržať hodnoty integer typu. Ja som deklaroval to. Ďalší riadok som priradenie hodnota, ktorá má číslo. Číslo sa rovná 17. Čo sa tam deje? Dávam číslo 17 vnútri tejto premennej. Takže keď som niekedy potom vytlačiť čo obsah čísla sú neskôr, oni mi, poviem, že je to 17. Takže som deklaroval premennú, a potom som pridelený to. Môžeme proces opakovať opäť s char písmenom;. To je vyhlásenie. List sa rovná kapitál H. To je úloha. Celkom jednoduché, taky. Teraz tento proces môže Zdá sa to tak hlúpe. Prečo to robíme v dvoch riadkov kódu? Existuje lepší spôsob, ako to urobiť? V skutočnosti, tam je. Niekedy môžete vidieť Tento tzv inicializáciu. Je to, keď je deklarovať premennú a priradenie hodnoty v rovnakom čase. To je vlastne celkom bežná vec robiť. Keď vytvoríte premennú, zvyčajne Chcem to mať niektoré základné hodnotu. Aj keď je to 0 alebo tak niečo. Iba tí, že to dať hodnotu. Môžete inicializovať premenné. Int číslo sa rovná 17, je rovnaký, ako prvé dva riadky kódu up vyššie. Char letter rovná h je rovnaká ako Tretí a štvrtý riadkov kódu vyššie. Najdôležitejšie stánok s jedlom tu keď sme deklarovaní a priraďovanie premenné je potom, čo sme vyhlásený za to, oznámenie Nie som pomocou typ dát znova. Nehovorím, že počet int sa rovná 17 na druhý riadok kódu, napríklad. Len hovorím, že číslo sa rovná 17. Opäť platí, že re-deklarovaní premennej po už ste vyhlásil, že môže viesť na nejaké podivné dôsledok. Tak len pozor na to. Som Doug Lloyd. A to je CS50.