1 00:00:00,000 --> 00:00:00,980 2 00:00:00,980 --> 00:00:04,410 >> [Musiikki soi] 3 00:00:04,410 --> 00:00:11,147 4 00:00:11,147 --> 00:00:12,230 DAVID J. MALAN: Okei. 5 00:00:12,230 --> 00:00:16,440 Tämä on CS50, ja tämä on viikon lopussa 2. 6 00:00:16,440 --> 00:00:18,480 Joten tänään, aiomme jatkaa look 7 00:00:18,480 --> 00:00:21,150 miten me edustamme asiat alla hood-- luopumassa 8 00:00:21,150 --> 00:00:23,520 numeroista kuten kokonaislukuja ja liukulukuarvoja 9 00:00:23,520 --> 00:00:26,810 ja keskitytään jouset ja lopulta enemmän mielenkiintoisia ohjelmia. 10 00:00:26,810 --> 00:00:30,140 Mutta me myös katsomaan pari verkkotunnuskohtaisia ​​problems-- 11 00:00:30,140 --> 00:00:33,620 joista ensimmäinen tulee olla mukana salaus, 12 00:00:33,620 --> 00:00:36,570 taidetta muokkaamisella tietoa, jossa näet yllä täällä 13 00:00:36,570 --> 00:00:41,480 on kuva Radio Orphan Annie salainen dekooderi rengas menneiden. 14 00:00:41,480 --> 00:00:46,490 >> Tämä on itse asiassa hyvin alkeellinen muoto ja lapsiystävällinen muodossa cryptopgraphy 15 00:00:46,490 --> 00:00:50,590 jolloin tämä rengas on kaksi disks-- yksi sisällä ja toinen sen ulkopuolella. 16 00:00:50,590 --> 00:00:54,740 Ja kiertämällä yksi niistä, voit olennaisesti riviin kirjaimia kuten 17 00:00:54,740 --> 00:00:59,520 Z muiden kirjaimet kuten B-A kautta Toisin sanoen, 18 00:00:59,520 --> 00:01:03,730 voit kirjaimellisesti pyörittää aakkoset, Näin keksiä kartoitus 19 00:01:03,730 --> 00:01:07,820 kirjeitä kirjaimet niin, että jos halusi lähettää salaisen viestin 20 00:01:07,820 --> 00:01:11,820 joku kuten Annie, voisit kirjoittaa alas viestisi ja kierrä 21 00:01:11,820 --> 00:01:15,370 kirjeitä, jolloin, jos tarkoitat sanoa "," sinä sen sijaan sanoa "B" 22 00:01:15,370 --> 00:01:17,280 Tarkoititko sanoa "B" te sen sijaan sanoa "C" - 23 00:01:17,280 --> 00:01:20,240 tai jotain hieman viisaampi kuin that-- ja sitten lopulta 24 00:01:20,240 --> 00:01:24,630 niin kauan kuin Annie on tämä dekooderi rengas, hän pystyy purkamaan viestin. 25 00:01:24,630 --> 00:01:28,540 Nyt, ehkä muistatte, itse asiassa, että tämä käytettiin hyvin kuuluisa elokuva, joka 26 00:01:28,540 --> 00:01:31,140 toistaa loputtomiin aikana joulun aikaan. 27 00:01:31,140 --> 00:01:32,650 Katsotaanpa katsomaan täällä. 28 00:01:32,650 --> 00:01:35,294 29 00:01:35,294 --> 00:01:37,210 Ralphie Parker: "Ole se kaikkien tiedossa yhteenvetona 30 00:01:37,210 --> 00:01:41,000 että Ralph Parker nimitetään jäsen Little Orphan Annie Secret 31 00:01:41,000 --> 00:01:44,860 Ympyrä ja on oikeutettu kaikkiin kunnianosoitukset ja hyödyt ilmenevät siihen. " 32 00:01:44,860 --> 00:01:47,410 >> Ralphie PARKER (kertomisen): Allekirjoitettu Pikku Orphan Annie. 33 00:01:47,410 --> 00:01:50,070 Varmentaa, Pierre Andre! 34 00:01:50,070 --> 00:01:51,490 Musteella. 35 00:01:51,490 --> 00:01:55,494 Kunnianosoitukset ja hyödyt, jo yhdeksän vuoden iässä. 36 00:01:55,494 --> 00:01:57,402 >> [Musiikki soi] 37 00:01:57,402 --> 00:02:00,470 >> [RADIO CHATTER] 38 00:02:00,470 --> 00:02:01,470 Ralphie Parker: Tulkaa. 39 00:02:01,470 --> 00:02:02,344 Mennään sen kanssa. 40 00:02:02,344 --> 00:02:06,029 En tarvitse All That Jazz noin salakuljettajia ja merirosvoja. 41 00:02:06,029 --> 00:02:08,820 Radiokuuluttajaa: Kuuntele huomenna yö loppusanoma seikkailu 42 00:02:08,820 --> 00:02:11,060 Black Pirate Ship. 43 00:02:11,060 --> 00:02:14,740 Nyt on aika Annien Salainen viesti sinulle jäsenille 44 00:02:14,740 --> 00:02:17,110 Secret Circle. 45 00:02:17,110 --> 00:02:20,700 Muista lapset, vain jäsenille Annie Secret Circle 46 00:02:20,700 --> 00:02:23,270 pystyy purkamaan Annien salainen viesti. 47 00:02:23,270 --> 00:02:27,270 >> Muista, Annie on riippuvaisia ​​sinusta. 48 00:02:27,270 --> 00:02:30,060 Aseta tapit B-2. 49 00:02:30,060 --> 00:02:34,004 Tässä on message-- 12, 11, 2-- 50 00:02:34,004 --> 00:02:36,503 Ralphie PARKER (kertomisen): I olen ensimmäinen salaisen kokouksen. 51 00:02:36,503 --> 00:02:40,041 Radiokuuluttajaa: --25, 14, 11, 18, 16-- 52 00:02:40,041 --> 00:02:42,790 Ralphie PARKER (kertomisen): Ai, Pierre oli hieno ääni tänään. 53 00:02:42,790 --> 00:02:46,110 Voisin kertoa, että illan Viesti oli todella tärkeä. 54 00:02:46,110 --> 00:02:47,930 >> Radiokuuluttajaa: vähintään 3, 25. 55 00:02:47,930 --> 00:02:49,940 Tuo viesti Annie itse. 56 00:02:49,940 --> 00:02:52,182 Muista, älä kerro kenellekään. 57 00:02:52,182 --> 00:02:55,077 >> [Huohottaen] 58 00:02:55,077 --> 00:02:57,285 Ralphie PARKER (kertomisen): Yhdeksänkymmentä sekuntia myöhemmin, olen 59 00:02:57,285 --> 00:03:00,090 ainoassa huoneessa talo, jossa poika yhdeksän 60 00:03:00,090 --> 00:03:04,380 voisi istua rauhassa ja purkaa. 61 00:03:04,380 --> 00:03:04,990 Ah. 62 00:03:04,990 --> 00:03:05,680 "B." 63 00:03:05,680 --> 00:03:06,524 >> [Naurahtaa] 64 00:03:06,524 --> 00:03:08,684 >> Ralphie PARKER (kertomisen): Menin seuraavaan. 65 00:03:08,684 --> 00:03:09,610 "E." 66 00:03:09,610 --> 00:03:11,641 Ensimmäinen sana on "olla." 67 00:03:11,641 --> 00:03:12,140 Kyllä! 68 00:03:12,140 --> 00:03:14,293 Se oli tulossa helpompaa nyt. 69 00:03:14,293 --> 00:03:15,259 "U." 70 00:03:15,259 --> 00:03:16,225 >> [Naurahtaa] 71 00:03:16,225 --> 00:03:18,157 >> RANDY Parker: Älä viitsi, Ralphie. 72 00:03:18,157 --> 00:03:19,606 Täytyy mennä! 73 00:03:19,606 --> 00:03:21,538 >> Ralphie Parker: Tulen alas, Ma. 74 00:03:21,538 --> 00:03:22,504 Jannu hurahtaa. 75 00:03:22,504 --> 00:03:25,402 76 00:03:25,402 --> 00:03:31,220 "T." "O." "Muista to. "" Muista "mitä? 77 00:03:31,220 --> 00:03:33,981 Mikä oli Pikku Orphan Annie yrittää sanoa? "Muista" mitä? 78 00:03:33,981 --> 00:03:35,522 ÄITI: Ralphie, Randy on mentävä. 79 00:03:35,522 --> 00:03:36,735 Voisitko tulla ulos? 80 00:03:36,735 --> 00:03:38,190 >> Ralphie Parker: Okei, äiti! 81 00:03:38,190 --> 00:03:39,787 Tulen ulos! 82 00:03:39,787 --> 00:03:41,995 Ralphie PARKER (kertomisen): Olin lähestyy nyt. 83 00:03:41,995 --> 00:03:43,370 Jännitys oli kauhea. 84 00:03:43,370 --> 00:03:44,794 Mikä se oli? 85 00:03:44,794 --> 00:03:47,656 Planeetan kohtalo voi vaakalaudalla. 86 00:03:47,656 --> 00:03:50,518 >> ÄITI: Ralphie, Randy sai mennä! 87 00:03:50,518 --> 00:03:53,635 >> Ralphie Parker: Tulen pois, hyvänen aika! 88 00:03:53,635 --> 00:03:55,343 Ralphie PARKER (Kertomisen): Melkein! 89 00:03:55,343 --> 00:03:56,520 Sormiani lensi! 90 00:03:56,520 --> 00:03:58,500 Mieleni oli teräs ansa. 91 00:03:58,500 --> 00:03:59,850 Jokainen pore värähtelemään. 92 00:03:59,850 --> 00:04:01,806 Se oli melkein puhdas! 93 00:04:01,806 --> 00:04:02,773 Kyllä! 94 00:04:02,773 --> 00:04:03,273 Kyllä! 95 00:04:03,273 --> 00:04:03,773 Kyllä! 96 00:04:03,773 --> 00:04:04,740 Kyllä! 97 00:04:04,740 --> 00:04:10,250 >> Ralphie Parker: "Muista juoda Ovaltine. " 98 00:04:10,250 --> 00:04:10,750 Ovaltine? 99 00:04:10,750 --> 00:04:14,864 100 00:04:14,864 --> 00:04:17,539 Crummy kaupallinen? 101 00:04:17,539 --> 00:04:19,439 >> [Musiikki soi] 102 00:04:19,439 --> 00:04:21,724 >> Ralphie Parker: Perhana. 103 00:04:21,724 --> 00:04:23,460 >> [Nauraa] 104 00:04:23,460 --> 00:04:27,070 >> DAVID J. MALAN: Niin että silloin on Vilkaisu mitä salakirjoitus 105 00:04:27,070 --> 00:04:29,880 voi olla this-- juoda eilisen. 106 00:04:29,880 --> 00:04:30,900 Joten nopea tiedotus. 107 00:04:30,900 --> 00:04:33,410 Jos olet vapaa tästä Perjantaina klo 13:15 ja olisi 108 00:04:33,410 --> 00:04:36,610 haluavat liittyä meihin CS50 lounas suunnata tätä URL täällä. 109 00:04:36,610 --> 00:04:38,080 Saapumisjärjestyksessä palvella kuten tavallista. 110 00:04:38,080 --> 00:04:41,840 Mutta ajan kuluessa, me varmista, että useimmat ketään joka haluaisi osallistua 111 00:04:41,840 --> 00:04:43,640 ajoittaa viisas. 112 00:04:43,640 --> 00:04:45,170 >> Niin jouset. 113 00:04:45,170 --> 00:04:47,940 Olemme Zamyla-- kenelle olet nyt tavannut todennäköisimmin 114 00:04:47,940 --> 00:04:50,750 in Harjoitus 1-- joiden nimi on kirjoitettu näin. 115 00:04:50,750 --> 00:04:53,570 Ja kai kirjoitit hänen nimensä tietokoneohjelmaan, joka on 116 00:04:53,570 --> 00:04:55,710 käyttäen jotain getString. 117 00:04:55,710 --> 00:04:57,890 Jotta noutaa ne painalluksia, miten 118 00:04:57,890 --> 00:05:01,620 osaamme edustavat merkkijono, sana, kohta, 119 00:05:01,620 --> 00:05:03,960 tai useampia kirjaimia kuten nämä täällä? 120 00:05:03,960 --> 00:05:06,790 >> Puhuimme viime kerralla noin kokonaislukuja ja ongelmia 121 00:05:06,790 --> 00:05:09,960 että syntyy kokonaisluvun ylivuoto ja liukulukuarvoja 122 00:05:09,960 --> 00:05:12,190 ja ongelmia, jotka Väliaikaisen tarkkuutta. 123 00:05:12,190 --> 00:05:16,080 Jousten, me ainakin on hieman enemmän joustavuutta 124 00:05:16,080 --> 00:05:17,970 koska strings-- vain todellisessa world-- 125 00:05:17,970 --> 00:05:19,790 voi olla melko mielivaltainen pituus. 126 00:05:19,790 --> 00:05:21,055 Melko lyhyt, melko pitkä. 127 00:05:21,055 --> 00:05:23,680 Mutta silloinkin, me aiomme toteavat, että tietokoneet voivat joskus 128 00:05:23,680 --> 00:05:27,200 muisti loppuu eikä edes Säilytä tarpeeksi iso jono. 129 00:05:27,200 --> 00:05:30,840 >> Mutta nyt, nyt alkaa visualisoida merkkijonon jotain näistä laatikoista 130 00:05:30,840 --> 00:05:31,340 täällä. 131 00:05:31,340 --> 00:05:36,410 Joten kuusi tällaista laatikkoa, joista jokainen edustaa merkin tai "merkkiä." 132 00:05:36,410 --> 00:05:40,646 Niin muistaa, että "merkkiä" - c-h-a-r-- on yksi sisäänrakennettu tietotyyppejä C. 133 00:05:40,646 --> 00:05:43,520 Ja mikä on mukavaa on, että voit käyttää että tällainen kuin rakennuspalikka, 134 00:05:43,520 --> 00:05:47,880 palapelin pala, jos haluatte, muodostaa suurempi tyyppisiä tietoja jatkamme 135 00:05:47,880 --> 00:05:49,410 kutsua "merkkijono". 136 00:05:49,410 --> 00:05:53,650 >> Nyt, mikä on hyödyllistä ajattelua asioita, kuten jouset tällä tavalla? 137 00:05:53,650 --> 00:05:57,720 No, näyttää siltä, ​​että voimme todella hyödyntää tätä rakennetta 138 00:05:57,720 --> 00:06:01,420 todella käyttää yksittäisiä merkkejä melko mutkattomasti. 139 00:06:01,420 --> 00:06:04,099 Aion mennä eteenpäin ja luoda tiedosto nimeltä "stringzero.c" 140 00:06:04,099 --> 00:06:05,765 mutta voit kutsua sitä mitä haluat. 141 00:06:05,765 --> 00:06:08,500 Ja kurssin kotisivuilla on jo tässä esimerkissä etukäteen, 142 00:06:08,500 --> 00:06:10,430 joten sinun ei tarvitse tyyppi kaiken pois. 143 00:06:10,430 --> 00:06:13,820 >> Ja aion mennä eteenpäin ja ensin tehdä int main void. 144 00:06:13,820 --> 00:06:15,980 Ja muutaman päivän, Aloitamme kiusata toisistaan 145 00:06:15,980 --> 00:06:19,070 mikä tyhjiö on täällä, miksi se on int vieressä tärkein, ja niin edelleen. 146 00:06:19,070 --> 00:06:21,180 Mutta nyt, nyt jatkaa kopioida liitä sitä. 147 00:06:21,180 --> 00:06:23,455 >> Aion ilmoittaa merkkijono nimeltään s. 148 00:06:23,455 --> 00:06:26,920 Ja aion palata GetString mitä käyttäjä on. 149 00:06:26,920 --> 00:06:29,170 Tämä tulee olemaan yksinkertainen ohjelma, mitään ohjeita, 150 00:06:29,170 --> 00:06:31,336 Menen vain sokeasti odottaa, että käyttäjä tietää 151 00:06:31,336 --> 00:06:32,600 mitä tehdä pidettävä yksinkertaisina. 152 00:06:32,600 --> 00:06:34,220 >> Ja nyt aion olla silmukka. 153 00:06:34,220 --> 00:06:37,450 Ja sisällä minun silmukan olen menossa on int i saa nolla. 154 00:06:37,450 --> 00:06:40,660 Ja i on jälleen vain yleissopimuksen, indeksimuuttujaa laskentaa, 155 00:06:40,660 --> 00:06:42,350 mutta voisin kutsua tätä mitä haluan. 156 00:06:42,350 --> 00:06:46,275 Aion tehdä i on pienempi than-- hyvin Zamyla nimi on kuusi merkkiä pitkä. 157 00:06:46,275 --> 00:06:48,150 Joten aion kovaa koodi, joka siellä nyt. 158 00:06:48,150 --> 00:06:49,730 >> Ja sitten i ++. 159 00:06:49,730 --> 00:06:53,190 Ja nyt sisälle näistä kihara henkselit Aion tehdä printf, 160 00:06:53,190 --> 00:06:55,460 ja haluan tulostaa yhden merkki kerrallaan. 161 00:06:55,460 --> 00:06:58,227 Joten aion käyttää% C ehkä ensimmäistä kertaa. 162 00:06:58,227 --> 00:07:00,560 Ja sitten haluan tulostaa jokaisen merkki on omalla rivillään. 163 00:07:00,560 --> 00:07:02,550 Joten aion laittaa pikku kenoviiva n siellä. 164 00:07:02,550 --> 00:07:03,640 Sulje lainaus. 165 00:07:03,640 --> 00:07:06,250 >> Ja nyt haluan tehdä jotain täällä. 166 00:07:06,250 --> 00:07:10,610 Haluan tulostaa erityinen kirje merkkijono, 167 00:07:10,610 --> 00:07:13,670 s, koska olen iteroidessaan nollasta jopa kuusi. 168 00:07:13,670 --> 00:07:17,150 Toisin sanoen haluan tulostaa i'th luonnetta s. 169 00:07:17,150 --> 00:07:18,420 Nyt miten voin tehdä tämän? 170 00:07:18,420 --> 00:07:21,550 >> Hyvin paljon, kuten laatikot tämä esitys täällä, 171 00:07:21,550 --> 00:07:25,560 sellainen, loihtia käsite nyrkkeily kirjaimet, voit samalla tehdä 172 00:07:25,560 --> 00:07:32,630 syntaktisesti C yksinkertaisesti määrittämällä, Haluan tulostaa s: n i'th luonnetta. 173 00:07:32,630 --> 00:07:35,640 Käyttämällä hakasulkeet tietokoneen näppäimistön 174 00:07:35,640 --> 00:07:38,910 että Yhdysvaltain näppäimistö ovat yleensä yli oman enteriä. 175 00:07:38,910 --> 00:07:42,630 >> Joten tämä ei ole aivan oikea vielä, kuten olet ehkä huomannut. 176 00:07:42,630 --> 00:07:44,780 Mutta aion sellaista sokeasti eteenpäin täällä. 177 00:07:44,780 --> 00:07:47,020 Ja aion tehdä tehdä merkkijono 0. 178 00:07:47,020 --> 00:07:50,860 Mutta ennen kuin teen tämän, katsotaanpa jos me voi ennakoida joitakin yleisiä virheitä. 179 00:07:50,860 --> 00:07:52,844 Tämä tulee kääntää? 180 00:07:52,844 --> 00:07:54,510 Ei, olen puuttuu koko joukko asioita. 181 00:07:54,510 --> 00:07:55,280 Kirjastot kuulin. 182 00:07:55,280 --> 00:07:58,480 >> Joten mikä header-tiedostot ehkä haluan lisätä täällä? 183 00:07:58,480 --> 00:07:59,205 Joo. 184 00:07:59,205 --> 00:08:01,580 >> Yleisö: Tarvitset vakio-I / O [kuulumaton] 185 00:08:01,580 --> 00:08:02,663 >> DAVID J. MALAN: Erinomainen. 186 00:08:02,663 --> 00:08:06,060 Joten minun on vakio-I / O. Mitä tarkoitus tehdä Haluan vakio I / O? 187 00:08:06,060 --> 00:08:06,670 Varten printf. 188 00:08:06,670 --> 00:08:09,220 Niin kuuluu stdio.h. 189 00:08:09,220 --> 00:08:13,490 Ja voit myös ehdottaa, että sisällytän CS50 kirjasto mistä syystä? 190 00:08:13,490 --> 00:08:14,650 On jouset. 191 00:08:14,650 --> 00:08:17,780 Niin näemme mitä CS50 kirjasto tekee 192 00:08:17,780 --> 00:08:19,260 luoda tätä käsitettä merkkijono. 193 00:08:19,260 --> 00:08:21,930 Mutta nyt, voit vain ajatella on se todellinen tietotyyppi. 194 00:08:21,930 --> 00:08:23,596 >> Niin että näyttää hieman siivottu. 195 00:08:23,596 --> 00:08:27,060 Ja nyt aion mennä eteenpäin ja todellakin tehdä tehdä merkkijono 0. 196 00:08:27,060 --> 00:08:27,700 Koottu. 197 00:08:27,700 --> 00:08:28,370 Niin se on hyvä. 198 00:08:28,370 --> 00:08:32,799 Joten ./string0 haluan zoomata niin voimme Katso tarkemmin mitä tapahtuu. 199 00:08:32,799 --> 00:08:33,850 Enter. 200 00:08:33,850 --> 00:08:37,789 Z--M-Y-L-enter. 201 00:08:37,789 --> 00:08:39,440 Ja olemme painettu ulos Zamyla nimi. 202 00:08:39,440 --> 00:08:40,409 >> Joten se on melko hyvä. 203 00:08:40,409 --> 00:08:43,220 Joten nyt mennään eteenpäin ja suorittaa tämän ohjelman uudelleen, 204 00:08:43,220 --> 00:08:45,659 ja kirjoittamiseen Daven täydellinen nimi. 205 00:08:45,659 --> 00:08:46,450 Yllätys, yllätys. 206 00:08:46,450 --> 00:08:48,021 Enter. 207 00:08:48,021 --> 00:08:48,520 Hmm. 208 00:08:48,520 --> 00:08:51,750 Emme ole painettu Daven n etunimien oikein. 209 00:08:51,750 --> 00:08:54,250 Nyt tämän pitäisi olla itsestään selvää Jälkeenpäin koska mitä, 210 00:08:54,250 --> 00:08:57,010 tavallaan, tyhmä suunnittelu päätös? 211 00:08:57,010 --> 00:08:59,590 >> Joo, olen kova koodattu kuusi sisällä minun silmukan. 212 00:08:59,590 --> 00:09:01,610 Nyt tein sen vain siksi, Tiesin Zamyla nimi 213 00:09:01,610 --> 00:09:02,776 piti olla kuusi kirjainta. 214 00:09:02,776 --> 00:09:04,720 Tämä ei kuitenkaan ole yleinen ratkaisu. 215 00:09:04,720 --> 00:09:07,720 Niin se kääntyy pois voimme dynaamisesti selvittää pituus merkkijonon 216 00:09:07,720 --> 00:09:10,440 kutsumalla toiminto nimeltään strlen. 217 00:09:10,440 --> 00:09:12,840 >> Jälleen tarkoituksella ytimekkäästi nimetty vain 218 00:09:12,840 --> 00:09:14,450 tehdä helpompaa kirjoittaa. 219 00:09:14,450 --> 00:09:17,170 Mutta se on synonyymi saada merkkijonon pituuden. 220 00:09:17,170 --> 00:09:23,190 Aion mennä takaisin minun terminaalin ikkuna ja uusinnassa kääntäjä. 221 00:09:23,190 --> 00:09:24,170 Mutta se huutaa minua. 222 00:09:24,170 --> 00:09:29,130 Epäsuorasti julistamisesta kirjaston funktion strlen tyypin unsigned int const-- 223 00:09:29,130 --> 00:09:29,780 Olen eksynyt. 224 00:09:29,780 --> 00:09:30,590 Kokonaan. 225 00:09:30,590 --> 00:09:32,940 >> Niin, varsinkin kun teidän silmät alkavat lasite yli 226 00:09:32,940 --> 00:09:36,000 häiriöilmoituksella näin, painopiste rehellisesti ensimmäiset sanat. 227 00:09:36,000 --> 00:09:38,590 Tiedämme, ongelma on linja 8, kuten täällä. 228 00:09:38,590 --> 00:09:40,500 Ja se on string-0.c. 229 00:09:40,500 --> 00:09:43,580 Epäsuorasti julistamisesta kirjaston funktion strlen. 230 00:09:43,580 --> 00:09:47,000 Niin että yleensä menee olla malli virheilmoituksia. 231 00:09:47,000 --> 00:09:49,190 Implisiittisesti julistaa jotain. 232 00:09:49,190 --> 00:09:53,250 >> Niin lyhyt, mitä olen näyttänyt ovat tehneet suhteessa linja 8, täällä. 233 00:09:53,250 --> 00:09:56,880 Mikä voisi olla ratkaisu olla jopa jos et ole koskaan käyttänyt strlen itse? 234 00:09:56,880 --> 00:09:58,907 >> Yleisö: Osa eri kirjastosta? 235 00:09:58,907 --> 00:10:00,740 DAVID J. MALAN: Part erilainen kirjaston. 236 00:10:00,740 --> 00:10:02,400 Joten se on julistettu, niin sanoakseni. 237 00:10:02,400 --> 00:10:07,510 Se mainitaan joitakin tiedostoon muut kuin stdio.h ja CS50.h. 238 00:10:07,510 --> 00:10:09,179 Nyt mihin se määritellään? 239 00:10:09,179 --> 00:10:12,220 Ollakseni rehellinen, sinulla on joko vain tietää tämän pois top of your head, 240 00:10:12,220 --> 00:10:13,640 tai voit googlettaa tätä ja selvittää. 241 00:10:13,640 --> 00:10:18,150 Tai tiedä tätä, olen avautunut CS50 laitet pääteohjelma, joka 242 00:10:18,150 --> 00:10:22,200 on vain iso, koko näytön versio mitä pohjassa gedit ikkunasta. 243 00:10:22,200 --> 00:10:24,970 >> Ja käy ilmi, että on olemassa Samoin ytimekäs komennon, kutsutaan 244 00:10:24,970 --> 00:10:29,280 mies manuaalista, jossa jos kirjoitat nimi toiminto ja paina Enter, 245 00:10:29,280 --> 00:10:32,240 saat takaisin melko mystistä asiakirjat. 246 00:10:32,240 --> 00:10:35,299 Se on vain teksti, että yleisesti näyttää vähän jotain tällaista. 247 00:10:35,299 --> 00:10:37,090 Se on vähän ylivoimainen ensi silmäyksellä. 248 00:10:37,090 --> 00:10:39,048 Mutta suoraan sanottuna aion anna silmäni lasittuvat 249 00:10:39,048 --> 00:10:41,930 ja vain keskittyä osa Välitän tällä hetkellä. 250 00:10:41,930 --> 00:10:42,780 >> Mikä on tämä. 251 00:10:42,780 --> 00:10:45,470 Joka näyttää rakenteellisesti kuin jotain olen perehtynyt. 252 00:10:45,470 --> 00:10:48,080 Itse man-sivun, niin puhua, kertoo 253 00:10:48,080 --> 00:10:51,590 mitä header-tiedosto toiminto kuten strlen on määritelty. 254 00:10:51,590 --> 00:10:54,170 Joten aion palata nyt gedit. 255 00:10:54,170 --> 00:10:59,070 Ja aion mennä eteenpäin ja lisätä tänne # include 256 00:10:59,070 --> 00:11:00,480 ja tallenna tiedosto. 257 00:11:00,480 --> 00:11:04,300 >> Aion tyhjentää näytön kanssa Ohjaus L Jos olet ihmetellyt. 258 00:11:04,300 --> 00:11:08,210 Ja aion ajaa uudelleen make string.0, kokoaa tällä kertaa. 259 00:11:08,210 --> 00:11:11,790 ./string.0 Zamyla. 260 00:11:11,790 --> 00:11:15,020 Että tuntui toimivan Päästä minut eteenpäin ja uusintana se Davenport. 261 00:11:15,020 --> 00:11:15,860 Enter. 262 00:11:15,860 --> 00:11:17,730 Ja sekin tuntui toimivan. 263 00:11:17,730 --> 00:11:21,220 >> Jotta voimme tehdä hieman parempi kuin tämä, kuitenkin, voimme alkaa siistiä asioita 264 00:11:21,220 --> 00:11:23,257 ylös vain vähän. 265 00:11:23,257 --> 00:11:25,590 Ja aion todellakin käyttöön yhden asian nyt. 266 00:11:25,590 --> 00:11:28,930 Aion mennä eteenpäin ja tallentaa eri tiedostomuodossa. 267 00:11:28,930 --> 00:11:31,770 Ja aion soittaa tämä tiedosto string1.c vain 268 00:11:31,770 --> 00:11:34,620 oltava sopusoinnussa koodi voit löytää verkossa. 269 00:11:34,620 --> 00:11:37,050 >> Ja lähdetään painopiste on täsmälleen sama koodi. 270 00:11:37,050 --> 00:11:39,000 On käynyt ilmi, että olen ollut sellainen ottaminen 271 00:11:39,000 --> 00:11:42,600 selvänä, että minun laptop, ja vuorostaan, CS50 laite 272 00:11:42,600 --> 00:11:47,450 on paljon muistia, on paljon RAM-muistia, paljon tavuja tilaa 273 00:11:47,450 --> 00:11:48,920 jossa voin tallentaa jouset. 274 00:11:48,920 --> 00:11:53,560 >> Mutta todellisuus jos olen kirjoittanut pitkään tarpeeksi, ja tarpeeksi näppäimistön, 275 00:11:53,560 --> 00:11:56,170 En voisi teoriassa tyyppi enemmän merkkejä 276 00:11:56,170 --> 00:11:58,830 kuin tietokone fyysisesti on muisti. 277 00:11:58,830 --> 00:11:59,830 Ja tämä on ongelmallista. 278 00:11:59,830 --> 00:12:03,050 Aivan kuten int voi vain laskea niin suuri, teoriassa, 279 00:12:03,050 --> 00:12:06,600 voit vain ahtaa niin monta merkkiä tietokoneen RAM tai Random 280 00:12:06,600 --> 00:12:07,920 Access Memory. 281 00:12:07,920 --> 00:12:11,140 >> Joten olin paremmin ennakoimaan tätä ongelmaa, vaikka 282 00:12:11,140 --> 00:12:13,660 kuin se onkin harvinainen nurkkaan tapauksessa niin sanotusti. 283 00:12:13,660 --> 00:12:15,670 Ei tapahdu kovin usein, voisi tapahtua. 284 00:12:15,670 --> 00:12:18,815 Ja jos se sattuu enkä ennakoida ja ohjelma sen, 285 00:12:18,815 --> 00:12:20,300 Oma ohjelma voisi tehdä ties mitä. 286 00:12:20,300 --> 00:12:22,220 Freeze, roikkua, reboot riippumatta. 287 00:12:22,220 --> 00:12:24,490 Jotain odotettavissa voi tapahtua. 288 00:12:24,490 --> 00:12:27,120 >> Joten mitä aion tehdä nyt tästä lähtien todella, 289 00:12:27,120 --> 00:12:31,630 on ennen kuin olin edes sokeasti käyttää muuttujaa kuten tuo 290 00:12:31,630 --> 00:12:36,790 on annettu palauttaa arvon muuna kuin getstring, 291 00:12:36,790 --> 00:12:40,200 Aion varmistaa että sen arvo on voimassa. 292 00:12:40,200 --> 00:12:44,280 Joten tiedän vain lukeneensa CS50 dokumentaatiosta getstring, 293 00:12:44,280 --> 00:12:49,020 joka lopulta me kohta sinua, että getstring palauttaa erikoissymboli 294 00:12:49,020 --> 00:12:53,610 nimeltään NULL, N-U-L-L kaikissa lippikset, jos jotain menee pieleen. 295 00:12:53,610 --> 00:12:55,650 >> Niin normaalisti se palauttaa merkkijonon. 296 00:12:55,650 --> 00:12:59,700 Mutta muuten jos se palaa N-U-L-minä-- me lopulta nähdä, mitä se todella 297 00:12:59,700 --> 00:13:01,790 means-- että vain keino jotain pahaa tapahtui. 298 00:13:01,790 --> 00:13:05,560 Nyt tämä tarkoittaa, aivan kuten Scratch, Voin tarkistaa kunto täällä C, 299 00:13:05,560 --> 00:13:08,830 Jos S ei ole yhtä NULL. 300 00:13:08,830 --> 00:13:11,930 Joten jos et ole nähnyt tätä ennen, tämä tarkoittaa vain ei ole sama. 301 00:13:11,930 --> 00:13:15,290 >> Joten se on vastakohta yhtä tasavertaisessa, joka muistuttaa, 302 00:13:15,290 --> 00:13:18,940 on erilainen kuin yhden vastaa, joka on tehtävä. 303 00:13:18,940 --> 00:13:23,030 Joten jos s ei ole sama NULL, vasta silloin 304 00:13:23,030 --> 00:13:25,980 Haluan toteuttaa nämä riviä koodia. 305 00:13:25,980 --> 00:13:28,080 Eli toisin sanoen, ennen kuin sukeltaa sokeasti 306 00:13:28,080 --> 00:13:30,919 ja aloittaa iteroimalla yli s, ja käsittelemällä sitä 307 00:13:30,919 --> 00:13:33,710 ikään kuin se on sekvenssi merkkiä, aion ensin tarkistaa, 308 00:13:33,710 --> 00:13:37,900 Hetkinen, ei ei ainakaan sama kuin tämä erityinen arvo, NULL? 309 00:13:37,900 --> 00:13:40,030 >> Koska jos se on, pahoja asioita voi tapahtua. 310 00:13:40,030 --> 00:13:43,080 Ja nyt olettaa, että pahoja asioita tapahtuu tarkoittaa ohjelma kaatuu, 311 00:13:43,080 --> 00:13:45,070 ja et voi välttämättä palauttaa. 312 00:13:45,070 --> 00:13:46,800 Niin rehellisesti, se näyttää rumempi. 313 00:13:46,800 --> 00:13:48,660 Se on tavallaan hämmentävää nyt vilkaista. 314 00:13:48,660 --> 00:13:50,780 Mutta tämä tulee enemmän tuttu ennen pitkää. 315 00:13:50,780 --> 00:13:52,920 >> Mutta aion ehdottaa nyt yksi muu parannus. 316 00:13:52,920 --> 00:13:54,660 Se parannus oikeellisuutta. 317 00:13:54,660 --> 00:13:58,800 Oma ohjelma on nyt oikeampi, koska harvoissa tapauksissa, että muisti ei riitä 318 00:13:58,800 --> 00:14:01,180 olemassa, aion käsitellä sitä, ja minä vain tee mitään. 319 00:14:01,180 --> 00:14:02,680 Minä ainakin ei kaadu. 320 00:14:02,680 --> 00:14:05,000 >> Mutta tehkäämme lopullinen versio täältä. 321 00:14:05,000 --> 00:14:07,690 Ja tiedosto nimeltä string2.c. 322 00:14:07,690 --> 00:14:10,190 Aion liittää että Sama koodi vain hetken, 323 00:14:10,190 --> 00:14:14,210 ja aion korostaa tätä linja, 11, täällä vain hetken. 324 00:14:14,210 --> 00:14:18,179 Nyt todellisuus on, että älykkäät kääntäjät kuten kalahtaa voisi korjata meille 325 00:14:18,179 --> 00:14:19,970 kulissien takana ilman meidän koskaan tietämättä. 326 00:14:19,970 --> 00:14:24,670 Mutta katsotaanpa miettiä tätä pohjimmiltaan niin ongelmallinen muotoilu. 327 00:14:24,670 --> 00:14:29,010 >> Tämä linja koodi on, tietenkin, sanomalla, alustaa joitakin muuttuja i 0. 328 00:14:29,010 --> 00:14:30,260 Se on melko yksinkertainen. 329 00:14:30,260 --> 00:14:34,691 Ja mikä taas on tämän lausuma, täällä, i ++, tekee? 330 00:14:34,691 --> 00:14:37,066 Olemme nähneet sen ennenkin, mutta me ei oikeastaan ​​puhua siitä. 331 00:14:37,066 --> 00:14:37,900 >> Yleisö: kasvattamalla i. 332 00:14:37,900 --> 00:14:39,191 >> DAVID J. MALAN: kasvamisen i. 333 00:14:39,191 --> 00:14:41,890 Joten jokaisen iteraation kautta Tämän silmukan, joka ajan, 334 00:14:41,890 --> 00:14:43,570 olet monesko i kerrallaan. 335 00:14:43,570 --> 00:14:45,740 Joten se saa isompi, ja isompi, ja isompi kunnes silmukka päättyy. 336 00:14:45,740 --> 00:14:46,810 Miten se päättyy? 337 00:14:46,810 --> 00:14:49,430 No on tämä keski- edellytys, jota olemme käyttäneet ennen. 338 00:14:49,430 --> 00:14:52,500 Olet nähnyt ja walkthroughs P asetettu. 339 00:14:52,500 --> 00:14:53,880 >> Mutta mikä on tämä sanonta? 340 00:14:53,880 --> 00:14:58,352 Tee seuraava lenkki, kauan kuin i on pienempi kuin mitä? 341 00:14:58,352 --> 00:14:59,810 Yleisö: pituus merkkijono. 342 00:14:59,810 --> 00:15:01,518 DAVID J. MALAN: merkkijonon pituus. 343 00:15:01,518 --> 00:15:04,300 Joten se kääntää ihan siististi ja Englanti siinä mielessä. 344 00:15:04,300 --> 00:15:08,810 Nyt ongelmana on, että joka kerta kun kerrata läpi tämän silmukan teoriassa, 345 00:15:08,810 --> 00:15:10,000 Kysyn tämän kysymyksen. 346 00:15:10,000 --> 00:15:12,250 On i alle merkkijonon pituus s? 347 00:15:12,250 --> 00:15:14,500 On i alle merkkijonon pituus s? 348 00:15:14,500 --> 00:15:18,380 >> Nyt on i vaihtua jokaisen iteraation? 349 00:15:18,380 --> 00:15:18,880 Se on. 350 00:15:18,880 --> 00:15:19,629 Koska ++. 351 00:15:19,629 --> 00:15:21,700 Joten jokainen iteraatio i on saada suurempi. 352 00:15:21,700 --> 00:15:25,411 Mutta on s saada isompi, tai pienempi, tai muuttamalla ollenkaan? 353 00:15:25,411 --> 00:15:25,910 Ei 354 00:15:25,910 --> 00:15:30,240 Joten kannalta suunnittelu, yksi akseleista jota pitkin yritämme arvioida koodi 355 00:15:30,240 --> 00:15:32,610 luokassa, tämä tuntuu typerää. 356 00:15:32,610 --> 00:15:34,690 >> Kuten olet kirjaimellisesti, jokaisen iteraation 357 00:15:34,690 --> 00:15:37,110 Tämän silmukan pyytää Sama hemmetin kysymys uudelleen, 358 00:15:37,110 --> 00:15:40,770 ja uudestaan, ja uudestaan, ja kirjaimellisesti se ei koskaan muutu. 359 00:15:40,770 --> 00:15:44,220 Ainakin jos En koske s ja yrittää muuttaa sisältöä s. 360 00:15:44,220 --> 00:15:46,610 Voin siis tehdä hieman parempi kuin tämä. 361 00:15:46,610 --> 00:15:49,530 >> Ja mitä aion tehdä, ei ole julistaa vain yksi muuttuja i, 362 00:15:49,530 --> 00:15:53,330 mutta toinen vaihteleva Tulen mielivaltaisesti, mutta perinteisesti, kutsuvat sitä n. 363 00:15:53,330 --> 00:15:55,940 Määritä n yhtä merkkijonon pituus s. 364 00:15:55,940 --> 00:15:59,090 Ja sitten tänne, aion tehdä ovela pikku optimointi, joten 365 00:15:59,090 --> 00:16:03,460 puhua, että lopussa päivä ei ole oikeampi tai yhtä oikeaa 366 00:16:03,460 --> 00:16:04,260 kuin ennen. 367 00:16:04,260 --> 00:16:05,500 Mutta se on parempi suunnittelu. 368 00:16:05,500 --> 00:16:09,480 Siinä, että käytän vähemmän aikaa, vähemmän suorittimen käytön, niin 369 00:16:09,480 --> 00:16:14,040 puhua, vastata samaan kysymys, mutta vain kerran. 370 00:16:14,040 --> 00:16:17,870 >> Kysyttävää että yleinen periaatteen parantaminen, 371 00:16:17,870 --> 00:16:21,294 sanoa, ohjelman tehokkuus? 372 00:16:21,294 --> 00:16:21,991 Joo? 373 00:16:21,991 --> 00:16:23,699 Yleisö: Miksi Käytä [äänetön]? 374 00:16:23,699 --> 00:16:25,760 375 00:16:25,760 --> 00:16:27,010 DAVID J. MALAN: Hyvä kysymys. 376 00:16:27,010 --> 00:16:30,690 Joten miksi laittaa ++ päähän i sijasta alussa i? 377 00:16:30,690 --> 00:16:33,070 Tässä tapauksessa se on ole toiminnallista vaikutusta. 378 00:16:33,070 --> 00:16:36,670 Ja yleensä, minulla on tapana Käytä postfix operaattori 379 00:16:36,670 --> 00:16:41,750 niin että se on hieman selkeämpi kuin milloin toiminta tapahtuu. 380 00:16:41,750 --> 00:16:46,670 >> Niille tunne, on toinen lausuntoja jolloin voisit tehdä ++ i. 381 00:16:46,670 --> 00:16:48,747 Nämä ovat toiminnallisesti vastaa tässä tapauksessa 382 00:16:48,747 --> 00:16:51,080 koska ei ole mitään muuta noin, että kasvattaminen. 383 00:16:51,080 --> 00:16:54,435 Mutta voit keksiä tapaukset ja riviä koodia 384 00:16:54,435 --> 00:16:55,810 jossa joka tekee eron. 385 00:16:55,810 --> 00:16:57,810 Niin yleisesti, emme edes puhua tästä. 386 00:16:57,810 --> 00:17:00,690 Koska suoraan sanottuna, se tekee koodi seksikkäämpi, ja tavallaan sadetakki, 387 00:17:00,690 --> 00:17:01,776 ja vähemmän merkkejä. 388 00:17:01,776 --> 00:17:04,859 Mutta todellisuus on se on paljon vaikeampaa, Luulen, jopa minulle kääri mieleeni 389 00:17:04,859 --> 00:17:07,319 noin joskus, Jotta toiminnan. 390 00:17:07,319 --> 00:17:09,750 Niin syrjään, jos todellakaan pidä tästä, 391 00:17:09,750 --> 00:17:14,650 vaikka tämä on tavallaan seksikäs näköinen, voit myös tehdä i + = 1, 392 00:17:14,650 --> 00:17:18,880 joka on uglier versio Sama ajatus Postfixin kasvattaminen. 393 00:17:18,880 --> 00:17:22,250 >> Sanon tämän ja sinua pitäisi pilkata sitä, 394 00:17:22,250 --> 00:17:25,140 mutta tulet näkemään koodin jotain kaunista ennen pitkää. 395 00:17:25,140 --> 00:17:27,160 >> [Naurua] 396 00:17:27,160 --> 00:17:28,410 >> DAVID J. MALAN: Oikea? 397 00:17:28,410 --> 00:17:29,360 Joo. 398 00:17:29,360 --> 00:17:30,480 Kysymys keskellä. 399 00:17:30,480 --> 00:17:32,146 >> Yleisö: Tarvitsetko sanoa int n? 400 00:17:32,146 --> 00:17:34,020 DAVID J. MALAN: Teet ei tarvitse sanoa int n. 401 00:17:34,020 --> 00:17:37,670 Niin, koska olemme jo sanoneet int, sinun ei tarvitse sanoa sitä uudelleen. 402 00:17:37,670 --> 00:17:41,820 Saalis on, että n on olla samaa tietotyyppiä kuin minä. 403 00:17:41,820 --> 00:17:43,310 Niin, että vain mukavuussyistä täällä. 404 00:17:43,310 --> 00:17:44,058 Joo. 405 00:17:44,058 --> 00:17:47,806 >> Yleisö: Voitko mennä yli print merkki s kiinnike i uudelleen? 406 00:17:47,806 --> 00:17:48,930 DAVID J. MALAN: Ehdottomasti. 407 00:17:48,930 --> 00:17:52,110 Joten% c, muistaa viime aikaa, on vain paikanvaraajaan. 408 00:17:52,110 --> 00:17:53,930 Se tarkoittaa laittaa char täällä. 409 00:17:53,930 --> 00:17:56,780 kenoviivan n, tietenkin vain keino laittaa rivinvaihdon täällä. 410 00:17:56,780 --> 00:17:59,540 Niin että vain lehdet, nyt tämä pala uuden syntaksin. 411 00:17:59,540 --> 00:18:03,730 Ja tämä on kirjaimellisesti sanoen, napata merkkijono kutsutaan s ja hae sen 412 00:18:03,730 --> 00:18:06,050 i'th hahmo, niin sanoakseni. 413 00:18:06,050 --> 00:18:10,590 >> Ja pidän sanomalla i'th merkki koska jokaisella iteraation tämän silmukan 414 00:18:10,590 --> 00:18:14,540 se on ikään kuin olemme tulostus ensinnäkin s kiinnike 0, 415 00:18:14,540 --> 00:18:15,780 ohjelmoijana voisi sanoa. 416 00:18:15,780 --> 00:18:18,680 Niin S kiinnike 1, sitten s kiinnike 2, sitten 3, sitten 4. 417 00:18:18,680 --> 00:18:21,610 Mutta tietenkin se muuttuja, joten olen vain ilmaista sen i. 418 00:18:21,610 --> 00:18:23,900 >> Avain on kuitenkin ymmärtää, varsinkin jos et ole 419 00:18:23,900 --> 00:18:26,358 on acclimating tähän maailmaan ohjelmoinnin, jossa me kaikki 420 00:18:26,358 --> 00:18:28,950 näyttävät laskea nollasta, täytyy alkaa laskea nollasta nyt. 421 00:18:28,950 --> 00:18:35,130 Koska jouset, ensimmäinen merkki, z Zamyla on parempi tai huonompi 422 00:18:35,130 --> 00:18:40,490 aio elää paikassa numero nolla. 423 00:18:40,490 --> 00:18:48,210 >> Okei, joten haluan tuoda meidät takaisin tänne Zamyla 424 00:18:48,210 --> 00:18:50,746 ja nähdä mitä todella tapahtuu on alla huppu. 425 00:18:50,746 --> 00:18:52,370 Joten ei tämä käsite tyypin valu. 426 00:18:52,370 --> 00:18:53,800 Saatat olla todella pelataan tämän jo, 427 00:18:53,800 --> 00:18:55,970 ehkä hakkeri painos P asetettu. 428 00:18:55,970 --> 00:19:00,320 Mutta tyyppi valu vain viittaa kyky C ja joillakin muilla kielillä 429 00:19:00,320 --> 00:19:03,170 muuntaa yksi tieto tyypistä toiseen. 430 00:19:03,170 --> 00:19:05,450 >> Nyt kuinka me saatamme nähdä tämän melko suoraviivaisesti? 431 00:19:05,450 --> 00:19:08,530 Joten tämä, muistaa, on alku ja Englanti aakkoset. 432 00:19:08,530 --> 00:19:11,265 Ja yhteydessä muistaa, alkaen kuin viikko sitten on ASCII. 433 00:19:11,265 --> 00:19:13,790 American Standard Code for Information Interchange. 434 00:19:13,790 --> 00:19:17,080 Joka on vain todella pitkä matka sanoa kartoitus kirjaimia 435 00:19:17,080 --> 00:19:19,370 numeroihin, ja numeroita kirjaimia. 436 00:19:19,370 --> 00:19:22,940 >> Joten M kautta täällä, dot dot dot, on linjassa, muistaa, 437 00:19:22,940 --> 00:19:25,582 desimaaliluku 65 ylös. 438 00:19:25,582 --> 00:19:27,290 Ja emme puhu tästä nimenomaisesti, 439 00:19:27,290 --> 00:19:29,850 mutta varmasti siellä on samanlainen numerot pieniä kirjaimia. 440 00:19:29,850 --> 00:19:30,820 Ja todellakin, on olemassa. 441 00:19:30,820 --> 00:19:33,730 Maailman päätti joitakin vuosia sitten se pieni, pieniä kirjaimia, 442 00:19:33,730 --> 00:19:35,020 tulee olemaan 97. 443 00:19:35,020 --> 00:19:38,010 Ja pikku b on menossa on 98, ja niin edelleen. 444 00:19:38,010 --> 00:19:40,200 >> Ja muihin näppäintä näppäimistön, siellä 445 00:19:40,200 --> 00:19:42,190 olemaan samanlainen kuvio bittejä. 446 00:19:42,190 --> 00:19:44,540 Tai vastaavasti, desimaaliluku. 447 00:19:44,540 --> 00:19:47,110 Joten kysymys käsillä, onkin, kuinka voimme 448 00:19:47,110 --> 00:19:49,400 itse nähdä tämän alla huppu? 449 00:19:49,400 --> 00:19:51,539 Joten aion siirtyä gedit uudelleen. 450 00:19:51,539 --> 00:19:53,330 Ja sen sijaan tyyppi tämä tyhjästä, 451 00:19:53,330 --> 00:19:55,330 Aion mennä eteenpäin ja vain avata jotain 452 00:19:55,330 --> 00:19:58,350 nykypäivän koodia kutsutaan ASCII nolla. 453 00:19:58,350 --> 00:20:01,210 >> Ja ASCII nolla näyttää tältä. 454 00:20:01,210 --> 00:20:02,710 Joten kääri mielemme ympärille. 455 00:20:02,710 --> 00:20:04,969 Joten ensimmäinen, olen kommentoinut koodia, mikä on mukavaa. 456 00:20:04,969 --> 00:20:07,010 Koska se on kirjaimellisesti kertoi minulle mitä odottaa, 457 00:20:07,010 --> 00:20:08,950 Näytä kartoitusta isoja kirjaimia. 458 00:20:08,950 --> 00:20:13,690 Nyt en oikein tiedä, mitä minä tarkoitat, joten katsotaanpa päätellä. 459 00:20:13,690 --> 00:20:16,870 >> Englanti, ehkä hieman techie Englanti, 460 00:20:16,870 --> 00:20:20,660 mitä linjaa 18 näkyvät tekevän meille? 461 00:20:20,660 --> 00:20:21,500 Vain linja 18. 462 00:20:21,500 --> 00:20:22,430 Mitä se asiakkuutta? 463 00:20:22,430 --> 00:20:25,192 Mitä se tulee potkia pois täältä? 464 00:20:25,192 --> 00:20:26,100 >> Yleisö: silmukka. 465 00:20:26,100 --> 00:20:26,630 >> DAVID J. MALAN: silmukka. 466 00:20:26,630 --> 00:20:28,463 Ja kuinka monta kertaa on että menossa kerrata? 467 00:20:28,463 --> 00:20:31,562 468 00:20:31,562 --> 00:20:33,270 Yleisö: [väliin ÄÄNTÄ] kuusi kertaa. 469 00:20:33,270 --> 00:20:34,830 DAVID J. MALAN: Ei kuusi kertaa. 470 00:20:34,830 --> 00:20:35,840 Yleisö: 26 kertaa. 471 00:20:35,840 --> 00:20:36,560 DAVID J. MALAN: 26 kertaa. 472 00:20:36,560 --> 00:20:37,060 Joo, anteeksi. 473 00:20:37,060 --> 00:20:37,960 26 kertaa. 474 00:20:37,960 --> 00:20:38,460 Miksi? 475 00:20:38,460 --> 00:20:41,590 No, se on vähän outo, mutta Olen alkanut laskien 65. 476 00:20:41,590 --> 00:20:43,300 Joka on outo, mutta ei väärässä. 477 00:20:43,300 --> 00:20:44,610 Se ei ole paha per sanoa. 478 00:20:44,610 --> 00:20:46,980 Ja olen tekemässä, että vain koska tässä esimerkissä, 479 00:20:46,980 --> 00:20:50,455 Olen sellainen ennakointi että pääoma oli 65. 480 00:20:50,455 --> 00:20:53,330 Nyt tämä ei ole kaikkein tyylikäs tapa tehdä tämä, on aika vaikeaa koodi 481 00:20:53,330 --> 00:20:56,130 esoteerinen arvot että kukaan ei koskaan odottaa muistaa. 482 00:20:56,130 --> 00:21:00,155 >> Mutta nyt huomaan, että olen Näin läpi 65 plus 26. 483 00:21:00,155 --> 00:21:03,030 Koska ilmeisesti en edes halua tehdä aritmeettinen päähäni. 484 00:21:03,030 --> 00:21:04,440 Joten annan kääntäjä tehdä se. 485 00:21:04,440 --> 00:21:08,600 Mutta sitten jokaiseen kaareen, jokaisen iteraation silmukan, olen kasvattamalla i. 486 00:21:08,600 --> 00:21:10,196 >> Joten nyt tämä näyttää hieman arvoituksellinen. 487 00:21:10,196 --> 00:21:13,320 Mutta meillä pitäisi olla perustiedot rakennuksen lohkoja, jotka auttavat ymmärtämään tätä. 488 00:21:13,320 --> 00:21:15,510 % C on vain paikanpitäjä merkkiä. 489 00:21:15,510 --> 00:21:19,010 % I on tilavaraus int. 490 00:21:19,010 --> 00:21:23,310 Ja käy ilmi, että käyttämällä tätä uusi syntaksi, tämä sulkeissa olevan, joten 491 00:21:23,310 --> 00:21:26,100 puhua, joten tietotyyppi sisällä suluissa, 492 00:21:26,100 --> 00:21:32,270 Voin pakottaa kääntäjä hoitoon En ole on kokonaisluku, vaan merkkiä. 493 00:21:32,270 --> 00:21:35,520 >> Mikä osoittaa minulle merkki vastaava tuosta määrästä. 494 00:21:35,520 --> 00:21:37,986 Nyt tänne, tämä koodi on melko samanlainen. 495 00:21:37,986 --> 00:21:39,860 Halusin vain tehdä Super nimenomainen seikka 496 00:21:39,860 --> 00:21:42,095 että olen alkanut klo 97, joka on pieniksi. 497 00:21:42,095 --> 00:21:44,080 Jopa läpi 26 enemmän kirjaimia. 498 00:21:44,080 --> 00:21:46,970 Ja olen doing-- uudelleen, valu i, niin sanoakseni. 499 00:21:46,970 --> 00:21:49,160 Tai tyyppi valu i, niin sanoakseni. 500 00:21:49,160 --> 00:21:51,420 >> Alkaen int char. 501 00:21:51,420 --> 00:21:55,760 Niin lopputulos tulee olemaan, rehellisesti, tietoja me jo tiedämme. 502 00:21:55,760 --> 00:21:59,411 Aion tehdä ASCII-0 dot-- ei piste c. 503 00:21:59,411 --> 00:22:02,160 Varoitusajalla, luultavasti tehnyt, että virhettä kuin tein vahingossa. 504 00:22:02,160 --> 00:22:03,820 Tee ascii-0. 505 00:22:03,820 --> 00:22:06,090 Nyt aion tehdä ./ascii-0. 506 00:22:06,090 --> 00:22:09,050 Minä lähentää, ja valitettavasti se tulee vierittää pois ruudulta. 507 00:22:09,050 --> 00:22:15,060 Mutta me näemme koko kaavio, jossa karttoja 97, b kartat 98, 508 00:22:15,060 --> 00:22:18,931 ja jos me siirry entisestään Tietenkin, kartat 65. 509 00:22:18,931 --> 00:22:21,180 Joten tämä on vain sanoa, että mitä olemme saarnanneet, 510 00:22:21,180 --> 00:22:25,310 on tämä vastaavuus, itse asiassa todellisuudessa. 511 00:22:25,310 --> 00:22:28,000 Niin nopeasti tapahtuvat muutokset. 512 00:22:28,000 --> 00:22:31,220 Saanen avata ascii-1.c. 513 00:22:31,220 --> 00:22:38,070 Ja huomaa tämä fiksu, lajitella ja selventäminen tämän. 514 00:22:38,070 --> 00:22:41,770 Tämä on ascii-1.c, ja huomata tämän hullu juttu. 515 00:22:41,770 --> 00:22:45,120 >> Ja tämä todella pääsee sydämeen mitä tietokoneet ovat tekemässä. 516 00:22:45,120 --> 00:22:48,150 Vaikka me ihmiset olisi ei lasketa kannalta letters-- 517 00:22:48,150 --> 00:22:50,380 En alkaa miettiä, okei sitten b, 518 00:22:50,380 --> 00:22:52,590 ja käyttää niitä laskea fyysisiä esineitä. 519 00:22:52,590 --> 00:22:58,680 Voit varmasti sanoa, että haluan alustaa joitakin muuttuja nimeltään C-- 520 00:22:58,680 --> 00:23:03,220 mutta en voinut soittaa tätä mitään-- joten c alustetaan pääoman A. 521 00:23:03,220 --> 00:23:07,560 >> Koska lopussa päivän, tietokone ei välitä mitä olet tallentamiseen, 522 00:23:07,560 --> 00:23:10,170 se vain välitä miten haluat esittää, että tietoja. 523 00:23:10,170 --> 00:23:13,560 Miten haluat tietokoneen tulkita, että malli bittiä? 524 00:23:13,560 --> 00:23:16,320 Joten tämä ei ole jotain olisi yleisesti suosittelen tekemään. 525 00:23:16,320 --> 00:23:19,500 Se on oikeastaan ​​vain esimerkki välittää että voit aivan 526 00:23:19,500 --> 00:23:22,049 alustaa kokonaisluvun merkkiä. 527 00:23:22,049 --> 00:23:24,090 Koska alla huppu, nieriä, tietenkin, 528 00:23:24,090 --> 00:23:26,170 on vain numero 0-255. 529 00:23:26,170 --> 00:23:28,540 >> Joten voit varmasti laita se sisällä int. 530 00:23:28,540 --> 00:23:30,890 Ja mitä tämä myös osoittaa, että meidän 531 00:23:30,890 --> 00:23:34,040 voi muuntaa yhdestä tyypistä toiseen, täällä, 532 00:23:34,040 --> 00:23:36,780 lopulta tulostus sama asia. 533 00:23:36,780 --> 00:23:44,760 Ja itse asiassa tämä aion korjata online-- oli tarkoitus sanoa jälleen täällä. 534 00:23:44,760 --> 00:23:48,610 Saanen puhdista ylös verkossa, ja me nähdä verkossa läpikäynti tarpeen, 535 00:23:48,610 --> 00:23:50,280 mitä oli tarkoitus siellä. 536 00:23:50,280 --> 00:23:50,960 >> OK. 537 00:23:50,960 --> 00:23:53,892 Joten viimeinen esimerkki nyt mukana n ja b: n ja sitten me 538 00:23:53,892 --> 00:23:54,850 ottaa asioita lovi. 539 00:23:54,850 --> 00:23:58,330 Joten: n ja b: n ja c: n arvo 540 00:23:58,330 --> 00:24:01,560 ja vastaavuutta sen, katsotaanpa katsomaan tätä esimerkkiä, täällä. 541 00:24:01,560 --> 00:24:02,752 Toinen koodi esimerkki. 542 00:24:02,752 --> 00:24:04,460 Avaamme yksi, joka on jo tehty, joten 543 00:24:04,460 --> 00:24:06,440 ei tarvitse kirjoittaa sitä kaikki ulos tyhjästä. 544 00:24:06,440 --> 00:24:09,420 >> Ja huomaa ennakoiden Käytämme useita header 545 00:24:09,420 --> 00:24:13,240 tiedostoja, joista on uusi ystävämme, string.h. 546 00:24:13,240 --> 00:24:15,597 Nyt tämä näyttää ensi silmäyksellä, hieman arvoituksellinen. 547 00:24:15,597 --> 00:24:18,180 Mutta katsotaan jos emme voi järkeillä kautta, mitä täällä tapahtuu. 548 00:24:18,180 --> 00:24:21,150 Ensin saan merkkijonon käyttäjä, ja laitoin että merkkijonon muuttujaan 549 00:24:21,150 --> 00:24:22,286 nimeltään s. 550 00:24:22,286 --> 00:24:24,090 Kopioi liitä entuudestaan. 551 00:24:24,090 --> 00:24:27,250 Linjassa 22, olen ilmeisesti tekee mitä 552 00:24:27,250 --> 00:24:30,760 Tein hetki sitten, olen iteroidessaan yli merkkiä s. 553 00:24:30,760 --> 00:24:34,780 >> Ja uusia temppuja tässä käytät merkkijonon pituus, pienet optimointi 554 00:24:34,780 --> 00:24:37,930 tallentamiseksi merkkijonon pituus n, eivätkä käyttäisi strlen uudelleen, 555 00:24:37,930 --> 00:24:38,850 ja uudestaan, ja uudestaan. 556 00:24:38,850 --> 00:24:41,120 Ja vain tarkistaa, että i on pienempi kuin n. 557 00:24:41,120 --> 00:24:43,330 Nyt täällä, asiat saavat hieman mielenkiintoinen. 558 00:24:43,330 --> 00:24:45,980 Mutta se on vain sovellus Tämän saman uuden idean. 559 00:24:45,980 --> 00:24:48,470 Mitä Englanti tekee s kiinnike edustan? 560 00:24:48,470 --> 00:24:51,772 561 00:24:51,772 --> 00:24:54,260 >> Yleisö: Counting jokaisen merkki [äänetön]. 562 00:24:54,260 --> 00:24:55,926 >> DAVID J. MALAN: Counting kunkin merkin. 563 00:24:55,926 --> 00:24:58,680 Ja vielä enemmän ytimekkäästi, s kiinnike Edustan mitä? 564 00:24:58,680 --> 00:25:00,950 Voisitko sanoa. 565 00:25:00,950 --> 00:25:04,084 Ei laittaa sinut paikan päällä täällä. 566 00:25:04,084 --> 00:25:06,375 >> Yleisö: ja-- 567 00:25:06,375 --> 00:25:09,500 DAVID J. MALAN: Eli jos sana on-- jos merkkijono on Zamyla, joka starts-- 568 00:25:09,500 --> 00:25:12,380 Yleisö: --you käsitellä merkkiä separately-- 569 00:25:12,380 --> 00:25:13,690 DAVID J. MALAN: Hyvä. 570 00:25:13,690 --> 00:25:14,190 Täsmälleen. 571 00:25:14,190 --> 00:25:17,940 Hakasulkeen merkintätapa mahdollistaa käyttää kunkin merkin erikseen, 572 00:25:17,940 --> 00:25:21,120 niin s kiinnike 0 tulee olemaan ensimmäinen merkki merkkijonon. 573 00:25:21,120 --> 00:25:24,110 s kiinnike 1 tulee olemaan toinen, ja niin edelleen. 574 00:25:24,110 --> 00:25:28,050 Joten kysymys kysyn, täällä, tässä kunnossa on, mitä? 575 00:25:28,050 --> 00:25:33,984 On i'th luonnetta suuremmasta kuin tai yhtä pieniksi? 576 00:25:33,984 --> 00:25:36,400 Ja mitä tämä tarkoittaa, täällä, kanssa kaksinkertainen-merkkejä? 577 00:25:36,400 --> 00:25:36,800 YLEISÖ (yhdessä): Ja. 578 00:25:36,800 --> 00:25:37,210 DAVID J. MALAN: Ja. 579 00:25:37,210 --> 00:25:38,418 Se on vain vastaavan tätä. 580 00:25:38,418 --> 00:25:42,310 Ja ei ole avainsana C, joudut käyttöä, ärsyttävän, et-et-merkki. 581 00:25:42,310 --> 00:25:47,520 Ja tämä, päinvastoin, kysyy on s: n i'th luonnetta pienempi tai yhtä suuri kuin 582 00:25:47,520 --> 00:25:49,030 pieniksi z? 583 00:25:49,030 --> 00:25:52,440 Ja vielä, tässä tarina ymmärtää niiden taustalla olevia 584 00:25:52,440 --> 00:25:54,550 täytäntöönpano tietokone järkevää. 585 00:25:54,550 --> 00:25:57,330 Huomaa, että vaikka minulla on dot dot dot tuolla, 586 00:25:57,330 --> 00:26:04,410 näyttää Z pienillä kirjaimilla on kaikki peräkkäisiä arvoja ylös 97 ylös. 587 00:26:04,410 --> 00:26:07,820 >> Ja sama isoja alkaen 65. 588 00:26:07,820 --> 00:26:10,410 Niin nouto, sitten on, että Englanti, 589 00:26:10,410 --> 00:26:12,760 Miten kuvailisit mikä linja 24 tekee? 590 00:26:12,760 --> 00:26:15,736 591 00:26:15,736 --> 00:26:16,728 Joo? 592 00:26:16,728 --> 00:26:21,575 >> Yleisö: 24 se tarkistaa, onko jokainen merkki on pieniä. 593 00:26:21,575 --> 00:26:24,700 DAVID J. MALAN: Se tarkistaa, onko jokainen merkki on pieni kirjain. 594 00:26:24,700 --> 00:26:28,590 Joten vieläkin ytimekkäästi, on i'th luonne s pieniä? 595 00:26:28,590 --> 00:26:30,690 Siinä kaikki olemme ilmentävät tässä loogisesti, 596 00:26:30,690 --> 00:26:33,750 hieman arvoituksellisesti, mutta lopulta melko mutkattomasti. 597 00:26:33,750 --> 00:26:36,480 On s: n i'th hahmo pieniä? 598 00:26:36,480 --> 00:26:40,130 >> Jos näin on, ja täällä on, jos asiat saada hieman mielen taivutus 599 00:26:40,130 --> 00:26:44,760 vain hetken, jos niin, mene eteenpäin ja tulostaa merkki. 600 00:26:44,760 --> 00:26:47,360 Joten tämä on vain paikanvaraajassa mutta mitä merkki? 601 00:26:47,360 --> 00:26:53,710 Miksi minä teen s kiinnike i miinus tämä ilmaus täällä? 602 00:26:53,710 --> 00:26:55,110 >> Hyvin huomaa kuvio täällä. 603 00:26:55,110 --> 00:26:57,380 Todelliset luvut eivät ole väliä niin paljon. 604 00:26:57,380 --> 00:27:02,700 Mutta huomaa, että 97 on kuinka kaukana 65? 605 00:27:02,700 --> 00:27:03,560 >> Yleisö: 32. 606 00:27:03,560 --> 00:27:04,480 >> DAVID J. MALAN: 32. 607 00:27:04,480 --> 00:27:06,890 Kuinka kaukana on 98 66? 608 00:27:06,890 --> 00:27:07,740 >> Yleisö: 32. 609 00:27:07,740 --> 00:27:09,890 >> DAVID J. MALAN: Pikku C isoista C? 610 00:27:09,890 --> 00:27:10,420 32. 611 00:27:10,420 --> 00:27:14,550 Joten siellä on 32 humalan yhden kirjaimen toiseen. 612 00:27:14,550 --> 00:27:17,790 Joten suoraan sanottuna, voisi yksinkertaistamiseksi tähän. 613 00:27:17,790 --> 00:27:20,400 Mutta sitten olen sellainen kova koodaus tämä alhainen käsitys 614 00:27:20,400 --> 00:27:21,740 että ei lukija ei koskaan menossa ymmärtää. 615 00:27:21,740 --> 00:27:25,080 Joten aion yleistää sitä, minä tietää pienet kirjaimet ovat isompia. 616 00:27:25,080 --> 00:27:28,400 Tiedän isot kirjaimet ovat pienempiä arvoja, ironisesti. 617 00:27:28,400 --> 00:27:33,216 >> Mutta tämä on käytännössä vastaa sanoen vähentää 32 S kiinnike i. 618 00:27:33,216 --> 00:27:35,430 Joten näissä yhteyksissä kirjeet, jos kirje 619 00:27:35,430 --> 00:27:38,950 sattuu olemaan, pieniä , ja minä vähentää 32, 620 00:27:38,950 --> 00:27:43,442 Millaisia ​​vaikutuksia, jotka ovat, matemaattisesti, on pieniksi? 621 00:27:43,442 --> 00:27:44,400 Yleisö: Capitalizes-- 622 00:27:44,400 --> 00:27:45,691 DAVID J. MALAN: isoksi sitä. 623 00:27:45,691 --> 00:27:48,440 Ja todellakin, siksi meidän Ohjelmaa kutsutaan hyödyntää nolla. 624 00:27:48,440 --> 00:27:51,590 Tämä ohjelma joko aktivoi kirjeen, 625 00:27:51,590 --> 00:27:54,580 tarkastuksen jälkeen, jos se on todellakin pieni kirjain. 626 00:27:54,580 --> 00:27:59,810 Muuten linjassa 30, mitä teen, jos se ei ole pieni kirjain, että olen 627 00:27:59,810 --> 00:28:02,852 tarkastellaan tietyllä iterointia silmukan. 628 00:28:02,852 --> 00:28:03,890 Vain tulostaa sen. 629 00:28:03,890 --> 00:28:07,010 >> Joten älä muuta tavaraa että ei ole edes pieniä. 630 00:28:07,010 --> 00:28:10,790 Rajoita itse pikku läpi hieman z. 631 00:28:10,790 --> 00:28:12,730 Nyt tämä on melko vaikeaselkoisia. 632 00:28:12,730 --> 00:28:15,230 Mutta lopussa päivä, tämä Näin me, Olipa kerran, 633 00:28:15,230 --> 00:28:16,460 täytyi panna asioita. 634 00:28:16,460 --> 00:28:19,780 Jos minä sen sijaan avata isolla yksi, oi kiitos jumala. 635 00:28:19,780 --> 00:28:22,320 Ei toimintoa kutsuttu ylempi joka voi 636 00:28:22,320 --> 00:28:25,410 teemme kaiken juuri teki melko alhaisella tasolla. 637 00:28:25,410 --> 00:28:28,752 >> Nyt ylempi on mielenkiintoinen koska se on ilmoitettu tiedoston, 638 00:28:28,752 --> 00:28:31,210 ja te vain tiedä tätä tarkistamalla asiakirjat, 639 00:28:31,210 --> 00:28:35,730 tai sanotaan vaikkapa luokassa, jossa se on olemassa, on tiedosto nimeltä ctype.h. 640 00:28:35,730 --> 00:28:37,630 Joten tämä on uusi ystävämme. 641 00:28:37,630 --> 00:28:40,750 Ja ylempi tekee juuri kuin nimensä. 642 00:28:40,750 --> 00:28:44,860 >> Voit kulkea, koska väite, välillä Näiden sulkuja, jokin merkki. 643 00:28:44,860 --> 00:28:48,390 Aion kulkea i'th merkki S käyttämällä fancy uusi merkintätapa 644 00:28:48,390 --> 00:28:49,870 joihin hakasuluissa. 645 00:28:49,870 --> 00:28:53,391 Ja yrittää arvata, mikä on paluu arvo ylempään ilmeisesti menossa 646 00:28:53,391 --> 00:28:53,890 olla? 647 00:28:53,890 --> 00:28:56,460 648 00:28:56,460 --> 00:28:57,770 Isolla kirjaimella. 649 00:28:57,770 --> 00:28:58,620 Isolla kirjaimella. 650 00:28:58,620 --> 00:29:02,330 >> Jos siis kulkea pienillä kirjaimilla, toivon mukaan määritelmä ylempään, 651 00:29:02,330 --> 00:29:05,600 se tulee palauttaa isoja A. Muussa tapauksessa 652 00:29:05,600 --> 00:29:08,590 jos se ei ole pieni kirjain vuonna Ensinnäkin, olen vain tulostaa sen. 653 00:29:08,590 --> 00:29:10,800 Ja todellakin, huomaa Toinen ystävä täällä. 654 00:29:10,800 --> 00:29:13,840 Ei vain ylemmän olemassa, mutta on alhaisempi, mikä 655 00:29:13,840 --> 00:29:16,200 todella vastaa tähän kysymykseen minulle. 656 00:29:16,200 --> 00:29:19,730 >> Nyt jokainen, joka kirjoitti näistä asioista, 10s vuotta sitten, tiedätkö mitä? 657 00:29:19,730 --> 00:29:23,840 Toteutetaan ylempi ja on Laske koodilla näin. 658 00:29:23,840 --> 00:29:27,270 Mutta jälleen, sopusoinnussa tämä ajatus abstracting pois, 659 00:29:27,270 --> 00:29:29,190 tavallaan, alemman tason toteutuksen yksityiskohdat. 660 00:29:29,190 --> 00:29:32,600 Ja seisoo hartiat ihmisiä jotka tulivat ennen meitä, funktioiden 661 00:29:32,600 --> 00:29:36,300 kuten ylempään ja alempaan, joka Ihanan tarpeeksi ovat kauniisti 662 00:29:36,300 --> 00:29:40,190 nimeltään sanoa, mitä he tekevät, on ihana paradigman hyväksyä. 663 00:29:40,190 --> 00:29:44,040 >> Nyt on käynyt ilmi, että jos luen man-sivulta, sanovat, ylempi, 664 00:29:44,040 --> 00:29:45,010 Opin jotain muuta. 665 00:29:45,010 --> 00:29:46,890 Niin mies toupper. 666 00:29:46,890 --> 00:29:48,050 Se on vähän ylivoimainen. 667 00:29:48,050 --> 00:29:51,110 Mutta ilmoitus, tässä on, että maininta header-tiedosto, että minun pitäisi käyttää. 668 00:29:51,110 --> 00:29:54,460 Sivuhuomautuksena, koska tämä on harhaanjohtava, toiminto 669 00:29:54,460 --> 00:29:59,070 käyttää ints sijasta merkkiä syistä virheentarkistus. 670 00:29:59,070 --> 00:30:01,260 Mutta me ehkä tulla takaisin, että tulevaisuudessa. 671 00:30:01,260 --> 00:30:05,910 >> Mutta huomaa, täällä, ylemmän käännynnäisiä C-kirjaimen isoksi, jos mahdollista. 672 00:30:05,910 --> 00:30:07,674 Joten se on melko yksinkertainen. 673 00:30:07,674 --> 00:30:09,340 Ja nyt olkaamme hieman tarkempi. 674 00:30:09,340 --> 00:30:12,750 Katsotaanpa osa man sivun alle tuottoarvo. 675 00:30:12,750 --> 00:30:15,420 Palauttama arvo on, että muunnetun kirjeen. 676 00:30:15,420 --> 00:30:18,690 Tai c, jos muuntaminen ei ollut mahdollista, 677 00:30:18,690 --> 00:30:20,250 jossa c on alkuperäinen panos. 678 00:30:20,250 --> 00:30:24,140 Jonka tiedän täältä, argumentti ylempään. 679 00:30:24,140 --> 00:30:25,780 >> Niin mikä on takeaway tämän? 680 00:30:25,780 --> 00:30:28,060 Palauttama arvo on, että muunnetun kirjeen, 681 00:30:28,060 --> 00:30:32,110 tai c, alkuperäinen kirje, jos muuntaminen ei ollut mahdollista. 682 00:30:32,110 --> 00:30:36,460 Mitä parannuksia voin siis tehdä minun koodi suunnittelussa? 683 00:30:36,460 --> 00:30:37,146 Joo? 684 00:30:37,146 --> 00:30:38,810 >> Yleisö: Voit poistaa muuten. 685 00:30:38,810 --> 00:30:40,810 DAVID J. MALAN: voin poista muu selvitys, 686 00:30:40,810 --> 00:30:42,510 eikä vain muu selvitys. 687 00:30:42,510 --> 00:30:44,150 >> Yleisö: Voit poistaa [kuultavissa]. 688 00:30:44,150 --> 00:30:46,310 >> DAVID J. MALAN: voin poistaa koko haarukka 689 00:30:46,310 --> 00:30:48,209 tien, jos aivan muuta. 690 00:30:48,209 --> 00:30:50,250 Joten todellakin, haluaisin avata lopullinen versio, 691 00:30:50,250 --> 00:30:55,540 hyödyntää-2 ja huomaat kuinka, jos te, seksikäs, koodi on nyt tulossa, 692 00:30:55,540 --> 00:31:00,040 että olen vähentänyt joidenkin seitsemän tai niin riviä vain neljä, 693 00:31:00,040 --> 00:31:03,850 toiminnallisuus että aioin yksinkertaisesti soittamalla ylemmälle, 694 00:31:03,850 --> 00:31:09,410 ohimennen s kiinnike i, ja tulostus ulos, jossa paikanvaraaja% c, 695 00:31:09,410 --> 00:31:11,090 että erityistä luonnetta. 696 00:31:11,090 --> 00:31:14,560 >> Nyt luultavasti, on bugi, tai ainakin riski bugi, 697 00:31:14,560 --> 00:31:15,350 tässä ohjelmassa. 698 00:31:15,350 --> 00:31:18,200 Niin vain tulla takaisin aiempaan takeaway, 699 00:31:18,200 --> 00:31:21,820 mitä minun pitäisi varmaan myös tehdä Tämän ohjelman, jotta se olisi vahva, 700 00:31:21,820 --> 00:31:24,974 niin että ei ole mitään tapaa se voi kaatua, vaikka harvoissa tapauksissa? 701 00:31:24,974 --> 00:31:26,390 Yleisö: Varmista, että se ei ole NULL. 702 00:31:26,390 --> 00:31:28,056 DAVID J. MALAN: Varmista, että se ei ole NULL. 703 00:31:28,056 --> 00:31:31,030 Siis todella, jotta tämä super oikea, minun pitäisi tehdä jotain, 704 00:31:31,030 --> 00:31:35,300 Jos S ei ole nolla, niin mennä eteenpäin ja toteuttaa 705 00:31:35,300 --> 00:31:38,470 nämä riviä koodia, joka Voin sitten luetelmakohdassa sellaista, 706 00:31:38,470 --> 00:31:39,870 ja sitten laittaa minun lähellä ahdin. 707 00:31:39,870 --> 00:31:41,550 Niin hyvä sitominen yhteen kaksi ideaa. 708 00:31:41,550 --> 00:31:42,429 Joo? 709 00:31:42,429 --> 00:31:44,470 Yleisö: Voisitko käyttää do while-silmukka, sen sijaan? 710 00:31:44,470 --> 00:31:47,270 DAVID J. MALAN: Voisivatko En tehdä, kun silmukka? 711 00:31:47,270 --> 00:31:50,020 Yleisö: --you haluat varmistaa että olet itse [kuultavissa]. 712 00:31:50,020 --> 00:31:51,728 DAVID J. MALAN: Voisivatko käytät tehdä, kun? 713 00:31:51,728 --> 00:31:52,450 Lyhyt vastaus, ei. 714 00:31:52,450 --> 00:31:54,700 Koska olet aikeissa käyttöön toiseen nurkkaan tapauksessa. 715 00:31:54,700 --> 00:31:56,660 Jos merkkijono on nolla pituus. 716 00:31:56,660 --> 00:31:59,600 Jos esimerkiksi minä vain osuma Anna ilman koskaan kirjoittamalla Zamyla. 717 00:31:59,600 --> 00:32:02,490 Aion käden takaisin todellinen merkkijono, kuten me lopulta nähdä, 718 00:32:02,490 --> 00:32:03,780 että on nolla merkkiä. 719 00:32:03,780 --> 00:32:05,630 Se on edelleen merkkijono, se on vain erittäin lyhyt. 720 00:32:05,630 --> 00:32:07,960 Mutta jos käytät tehdä, kun, aiot sokeasti 721 00:32:07,960 --> 00:32:10,050 yrittää tehdä jotain kyseisestä merkkijono, 722 00:32:10,050 --> 00:32:12,537 ja mitään tulee olemaan siellä. 723 00:32:12,537 --> 00:32:18,607 >> Yleisö: No, jos et tehdä [äänetön] kun S-- 724 00:32:18,607 --> 00:32:21,190 DAVID J. MALAN: Oi katso, pitää saada merkkijonon käyttäjältä. 725 00:32:21,190 --> 00:32:23,525 Joten lyhyt vastaus, te voi, ja pitää kiusanneet 726 00:32:23,525 --> 00:32:26,150 heitä antamaan sinulle merkkijono, joka on lyhyt, että se mahtuu muistiin. 727 00:32:26,150 --> 00:32:26,700 Ehdottomasti. 728 00:32:26,700 --> 00:32:27,630 En vain ole halunnut. 729 00:32:27,630 --> 00:32:30,505 Jos he eivät anna minulle merkkijono I haluavat, olen lopettamista, olen luopumassa. 730 00:32:30,505 --> 00:32:33,260 Mutta ehdottomasti, tätä tarkoitusta varten, voisit ehdottomasti tehdä. 731 00:32:33,260 --> 00:32:37,500 >> Joten kirjaston header tiedostot olemme nyt tuttuja ovat nämä, täällä. 732 00:32:37,500 --> 00:32:41,550 Vakio I / O, CS50.h, string.h, ctype.h, ja on todellakin toiset. 733 00:32:41,550 --> 00:32:44,460 Jotkut teistä ovat huomanneet matematiikka kirjasto math.h. 734 00:32:44,460 --> 00:32:48,200 Mutta haluan esitellä teille nyt, Tämän resurssin että CS50 henkilöstö, Davin, 735 00:32:48,200 --> 00:32:50,630 ja Rob, ja Gabe erityisesti koonneet. 736 00:32:50,630 --> 00:32:52,630 Että pian linkkiä Kurssin kotisivulla. 737 00:32:52,630 --> 00:32:54,870 Sitä kutsutaan CS50 viite. 738 00:32:54,870 --> 00:32:58,230 >> Joka vain antaa sinulle nopean mausta, toimii seuraavasti. 739 00:32:58,230 --> 00:33:00,740 Anna minun mennä reference.cs50.net. 740 00:33:00,740 --> 00:33:02,990 Näet vasemmalla puolella ylivoimainen lista 741 00:33:02,990 --> 00:33:04,595 toimintoja, jotka tulevat c. 742 00:33:04,595 --> 00:33:07,790 Mutta jos välitän, että tällä hetkellä noin jotain strlen, 743 00:33:07,790 --> 00:33:08,746 Voin kirjoittaa sen sinne. 744 00:33:08,746 --> 00:33:10,870 Se suodattaa listaa alaspäin vain mitä minä välitän. 745 00:33:10,870 --> 00:33:11,940 Aion klikkaa sitä. 746 00:33:11,940 --> 00:33:14,740 Ja nyt vasemmalla, näet mitä toivomme 747 00:33:14,740 --> 00:33:18,290 on suoraviivaisempi, ihmisen ystävällinen selvitys siitä, miten 748 00:33:18,290 --> 00:33:19,170 tämä toiminto toimii. 749 00:33:19,170 --> 00:33:20,600 >> Palauttaa merkkijonon pituuden. 750 00:33:20,600 --> 00:33:24,060 Tässä on synopsis, näin poistat käyttää sitä suhteen header-tiedosto, 751 00:33:24,060 --> 00:33:27,430 ja siitä, mitä funktion näyttää suhteen sen perustelut. 752 00:33:27,430 --> 00:33:30,250 Ja sitten täällä, palaa merkkijonon pituuden. 753 00:33:30,250 --> 00:33:34,280 Mutta ne teistä mukavampaa, voit itse valitse lisää mukavia, 754 00:33:34,280 --> 00:33:37,070 ja sisältö sivu, nyt muuttuu 755 00:33:37,070 --> 00:33:41,660 olla oletusarvot mitä saat käyttämällä man-sivulta. 756 00:33:41,660 --> 00:33:44,100 >> Toisin sanoen, CS50 viittaus on yksinkertaistaminen 757 00:33:44,100 --> 00:33:46,220 Ihmisen sivuja henkilökunnan, opiskelijoiden. 758 00:33:46,220 --> 00:33:49,320 Erityisesti nämä vähemmän mukavat ja siltä väliltä, ​​niin että te 759 00:33:49,320 --> 00:33:51,660 ei tarvitse yrittää paketoida mieltäsi ympärille, rehellisesti, 760 00:33:51,660 --> 00:33:55,030 jotkut melko arvoituksellinen syntaksin ja dokumentointi joskus. 761 00:33:55,030 --> 00:33:57,650 >> Niin pitää tämä mielessä vuonna lähipäivinä. 762 00:33:57,650 --> 00:33:59,560 Joten tässä taas on Zamyla. 763 00:33:59,560 --> 00:34:03,255 Katsotaanpa nyt esittää kysymyksen, joka on hieman enemmän ihmisten saataville. 764 00:34:03,255 --> 00:34:05,380 Kiitos Chang, joka on ollut tulostus enemmän norsuja 765 00:34:05,380 --> 00:34:07,090 tauotta viime päivinä. 766 00:34:07,090 --> 00:34:09,730 Meillä on mahdollisuus antaa ainakin yksi niistä pois. 767 00:34:09,730 --> 00:34:13,239 Jos voisimme saada vain yksi vapaaehtoinen tulla jopa piirtää ruudulle. 768 00:34:13,239 --> 00:34:14,530 Entä täällä? 769 00:34:14,530 --> 00:34:15,340 >> Tule ylös. 770 00:34:15,340 --> 00:34:16,720 Mikä on nimesi? 771 00:34:16,720 --> 00:34:17,219 ALEX: Alex. 772 00:34:17,219 --> 00:34:17,760 DAVID J. MALAN: Alex. 773 00:34:17,760 --> 00:34:18,259 Kunnossa. 774 00:34:18,259 --> 00:34:19,388 Alex, tule ylös. 775 00:34:19,388 --> 00:34:21,679 Olemme tulleet sinun käsialan ruudulla täällä. 776 00:34:21,679 --> 00:34:24,325 777 00:34:24,325 --> 00:34:25,570 Okei, kiva tavata. 778 00:34:25,570 --> 00:34:26,429 >> ALEX: Nice tapaat. 779 00:34:26,429 --> 00:34:27,512 >> DAVID J. MALAN: Okei. 780 00:34:27,512 --> 00:34:28,969 Niin, super yksinkertainen käyttää. 781 00:34:28,969 --> 00:34:31,440 Baari ei ole korkea saada norsu tänään. 782 00:34:31,440 --> 00:34:33,439 Pelaat rooli getstring. 783 00:34:33,439 --> 00:34:35,980 Ja aion vain kertoa merkkijono, joka olet saanut. 784 00:34:35,980 --> 00:34:38,080 Ja olettaa, että te, getstring, on kutsuttu. 785 00:34:38,080 --> 00:34:42,480 Ja ihminen, kuten minä, on kirjoitettu Zamyla, Z-A-M-Y-L-. 786 00:34:42,480 --> 00:34:45,650 Vain mennä eteenpäin ja kirjoittaa Zamyla päälle näyttö ikään kuin olet saanut sen 787 00:34:45,650 --> 00:34:47,250 ja varastoi sen jonnekin muistiin. 788 00:34:47,250 --> 00:34:52,370 789 00:34:52,370 --> 00:34:55,570 >> Jättävät tilaa mitä tulee useita muut words-- se on OK, jatkakaa. 790 00:34:55,570 --> 00:34:59,620 >> [Naurua] 791 00:34:59,620 --> 00:35:00,800 >> Niin Zamyla, Excellent. 792 00:35:00,800 --> 00:35:04,880 Joten nyt olettaa, että te, getstring, kutsutaan uudelleen. 793 00:35:04,880 --> 00:35:09,350 Ja siksi annan sinulle, milloin näppäimistö, toisella nimellä, Belinda. 794 00:35:09,350 --> 00:35:17,560 795 00:35:17,560 --> 00:35:18,060 Kunnossa. 796 00:35:18,060 --> 00:35:22,380 Ja nyt seuraavan kerran getstring on nimeltään, kirjoitan jotain Gabe, 797 00:35:22,380 --> 00:35:27,560 G-A-B-E-. Olet todella ottaen sydämeen työmuistiin. 798 00:35:27,560 --> 00:35:29,631 Joka vetää kaiken täysin satunnaisesti. 799 00:35:29,631 --> 00:35:30,130 OK. 800 00:35:30,130 --> 00:35:31,104 >> [Naurua] 801 00:35:31,104 --> 00:35:32,520 ALEX: Anteeksi minun käsiala on huono. 802 00:35:32,520 --> 00:35:33,770 DAVID J. MALAN: Ei, se on OK. 803 00:35:33,770 --> 00:35:40,480 Ja miten Rob, R-O-B. OK. 804 00:35:40,480 --> 00:35:41,020 Hyvä. 805 00:35:41,020 --> 00:35:43,853 Joten en ennakoida voisitte Tällainen lay asioita tällä tavalla. 806 00:35:43,853 --> 00:35:45,020 Mutta voimme tehdä tätä työtä. 807 00:35:45,020 --> 00:35:48,810 Joten miten voit mennä noin muuttamisesta nämä merkkiä muistiin? 808 00:35:48,810 --> 00:35:51,310 Toisin sanoen, jos ajattelemme Tämän suorakulmainen musta ruutu 809 00:35:51,310 --> 00:35:53,550 edustavan tietokoneen RAM tai muistia. 810 00:35:53,550 --> 00:35:55,850 >> Ja muistuttaa, että RAM on vain koko joukko tavuja, 811 00:35:55,850 --> 00:35:57,480 ja tavut ovat koko joukko bittejä. 812 00:35:57,480 --> 00:35:59,350 Ja bitit ovat jotenkin toteutetaan yleensä 813 00:35:59,350 --> 00:36:01,119 jonkinlaiseen Sähkön laitteisto. 814 00:36:01,119 --> 00:36:03,160 Niin, että tavallaan kerrospukeutuminen olemme puhuneet 815 00:36:03,160 --> 00:36:04,510 ja voivat nyt ottaa itsestäänselvyytenä. 816 00:36:04,510 --> 00:36:07,020 Miten te sitten päättää mistä kirjoittaa 817 00:36:07,020 --> 00:36:11,634 Rob vs. Gabe vastaan Belinda vs. Zamyla? 818 00:36:11,634 --> 00:36:14,020 >> ALEX: Tein sen määrätä, että kerroit minulle. 819 00:36:14,020 --> 00:36:15,650 >> DAVID J. MALAN: Ja se on totta. 820 00:36:15,650 --> 00:36:20,100 Mutta mitä sovelletaan mihin on Belinda nimi ja Gabe nimi? 821 00:36:20,100 --> 00:36:20,764 >> ALEX: Ei mitään? 822 00:36:20,764 --> 00:36:22,930 DAVID J. MALAN: [LAUGHS] Niin että toimii, se käy hyvin. 823 00:36:22,930 --> 00:36:25,290 Joten tietokoneet ovat hieman hallitumpi kuin. 824 00:36:25,290 --> 00:36:29,000 Ja niin kun me implement-- siellä vain moment-- kun me itse 825 00:36:29,000 --> 00:36:31,470 toteuttaa jotain getstring tietokoneessa, 826 00:36:31,470 --> 00:36:34,480 Zamyla voidaan säädettyihin melko paljon kuten teit ruudulla, siellä. 827 00:36:34,480 --> 00:36:36,660 >> Ja mikä on avain huomata täällä, mitä Alex teki, 828 00:36:36,660 --> 00:36:40,260 on olemassa sellainen rajanveto Kummassakin näistä sanoista, eikö? 829 00:36:40,260 --> 00:36:46,580 Et kirjoittanut Z-A-M-Y-L-A-B-E-L-I-N-D-A-G-A-B-- 830 00:36:46,580 --> 00:36:49,740 Toisin sanoen, on olemassa jonkinlainen rajaamisongelmiin joka näyttää olevan, 831 00:36:49,740 --> 00:36:52,370 tavallaan, satunnainen väli näiden eri sanoja. 832 00:36:52,370 --> 00:36:54,120 Mutta se on hyvä, koska me ihmiset voivat nyt 833 00:36:54,120 --> 00:36:56,470 visualisoida, että nämä ovat neljä eri jouset. 834 00:36:56,470 --> 00:36:59,540 Se ei ole vain yksi jakso erien merkkiä. 835 00:36:59,540 --> 00:37:04,190 Niin tietokone, sitten puolestaan saattaa kestää merkkijono kuten Zamyla, 836 00:37:04,190 --> 00:37:07,220 laittaa jokainen näistä kirjeistä sisällä tavun muistia. 837 00:37:07,220 --> 00:37:10,400 Mutta että määrä on paljon suurempi, tietenkin, kuin kuusi merkkiä. 838 00:37:10,400 --> 00:37:11,690 >> On koko joukko muistia. 839 00:37:11,690 --> 00:37:15,330 Ja niin vastedes, tämä ruudukko laatikot on menossa 840 00:37:15,330 --> 00:37:17,560 edustamaan mitä Alex vain ei täällä ruudulla. 841 00:37:17,560 --> 00:37:20,937 Ja nyt, Alex, voimme tarjota sinulle sininen tai oranssi norsu Chang. 842 00:37:20,937 --> 00:37:22,270 ALEX: Otan sininen elefantti. 843 00:37:22,270 --> 00:37:23,120 DAVID J. MALAN: sininen elefantti. 844 00:37:23,120 --> 00:37:25,580 Joten aplodit, jos voisimme, Alex täällä. 845 00:37:25,580 --> 00:37:26,100 >> [APPLAUSE] 846 00:37:26,100 --> 00:37:26,766 >> ALEX: Kiitos. 847 00:37:26,766 --> 00:37:28,820 DAVID J. MALAN: Kiitos. 848 00:37:28,820 --> 00:37:36,230 Joten nouto on se, että, vaikka kuvio tavallaan muuttunut ajan myötä, tänne 849 00:37:36,230 --> 00:37:40,430 taululle, oli tämä rajaaminen keskuudessa eri jouset 850 00:37:40,430 --> 00:37:42,610 Alex sai meille. 851 00:37:42,610 --> 00:37:45,230 Nyt tietokoneet, rehellisesti, voisi tehdä saman. 852 00:37:45,230 --> 00:37:48,210 Ne voisivat sellainen plop jouset kaikkialla RAM. 853 00:37:48,210 --> 00:37:50,710 Täällä, täällä, täällä, täällä. 854 00:37:50,710 --> 00:37:52,020 >> He voisivat tehdä juuri näin. 855 00:37:52,020 --> 00:37:54,280 Mutta tietenkin, että on ehkä ole paras suunnittelua. 856 00:37:54,280 --> 00:37:54,780 Oikea? 857 00:37:54,780 --> 00:37:57,340 Jos Kyselin Alex saada nimiä, luultavasti hän osaisimme 858 00:37:57,340 --> 00:38:01,370 laittaa lisää tänne, ehkä jopa täällä, täällä, täällä, lopulta 859 00:38:01,370 --> 00:38:02,211 tänne. 860 00:38:02,211 --> 00:38:05,460 Mutta hieman suunnittelua, varmasti, voisimme antaa asioita puhtaammin. 861 00:38:05,460 --> 00:38:07,350 Ja todellakin, se mitä tietokone tekee. 862 00:38:07,350 --> 00:38:10,720 >> Mutta saalis on, että jos seuraava merkkijono saan 863 00:38:10,720 --> 00:38:14,050 jälkeen Zamyla on jotain kuten Belinda, 864 00:38:14,050 --> 00:38:17,929 ehdottaa missä voisimme kirjoittaa kirje b suhteessa tähän verkkoon? 865 00:38:17,929 --> 00:38:18,720 Minne menisit? 866 00:38:18,720 --> 00:38:21,480 Oikealle, Alla z, alla? 867 00:38:21,480 --> 00:38:23,204 Mikä olisi ensimmäinen vaistot olla? 868 00:38:23,204 --> 00:38:24,120 Yleisö: Alla z. 869 00:38:24,120 --> 00:38:25,100 DAVID J. MALAN: Eli alle z. 870 00:38:25,100 --> 00:38:26,530 Ja se on aika yksinkertaista, eikö? 871 00:38:26,530 --> 00:38:29,321 Se on tavallaan siisti, se mitä me teemme näppäimistön kun Enter, 872 00:38:29,321 --> 00:38:31,770 tai sähköpostitse tehtäessä luettelomerkeillä asioita. 873 00:38:31,770 --> 00:38:34,310 Mutta tosiasia on, että tietokoneet yrittää olla tehokkaampia, 874 00:38:34,310 --> 00:38:37,170 ja ahtaa varmasti niin paljon data RAM kuin mahdollista, 875 00:38:37,170 --> 00:38:38,890 niin, että et tuhlaa tavua. 876 00:38:38,890 --> 00:38:41,545 Jotta et tuhlaa kaikki näytön kiinteistöjä. 877 00:38:41,545 --> 00:38:44,170 Ja ongelma on kuitenkin se, että jos me kirjaimellisesti laittaa kirjeen 878 00:38:44,170 --> 00:38:49,940 b jälkeen, miten aiomme tietää, missä Zamyla nimi päättyy 879 00:38:49,940 --> 00:38:51,840 ja Belinda nimi alkaa? 880 00:38:51,840 --> 00:38:55,270 Joten te ihmiset vain ehdotti, hyvin, osuma Enter-näppäintä, lähinnä. 881 00:38:55,270 --> 00:38:56,410 Laita se alas alla. 882 00:38:56,410 --> 00:38:59,750 Tai jopa Alex teki, vain aloittaa kirjoittamisen Seuraavan nimi alle edellisen, 883 00:38:59,750 --> 00:39:01,583 ja alle yksi, ja sitten alle yhden. 884 00:39:01,583 --> 00:39:02,510 Se on visuaalinen vihje. 885 00:39:02,510 --> 00:39:05,960 >> Tietokoneissa on toinen visuaalisen, mutta se on hieman suppea. 886 00:39:05,960 --> 00:39:07,840 Se on tämä funky hahmo. 887 00:39:07,840 --> 00:39:11,890 Kenoviiva 0, joka on ehkä muistuttaa kenoviiva n, 888 00:39:11,890 --> 00:39:12,640 ja niin edelleen, nyt. 889 00:39:12,640 --> 00:39:14,120 Erityinen ohjausmerkkijonoja. 890 00:39:14,120 --> 00:39:19,120 Kenoviiva 0 on tapa eli kahdeksan nolla bittiä peräkkäin. 891 00:39:19,120 --> 00:39:22,000 0000 0000. 892 00:39:22,000 --> 00:39:26,130 >> Miten ilmaista, että ei ole osuma numero nolla näppäimistöllä, 893 00:39:26,130 --> 00:39:28,140 koska itse asiassa se on ASCII-merkkiä. 894 00:39:28,140 --> 00:39:30,990 Se näyttää numeron, mutta on todella desimaaliluku 895 00:39:30,990 --> 00:39:35,910 joka edustaa pyöreä kuvion, pyöreä kirjasintyyppi. 896 00:39:35,910 --> 00:39:38,410 Samaan aikaan, kenoviiva nolla tarkoittaa, kirjaimellisesti 897 00:39:38,410 --> 00:39:40,700 laittaa kahdeksan nolla tavua täällä minulle. 898 00:39:40,700 --> 00:39:42,136 >> Joten tämä on jossain määrin mielivaltainen. 899 00:39:42,136 --> 00:39:44,260 Olisimme voineet käyttää mitä tahansa mallia bittejä, mutta maailma 900 00:39:44,260 --> 00:39:46,610 päätti joitakin vuosia sitten, että edustamaan 901 00:39:46,610 --> 00:39:49,710 loppuun merkkijonon muistiin, vain laittaa koko joukko nollia. 902 00:39:49,710 --> 00:39:51,000 Koska voimme havaita, että. 903 00:39:51,000 --> 00:39:54,790 Nyt se tarkoittaa, että ei ole kirjain aakkoset voidaan esittää nollilla. 904 00:39:54,790 --> 00:39:58,480 >> Mutta se on OK, olemme jo nähneet että käytämme 65 jopa 97 ylös. 905 00:39:58,480 --> 00:40:00,290 Emme pääse mihinkään lähes kaikki nollia. 906 00:40:00,290 --> 00:40:03,040 907 00:40:03,040 --> 00:40:06,540 Joten Belinda tietokoneen muistiin on todella menossa täällä. 908 00:40:06,540 --> 00:40:09,764 Olen laatinut sen keltaisella vain kiinnittää huomiomme siihen. 909 00:40:09,764 --> 00:40:11,680 Ja varoitusajalla, tämä on täysin mielivaltaista. 910 00:40:11,680 --> 00:40:12,680 Olen laatinut sen verkkoon. 911 00:40:12,680 --> 00:40:14,460 Like, RAM on vain joitakin fyysinen esine. 912 00:40:14,460 --> 00:40:17,300 Se ei välttämättä ole rivejä ja sarakkeita, sinänsä. 913 00:40:17,300 --> 00:40:20,490 Se on juuri koko joukko tavua toteuttaa laitteistolla jotenkin. 914 00:40:20,490 --> 00:40:22,817 Mutta jos sen jälkeen Belinda I kirjoitit Gabe nimi, 915 00:40:22,817 --> 00:40:25,650 hän aikoo päätyä tänne muistiin, ja jos olen kirjoittanut Daven nimi, 916 00:40:25,650 --> 00:40:27,316 Esimerkiksi hän aikoo päätyä tänne. 917 00:40:27,316 --> 00:40:29,310 Ja voin jatkaa kirjoittaa vielä enemmän nimiä. 918 00:40:29,310 --> 00:40:32,100 >> Valitettavasti, jos yritän kirjoittaa erittäin pitkä nimi, 919 00:40:32,100 --> 00:40:33,730 Saatan lopulta loppuu muisti. 920 00:40:33,730 --> 00:40:37,810 Jolloin, getstring on aio palata NULL, kuten sanoimme. 921 00:40:37,810 --> 00:40:41,720 Mutta onneksi, ainakin tällä visuaalinen täällä, emme saaneet ihan niin pitkälle. 922 00:40:41,720 --> 00:40:45,860 >> Nyt mitä mukavaa on, että tämä yleinen ajatus hoitoon asioita 923 00:40:45,860 --> 00:40:49,720 olevan laatikoissa on tyypillinen piirre C 924 00:40:49,720 --> 00:40:52,690 ja paljon kieliä, tunnetaan joukko. 925 00:40:52,690 --> 00:40:55,490 Array on toinen tiedon. 926 00:40:55,490 --> 00:40:57,380 Se on tietorakenne, jos haluatte. 927 00:40:57,380 --> 00:41:01,160 Rakenne siinä mielessä se todella, sellainen, näköisenä laatikko, ainakin 928 00:41:01,160 --> 00:41:02,320 sielusi silmin. 929 00:41:02,320 --> 00:41:09,680 Asetelma on yhtenäinen sarjasta keskenään samanlaisia ​​tietotyyppejä, 930 00:41:09,680 --> 00:41:11,330 takaisin takaisin takaisin takaisin. 931 00:41:11,330 --> 00:41:14,720 >> Joten merkkijono, toisin Eli on joukko merkkiä. 932 00:41:14,720 --> 00:41:16,120 Joukko merkkiä. 933 00:41:16,120 --> 00:41:19,070 Mutta se osoittautuu voit olla paneelit rypäleterttuja asioita. 934 00:41:19,070 --> 00:41:21,870 Itse asiassa, voimme laittaa jopa numerot jono. 935 00:41:21,870 --> 00:41:23,920 Joten muodossa, jossa aiomme aloittaa 936 00:41:23,920 --> 00:41:26,590 julistaa tämän datan rakenne tunnetaan array 937 00:41:26,590 --> 00:41:28,250 aikoo myös käyttää hakasulkeissa. 938 00:41:28,250 --> 00:41:31,500 Mutta nämä hakasuluissa ovat menossa on eri merkitys tässä yhteydessä. 939 00:41:31,500 --> 00:41:33,450 >> Ja katsotaanpa sitä seuraavasti. 940 00:41:33,450 --> 00:41:36,780 Oletetaan, että olen avannut uuden tiedoston täältä. 941 00:41:36,780 --> 00:41:38,535 Ja minä tallentaa tämän ages.c. 942 00:41:38,535 --> 00:41:41,280 943 00:41:41,280 --> 00:41:43,470 Ja minä tallentaa tämän minun kansioon täällä. 944 00:41:43,470 --> 00:41:46,130 Ja nyt aion mennä eteenpäin ja kirjoittamalla jotain 945 00:41:46,130 --> 00:41:53,940 kuten muun muassa CS50.h, kuuluvat stdio.h, int main mitätön. 946 00:41:53,940 --> 00:41:57,370 Ja sitten sisällä täältä, haluan ensin on int nimeltään ikä. 947 00:41:57,370 --> 00:42:01,371 >> Ja aion käyttää sitä saada int käyttäjän hänen ikänsä. 948 00:42:01,371 --> 00:42:04,620 Mutta tämä ohjelma on tarkoitus käyttää useita ihmisiä, jostain yhteydessä. 949 00:42:04,620 --> 00:42:05,490 Minulla rivi ihmisiä. 950 00:42:05,490 --> 00:42:08,281 Kaikki ne täytyy kirjoittaa niiden ikä ehkä jotkut, en tiedä, 951 00:42:08,281 --> 00:42:10,530 kilpailun tai tapahtuman että he ovat saapuneet. 952 00:42:10,530 --> 00:42:13,030 Joten seuraava henkilö, minä Tarvitsen toisen muuttujan. 953 00:42:13,030 --> 00:42:15,790 >> Koska jos en vain ikä saa getInt, joka on 954 00:42:15,790 --> 00:42:18,500 menossa hakata, tai korvata Edellisen henkilön ikä. 955 00:42:18,500 --> 00:42:19,760 Joten se ei ole hyvä. 956 00:42:19,760 --> 00:42:21,790 Joten minun ensimmäinen vaisto saattaa olla, oh, okei, 957 00:42:21,790 --> 00:42:26,260 jos haluan saada useita ihmisten ages-- kutsukaamme tätä age1, 958 00:42:26,260 --> 00:42:31,280 int age2 saa int, int iästä lähtien3 saa getInt. 959 00:42:31,280 --> 00:42:35,340 Ja nyt aion käyttää Joissakin pseudokoodilla koodi tähän. 960 00:42:35,340 --> 00:42:37,679 >> Tehdä jotain ne numerot. 961 00:42:37,679 --> 00:42:40,470 Lähdemme toiseen kertaan mitä teemme siellä, koska me vain 962 00:42:40,470 --> 00:42:44,200 hoitaa tällä hetkellä noin age1, age2, iästä lähtien3. 963 00:42:44,200 --> 00:42:46,450 Valitettavasti, kun olen kääntää tämän ohjelman 964 00:42:46,450 --> 00:42:51,140 ja laita se eteen todellisten käyttäjien, mitä pohjimmiltaan huono suunnittelu 965 00:42:51,140 --> 00:42:53,890 Päätös Olen ilmeisesti tehnyt? 966 00:42:53,890 --> 00:42:54,624 Joo? 967 00:42:54,624 --> 00:42:55,499 Yleisö: [kuulumaton] 968 00:42:55,499 --> 00:42:58,071 969 00:42:58,071 --> 00:42:59,820 DAVID J. MALAN: Joo, En ole edes kokeillut 970 00:42:59,820 --> 00:43:02,028 selvittää, kuinka monta ikäisille voin oikeastaan ​​välitä? 971 00:43:02,028 --> 00:43:05,380 Jos minulla on vähemmän kuin kolme ihmistä täällä, ja siis vähemmän kuin kolme ikäisille, 972 00:43:05,380 --> 00:43:07,260 Olen edelleen sokeasti odottaa kolme. 973 00:43:07,260 --> 00:43:08,720 Jumala varjelkoon neljä ihmisiä paikalle. 974 00:43:08,720 --> 00:43:10,990 Oma ohjelma vain ei edes tue niitä. 975 00:43:10,990 --> 00:43:13,280 >> Ja niin tämä, pitkä tarina lyhyt, ei ole hyvä tapa. 976 00:43:13,280 --> 00:43:13,780 Oikea? 977 00:43:13,780 --> 00:43:16,530 Olin lähinnä kopiointi ja liittämällä koodin ja vain säätämistä 978 00:43:16,530 --> 00:43:17,430 muuttujien nimet. 979 00:43:17,430 --> 00:43:22,410 Ja luoja, jos sinulla oli, ei kolme ikäisille, mutta 10 tai 100, tai jopa 6500 980 00:43:22,410 --> 00:43:23,820 opiskelijoista, esimerkiksi. 981 00:43:23,820 --> 00:43:26,950 Tämä ei tule olemaan erityisen tyylikäs koodia, tai kestävä. 982 00:43:26,950 --> 00:43:29,200 Olet menossa tarvitse kirjoittaa ohjelma joka kerta 983 00:43:29,200 --> 00:43:30,760 teidän ihmisten määrä muutoksia. 984 00:43:30,760 --> 00:43:35,090 >> Niin onneksi meidän todellinen ages.c tiedoston tänään, 985 00:43:35,090 --> 00:43:36,970 meillä on viisaampi ratkaisu. 986 00:43:36,970 --> 00:43:39,800 Ensiksi aion lainata rakentaa olemme käyttäneet muutaman kerran, 987 00:43:39,800 --> 00:43:43,744 Tämän do while-silmukka, saadakseen ihmisten määrä huoneeseen. 988 00:43:43,744 --> 00:43:46,910 Olen juuri menossa kiusata käyttäjälle, jälleen ja uudelleen, kunnes hän antaa minulle 989 00:43:46,910 --> 00:43:49,260 n: n arvo, joka on positiivinen kokonaisluku. 990 00:43:49,260 --> 00:43:51,590 >> Olisin voinut käyttää, viimeksi Aika saada myönteisiä int. 991 00:43:51,590 --> 00:43:53,720 Mutta meillä ei ole, että oikeasti, joten menin eteenpäin 992 00:43:53,720 --> 00:43:55,660 ja uudelleen toteuttaa tätä ajatusta. 993 00:43:55,660 --> 00:43:58,410 Nyt tänne, tämä on uusi temppu. 994 00:43:58,410 --> 00:44:02,260 Linjassa 27, koska kommentit linjassa 26 ehdottaa, 995 00:44:02,260 --> 00:44:05,180 julistaa array, jossa tallentaa kaikkien ikä. 996 00:44:05,180 --> 00:44:09,320 >> Joten jos haluat saada, ei yksi int, ei kaksi ints, mutta koko joukko ints. 997 00:44:09,320 --> 00:44:13,800 Tarkemmin n kokonaislukuja, olivat n pitää kolme, ehkä 100, ehkä 1000. 998 00:44:13,800 --> 00:44:17,570 Syntaksin, yksinkertaisesti, on sanoa, mitä tietotyyppiä haluat? 999 00:44:17,570 --> 00:44:19,620 Mitä haluat soittaa että kimpale muistia? 1000 00:44:19,620 --> 00:44:23,530 Mitä haluat soittaa verkkoon joka näyttää tältä kuvallisesti? 1001 00:44:23,530 --> 00:44:27,700 >> Ja suluissa täällä, te sanotte kuinka iso haluat array olla. 1002 00:44:27,700 --> 00:44:30,450 Ja niin aiemmin, kun sanoin syntaksi on hieman erilainen täällä, 1003 00:44:30,450 --> 00:44:33,614 olemme yhä hakasulkuja, mutta kun olen julistetaan array, 1004 00:44:33,614 --> 00:44:35,530 numero sisällä hakasuluissa välineet 1005 00:44:35,530 --> 00:44:37,610 kuinka iso haluat array olla. 1006 00:44:37,610 --> 00:44:42,490 >> Sitä vastoin, kun käytimme s kiinnike i hetki sitten, s, merkkijono, 1007 00:44:42,490 --> 00:44:46,820 on todellakin joukko merkkiä, mutta kun et julistaa muuttuja, 1008 00:44:46,820 --> 00:44:49,760 koska tällä avainsanalla täällä, olet yksinkertaisesti saada 1009 00:44:49,760 --> 00:44:54,280 indeksi, erityinen elementti, että jono. 1010 00:44:54,280 --> 00:44:57,090 Kun tiedämme, että loput Tämän on yksinkertaista. 1011 00:44:57,090 --> 00:45:00,765 Jos uusi olen ensin menossa tulostaa mitä ikä henkilön numero i. 1012 00:45:00,765 --> 00:45:03,890 Missä voin sanoa henkilön numero yksi, henkilö numero kaksi, henkilö numero kolme. 1013 00:45:03,890 --> 00:45:06,306 >> Ja minä teen vain aritmeettinen, joten kuten tavalliset ihmiset, 1014 00:45:06,306 --> 00:45:09,030 laskemme yhden tämän ohjelma, eikä nollasta. 1015 00:45:09,030 --> 00:45:13,620 Soitan getint, mutta en säilytä Vastaus aikoihin haarukoida i. 1016 00:45:13,620 --> 00:45:16,610 Joka on i'th ikä jono. 1017 00:45:16,610 --> 00:45:21,640 Joten kun viime kerran lähdimme hoitoon Näiden laatikoiden merkkiä varten Zamyla nimi, 1018 00:45:21,640 --> 00:45:22,490 ja muut. 1019 00:45:22,490 --> 00:45:26,530 Nyt nämä laatikot edustavat 32 bittiä, tai neljä tavua 1020 00:45:26,530 --> 00:45:29,510 jossa voimme varastoida int, int, int. 1021 00:45:29,510 --> 00:45:31,890 Jotka kaikki, jälleen, ovat samaa tietotyyppiä. 1022 00:45:31,890 --> 00:45:33,890 >> Nyt teen jotain typerää, kuten aika kuluu, vain 1023 00:45:33,890 --> 00:45:35,510 perustelemaan kirjoitan tätä ohjelmaa. 1024 00:45:35,510 --> 00:45:40,050 Ja sitten tänne, minä taas kerrata yli array sanomalla vuoden päästä, 1025 00:45:40,050 --> 00:45:43,090 henkilö numero yksi tahto olla jotain vuotta vanha. 1026 00:45:43,090 --> 00:45:45,010 Ja selvittää, että math-- Tarkoitan, tämä 1027 00:45:45,010 --> 00:45:49,260 ei ole kovin monimutkainen arithmetic-- Minä vain lisätä yksi ikänsä. 1028 00:45:49,260 --> 00:45:51,240 Vain osoittaa jälleen tämä. 1029 00:45:51,240 --> 00:45:57,910 >> Aivan kuten voin indeksinä merkkijono, s, joten voin indeksinä joukko ikäisiä, 1030 00:45:57,910 --> 00:45:59,950 niin siellä. 1031 00:45:59,950 --> 00:46:03,340 Joten jos tämä tulee olla viemässä meitä? 1032 00:46:03,340 --> 00:46:07,070 Niin näemme, lopulta, muutamia asioita lähipäivinä. 1033 00:46:07,070 --> 00:46:09,510 Yksi, koko tämän ajan, jolloin kirjallisesti omia ohjelmia, 1034 00:46:09,510 --> 00:46:11,239 kuten Mario, ahne, luotto. 1035 00:46:11,239 --> 00:46:13,780 Olet ollut nimen kirjoittaminen ohjelma ja enteriä. 1036 00:46:13,780 --> 00:46:15,610 Ja sitten saada käyttäjän syöttää. 1037 00:46:15,610 --> 00:46:18,137 >> Kanssa getString, getInt, getLongLong, tai vastaavat. 1038 00:46:18,137 --> 00:46:20,720 Mutta näyttää siltä, ​​että C tuet jotain kutsutaan komentoriviltä 1039 00:46:20,720 --> 00:46:25,740 argumentteja, jotka on menossa olkaamme itse saada at sanoja, jotka kirjoitat, 1040 00:46:25,740 --> 00:46:28,570 klo vilkkuu nopea, jälkeen ohjelman nimi. 1041 00:46:28,570 --> 00:46:31,430 >> Joten lähipäivinä, sinun voisi kirjoittaa jotain Caesar, 1042 00:46:31,430 --> 00:46:34,950 tai ./caesar numero 13, sen jälkeen. 1043 00:46:34,950 --> 00:46:36,070 Saa nähdä miten se toimii. 1044 00:46:36,070 --> 00:46:37,550 Koska todellakin, vuonna ongelma asettaa kaksi, olemme 1045 00:46:37,550 --> 00:46:39,383 aio esitellä sinulle että jotain pientä 1046 00:46:39,383 --> 00:46:42,360 muistuttaa Ralphien n aiemmassa vaiheessa riitauttaa kartografiasta. 1047 00:46:42,360 --> 00:46:43,970 Taidetta muokkaamisella tietoa. 1048 00:46:43,970 --> 00:46:46,660 Tämä itse asiassa on erittäin muistuttaa mitä Ralphie teki. 1049 00:46:46,660 --> 00:46:51,380 >> Tämä on esimerkki salaus algoritmia kutsutaan ROT13, R-O-T-13. 1050 00:46:51,380 --> 00:46:54,910 Joka tarkoittaa yksinkertaisesti kiertää kirjaimia 13 paikkaa. 1051 00:46:54,910 --> 00:46:58,309 Ja jos teette sen, näet nyt mikä on ehkä tuttu lause. 1052 00:46:58,309 --> 00:47:01,100 Mutta miten aiomme käyttää tämä lopulta on yleisemmin. 1053 00:47:01,100 --> 00:47:04,390 >> P asettaa kaksi, perusversiossa, voit toteuttaa pari salaus, 1054 00:47:04,390 --> 00:47:06,720 yksi nimeltään Caesar, yksi nimeltään Vigenere. 1055 00:47:06,720 --> 00:47:10,090 Molemmat ovat rotaatio salaus, että jotenkin 1056 00:47:10,090 --> 00:47:11,826 puolestaan ​​yksi kirjain tulee eri kirjain. 1057 00:47:11,826 --> 00:47:12,950 Ja Caesar on erittäin yksinkertainen. 1058 00:47:12,950 --> 00:47:16,220 Lisäät yhden, lisäät 13, tai tietty määrä jopa 26. 1059 00:47:16,220 --> 00:47:19,570 Vigenere tekee, että per kirjeen perusteella. 1060 00:47:19,570 --> 00:47:22,140 Niin Vigenere, niin näet spec, on turvallisempi. 1061 00:47:22,140 --> 00:47:24,973 >> Mutta loppujen lopuksi mitä voit olla täytäntöönpanossa ja P asetettu kaksi, 1062 00:47:24,973 --> 00:47:29,050 on se avain, että käytät molempia salaukseen ja salauksen. 1063 00:47:29,050 --> 00:47:32,160 Viitaten prosessi kääntämällä pelkkää tekstiä, jotkut alkuperäisen viestin, 1064 00:47:32,160 --> 00:47:34,490 osaksi Cypher tekstiä, joka on jotain salattu. 1065 00:47:34,490 --> 00:47:36,220 Ja sitten purkaa se uudelleen. 1066 00:47:36,220 --> 00:47:38,119 >> Vuonna hakkeri painos, Samaan aikaan, sinun on 1067 00:47:38,119 --> 00:47:40,660 tehtäväksi jotain vastaavaa hengessä, jossa annamme sinulle 1068 00:47:40,660 --> 00:47:44,610 tiedostosta, tyypillinen Linux, tai Mac tai Unix nimeltään Etsy 1069 00:47:44,610 --> 00:47:47,800 salasana, joka sisältää kokonaan nippu käyttäjätunnuksia ja salasanoja. 1070 00:47:47,800 --> 00:47:50,932 Ja ne salasanat ovat kaikki salattu, tai hajautettu, 1071 00:47:50,932 --> 00:47:53,140 niin sanotusti, oikeammin kuten näet spec. 1072 00:47:53,140 --> 00:47:57,090 >> Ja hakkeri painos haastaa sinulle kun tulon kuin tämä, 1073 00:47:57,090 --> 00:47:58,800 ja halkeilua salasana. 1074 00:47:58,800 --> 00:48:02,590 Eli mietitään, mitä Ihmisen salasana todellisuudessa oli. 1075 00:48:02,590 --> 00:48:05,570 Koska todellakin salasanat ovat yleensä ole tallennettu selvä, 1076 00:48:05,570 --> 00:48:08,260 ja yleensä salasanat pitäisi olla vaikea arvata. 1077 00:48:08,260 --> 00:48:09,610 Se ei ole usein. 1078 00:48:09,610 --> 00:48:12,110 >> Ja mitä minä ajattelimme tehdä on lopuksi pari minuuttia 1079 00:48:12,110 --> 00:48:15,160 vilkaista erityisen huono valinta salasanoja 1080 00:48:15,160 --> 00:48:17,260 alkaen elokuva saatat muistaa hellästi. 1081 00:48:17,260 --> 00:48:18,915 Ja jos ei, sinun pitäisi vuokrata. 1082 00:48:18,915 --> 00:48:20,070 >> [VIDEOTOISTOSTA] 1083 00:48:20,070 --> 00:48:22,320 >> -Helmet, Voit riiviö, mitä on tekeillä? 1084 00:48:22,320 --> 00:48:24,240 Mitä teet tyttärelleni? 1085 00:48:24,240 --> 00:48:28,010 >> -Permit Minun esitellä loistava nuori plastiikkakirurgi, 1086 00:48:28,010 --> 00:48:30,010 Tohtori Phillip Schlotkin. 1087 00:48:30,010 --> 00:48:35,020 Suurin nenä työtä mies Koko maailmankaikkeus ja Beverly Hills. 1088 00:48:35,020 --> 00:48:36,140 >> -Sinun Korkeutensa. 1089 00:48:36,140 --> 00:48:36,820 >> -nenä Työpaikka? 1090 00:48:36,820 --> 00:48:37,700 En ymmärrä. 1091 00:48:37,700 --> 00:48:39,070 Hän oli jo nenä työtä. 1092 00:48:39,070 --> 00:48:40,800 Se oli hänen makea 16 läsnä. 1093 00:48:40,800 --> 00:48:42,590 >> Ei, se ei ole mitä luulet. 1094 00:48:42,590 --> 00:48:44,490 Se on paljon, paljon pahempi. 1095 00:48:44,490 --> 00:48:48,160 Jos et anna minulle yhdistelmä ilmasuojaan, 1096 00:48:48,160 --> 00:48:52,748 Lääkäri Schlotkin antaa oman tytär takaisin hänen vanhan nenä. 1097 00:48:52,748 --> 00:48:53,748 - [Henkäisee] Nooooooooooooo. 1098 00:48:53,748 --> 00:48:57,684 1099 00:48:57,684 --> 00:48:59,652 Mistä sait sen? 1100 00:48:59,652 --> 00:49:00,640 >> -Hyvä. 1101 00:49:00,640 --> 00:49:02,506 Kerron, kerron. 1102 00:49:02,506 --> 00:49:03,498 >> Ei, isi, ei. 1103 00:49:03,498 --> 00:49:04,490 Et saa. 1104 00:49:04,490 --> 00:49:06,090 >> Olet oikeassa kultaseni. 1105 00:49:06,090 --> 00:49:07,390 Tulen kaipaamaan uusi nenä. 1106 00:49:07,390 --> 00:49:10,990 Mutta en kerro heille yhdistelmä mitä tahansa. 1107 00:49:10,990 --> 00:49:12,450 >> -Erittäin Hyvin. 1108 00:49:12,450 --> 00:49:14,830 Lääkäri Schlotkin, tee pahin. 1109 00:49:14,830 --> 00:49:15,744 >> -Ilomielin. 1110 00:49:15,744 --> 00:49:19,860 1111 00:49:19,860 --> 00:49:20,800 >> -EI! 1112 00:49:20,800 --> 00:49:22,780 Odota, odota. 1113 00:49:22,780 --> 00:49:24,000 Kerron. 1114 00:49:24,000 --> 00:49:25,830 Kerron. 1115 00:49:25,830 --> 00:49:28,270 >> -I Tiesi, että se toimisi. 1116 00:49:28,270 --> 00:49:31,390 Okei, anna se minulle. 1117 00:49:31,390 --> 00:49:36,220 >> P yhdistelmä on yksi. 1118 00:49:36,220 --> 00:49:36,740 >> Oni. 1119 00:49:36,740 --> 00:49:37,473 >> Oni. 1120 00:49:37,473 --> 00:49:37,972 Kaksi. 1121 00:49:37,972 --> 00:49:38,471 Kaksi. 1122 00:49:38,471 --> 00:49:39,800 Kaksi. 1123 00:49:39,800 --> 00:49:40,300 Kolme. 1124 00:49:40,300 --> 00:49:40,800 Kolme. 1125 00:49:40,800 --> 00:49:41,800 Kolme. 1126 00:49:41,800 --> 00:49:42,300 -Neljä. 1127 00:49:42,300 --> 00:49:42,800 -Neljä. 1128 00:49:42,800 --> 00:49:44,707 -Neljä. 1129 00:49:44,707 --> 00:49:45,521 Viisi. 1130 00:49:45,521 --> 00:49:46,430 Viisi. 1131 00:49:46,430 --> 00:49:47,930 Viisi. 1132 00:49:47,930 --> 00:49:53,480 -Joten Yhdistelmä on yksi, kaksi, kolme, neljä, viisi. 1133 00:49:53,480 --> 00:49:56,140 Se on typerin yhdistelmä En koskaan kuullut elämässäni. 1134 00:49:56,140 --> 00:49:58,640 Se on sellainen asia idiootti olisi hänen matkatavaroita. 1135 00:49:58,640 --> 00:50:00,000 >> Kiitos, teidän korkeutenne. 1136 00:50:00,000 --> 00:50:01,340 >> [KAUKO CLICKS] 1137 00:50:01,340 --> 00:50:02,450 >> Mitä teit? 1138 00:50:02,450 --> 00:50:03,800 >> -I Kääntyi pois seinästä. 1139 00:50:03,800 --> 00:50:05,010 >> Ei, et, voit sammutetaan koko elokuvan. 1140 00:50:05,010 --> 00:50:06,220 >> -I Varmaan painanut väärää nappia. 1141 00:50:06,220 --> 00:50:07,064 >> -No, Laita se takaisin! 1142 00:50:07,064 --> 00:50:07,910 Laittaa elokuva takaisin! 1143 00:50:07,910 --> 00:50:08,300 >> Kyllä, sir! 1144 00:50:08,300 --> 00:50:08,799 Kyllä, sir. 1145 00:50:08,799 --> 00:50:09,660 Mennään, Arnold. 1146 00:50:09,660 --> 00:50:10,450 Tule, Gretchen. 1147 00:50:10,450 --> 00:50:12,533 Tietenkin tiedät Tulen täytyy laskuttaa sinua tästä. 1148 00:50:12,533 --> 00:50:16,720 1149 00:50:16,720 --> 00:50:17,220 -No? 1150 00:50:17,220 --> 00:50:17,802 Toimiko se? 1151 00:50:17,802 --> 00:50:18,510 Missä kuningas? 1152 00:50:18,510 --> 00:50:20,218 >> -se Toimi, sir, me on yhdistelmä. 1153 00:50:20,218 --> 00:50:20,740 -Great. 1154 00:50:20,740 --> 00:50:24,810 Nyt voimme ottaa viimeinenkin hengitys raitista ilmaa Planet druidi. 1155 00:50:24,810 --> 00:50:25,890 Mikä yhdistelmä? 1156 00:50:25,890 --> 00:50:28,155 >> Oni, kaksi, kolme, neljä, viisi. 1157 00:50:28,155 --> 00:50:29,890 >> Oni, kaksi, kolme, neljä, viisi? 1158 00:50:29,890 --> 00:50:30,390 Kyllä. 1159 00:50:30,390 --> 00:50:31,110 Tuo on mahtavaa. 1160 00:50:31,110 --> 00:50:34,550 Minulla sama yhdistelmä minun matkatavarat. 1161 00:50:34,550 --> 00:50:37,160 Valmista Spaceball 1 välitön poistuminen. 1162 00:50:37,160 --> 00:50:38,160 >> Kyllä, sir. 1163 00:50:38,160 --> 00:50:40,745 >> -Ja Vaihtaa yhdistelmä minun matkatavarat. 1164 00:50:40,745 --> 00:50:41,578 [Oven sulkeminen SOUND] 1165 00:50:41,578 --> 00:50:42,064 [Kilinä OVET OSUU HELMET] 1166 00:50:42,064 --> 00:50:42,550 -Ahh. 1167 00:50:42,550 --> 00:50:43,383 [END VIDEOTOISTOSTA] 1168 00:50:43,383 --> 00:50:46,700 DAVID J. MALAN: Se on se CS50, Nähdään ensi viikolla. 1169 00:50:46,700 --> 00:50:49,883 Kertoja: Ja nyt, Deep Ajatuksia, joita Daven Farnham. 1170 00:50:49,883 --> 00:50:53,160 1171 00:50:53,160 --> 00:50:55,860 >> Daven FARNHAM: Koodaus C on niin paljon vaikeampaa kuin tyhjästä. 1172 00:50:55,860 --> 00:50:57,320 printf, Scratch oli valhe. 1173 00:50:57,320 --> 00:50:59,930 1174 00:50:59,930 --> 00:51:01,430 >> [Naurua iskulauseestaan] 1175 00:51:01,430 --> 00:51:02,486