1 00:00:00,000 --> 00:00:01,500 >> [Zenelejátszás] 2 00:00:01,500 --> 00:00:11,000 3 00:00:11,000 --> 00:00:16,110 >> DAVID MALAN: Rendben, ez CS50 és ez a hét végén egy. 4 00:00:16,110 --> 00:00:20,760 Szóval szeretném bemutatni a korábbi advisee, Andel Duff, aki nem csak teszi 5 00:00:20,760 --> 00:00:25,460 iPhone 5 áll, valamint ez szónoki emelvény, ő is tesz autók. 6 00:00:25,460 --> 00:00:27,927 7 00:00:27,927 --> 00:00:29,510 ANSEL DUFF: Hogy megy, mindenki? 8 00:00:29,510 --> 00:00:31,980 Csak azt akarom mondani, egy kis kicsit a Formula SAE, amelynek én 9 00:00:31,980 --> 00:00:32,604 vagyok a kapitány. 10 00:00:32,604 --> 00:00:33,437 Ez egy MIT csapat. 11 00:00:33,437 --> 00:00:35,520 Csak azt akarom mondani, srácok egy kicsit róla 12 00:00:35,520 --> 00:00:37,520 és remélhetőleg generál némi érdeklődést. 13 00:00:37,520 --> 00:00:41,590 >> Engedjék meg, hogy fut át ​​a pár dolog a mi csapatunk. 14 00:00:41,590 --> 00:00:43,640 Így vagyunk teljesen diák fut, ahol az összes 15 00:00:43,640 --> 00:00:47,300 A tagok tervezés, szimulálni, teszt, és a gyártó a alrendszer 16 00:00:47,300 --> 00:00:48,090 az autó. 17 00:00:48,090 --> 00:00:51,240 Megvan a saját gépterem és garázsok, és N52-- vagy sajnálom, 18 00:00:51,240 --> 00:00:54,140 N51-- amely ugyanabban az épületben mint a MIT Science Museum. 19 00:00:54,140 --> 00:00:55,990 És mi vagyunk a nép hogy vezetni az autót. 20 00:00:55,990 --> 00:00:58,340 Van egy országos verseny A nyár elején, 21 00:00:58,340 --> 00:01:01,215 és akkor ott vannak a kisebb lövöldözés versenyek egész évben. 22 00:01:01,215 --> 00:01:04,400 És akkor mi járművezető-képzés nap, hogy új tagokat megismerni. 23 00:01:04,400 --> 00:01:08,280 >> A beépített napok vannak Szombaton 11:00-20:00. 24 00:01:08,280 --> 00:01:11,060 Ebéd és vacsora vigyáz a, a Bertucci és a Beantown 25 00:01:11,060 --> 00:01:12,130 ill. 26 00:01:12,130 --> 00:01:15,260 Van egy heti ülésén és szeminárium, ami a tanfolyam hitel. 27 00:01:15,260 --> 00:01:18,560 Ami új, mint az ebben a félévben, és ez is a következő félévben, 28 00:01:18,560 --> 00:01:19,940 így át-reg erre. 29 00:01:19,940 --> 00:01:22,960 És akkor mi van tervezés, üzlet, és CAD napot a hét folyamán, 30 00:01:22,960 --> 00:01:26,870 míg a tagok önállóan CAD alkatrészek, rendelés állomány satöbbi. 31 00:01:26,870 --> 00:01:29,200 >> Így az elektromos mérnöki csapat 32 00:01:29,200 --> 00:01:31,110 Megvan a vontató, nagyfeszültségű rendszer, 33 00:01:31,110 --> 00:01:33,390 azaz egy névleges 300 V, amely magában foglalja 34 00:01:33,390 --> 00:01:35,360 motorok, motor vezérlők, és akkumulátorokat. 35 00:01:35,360 --> 00:01:37,235 Akkor van egy kis feszültségű rendszer, azaz 36 00:01:37,235 --> 00:01:40,180 12 V, amely magában foglalja ellenőrzés, CAN állomásoknál, az agy 37 00:01:40,180 --> 00:01:41,570 doboz, és a műszerfal. 38 00:01:41,570 --> 00:01:43,890 Ami CS megy, mi Van weboldal karbantartás 39 00:01:43,890 --> 00:01:47,940 hogy mi kell tenni az események, tagság változások, az új képeket, és PR-anyagok. 40 00:01:47,940 --> 00:01:51,540 És akkor mi van kód, amely szabályozza a autó a kipörgésgátló, dob 41 00:01:51,540 --> 00:01:55,750 vezérlés, kötőjel vezérlés, nyomaték-, és regeneratív fékrendszerek, amely 42 00:01:55,750 --> 00:01:59,170 jellemzôen MATLAB, Simulink, és LabView. 43 00:01:59,170 --> 00:02:00,910 >> Mondjak el egy kicsit a kocsi. 44 00:02:00,910 --> 00:02:02,470 Szóval ez körülbelül 500 kiló. 45 00:02:02,470 --> 00:02:04,285 Ez a szabályok kizárólag a 85 kilowatt. 46 00:02:04,285 --> 00:02:08,310 Meg 2 EMRAX 207 motorok a vissza, egy-egy minden hátsó kereket. 47 00:02:08,310 --> 00:02:11,880 Ez rendelésre készült akkumulátor a Prizma A123 tok sejtek 48 00:02:11,880 --> 00:02:14,780 összesen 300 volt, és 5.6 kilowatt óra. 49 00:02:14,780 --> 00:02:17,950 És ez a közvetlen hajtás a 2,64-1 áttétel. 50 00:02:17,950 --> 00:02:20,970 Íme néhány kép is vette róla a verseny. 51 00:02:20,970 --> 00:02:25,820 Itt a vissza, orrkúp, és itt vannak a motorok, 52 00:02:25,820 --> 00:02:29,682 azok a nagy fekete lemezek alatt az et férfi manus. 53 00:02:29,682 --> 00:02:32,140 Itt egy dia hogy húztam a mi verseny rendszer. 54 00:02:32,140 --> 00:02:35,389 És ez még csak összehasonlítjuk az autó egy Néhány kereskedelmi forgalomban kapható autók, 55 00:02:35,389 --> 00:02:38,380 mint a KTM XBOW, Ariel Atom, és Caterha M 7-280. 56 00:02:38,380 --> 00:02:42,110 Ha még nem ismeri, ár, teljesítmény húzza súly, dollár lóerő, 57 00:02:42,110 --> 00:02:44,930 dollár nyomaték, és az autónk fúj őket a vízből. 58 00:02:44,930 --> 00:02:47,520 Ha bármilyen kérdése van, lejegyez az e-mail címre. 59 00:02:47,520 --> 00:02:50,800 Lő nekünk egy e-mailt a fsae@mit.edu. 60 00:02:50,800 --> 00:02:53,350 >> Boldogok vagyunk, hogy beszélni bármit, amit szeretne. 61 00:02:53,350 --> 00:02:55,600 Harvard diákok fajta A kisebbség a csapatban. 62 00:02:55,600 --> 00:02:58,350 Ha bármilyen kérdése van hogy tegye lő nekünk egy e-mailt, 63 00:02:58,350 --> 00:03:00,810 szívesen beszélnek, és én megyek hogy térjen vissza át David. 64 00:03:00,810 --> 00:03:01,550 Köszönöm. 65 00:03:01,550 --> 00:03:02,466 Nagyra értékelem, srácok. 66 00:03:02,466 --> 00:03:03,615 [Taps] 67 00:03:03,615 --> 00:03:07,080 68 00:03:07,080 --> 00:03:10,980 >> DAVID MALAN: Ansel töltötte a nyári dolgoznak velünk itt az egyetemen CS50 69 00:03:10,980 --> 00:03:11,480 ezen a nyáron. 70 00:03:11,480 --> 00:03:13,505 És amellett, hogy dolgozik dolgok, mint a bináris izzók, 71 00:03:13,505 --> 00:03:16,090 ő tényleg nagyon megnyitottuk eyes-- és bánya particular-- 72 00:03:16,090 --> 00:03:20,535 hogy mi is a kereszteződés nem a hardver és a szoftver is. 73 00:03:20,535 --> 00:03:23,410 Valójában egy csomó dolog, amit csak turnézott végig végső soron 74 00:03:23,410 --> 00:03:26,030 létrehozta az első szoftver, majd végül gyártott 75 00:03:26,030 --> 00:03:27,299 a valóságban a hardver. 76 00:03:27,299 --> 00:03:29,590 Tehát, ha érdekel feltárása, hogy a kereszteződés, 77 00:03:29,590 --> 00:03:31,430 talán vegye fel a csoport. 78 00:03:31,430 --> 00:03:34,140 >> Most Eközben azok, akik rajongói a technológia, 79 00:03:34,140 --> 00:03:36,140 és az Apple termékek Különösen tudják, hogy 80 00:03:36,140 --> 00:03:37,860 volt egy pár Közlemények tegnap. 81 00:03:37,860 --> 00:03:39,776 De azt hittük, azt mutatják, Ön az egyik, hogy jött ki 82 00:03:39,776 --> 00:03:43,590 Néhány nappal korábban, hogy a talán nem is láttam. 83 00:03:43,590 --> 00:03:46,150 >> JORGEN EGHAMMER: Tudod, egyszer egy kicsit valami 84 00:03:46,150 --> 00:03:49,540 jön, hogy a megváltoztatja az életünket. 85 00:03:49,540 --> 00:03:53,479 A készülék olyan egyszerű és intuitív használó úgy érzi, szinte családias. 86 00:03:53,479 --> 00:03:59,710 87 00:03:59,710 --> 00:04:04,138 Bemutatjuk 2015 Katalógus. 88 00:04:04,138 --> 00:04:10,420 Ez nem egy digitális könyv vagy egy e-book, ez egy könyv, könyv. 89 00:04:10,420 --> 00:04:14,440 >> Az első figyelemre méltó dolog nincs kábelek, még a tápkábelt. 90 00:04:14,440 --> 00:04:18,519 Az 2015 Katalógus jön teljesen fel van töltve, 91 00:04:18,519 --> 00:04:20,550 és az akkumulátor élettartama örök. 92 00:04:20,550 --> 00:04:27,300 A felület 7,5 8 hüvelyk, de bővíteni 15 8 hüvelyk. 93 00:04:27,300 --> 00:04:32,410 A navigáció alapja érintést technológia, akkor valóban úgy érzi. 94 00:04:32,410 --> 00:04:37,120 >> Content előre telepített keresztül 328 nagyfelbontású lapok 95 00:04:37,120 --> 00:04:40,180 inspiráló lakberendezési ötleteket. 96 00:04:40,180 --> 00:04:43,740 A böngészés megkezdése, Egyszerűen érintse meg és húzza. 97 00:04:43,740 --> 00:04:50,870 Jobbról balra előrelépni, balról jobbra mozog visszafelé. 98 00:04:50,870 --> 00:04:52,770 >> Vegyük észre, valami más? 99 00:04:52,770 --> 00:04:53,780 Ez így van. 100 00:04:53,780 --> 00:04:55,190 Nincs lag. 101 00:04:55,190 --> 00:04:58,400 Minden kristálytiszta oldal terhelések azonnal, 102 00:04:58,400 --> 00:05:00,586 nem számít, hogy milyen gyorsan fut. 103 00:05:00,586 --> 00:05:03,710 Ha azt szeretnénk, hogy egy gyors áttekintést, csak tartsa a tenyerében, 104 00:05:03,710 --> 00:05:06,816 és a csak a hüvelykujjával, sebesség böngészni a tartalmat. 105 00:05:06,816 --> 00:05:10,930 >> Ha találsz valamit, amit szeretnénk menteni később, akkor egyszerűen a Kedvencek közé,. 106 00:05:10,930 --> 00:05:17,620 És akkor is, ha az alkalmazás bezárása, könnyen megtalálja a könyvjelző újra. 107 00:05:17,620 --> 00:05:18,490 Csodálatos. 108 00:05:18,490 --> 00:05:20,434 >> [Nevetés] 109 00:05:20,434 --> 00:05:21,406 [Taps] 110 00:05:21,406 --> 00:05:26,760 111 00:05:26,760 --> 00:05:29,870 Annak érdekében, hogy elvezet minket A hét végén egy. 112 00:05:29,870 --> 00:05:31,760 Néhány Közlemények most. 113 00:05:31,760 --> 00:05:33,440 Tehát vágás már folyamatban van. 114 00:05:33,440 --> 00:05:36,860 Menj erre az URL itt valamikor mostantól péntek délben 115 00:05:36,860 --> 00:05:39,960 ténylegesen Jelölje meg, hogy közül a kevésbé kényelmes, több 116 00:05:39,960 --> 00:05:41,690 kényelmes, vagy valahol a kettő között. 117 00:05:41,690 --> 00:05:44,511 >> Ez tipikusan egyike azoknak dolog, amit csak úgy tudom. 118 00:05:44,511 --> 00:05:47,510 És valójában azok, akik kevésbé kényelmes talán tud annyit, 119 00:05:47,510 --> 00:05:49,634 Azoknak, akik több kényelmes tud annyit, 120 00:05:49,634 --> 00:05:54,960 és újra, ha nem egészen biztos abban, e kanalak esel bele te 121 00:05:54,960 --> 00:05:56,210 valószínűleg valahol a kettő között. 122 00:05:56,210 --> 00:05:59,810 De biztos lehetsz benne, akkor csere után egy pár hétig, ha kell. 123 00:05:59,810 --> 00:06:02,620 >> Eközben a jövő héten nem kezdjük szakasz önmagában 124 00:06:02,620 --> 00:06:04,760 de szuper szakaszok, ami nyitva állnak minden diák. 125 00:06:04,760 --> 00:06:08,220 Most vasárnap egy helyre jelentették be a tanfolyam honlapján 126 00:06:08,220 --> 00:06:10,190 mi lesz egy-egy a kevésbé kényelmes, 127 00:06:10,190 --> 00:06:12,470 valamint egy a azok sokkal kényelmesebb. 128 00:06:12,470 --> 00:06:15,460 És azok valahol a kettő között melyik az a két, 129 00:06:15,460 --> 00:06:17,360 vagy mindkettő, ha szeretne, ülni-be. 130 00:06:17,360 --> 00:06:19,630 És a hangsúly azon lesz végül a C, 131 00:06:19,630 --> 00:06:22,440 amely fogjuk folytatni a beszélgetés ma. 132 00:06:22,440 --> 00:06:25,070 >> Probléma A 0 közben is remélhetőleg a kezedben. 133 00:06:25,070 --> 00:06:27,500 Hivatalosan miatt holnap, Csütörtök délben. 134 00:06:27,500 --> 00:06:29,490 Kivéve, ha készpénzt egy a 5. késő nap, 135 00:06:29,490 --> 00:06:31,780 ami hozza Péntek délben. 136 00:06:31,780 --> 00:06:34,420 Probléma készlet 1 időközben lesz felkerül a kurzus honlapján. 137 00:06:34,420 --> 00:06:37,381 És ez lesz az első fosztogat, mint egy osztályt C. 138 00:06:37,381 --> 00:06:40,630 És ez a probléma beállított spec átvisz keresztül sok a mechanika, hogy mi 139 00:06:40,630 --> 00:06:43,960 elkezdtünk beszélni hétfőn, és mi is beszélünk ma. 140 00:06:43,960 --> 00:06:46,770 C, Linux, a CS50 készüléket, az összes, hogy 141 00:06:46,770 --> 00:06:48,990 várja Önt a specifikáció. 142 00:06:48,990 --> 00:06:52,840 >> Fogadóóra Közben folynak, az egyetemi étkezőben. 143 00:06:52,840 --> 00:06:56,240 Fej ezt az URL ide ütemezése a ma este és holnap, 144 00:06:56,240 --> 00:06:57,930 Ha szeretne részt venni. 145 00:06:57,930 --> 00:07:01,920 Kérdések közben, így lehetőségük kérdéseket feltenni 146 00:07:01,920 --> 00:07:05,860 aszinkron, 24/7, észre te nem korlátozódik a szakaszok és az irodai 147 00:07:05,860 --> 00:07:09,530 óra, de inkább ez az eszköz Itt CS50 vitatni az URL 148 00:07:09,530 --> 00:07:12,150 lesz a tanfolyam online faliújság szoftver, amelyen keresztül 149 00:07:12,150 --> 00:07:15,030 lehet kérdéseket feltenni a osztálytársai és munkatársai. 150 00:07:15,030 --> 00:07:18,492 Tehát ne feledje, hogy az erőforrás is. 151 00:07:18,492 --> 00:07:20,200 Közben a hagyomány kezdődik pénteken. 152 00:07:20,200 --> 00:07:23,200 Ahogy talán már megpillantotta a múlt szerdai teaser videó, 153 00:07:23,200 --> 00:07:25,510 van egy hagyomány a legtöbb minden pénteken a kifejezés 154 00:07:25,510 --> 00:07:28,750 figyelembe mintegy 50 diák és személyzet egy helyi étteremben az úgynevezett 155 00:07:28,750 --> 00:07:31,510 Fire and Ice, ahol vagyunk jellemzően csatlakozott néhány öregdiák 156 00:07:31,510 --> 00:07:33,850 vagy a barátok az ipar általánosan törekedni 157 00:07:33,850 --> 00:07:35,780 hogy egy nagy osztály érzi kisebb. 158 00:07:35,780 --> 00:07:37,560 Tehát ez egy teljesen hétköznapi ebéd. 159 00:07:37,560 --> 00:07:40,160 Egy csomó minket, a személyzet különösen fog játszani székfoglaló 160 00:07:40,160 --> 00:07:43,360 és beszélgetni a tanulókkal az 50, az élet külső 50, 161 00:07:43,360 --> 00:07:46,510 élet a jövőben, a valós világban, Arról beszélek, munkalehetőségek 162 00:07:46,510 --> 00:07:47,680 a barátokkal az iparban. 163 00:07:47,680 --> 00:07:51,110 >> Tehát, ha szeretne csatlakozni hozzánk ez péntek, fejét erre az URL itt. 164 00:07:51,110 --> 00:07:54,180 A hely korlátozott, de mi nem ezt visszatérően az egész távon. 165 00:07:54,180 --> 00:07:57,380 Fej ott cs50.harvard.edu/rsvp. 166 00:07:57,380 --> 00:07:59,380 És ha nem kap ebben az időben, ne aggódj. 167 00:07:59,380 --> 00:08:02,390 Mi megcsináljuk újra a következő hetekben is. 168 00:08:02,390 --> 00:08:05,434 >> Tehát ez a kép mi festett a múlt héten, 169 00:08:05,434 --> 00:08:07,350 és akkor már valószínűleg volt dabbling eddig. 170 00:08:07,350 --> 00:08:10,360 De próbáljuk csatlakoztassa most hogy mit fogunk csinálni ma 171 00:08:10,360 --> 00:08:11,440 kezdve. 172 00:08:11,440 --> 00:08:14,760 Kaphatok egy önkéntes? 173 00:08:14,760 --> 00:08:16,000 Rendben, vagy több. 174 00:08:16,000 --> 00:08:18,460 Na és itt a Végül a kék ing. 175 00:08:18,460 --> 00:08:20,329 Gyere fel, mi a neve? 176 00:08:20,329 --> 00:08:20,870 ALANA: Alana. 177 00:08:20,870 --> 00:08:21,661 DAVID MALAN: Alana. 178 00:08:21,661 --> 00:08:25,100 Tehát Alana, csak egy moment-- Örülök, hogy megismertelek te-- 179 00:08:25,100 --> 00:08:28,260 fog játszani A funkció itt. 180 00:08:28,260 --> 00:08:31,290 A lila blokk mi már nevezett eddig a funkciót. 181 00:08:31,290 --> 00:08:34,830 Szóval, mit fogok menni előre itt és felajánlja Alana 182 00:08:34,830 --> 00:08:38,380 egy kis névtáblát, hogy a világos, milyen szerepet játszunk. 183 00:08:38,380 --> 00:08:39,753 >> Szóval legyen az mondjuk blokk. 184 00:08:39,753 --> 00:08:41,419 Ha azt szeretné, hogy menjen előre, és tedd azt tovább. 185 00:08:41,419 --> 00:08:43,169 És fogunk tartani ezt a szuper egyszerű. 186 00:08:43,169 --> 00:08:46,180 Ha a cél a kéz egyszerűen Most, hogy végre az Alana, 187 00:08:46,180 --> 00:08:49,710 ez az úgynevezett mondjuk blokk, Itt van, hogyan fog működni. 188 00:08:49,710 --> 00:08:52,574 Én lesz-- nevezzük érv vagy paraméter, 189 00:08:52,574 --> 00:08:54,240 ez tényleg csak egy üres papírlapot. 190 00:08:54,240 --> 00:08:57,239 És ez a fehér, hogy milyen legyen emlékeztető A fehér doboz, amelybe 191 00:08:57,239 --> 00:08:58,080 lehet írni szavakkal. 192 00:08:58,080 --> 00:09:00,660 >> Közben megyek itt. 193 00:09:00,660 --> 00:09:06,560 Én megyek előre, és levelet H-E-L-L-O vessző világban. 194 00:09:06,560 --> 00:09:09,972 És most én, mint mondjuk a programozó, nem tényleg tudja, hogyan kell mondani valamit. 195 00:09:09,972 --> 00:09:12,180 Én is felér a szavakkal, de én nem feltétlenül 196 00:09:12,180 --> 00:09:15,220 tudja, hogyan kell kifejezni magam szóban vagy a képernyőn. 197 00:09:15,220 --> 00:09:17,280 És mit fogok tennie, hogy ez a darab 198 00:09:17,280 --> 00:09:21,157 funkcionalitás, akinek input-- vagy érv, ahogy mi hívjuk, 199 00:09:21,157 --> 00:09:23,990 Én írtam ezt a darabot paper-- és megyek, hogy kiszervezi azt. 200 00:09:23,990 --> 00:09:26,831 >> És valóban, ez a szerep az funkciók egy programozási nyelv 201 00:09:26,831 --> 00:09:27,330 játszhat. 202 00:09:27,330 --> 00:09:29,246 Olyasmi, mint a mondjuk blokk lehet kiszervezni 203 00:09:29,246 --> 00:09:32,074 valakinek, aki igazán tudja amit ő vagy ő beszél. 204 00:09:32,074 --> 00:09:33,990 Tehát, ha lesz átlépni itt egy pillanatra, 205 00:09:33,990 --> 00:09:40,092 Én megyek, hogy adja át ezt a bemenetet Alana, és kérjük, hogy azt mondják, ez a bemenet. 206 00:09:40,092 --> 00:09:41,202 >> ALANA: Helló, világ. 207 00:09:41,202 --> 00:09:42,160 DAVID MALAN: Ennyi. 208 00:09:42,160 --> 00:09:43,326 Tehát, hogy van egy funkció. 209 00:09:43,326 --> 00:09:46,556 Most, hogy egy kicsit több, tudunk előre lépni itt. 210 00:09:46,556 --> 00:09:48,180 Mert ez egyértelműen underwhelming. 211 00:09:48,180 --> 00:09:51,670 Szóval most már meg, hogy ez egy kicsit bonyolultabb. 212 00:09:51,670 --> 00:09:53,630 >> Így ez természetesen a mi C verzió. 213 00:09:53,630 --> 00:09:56,760 Tehát most, ha azt szeretné, hogy az egyszeri, azt a névtáblát ki, 214 00:09:56,760 --> 00:09:58,530 és vessünk teszel egy új nevet. 215 00:09:58,530 --> 00:10:00,850 De alapvetően te játszani ugyanazt a szerepet, 216 00:10:00,850 --> 00:10:03,400 ez csak azért történik, hogy hívják printf most. 217 00:10:03,400 --> 00:10:06,930 >> A történet, természetesen, fog be-- valószínűleg 218 00:10:06,930 --> 00:10:09,317 mint underwhelming-- az lesz a következő. 219 00:10:09,317 --> 00:10:10,650 Ön most a funkció printf. 220 00:10:10,650 --> 00:10:13,300 Én vagyok a hívó, vagy a programozó, aki akar 221 00:10:13,300 --> 00:10:15,745 állni a vállán emberek a múltban, mint te, 222 00:10:15,745 --> 00:10:18,670 akik már rájöttek, hogyan hogy ténylegesen írjon valamit le. 223 00:10:18,670 --> 00:10:20,650 És így ebben az időben, ahelyett, hogy azt mondják, hogy menjünk 224 00:10:20,650 --> 00:10:22,255 ténylegesen használni a képernyő itt. 225 00:10:22,255 --> 00:10:24,130 Tehát, ha szeretné, hogy fokozzák itt, én megyek 226 00:10:24,130 --> 00:10:27,196 át újra ezt bemenet a printf barátom. 227 00:10:27,196 --> 00:10:29,320 Ha tudnál menni előre, és nyomtatni, hogy a képernyőn, 228 00:10:29,320 --> 00:10:31,611 egyszerűen rajz a ujját a fekete képernyő. 229 00:10:31,611 --> 00:10:43,680 230 00:10:43,680 --> 00:10:44,180 Kiváló. 231 00:10:44,180 --> 00:10:47,350 Rendben, tehát rengeteg feszültséget a hogy hogyan fog játszani ki. 232 00:10:47,350 --> 00:10:51,390 >> Így most nézzük a dolgokat egy végső remek, ha tudnánk, az alábbiak szerint. 233 00:10:51,390 --> 00:10:53,980 Tehát ez egy C program ahogy a múlt alkalommal. 234 00:10:53,980 --> 00:10:57,460 És ez csak azt teszi, amit tettél, azt kiírja a képernyőre, helló, világ. 235 00:10:57,460 --> 00:11:00,290 Annak ellenére, hogy ez egyértelműen a sok zavaró dolog ott. 236 00:11:00,290 --> 00:11:03,630 De nézzük a dolgokat egy remek, és bevezetése ez a verzió, ami emlékeztetnek 237 00:11:03,630 --> 00:11:06,160 volt a harmadik változat, mi végül az utóbbi időben. 238 00:11:06,160 --> 00:11:09,120 >> És most már világosan két felhasználási printf. 239 00:11:09,120 --> 00:11:12,280 Van 2 hívás Alana Ebben az esetben a printf, 240 00:11:12,280 --> 00:11:14,740 de van még egy hívás másik funkció. 241 00:11:14,740 --> 00:11:17,150 Mi ez a funkció jól? 242 00:11:17,150 --> 00:11:17,650 GetString. 243 00:11:17,650 --> 00:11:18,980 >> Kaphatunk még egy önkéntes? 244 00:11:18,980 --> 00:11:20,980 OK, gyere fel. 245 00:11:20,980 --> 00:11:21,805 Mi a neve? 246 00:11:21,805 --> 00:11:22,990 >> Javier: Javier. 247 00:11:22,990 --> 00:11:24,750 >> DAVID MALAN: Javier, gyere fel. 248 00:11:24,750 --> 00:11:27,270 Így Javier szerepe van ez a darab papír. 249 00:11:27,270 --> 00:11:28,860 Melyik fogom hívni általánosságban s. 250 00:11:28,860 --> 00:11:32,250 Most ez a változó, akkor string típusú, mint hallgatólagos 251 00:11:32,250 --> 00:11:34,290 az, hogy a második sor közepén van. 252 00:11:34,290 --> 00:11:36,540 És szeretném, ha menni nekem egy húr. 253 00:11:36,540 --> 00:11:40,120 Konkrétan fejjel lefelé a zenekar részt, és értem a nevét valakinek, 254 00:11:40,120 --> 00:11:43,142 és jöjjön vissza egy változó tartalmazó értéket. 255 00:11:43,142 --> 00:11:44,225 Ez lehet mindenki szeretne. 256 00:11:44,225 --> 00:11:47,590 257 00:11:47,590 --> 00:11:48,520 >> Itt vagyunk. 258 00:11:48,520 --> 00:11:53,620 259 00:11:53,620 --> 00:11:55,960 Rendben, Javier leírom a nevét. 260 00:11:55,960 --> 00:12:02,210 261 00:12:02,210 --> 00:12:03,280 Rendben. 262 00:12:03,280 --> 00:12:05,740 Mindannyian Valószínűleg hiszem, hogy ez fog játszani ki. 263 00:12:05,740 --> 00:12:07,489 Mi talán belaboring a lényeg, hogy mi 264 00:12:07,489 --> 00:12:10,320 A funkció csinál, de Ennek ellenére nagyon szépen köszönöm. 265 00:12:10,320 --> 00:12:13,890 >> Így Javier visszatért ez a sztring itt, ami nem egészen értem, 266 00:12:13,890 --> 00:12:15,800 Jonathan a húr hogy mi ütött. 267 00:12:15,800 --> 00:12:18,330 Akkor most mi vagyok valóban megy hogy az Alana bár 268 00:12:18,330 --> 00:12:20,150 valami egy kicsit más. 269 00:12:20,150 --> 00:12:23,800 Mert ebben a verzióban a program első ott a nevét. 270 00:12:23,800 --> 00:12:26,160 Tehát az első érv Azt kell, hogy Alana 271 00:12:26,160 --> 00:12:33,030 A lesz szó szerint a nevét. 272 00:12:33,030 --> 00:12:35,280 Rendben, akkor egyszerű Szeretném átadni ezt neked. 273 00:12:35,280 --> 00:12:36,730 És ahogy írom fel a következő érv, ha 274 00:12:36,730 --> 00:12:39,230 akarok menni előre, és írom ezt a a táblán, menjünk előre 275 00:12:39,230 --> 00:12:42,659 és nem az utolsó példa itt, hogy világos, mi végül kell történnie. 276 00:12:42,659 --> 00:12:44,450 Így a nevét, írja meg teteje felé 277 00:12:44,450 --> 00:12:47,220 ha nem baj, csak azért, hogy van egy hely a második sorban. 278 00:12:47,220 --> 00:12:52,890 Mert az utolsó dolog, megyek hogy most az Ön számára nem egy, 279 00:12:52,890 --> 00:12:57,220 de két darab papír. 280 00:12:57,220 --> 00:12:58,074 >> Rendben. 281 00:12:58,074 --> 00:13:01,920 H-E-L-L-O vessző, majd egy üres sort. 282 00:13:01,920 --> 00:13:04,780 Szóval, mit fogok átadni Alana most valami egy kicsit más. 283 00:13:04,780 --> 00:13:08,600 Nem csak ő kezd ezt, ahol töltse ki az üres képvisel 284 00:13:08,600 --> 00:13:12,050 hogy percent-- mi volt az helykitöltő, amit használ? 285 00:13:12,050 --> 00:13:13,890 Igen, százalék s. 286 00:13:13,890 --> 00:13:16,530 Közben megyek át őt egy másik érv, amely 287 00:13:16,530 --> 00:13:19,290 Pontosan ezt Javier kinyert Jonathan. 288 00:13:19,290 --> 00:13:20,534 >> Nos, hadd adjak két. 289 00:13:20,534 --> 00:13:22,575 Ha azt szeretné, hogy menjen előre és nyomtatási értelemben. 290 00:13:22,575 --> 00:13:25,660 291 00:13:25,660 --> 00:13:28,130 Mi végül történik most az, Alana újra 292 00:13:28,130 --> 00:13:29,410 játszik szerepet a printf. 293 00:13:29,410 --> 00:13:32,160 Javier játszott szerepét getString. 294 00:13:32,160 --> 00:13:34,700 Ahhoz, hogy lesz a emlék. 295 00:13:34,700 --> 00:13:39,910 És végül mi történik, annak ellenére, hogy ez hello-- aha megy előre, és vessző. 296 00:13:39,910 --> 00:13:41,410 ALANA: kaptam ezt még, vagy nem? 297 00:13:41,410 --> 00:13:43,451 DAVID MALAN: Igen, te kapott mindkettőt egyszerre. 298 00:13:43,451 --> 00:13:45,740 Tehát az ötlet az, hogy Most fordítsa oldalra 299 00:13:45,740 --> 00:13:50,000 kezelni, hogy a második a két bemenet. 300 00:13:50,000 --> 00:13:53,280 Tehát ez csak a kalapács haza a pont, míg Alana végrehajtott 301 00:13:53,280 --> 00:13:55,830 ez a zöld vonalat, majd Javier tette ezt nekünk 302 00:13:55,830 --> 00:13:57,820 és térjen vissza nekem valamit hívjuk s, de nem volt igazán 303 00:13:57,820 --> 00:13:59,520 csak azt a papírt a saját. 304 00:13:59,520 --> 00:14:02,320 És most Alana tette ezt a harmadik sorban. 305 00:14:02,320 --> 00:14:06,010 >> És bár mindez úgy néz ki, így hihetetlenül rejtélyes talán 306 00:14:06,010 --> 00:14:08,870 első pillantásra, ez tényleg olyan egyszerű, mint ezt. 307 00:14:08,870 --> 00:14:11,390 Átadás bemenet körül, egyre kimenet, vagy 308 00:14:11,390 --> 00:14:14,560 hogy fizikailag adta vissza valamit, vagy látta a mellékhatása, mint ez. 309 00:14:14,560 --> 00:14:17,170 Valami vizuálisan írva a képernyőn. 310 00:14:17,170 --> 00:14:19,990 Szóval, menjünk előre, és Köszönöm Alana és Javier, 311 00:14:19,990 --> 00:14:25,012 ki volt itt, a csatlakozik hozzánk itt. 312 00:14:25,012 --> 00:14:25,934 >> [Taps] 313 00:14:25,934 --> 00:14:29,360 314 00:14:29,360 --> 00:14:33,480 >> Tehát most vegyük biztosra, hogy milyen egyszerű minden, hogy lehet. 315 00:14:33,480 --> 00:14:36,775 És ne folytassa a tényleges tenni valamit a tényleges kódot. 316 00:14:36,775 --> 00:14:40,620 Így a képernyőn itt van egy screenshot Az úgynevezett CS50 készülék. 317 00:14:40,620 --> 00:14:43,980 És ha kellett az, mint a 02:00 szerda délután, 318 00:14:43,980 --> 00:14:46,602 magyarázni néhány barát mi a CS50 készülék, 319 00:14:46,602 --> 00:14:48,185 Hogyan határozná meg egy mondatban? 320 00:14:48,185 --> 00:14:52,160 321 00:14:52,160 --> 00:14:53,240 Bármely mondat? 322 00:14:53,240 --> 00:14:54,876 Igen? 323 00:14:54,876 --> 00:14:57,334 Diák: Ez olyan, mint egy programot , ami mindenki számítógép 324 00:14:57,334 --> 00:14:58,460 futni ugyanazon a rendszeren. 325 00:14:58,460 --> 00:14:59,210 DAVID MALAN: Jó! 326 00:14:59,210 --> 00:15:02,810 Ez egy program, amely lehetővé teszi, hogy mindenki számítógép futtatni ugyanazon a rendszeren. 327 00:15:02,810 --> 00:15:04,920 Ez a fajta a saját másolata működési 328 00:15:04,920 --> 00:15:07,540 rendszer, ami történik nevezhető Ubuntu Linux. 329 00:15:07,540 --> 00:15:11,070 És fut hatékonyan belsejében egy ablak a saját Mac vagy PC, 330 00:15:11,070 --> 00:15:15,080 annak érdekében, hogy ily módon jobb kívül a kapun 1. héten, itt mindenki az osztályban 331 00:15:15,080 --> 00:15:17,590 hozzáfér az azonos eszközöket, ugyanaz a konfiguráció, 332 00:15:17,590 --> 00:15:21,250 és nincs tanulási görbe speciális a Mac vagy PC, különösen. 333 00:15:21,250 --> 00:15:25,620 >> Most megnyílt, belsejében a CS50 berendezés hétfőn, a program itt. 334 00:15:25,620 --> 00:15:27,040 Előfordul, hogy hívják gedit. 335 00:15:27,040 --> 00:15:29,050 De ez tényleg csak grafikus szerkesztő. 336 00:15:29,050 --> 00:15:33,170 Ez olyasmi, mint a Jegyzettömb vagy szöveg Szerkeszteni Windows vagy Mac OS volt. 337 00:15:33,170 --> 00:15:36,720 És én azt javasolta, hogy valóban három fontos részből áll ez a képernyő. 338 00:15:36,720 --> 00:15:39,560 A felső oldala az, ahol írna a kódot. 339 00:15:39,560 --> 00:15:44,080 És ez az, ahol sok időt töltött a mi három példa a hétfői előadás. 340 00:15:44,080 --> 00:15:47,650 Az alsó hívtuk mi, ez a fekete ablak, igen? 341 00:15:47,650 --> 00:15:48,640 >> Diák: Compiler? 342 00:15:48,640 --> 00:15:51,500 >> DAVID MALAN: Compiler mi elérhető útján az ablak. 343 00:15:51,500 --> 00:15:53,040 De általában. 344 00:15:53,040 --> 00:15:54,540 Igen, ez csak egy terminál ablak. 345 00:15:54,540 --> 00:15:57,780 Ez egy olyan korban, régi kifejezés, hogy csak leírja lényegében egy villogó 346 00:15:57,780 --> 00:16:01,910 gyors, hogy évekkel ezelőtt szokott lenni a egyike azoknak a nagy CRT monitorok stílusban. 347 00:16:01,910 --> 00:16:04,300 De manapság ez a fajta virtuális szoftver. 348 00:16:04,300 --> 00:16:06,710 És a terminál ablak hadd mi vagyunk parancsokat. 349 00:16:06,710 --> 00:16:11,750 Ez a fajta az egyszerűsített verzió A felhasználói felület vagy UI. 350 00:16:11,750 --> 00:16:14,060 Ez nem egy grafikus felhasználói felület vagy grafikus felületen, 351 00:16:14,060 --> 00:16:17,250 ez egy szöveg-alapú felület vagy a parancssori felület. 352 00:16:17,250 --> 00:16:20,770 >> És valóban, ez az, ahol végül Tudtam, hogy írni egy kis kódot. 353 00:16:20,770 --> 00:16:24,200 Egyszer írtam egy kódot, bár, emlékeztetni arra, hogy használtam ezt a parancsot. 354 00:16:24,200 --> 00:16:26,210 És mivel ez a név fajta is mutatja, ez 355 00:16:26,210 --> 00:16:29,860 lehetővé teszi számomra, hogy a nevű program Helló. 356 00:16:29,860 --> 00:16:33,400 De mi is ez valójában csinál? 357 00:16:33,400 --> 00:16:36,180 Nos make szedett az bemenet, a forráskód, 358 00:16:36,180 --> 00:16:39,380 és átkonvertálja amit végül? 359 00:16:39,380 --> 00:16:40,060 >> Tárgykód. 360 00:16:40,060 --> 00:16:42,790 És tárgykód csak egy divatos szóval nullák. 361 00:16:42,790 --> 00:16:46,420 És akkor egyszer akartam futtatni az objektum kód, 362 00:16:46,420 --> 00:16:50,940 egyszer akartam át, mint input azok nullák be a számítógép 363 00:16:50,940 --> 00:16:54,430 agy, az úgynevezett CPU vagy a központi feldolgozó egység, 364 00:16:54,430 --> 00:16:55,730 Volt a program futtatásához. 365 00:16:55,730 --> 00:16:59,042 De ez nem volt elég egyszerű hétfőn mivel csak dupla kattintással egy kis ikonra. 366 00:16:59,042 --> 00:17:01,375 Mi ehelyett kellett nekem tenni annak érdekében, hogy futtatni a programot? 367 00:17:01,375 --> 00:17:04,130 368 00:17:04,130 --> 00:17:07,890 >> Mi volt ez a második parancs? 369 00:17:07,890 --> 00:17:09,619 Hallok egy kis perjeleket? 370 00:17:09,619 --> 00:17:10,544 Igen, igen? 371 00:17:10,544 --> 00:17:12,474 >> Diák: Dot perjel és a program nevét. 372 00:17:12,474 --> 00:17:13,349 DAVID MALAN: Pontosan. 373 00:17:13,349 --> 00:17:15,030 Dot perjel és a program nevét. 374 00:17:15,030 --> 00:17:16,210 Most mit jelent ez? 375 00:17:16,210 --> 00:17:19,470 Hát pont csak egy misztikus út mondván aktuális könyvtárban. 376 00:17:19,470 --> 00:17:23,440 Bármit mappában van az szerepelhet mint, képviseli a pont. 377 00:17:23,440 --> 00:17:26,680 A slash csak amit láttál A Mac OS és Windows évekig, 378 00:17:26,680 --> 00:17:30,329 ez egy elválasztó között a könyvtár vagy mappára, és a többi néhány név. 379 00:17:30,329 --> 00:17:32,620 Windows előfordul, hogy menjen visszafelé, a Linux és a Mac 380 00:17:32,620 --> 00:17:34,210 OS előfordul, hogy menjen előre. 381 00:17:34,210 --> 00:17:37,560 De ez csak az elválasztó, így csak egy érdektelen szintaktikai részleteket. 382 00:17:37,560 --> 00:17:40,440 >> A lédús része természetesen a program nevét, Helló. 383 00:17:40,440 --> 00:17:42,650 És ez az, amit teszik teremtett számunkra. 384 00:17:42,650 --> 00:17:44,910 Ez a kimeneten a fájl számunkra. 385 00:17:44,910 --> 00:17:46,700 De hogyan jutunk el, hogy a pont? 386 00:17:46,700 --> 00:17:48,870 Nézzük most kérje a kérdés, hogy mi volt igazán 387 00:17:48,870 --> 00:17:52,470 folyik itt, legalábbis tekintettel néhány ilyen szintaxis? 388 00:17:52,470 --> 00:17:57,000 >> Tehát egy mondatban, vagy úgy, hogyan magyarázzuk el 389 00:17:57,000 --> 00:17:59,020 az első sorban, hogy ez a zöld szín? 390 00:17:59,020 --> 00:18:02,998 Mi volt az első sorban vagy, tekintettel a programot? 391 00:18:02,998 --> 00:18:03,974 Igen? 392 00:18:03,974 --> 00:18:05,067 >> Diák: [nem hallható]. 393 00:18:05,067 --> 00:18:06,150 DAVID MALAN: Mondd még egyszer? 394 00:18:06,150 --> 00:18:08,734 Diák: Beleértve és letöltés múlt függvények [nem hallható]. 395 00:18:08,734 --> 00:18:09,483 DAVID MALAN: Jó. 396 00:18:09,483 --> 00:18:11,900 Beleértve, nem mondom, letöltését, de mondjuk 397 00:18:11,900 --> 00:18:15,500 ideértve a funkciókat, hogy az emberek írt a múltban. 398 00:18:15,500 --> 00:18:18,260 És ezeket a funkciókat hajtják végre valahol a gépemen. 399 00:18:18,260 --> 00:18:20,470 Valaki azt írta a fájl évvel ezelőtt, és a fájl 400 00:18:20,470 --> 00:18:23,490 valahol belül, a CS50 készülék, vagy a merevlemezre 401 00:18:23,490 --> 00:18:24,480 általában. 402 00:18:24,480 --> 00:18:27,810 És ez a sor lényegében azt mondja, keresd a fájl, standard I / O pont 403 00:18:27,810 --> 00:18:31,740 h, és másolja a tartalmát itt, a tetején a fájl 404 00:18:31,740 --> 00:18:33,860 így, hogy nem kell igen, hogy kézzel magam. 405 00:18:33,860 --> 00:18:40,970 >> És azok között a juiciest darabok belseje hogy a fájl amit szerintük mi a funkciója? 406 00:18:40,970 --> 00:18:45,740 Mi funkció nem mondunk nyilvánították vagy említett szokásos I / O pont h 407 00:18:45,740 --> 00:18:47,120 a legvalószínűbb? 408 00:18:47,120 --> 00:18:47,900 Printf, ugye? 409 00:18:47,900 --> 00:18:50,797 Nem írni printf on Hétfő, csak létezett. 410 00:18:50,797 --> 00:18:52,880 Csakúgy, mint Alana most jött a színpadra, és ő csak 411 00:18:52,880 --> 00:18:55,540 létezett, és tudta, hogyan kell felhívni valami a képernyőn, 412 00:18:55,540 --> 00:18:58,660 így nem printf létezik sok éven át. 413 00:18:58,660 --> 00:19:00,240 És ez az, hogy hogyan fér hozzá. 414 00:19:00,240 --> 00:19:03,280 Most, ha pedig itt, fő volt, hasonló van 415 00:19:03,280 --> 00:19:06,620 azt mondta, hogy a puzzle-darabot hívott, amikor a zöld zászló csattant 416 00:19:06,620 --> 00:19:07,620 a világon a Scratch. 417 00:19:07,620 --> 00:19:10,130 Ez csak egyfajta, a alapértelmezett nevet, hogy az emberek 418 00:19:10,130 --> 00:19:13,340 határozott lenne a alapértelmezett belépési pont a programot. 419 00:19:13,340 --> 00:19:16,540 A darab a programkód hogy lesz végre először. 420 00:19:16,540 --> 00:19:19,700 >> Közben ezek a kapcsos zárójelek olyan, mint az ívelt alak 421 00:19:19,700 --> 00:19:21,410 A sok a sárga karcolás darab. 422 00:19:21,410 --> 00:19:24,860 Ezek a fajta felölelik az egész csomó utasítások együtt. 423 00:19:24,860 --> 00:19:28,350 Tehát ez csak egyfajta köti össze néhány kapcsolódó funkciók. 424 00:19:28,350 --> 00:19:33,750 printf természetesen egy olyan funkció, amely kinyomtatja a képernyőn, ahogy meg is tettük. 425 00:19:33,750 --> 00:19:35,190 >> Mi ezekről a zárójel? 426 00:19:35,190 --> 00:19:38,770 Hogyan define-- Akkor is, ha soha programozott korábban, de csak alapul 427 00:19:38,770 --> 00:19:41,320 most egyre remélhetőleg intuíció, milyen 428 00:19:41,320 --> 00:19:43,290 a zárójelben tesz minket? 429 00:19:43,290 --> 00:19:45,450 Vagy mit is környező? 430 00:19:45,450 --> 00:19:46,360 Igen? 431 00:19:46,360 --> 00:19:49,360 >> Diák: Azt mondják, mi fogsz nyomtatni printf. 432 00:19:49,360 --> 00:19:52,401 >> DAVID MALAN: Igen, azt mondják, amit fogsz nyomtatni printf. 433 00:19:52,401 --> 00:19:56,260 Vagy általánosabban, ezek körül a bemenetek a funkciót. 434 00:19:56,260 --> 00:19:58,530 Így szinte gondol azok zárójelek 435 00:19:58,530 --> 00:20:01,620 mint például a fém clip ezen a vágólapra. 436 00:20:01,620 --> 00:20:05,940 Ez az, ami tartja, ez az, ami fogják használni, hogy érvekkel 437 00:20:05,940 --> 00:20:08,500 a funkciót, amely Ebben az esetben az úgynevezett printf. 438 00:20:08,500 --> 00:20:12,390 >> Tehát általában szinte minden alkalommal hívjuk a függvény, 439 00:20:12,390 --> 00:20:14,280 fogunk látni egy pár zárójel. 440 00:20:14,280 --> 00:20:17,000 Lehet, hogy valami benne, mint most, talán semmi benne. 441 00:20:17,000 --> 00:20:19,770 De ez az, ahol akkor tegye A bemenetek vagy úgynevezett érvek 442 00:20:19,770 --> 00:20:20,680 a funkció. 443 00:20:20,680 --> 00:20:22,470 >> Itt van egy ilyen érvelés. 444 00:20:22,470 --> 00:20:24,467 Már kiemelt mindent között az idézőjelek, 445 00:20:24,467 --> 00:20:26,300 mert kiderül, ezen a nyelven úgynevezett 446 00:20:26,300 --> 00:20:29,950 C, ha azt szeretné, hogy képviselje a string-- hogy egy szó vagy egy kifejezés 447 00:20:29,950 --> 00:20:33,470 vagy akár egy paragraph-- kell körülvevő dupla idézőjelek. 448 00:20:33,470 --> 00:20:35,420 Nem egyszeres idézőjelek, idézőjelek. 449 00:20:35,420 --> 00:20:37,460 És pontosan ez az, amit én csináltam itt. 450 00:20:37,460 --> 00:20:39,900 >> Közben van egy funky szimbólum a vége felé van. 451 00:20:39,900 --> 00:20:41,600 A backslash n. 452 00:20:41,600 --> 00:20:43,460 Mit is azt mondjuk, hogy képviselt? 453 00:20:43,460 --> 00:20:44,093 Igen? 454 00:20:44,093 --> 00:20:44,980 >> Diák: Egy új vonal. 455 00:20:44,980 --> 00:20:45,896 >> DAVID MALAN: Új vonal. 456 00:20:45,896 --> 00:20:47,910 Jobb, ha nem általában az Enter leütése amikor 457 00:20:47,910 --> 00:20:50,430 azt szeretné, hogy a program hogy kiköp egy új sort. 458 00:20:50,430 --> 00:20:54,210 Inkább mondd azt kifejezetten ezzel kétségkívül misztikus darab 459 00:20:54,210 --> 00:20:58,770 A szintaxis backslash n, hogy szeretne egy új sort, hogy menjen oda. 460 00:20:58,770 --> 00:20:59,810 Végül a pontosvessző. 461 00:20:59,810 --> 00:21:01,560 Nem igazán beszélni túl sokat erről, 462 00:21:01,560 --> 00:21:04,893 és messze ez lesz a csapás bizonyos a létezés az első probléma 463 00:21:04,893 --> 00:21:07,990 be, ha csak nem vette észre, elfelejtetted valamit hülye 464 00:21:07,990 --> 00:21:08,614 mint a pontosvessző. 465 00:21:08,614 --> 00:21:11,600 És általában megvalósítják azt nem lesz kijavítani ezt a problémát. 466 00:21:11,600 --> 00:21:13,511 De mit keres ez nekünk, mit mondana? 467 00:21:13,511 --> 00:21:15,670 >> Diák: [nem hallható]. 468 00:21:15,670 --> 00:21:17,484 >> DAVID MALAN: Tessék? 469 00:21:17,484 --> 00:21:18,532 >> Diák: [nem hallható]. 470 00:21:18,532 --> 00:21:19,990 DAVID MALAN: Befejező nyilatkozatot. 471 00:21:19,990 --> 00:21:22,770 Ez a fajta, mint az időszak a végén egy angol mondat, 472 00:21:22,770 --> 00:21:25,790 mivel az ezen a nyelven C ez véget egy nyilatkozatot. 473 00:21:25,790 --> 00:21:29,250 Az oktatás programozás kód, amit csak akar mondani, 474 00:21:29,250 --> 00:21:30,500 Végeztem ezzel. 475 00:21:30,500 --> 00:21:32,240 Most veszi észre, hogy ez az egyetlen itt. 476 00:21:32,240 --> 00:21:34,614 Szóval nem akarod, hogy a a szokás üzembe pontosvessző 477 00:21:34,614 --> 00:21:36,190 után minden zárt zárójel. 478 00:21:36,190 --> 00:21:38,610 Például ott sem mellett semmisnek, és mi 479 00:21:38,610 --> 00:21:40,430 jön vissza a jövőben milyen void eszközök. 480 00:21:40,430 --> 00:21:44,080 De ebben az esetben a printf egy funkció, vagy a nyilatkozatot használnak, 481 00:21:44,080 --> 00:21:47,420 és így azt akarjuk, hogy az végállomás a legvégén is. 482 00:21:47,420 --> 00:21:50,980 >> És én szándékosan szedés a C. és őszintén sok nyelvek, mint a C, C ++, 483 00:21:50,980 --> 00:21:55,000 Java, JavaScript, és tetszőleges számú más nyelveken is sok ilyen 484 00:21:55,000 --> 00:21:56,730 egyfajta szintaktikai részleteket. 485 00:21:56,730 --> 00:22:00,120 Ez minden bizonnyal, ha új programozás valóban utazás téged. 486 00:22:00,120 --> 00:22:02,307 És akkor, jegyezd meg szóval Néhányan közületek 487 00:22:02,307 --> 00:22:04,140 ezt az élményt a munkaidő vagy késő 488 00:22:04,140 --> 00:22:07,554 éjjel dolgozik néhány p-set, ahol az átkozott programot csak nem fordul le, 489 00:22:07,554 --> 00:22:09,470 nem fut, akkor fogalmam sincs, mi a baj, 490 00:22:09,470 --> 00:22:11,513 úgy tűnik, teljesen Logikailag helyes, az Ön számára. 491 00:22:11,513 --> 00:22:13,596 És ez azért van, mert elfelejtettem valami hasonló ütő 492 00:22:13,596 --> 00:22:15,250 pontosvessző végén néhány sor. 493 00:22:15,250 --> 00:22:17,590 >> De ezek a dolgok, te majd azonnal tanulni látni. 494 00:22:17,590 --> 00:22:20,048 És valóban, ezek azok a dolgok hogy a CA és a TF azon van 495 00:22:20,048 --> 00:22:23,210 már egyfajta képzett, hogy sokkal gyorsabban, mint te. 496 00:22:23,210 --> 00:22:26,610 És ez még csak azt, ahogy belevetik magukat probléma készlet 1, különösen, 497 00:22:26,610 --> 00:22:28,217 nem kap csalódott ez a cucc. 498 00:22:28,217 --> 00:22:30,050 Ha valami hozzászokik a világ, akkor 499 00:22:30,050 --> 00:22:35,130 kezdjük látni a dolgokat, hogy lehet, hogy nem első pillantásra az első héten. 500 00:22:35,130 --> 00:22:37,440 >> Tehát forráskód valami ilyesmi. 501 00:22:37,440 --> 00:22:40,370 Azt akarjuk, hogy adja át a az úgynevezett fordító. 502 00:22:40,370 --> 00:22:42,850 És hogy a fordító a azt mondtuk szolgáltatja a kimeneti 503 00:22:42,850 --> 00:22:45,660 úgynevezett tárgykód, a úgynevezett nullák és egyesek. 504 00:22:45,660 --> 00:22:47,747 De ott, mit ad nekünk? 505 00:22:47,747 --> 00:22:49,080 Hát ez ad nekünk ezeket a mintákat. 506 00:22:49,080 --> 00:22:52,020 És újra a számítógépet, az Intel belül, 507 00:22:52,020 --> 00:22:54,350 megérti ezeket a mintákat A nullák és egyesek. 508 00:22:54,350 --> 00:22:57,300 És néha a minta jelent tényleges decimális szám 509 00:22:57,300 --> 00:22:59,770 ahogy azt a múlt héten, néha ez jelenti a betű 510 00:22:59,770 --> 00:23:02,730 mint azt a múlt héten, néha képvisel utasítás, 511 00:23:02,730 --> 00:23:05,460 mint nyomtatás valamit a képernyőn. 512 00:23:05,460 --> 00:23:08,782 >> Tehát printf a instance-- hanem inkább, hadd visszatekerés. 513 00:23:08,782 --> 00:23:11,240 Már vesz biztosra hogy ezek a nullák és egyesek vannak 514 00:23:11,240 --> 00:23:14,200 által ezt a parancsot, hogy. 515 00:23:14,200 --> 00:23:16,050 De hogy az, nem a fordító. 516 00:23:16,050 --> 00:23:19,370 , Hogy ez nem az a dolog, a középső ez termeli a nullák és egyesek. 517 00:23:19,370 --> 00:23:23,780 Inkább, hogy csak egy nagyon kényelmesen nevű programot, amelynek a célja az életben 518 00:23:23,780 --> 00:23:27,267 lényegében, hogy kitaláljuk, hogyan kell összeállítani a programot. 519 00:23:27,267 --> 00:23:29,350 És használjuk azt az e első hetekben, mert csak 520 00:23:29,350 --> 00:23:30,910 ment meg minket a sok bajt. 521 00:23:30,910 --> 00:23:34,080 >> De mi teszi igazán Ennek amikor fordítod Helló, 522 00:23:34,080 --> 00:23:36,690 , ahogy azt mondta a múlt idő, ez keresi a merevlemezen 523 00:23:36,690 --> 00:23:40,620 vagy az aktuális mappában, a nevű fájlt, amit, úgy tűnik? 524 00:23:40,620 --> 00:23:41,815 Hello.c, ugye? 525 00:23:41,815 --> 00:23:43,190 Ez csak ilyen egyezmény. 526 00:23:43,190 --> 00:23:45,620 Ez önkényes, de hogy ez a dolgok rendje. 527 00:23:45,620 --> 00:23:48,620 , Hogy, ha csak adja meg a nevét Egy program, amely még nem létezik, 528 00:23:48,620 --> 00:23:52,200 ez meg fog keresni a forráskód a fájl alapértelmezés szerint azt hello.c. 529 00:23:52,200 --> 00:23:53,530 És ha nem találja, remek. 530 00:23:53,530 --> 00:23:56,650 Meg fog átalakítani, hogy a forrás kódot tárgykód az Ön számára. 531 00:23:56,650 --> 00:23:59,670 >> De minden alkalommal, amikor már megüt Enter futtatása után, hogy helló, 532 00:23:59,670 --> 00:24:03,560 Emlékszel látta utoljára a meglehetősen hosszú és rejtélyes sorozat 533 00:24:03,560 --> 00:24:06,430 A többi fehér betűkkel és karakterek a képernyőn? 534 00:24:06,430 --> 00:24:11,220 Hát ez volt a parancs, a tényleges fordítóprogram, futó. 535 00:24:11,220 --> 00:24:15,500 Így a tényleges fordító fogjuk használni a legtöbb a félévben úgynevezett csenget. 536 00:24:15,500 --> 00:24:19,280 Néhányan talán használt Visual Studio előtt, vagy GCC, 537 00:24:19,280 --> 00:24:21,340 vagy számos más fordítókat. 538 00:24:21,340 --> 00:24:22,620 Fogjuk használni csenget. 539 00:24:22,620 --> 00:24:26,950 >> És csengés lehetővé teszi számunkra, hogy valóban megtérít hogy forráskód tiltakozni kódot. 540 00:24:26,950 --> 00:24:29,430 Mit jelent ez valójában jelent a gyakorlatban? 541 00:24:29,430 --> 00:24:33,390 Hát hadd menjen be egy Saját mappák utoljára. 542 00:24:33,390 --> 00:24:35,760 Belül a CS50 készülék. 543 00:24:35,760 --> 00:24:42,080 És hadd menjen előre, és hozza létre ezt a ugyanazt a fájlt, tartalmazzák a standard I / O pont h. 544 00:24:42,080 --> 00:24:42,875 Int main semmis. 545 00:24:42,875 --> 00:24:46,000 És mi jön vissza a jövőben milyen int jelent és milyen semmis eszközök. 546 00:24:46,000 --> 00:24:49,130 De most tegyük hello world backslash n, 547 00:24:49,130 --> 00:24:50,500 ugyanúgy, mint mi a táblán. 548 00:24:50,500 --> 00:24:53,930 >> Hadd menteni a fájlt nevű hello.c. 549 00:24:53,930 --> 00:24:58,280 És most, ha akarom lefordítani ezt Én could-- hadd zoom in-- futás 550 00:24:58,280 --> 00:25:00,450 hogy helló be. 551 00:25:00,450 --> 00:25:02,645 És ez megint volt hogy nagyon rejtélyes sor. 552 00:25:02,645 --> 00:25:05,120 De most legalább egy szó valószínűleg kiugrik rád. 553 00:25:05,120 --> 00:25:07,087 Csenget, hogy sor láttunk korábban. 554 00:25:07,087 --> 00:25:10,420 Most van egy csomó más dolog őszintén hogy mi lesz hullám a kezét a mai. 555 00:25:10,420 --> 00:25:14,020 De van egy pár részhalmaza, néhány karakterek itt 556 00:25:14,020 --> 00:25:14,907 hogy érdekesek. 557 00:25:14,907 --> 00:25:16,490 De én megyek előre, és csinálni. 558 00:25:16,490 --> 00:25:18,281 Megyek első futás Helló, csak bizonyítani 559 00:25:18,281 --> 00:25:20,320 hogy ez működik, mert hétfő volt. 560 00:25:20,320 --> 00:25:22,330 De most megyek, hogy törölje a programot. 561 00:25:22,330 --> 00:25:25,870 És ugyanúgy, mint volt ezeket rövid neveket utoljára, 562 00:25:25,870 --> 00:25:29,787 A parancs eltávolítása valami rm, távolítsa adja. 563 00:25:29,787 --> 00:25:31,870 Fogsz egy kis meglehetősen rejtélyes kérdés. 564 00:25:31,870 --> 00:25:35,210 Nehéz elhinni, hogy tudod, hogy még ez a kérdés nehéz megérteni. 565 00:25:35,210 --> 00:25:38,100 De vegye szabályos fájl helló csak eszközök akarsz törölni helló. 566 00:25:38,100 --> 00:25:42,650 >> És lehet menni előre, és Y a igen, az Enter, és most elment. 567 00:25:42,650 --> 00:25:45,130 Mit jelent ez most, ha törölhetem a képernyőn, 568 00:25:45,130 --> 00:25:47,301 az, hogy ahelyett, hogy csinál, hogy hello-- Ön 569 00:25:47,301 --> 00:25:48,800 Tudod mit, kapok jó ebben. 570 00:25:48,800 --> 00:25:50,690 Megyek futni a fordító magam. 571 00:25:50,690 --> 00:25:53,330 Nem kell egy kis program kitalálni, hogy mi a fájl neve. 572 00:25:53,330 --> 00:25:55,370 Írtam hello.c, én tudja, mi a neve, 573 00:25:55,370 --> 00:25:57,640 Én egyértelműen képes gépelés. 574 00:25:57,640 --> 00:26:02,620 Szóval megyek előre és nem csenget hello.c Enter. 575 00:26:02,620 --> 00:26:03,264 >> Úgy tűnik, működik. 576 00:26:03,264 --> 00:26:05,930 És nincs további kimenet, mert csenget a fordító. 577 00:26:05,930 --> 00:26:08,590 Ez az, ami átalakítására forráskód nullák és egyesek. 578 00:26:08,590 --> 00:26:12,870 Tehát, ha én most nem pont perjel Helló Enter, hm. 579 00:26:12,870 --> 00:26:14,630 Új hibaüzenet ma. 580 00:26:14,630 --> 00:26:17,610 Így a bash csak a neve az villogó prompt hogy mi használ. 581 00:26:17,610 --> 00:26:20,360 Ez egy durva leegyszerűsítés, de most csak ez van, 582 00:26:20,360 --> 00:26:21,401 ez a villogó prompt. 583 00:26:21,401 --> 00:26:22,880 És ezért ez kiabál velünk. 584 00:26:22,880 --> 00:26:25,690 >> Nincs ilyen fájl vagy könyvtár egy kicsit egyszerűbb. 585 00:26:25,690 --> 00:26:28,190 De biztosan csináltam hogy tárgykód. 586 00:26:28,190 --> 00:26:30,930 De a fogás az, hogy ha írja be a parancsot 587 00:26:30,930 --> 00:26:34,650 felsorolni a tartalmát könyvtár, amely a mi? 588 00:26:34,650 --> 00:26:36,210 ls a lista. 589 00:26:36,210 --> 00:26:39,332 Van egy csomó dolog van itt, amelyek közül néhány jött a készülék, 590 00:26:39,332 --> 00:26:42,040 mint a Desktop mappa letöltések mappa, Dropbox mappában, és minden 591 00:26:42,040 --> 00:26:42,850 a cucc. 592 00:26:42,850 --> 00:26:45,410 De mi az érdekes az hello.c, ami 593 00:26:45,410 --> 00:26:47,286 Létrehoztam egy perce a gedit. 594 00:26:47,286 --> 00:26:49,160 És mi a legfurcsább keresett név itt, 595 00:26:49,160 --> 00:26:53,110 talán, hogy mi nem lásd az utolsó idő egyáltalán? 596 00:26:53,110 --> 00:26:54,710 >> a.out, ugye? 597 00:26:54,710 --> 00:26:56,920 Tehát vissza a nap, akkor csak úgy döntött, hogy ha 598 00:26:56,920 --> 00:26:58,760 egy programot fordítasz az első alkalommal, 599 00:26:58,760 --> 00:27:02,360 és nem adja meg a nevét Egy fájl, nevezzük a. 600 00:27:02,360 --> 00:27:05,800 És a.out csak azt jelenti, hogy ez a termelés a fordító. 601 00:27:05,800 --> 00:27:07,790 Szóval ez a szörnyű név egy programot. 602 00:27:07,790 --> 00:27:12,820 De a logika, az pont perjel a aktuális könyvtárban, perjel a.out, 603 00:27:12,820 --> 00:27:16,102 kell, hogy jelentsen van valójában my hello world programot. 604 00:27:16,102 --> 00:27:17,560 Most egy kis bemelegítés testmozgás is. 605 00:27:17,560 --> 00:27:20,420 Ha azt akarom, átnevezni ezt fájl, kiderül, hogy 606 00:27:20,420 --> 00:27:23,000 Fájl áthelyezése egy nevet a másik. 607 00:27:23,000 --> 00:27:28,750 Tehát mv a.out, aztán Nevezhetjük Helló Enter. 608 00:27:28,750 --> 00:27:30,940 Tehát ez egy Linux parancs. 609 00:27:30,940 --> 00:27:34,370 DOS volt ez évekkel ezelőtt, Windows egy terminál ablak 610 00:27:34,370 --> 00:27:36,460 valamilyen úgy néz ki, mint ez, a Linux és a Mac 611 00:27:36,460 --> 00:27:38,140 számítógépek ezt villogó prompt. 612 00:27:38,140 --> 00:27:41,490 Annak ellenére, hogy a legtöbben valószínűleg ritkán, ha egyáltalán, használja azt. 613 00:27:41,490 --> 00:27:44,590 >> De amit én csináltam fut a programot, a kinek neve mv, 614 00:27:44,590 --> 00:27:47,900 és én már feltéve, hogy a két érv, hogy úgy mondjam. 615 00:27:47,900 --> 00:27:48,630 Két bemenet. 616 00:27:48,630 --> 00:27:50,260 a.out az eredeti nevet. 617 00:27:50,260 --> 00:27:51,630 Helló az új nevet. 618 00:27:51,630 --> 00:27:55,670 Tehát, ha én most nem pont perjel Helló, Enter, ami létezik. 619 00:27:55,670 --> 00:28:00,770 És ha pont perjel a.out, mit vársz kéne látni? 620 00:28:00,770 --> 00:28:02,250 >> Bash, nincs ilyen fájl vagy könyvtár. 621 00:28:02,250 --> 00:28:03,350 Mert én csak átnevezte. 622 00:28:03,350 --> 00:28:04,975 Tehát ez tart egy kicsit szokni kell. 623 00:28:04,975 --> 00:28:06,977 De a probléma készlet 1 specifikáció valóban 624 00:28:06,977 --> 00:28:08,810 tartsa a kezét a néhány ilyen minutae. 625 00:28:08,810 --> 00:28:11,050 Mivel ez egy komplett szellemi kikapcsolódás 626 00:28:11,050 --> 00:28:12,966 Az sokkal érdekesebb ötletek kéznél, ami 627 00:28:12,966 --> 00:28:15,310 valójában létre valamit a kód. 628 00:28:15,310 --> 00:28:18,830 De tegyük egy módosítás Most ezt a programot. 629 00:28:18,830 --> 00:28:23,150 >> Emlékezzünk vissza, hogy utoljára csináltam valamit mint ez, printf a nevét. 630 00:28:23,150 --> 00:28:25,790 És valóban meg is tettük ezt a nagy képernyőn ott. 631 00:28:25,790 --> 00:28:30,640 És akkor én húr s lesz GetString nyitott zárójel, közel zárójel. 632 00:28:30,640 --> 00:28:33,430 És zárójel csak gyorsírás jelölés zárójel. 633 00:28:33,430 --> 00:28:36,460 Tehát nem getString vállal érveket? 634 00:28:36,460 --> 00:28:38,440 Nem bemenet nincs, de szüksége van a zárójel, 635 00:28:38,440 --> 00:28:41,830 mert ez az, ami elhatárolja a hívó függvény. 636 00:28:41,830 --> 00:28:46,440 >> Szóval megyek előre, és próbálja meg fut a fordító ezt a programot most. 637 00:28:46,440 --> 00:28:50,774 Csengés hello.c, mert én nem változtatta meg a nevét egyelőre. 638 00:28:50,774 --> 00:28:51,940 És van egy csomó hibát. 639 00:28:51,940 --> 00:28:53,570 Nézzük kicsinyítés itt. 640 00:28:53,570 --> 00:28:55,420 Ha felfelé újra, mint mondtam múltkor, 641 00:28:55,420 --> 00:28:58,420 az első, ugyanaz a hiba hogy kaptam utoljára. 642 00:28:58,420 --> 00:29:04,210 On line 6 hello.c volt egy be nem jelentett azonosító karakterlánc, 643 00:29:04,210 --> 00:29:05,590 nem értem szabvány? 644 00:29:05,590 --> 00:29:06,750 Én nem. 645 00:29:06,750 --> 00:29:10,050 Mert amit hiba folytán tettem ebben programot, ha előhívni utoljára? 646 00:29:10,050 --> 00:29:13,219 647 00:29:13,219 --> 00:29:15,010 Igen, szükségünk van a úgynevezett képzés kerekek 648 00:29:15,010 --> 00:29:16,510 hogy mi csak használ egy pár hétig. 649 00:29:16,510 --> 00:29:19,480 De azt kell, hogy meghatározza, hogy is, valahol a készülék belsejét, 650 00:29:19,480 --> 00:29:22,720 egy fájl, amit írtam néhány évvel ezelőtt. 651 00:29:22,720 --> 00:29:26,500 Amelyen belül a függvények mint látszólag getString. 652 00:29:26,500 --> 00:29:35,160 Tehát most, ha megyek vissza ide, nagyítás, és futtassa újra csenget hello.c. 653 00:29:35,160 --> 00:29:36,500 A fenébe, egy másik hiba. 654 00:29:36,500 --> 00:29:38,590 De még nem láttam ezt korábban. 655 00:29:38,590 --> 00:29:41,900 >> Ez az ember egy kicsit ezoterikus kitalálni. 656 00:29:41,900 --> 00:29:46,910 De ez szándékosan a képernyőn, mert azt akarta elmondani ezt a történetet. 657 00:29:46,910 --> 00:29:51,280 Amikor lefordítod hello.c, mint A kép előtti javasolta, 658 00:29:51,280 --> 00:29:54,650 te csak konvertáló hogy forráskód nullák és egyesek. 659 00:29:54,650 --> 00:30:00,340 Most CS50 személyzet néhány évvel ezelőtt írt CS50.h, és a megfelelő fájlt, 660 00:30:00,340 --> 00:30:01,640 CS50.c. 661 00:30:01,640 --> 00:30:04,490 És mi, a néhány évvel ezelőtt, össze ezeket a fájlokat 662 00:30:04,490 --> 00:30:07,290 egy fájlba, ami történik hogy hívják CS50.o. 663 00:30:07,290 --> 00:30:09,180 >> Vagy lehet átnevezni a néhány különböző dolog. 664 00:30:09,180 --> 00:30:11,054 De ez egy egyszerű módja A rágondolok. 665 00:30:11,054 --> 00:30:14,960 Tehát össze CS50 a könyvtár a nullák és egyesek. 666 00:30:14,960 --> 00:30:20,340 De sehol nem adtam meg hogy szeretnék kombinálni a nullák 667 00:30:20,340 --> 00:30:24,030 és azok az én Helló világ programot a nullák és egyesek 668 00:30:24,030 --> 00:30:29,760 hogy CS50 személyzet létrehozott egy néhány évvel ezelőtt egyetlen teljes program. 669 00:30:29,760 --> 00:30:34,100 Minden, amit megadott írás csengés hello.c is össze hello.c. 670 00:30:34,100 --> 00:30:38,380 >> Én nem mondtam, hogy csenget kapcsolat a nullák és egyesek 671 00:30:38,380 --> 00:30:41,650 hogy CS50 személyzet létrehozott Önnek néhány évvel ezelőtt. 672 00:30:41,650 --> 00:30:48,280 Szóval ez egy könnyű megoldás, kötőjel l linkre, CS50. 673 00:30:48,280 --> 00:30:52,600 És majd megint látni ezt nemsokára újra és újra. 674 00:30:52,600 --> 00:30:54,420 De észre most nem volt panasz. 675 00:30:54,420 --> 00:30:59,770 Tehát most ha futok pont perjel Helló, most már működik. 676 00:30:59,770 --> 00:31:03,840 Bár ez egy kicsit félrevezető mert én csak újra, milyen fájlt? 677 00:31:03,840 --> 00:31:05,880 a.out. 678 00:31:05,880 --> 00:31:07,930 >> Szóval hadd hátra egy pillanatra. 679 00:31:07,930 --> 00:31:10,900 A program már csak össze az a három sornyi kódot. 680 00:31:10,900 --> 00:31:14,710 Amikor futott hello world, Helló egy pillanatra ezelőtt, nem láttam a nevét. 681 00:31:14,710 --> 00:31:17,080 És ez azért van, mert én futottam a régi változat a program. 682 00:31:17,080 --> 00:31:22,700 De ha valóban futtatni pont perjel a.out Adja meg, adja meg a nevét, Rob, szia, 683 00:31:22,700 --> 00:31:23,370 világ. 684 00:31:23,370 --> 00:31:23,870 Hm. 685 00:31:23,870 --> 00:31:26,110 Ez egyfajta hiba. 686 00:31:26,110 --> 00:31:28,560 Valószínűleg akartam mondani Rob, nem igaz? 687 00:31:28,560 --> 00:31:30,997 Szóval mi a fix itt kódot. 688 00:31:30,997 --> 00:31:31,872 Diák: [nem hallható]. 689 00:31:31,872 --> 00:31:38,415 690 00:31:38,415 --> 00:31:39,290 DAVID MALAN: Pontosan. 691 00:31:39,290 --> 00:31:43,160 Szóval csak meg kell tenni, hogy a végső csípés úgy, hogy én vagyok elhaladó helyőrző, 692 00:31:43,160 --> 00:31:45,690 mint egy töltse ki az üres, mint tettük az imént. 693 00:31:45,690 --> 00:31:47,870 De százalék s most hogy töltse ki az üres. 694 00:31:47,870 --> 00:31:52,100 Így végül nézzük mutatják egy utolsó részletesen, hogy nincs varázslat. 695 00:31:52,100 --> 00:31:54,090 Én megyek előre és megszabadulni hellow. 696 00:31:54,090 --> 00:31:56,070 Én megyek előre és megszabadulni a.out. 697 00:31:56,070 --> 00:31:58,410 Tehát most nincs programok csak a forráskódot. 698 00:31:58,410 --> 00:32:01,100 És fogok futni a kissé hosszabb parancs, csengés 699 00:32:01,100 --> 00:32:05,650 kötőjel o szia hello.c kötőjel LCS50. 700 00:32:05,650 --> 00:32:08,700 >> Most ez kezd egyfajta megy az egyik fülét, és ki a másik talán. 701 00:32:08,700 --> 00:32:10,366 De csak ugratni eltekintve, hogy ez mit csinál. 702 00:32:10,366 --> 00:32:14,910 Csattanással a fordító, kötőjel LCS50 szándékosan a legvégén 703 00:32:14,910 --> 00:32:18,330 mit csinál egy mondatban? 704 00:32:18,330 --> 00:32:19,607 Linkek a CS50 könyvtár. 705 00:32:19,607 --> 00:32:21,440 Megragadja a nullák és is, hogy a stáb 706 00:32:21,440 --> 00:32:23,310 és crams őket a saját programja. 707 00:32:23,310 --> 00:32:27,040 Tehát az utolsó kérdés kéznél van, mi kötőjel o helló valószínűleg 708 00:32:27,040 --> 00:32:30,530 csinál, akkor is, ha soha nem látta ezt a szintaxis korábban? 709 00:32:30,530 --> 00:32:34,920 >> Kimenetre egy programot, ami nem elemzi az alapértelmezett a.out. 710 00:32:34,920 --> 00:32:37,330 Inkább ez nevű helló. 711 00:32:37,330 --> 00:32:39,460 Így most nincs a.out. 712 00:32:39,460 --> 00:32:42,660 Nincs ilyen fájl vagy könyvtár mert én kifejezetten mondtam 713 00:32:42,660 --> 00:32:46,720 hívja a program Helló, hogy Én most írja be a nevet, mint az 714 00:32:46,720 --> 00:32:47,790 és azt viselkedik. 715 00:32:47,790 --> 00:32:50,180 >> Most őszintén, fiú, hogy érdektelen, hogy a 716 00:32:50,180 --> 00:32:52,170 hogy emlékezzen az összes, hogy kis minutia, ugye? 717 00:32:52,170 --> 00:32:54,180 Szóval, menjünk előre, és megszabadulni Helló ismét. 718 00:32:54,180 --> 00:32:57,880 És nézzünk most vissza a világ ami elég annyit elmondani, hogy helló. 719 00:32:57,880 --> 00:33:00,410 De ez a varázslat, hogy hogy csinál az Ön számára, 720 00:33:00,410 --> 00:33:02,320 ez az unalom, hogy csinál neked. 721 00:33:02,320 --> 00:33:04,630 És mivel a programok és a problémák kap bonyolultabb, 722 00:33:04,630 --> 00:33:06,142 hogy valóban a barátod. 723 00:33:06,142 --> 00:33:07,850 Mert nem túl hosszú múlva megyünk 724 00:33:07,850 --> 00:33:11,150 hogy írt programok nem egy fájlt, de több kép, 725 00:33:11,150 --> 00:33:16,310 , és automatizálja a folyamatot összeállítása az összes, hogy nekünk együtt. 726 00:33:16,310 --> 00:33:20,620 >> Tehát most nyomtatni. 727 00:33:20,620 --> 00:33:24,960 printf belül ezt a fájlt, szabvány I / O pont h, hogy láttunk korábban, 728 00:33:24,960 --> 00:33:26,980 de van még printf ennél. 729 00:33:26,980 --> 00:33:30,482 Van backslash n, de van még egy csomó más escape szekvenciák. 730 00:33:30,482 --> 00:33:32,940 És escape szekvencia csak egy divatos módja mondván valami 731 00:33:32,940 --> 00:33:35,990 hogy kezdődik a backslash, nem egy perjel, a backslash, 732 00:33:35,990 --> 00:33:37,920 és nem valami különleges dolog. 733 00:33:37,920 --> 00:33:43,770 És mi nem lakik a legtöbb ilyen, de miért van backslash idézőjel, 734 00:33:43,770 --> 00:33:44,830 Mit gondolsz? 735 00:33:44,830 --> 00:33:48,010 Miért van ez a furcsa sorozat karakterek backslash idézőjel, 736 00:33:48,010 --> 00:33:50,505 Ezért lehet, hogy hasznos lehet? 737 00:33:50,505 --> 00:33:51,380 Diák: [nem hallható]. 738 00:33:51,380 --> 00:33:56,594 739 00:33:56,594 --> 00:33:57,760 DAVID MALAN: Pontosan, igaz? 740 00:33:57,760 --> 00:34:01,830 Gondolj vissza a hello world programot hogy láttunk jó néhány alkalommal már, 741 00:34:01,830 --> 00:34:05,880 Minden alkalommal, amikor láttam, hogy a hello world program keretében már volt dupla idézőjelek belül 742 00:34:05,880 --> 00:34:08,210 amelynek Helló vessző világ backslash n. 743 00:34:08,210 --> 00:34:10,070 De azt gondolja, Mi van, ha tényleg 744 00:34:10,070 --> 00:34:12,520 akarta, hogy nyomtassa ki a idézőjel? 745 00:34:12,520 --> 00:34:16,100 Az első ösztöne lehet, én nem tudom, miért érdemes csi itt, 746 00:34:16,100 --> 00:34:18,780 mi lehet egy kicsit passzív agresszív, hello friend. 747 00:34:18,780 --> 00:34:21,350 Azt érdemes ilyet. 748 00:34:21,350 --> 00:34:25,230 >> De miért van ez most problematikus? 749 00:34:25,230 --> 00:34:28,730 Figyelmen kívül hagyva a göndör idézőjelek félre, hogy vitaindító tett nekünk automatikusan. 750 00:34:28,730 --> 00:34:29,730 Miért van ez problematikus? 751 00:34:29,730 --> 00:34:36,719 752 00:34:36,719 --> 00:34:37,270 >> Pontosan. 753 00:34:37,270 --> 00:34:39,022 Mert van, mint a 4 idézőjel. 754 00:34:39,022 --> 00:34:41,230 Nos az első valószínűleg megy a második, 755 00:34:41,230 --> 00:34:43,271 és talán a negyedik megy a harmadik, 756 00:34:43,271 --> 00:34:46,170 vagy, mármint nem is vagyok biztos, sem a számítógép lesz. 757 00:34:46,170 --> 00:34:48,352 Számítógépek újra, fordítók újra, meglehetősen buta. 758 00:34:48,352 --> 00:34:50,060 Majd csak az, amit te mondd meg nekik, hogy nem. 759 00:34:50,060 --> 00:34:54,270 És ha nem egyértelmű, hogy valószínűleg meg is dobja a hibát. 760 00:34:54,270 --> 00:34:57,700 >> Ha nem egyértelmű, hogy hogyan kell hogy a mogyoróvajat és kocsonya szendvics 761 00:34:57,700 --> 00:34:59,510 furcsa dolgok érkeznek. 762 00:34:59,510 --> 00:35:00,580 Ez ugyanaz a gondolat. 763 00:35:00,580 --> 00:35:03,100 Most elég annyit mondani, ott van más escape szekvenciák, 764 00:35:03,100 --> 00:35:04,820 de majd jön, hogy ezeket nemsokára. 765 00:35:04,820 --> 00:35:07,410 Lényegében ezek az escape szekvenciákat jelentenek valamit 766 00:35:07,410 --> 00:35:10,480 hogy lehet, hogy nem képes túl könnyen, a billentyűzet, 767 00:35:10,480 --> 00:35:12,010 nélkül zavaró a számítógépet. 768 00:35:12,010 --> 00:35:15,733 >> Most Közben már helyőrzők a printf. 769 00:35:15,733 --> 00:35:19,630 Százalék d, ami szintén lehet írni szinte minden esetben százalékos I, 770 00:35:19,630 --> 00:35:21,610 helyőrzője milyen típusú adatokat? 771 00:35:21,610 --> 00:35:23,920 Milyen típusú érték? 772 00:35:23,920 --> 00:35:24,920 A decimális szám. 773 00:35:24,920 --> 00:35:27,234 Tehát tulajdonképpen kezdjük a százalék i, mert 774 00:35:27,234 --> 00:35:28,650 egy kicsit egyszerűbb, mint egy egész szám. 775 00:35:28,650 --> 00:35:29,550 Százalék i. 776 00:35:29,550 --> 00:35:31,320 Egy egész szám, amely történetesen tizedes. 777 00:35:31,320 --> 00:35:35,690 >> Százalék s már azt mondta, hogy helyőrző helyett egy húr. 778 00:35:35,690 --> 00:35:38,630 Ami csak egy szó, egy mondat, egy bekezdés, egy esszé, bármi. 779 00:35:38,630 --> 00:35:40,830 Ez egy sorozat karaktereiből hosszasan. 780 00:35:40,830 --> 00:35:42,820 És majd meglátjuk nemsokára Néhány ilyen mások. 781 00:35:42,820 --> 00:35:45,950 De százalék c egyetlen karakter. 782 00:35:45,950 --> 00:35:48,500 Százalék f egy lebegőpontos szám, 783 00:35:48,500 --> 00:35:50,860 mint egy valós szám, amely a tizedes pont benne, ami 784 00:35:50,860 --> 00:35:52,550 Természetesen nem egész szám. 785 00:35:52,550 --> 00:35:54,670 És van egy egész csomó más is. 786 00:35:54,670 --> 00:35:56,990 >> Eközben C, és a sok nyelven, 787 00:35:56,990 --> 00:35:58,650 vannak különböző adattípusok. 788 00:35:58,650 --> 00:36:00,650 Különböző típusú üveg tálak ha úgy tetszik. 789 00:36:00,650 --> 00:36:03,830 A tál használtam utoljára volt a ping-pong labda, 790 00:36:03,830 --> 00:36:06,990 de azt is tárolni különböző értékeket, mint a karakter és vonósok 791 00:36:06,990 --> 00:36:10,820 és egész egy tartályban, mint a változó, és C-nek ezeket. 792 00:36:10,820 --> 00:36:14,020 Char az adatok típusa, a változó típusa, 793 00:36:14,020 --> 00:36:15,700 amelyben tárolhat egy karaktert. 794 00:36:15,700 --> 00:36:19,560 Az úsztatott egy olyan típusú változó amelyben tárolhatja a valós szám. 795 00:36:19,560 --> 00:36:21,220 >> Int természetesen egy int. 796 00:36:21,220 --> 00:36:23,760 És inkább nevetségesen elemzi a hosszú, hosszú 797 00:36:23,760 --> 00:36:26,830 Itt lehet tárolni lényegében egy nagyon hosszú szám, és még 798 00:36:26,830 --> 00:36:29,930 több számjegy, akkor a tipikus int talán tárolni. 799 00:36:29,930 --> 00:36:32,420 De majd jön vissza, hogy nemsokára. 800 00:36:32,420 --> 00:36:35,520 >> A CS50 pont h közben a másik header file 801 00:36:35,520 --> 00:36:37,630 hogy láttunk pár szer használat, ott 802 00:36:37,630 --> 00:36:41,350 két további adattípusok nem léteznek C általában. 803 00:36:41,350 --> 00:36:45,000 Az egyik húr, és majd meglátjuk néhány héttel milyen húrok igazán 804 00:36:45,000 --> 00:36:46,610 van a motorháztető alatt. 805 00:36:46,610 --> 00:36:47,950 És az egyik bool. 806 00:36:47,950 --> 00:36:51,650 És egy bool változó, amely csak akkor tud bizonyos értékeket. 807 00:36:51,650 --> 00:36:54,370 És csak az elmúlt egy héten magyarázata Scratch, 808 00:36:54,370 --> 00:36:56,680 és újabban a C, mit kitalálni 809 00:36:56,680 --> 00:37:01,770 a két lehetséges értékei néhány konténer, amely a típus bool? 810 00:37:01,770 --> 00:37:02,860 >> Igen és nem. 811 00:37:02,860 --> 00:37:03,870 Egy és nulla. 812 00:37:03,870 --> 00:37:04,502 Igaz vagy hamis. 813 00:37:04,502 --> 00:37:07,460 És valóban ez az utolsó, hogy inkább hogy a hagyományos egy programozási 814 00:37:07,460 --> 00:37:10,030 nyelv, mond valamit mint igaz vagy hamis. 815 00:37:10,030 --> 00:37:13,160 >> Közben a CS50 könyvtár jön egy csomó funkció 816 00:37:13,160 --> 00:37:16,640 hogy a személyzet írt az Ön számára, mellett csak kapok egy húr. 817 00:37:16,640 --> 00:37:20,910 Írtunk előre funkciók kap egy egész szám a felhasználó, 818 00:37:20,910 --> 00:37:22,990 kap egy karaktert, kap egy úszó, amely 819 00:37:22,990 --> 00:37:25,160 csak egy szám a tizedes pont. 820 00:37:25,160 --> 00:37:28,290 Kap egy hosszú, hosszú, nagyon nagy értéket a felhasználó számára. 821 00:37:28,290 --> 00:37:30,930 Tehát még csak láttam ezt a cselekvés formájában getString. 822 00:37:30,930 --> 00:37:33,230 De át ezeket a funkciókat hamarosan képes írni 823 00:37:33,230 --> 00:37:36,070 programok kap a felhasználóhoz. 824 00:37:36,070 --> 00:37:39,230 >> Közben, hogy ezt programot, és úgy 825 00:37:39,230 --> 00:37:42,600 hogyan lehet most kezd hozzá hogy azt az új konstrukciókkal. 826 00:37:42,600 --> 00:37:44,530 A gyors forgószél túra és akkor majd nézni 827 00:37:44,530 --> 00:37:47,340 néhány írásban néhány programokat manuálisan magunkat. 828 00:37:47,340 --> 00:37:49,700 Ezentúl, ha azt akarjuk, hogy végre egy állapot, 829 00:37:49,700 --> 00:37:52,790 ez nem fog úgy kinézni, mint egy szép kis csinos puzzle-darabot. 830 00:37:52,790 --> 00:37:54,460 Úgy fog kinézni egy kicsit misztikus. 831 00:37:54,460 --> 00:37:57,620 De ez a kanonikus szerkezete olyan állapot, C. 832 00:37:57,620 --> 00:38:00,380 >> A szó, ha két zárójelben, amelyen belül 833 00:38:00,380 --> 00:38:02,590 lesz valami A logikai kifejezés. 834 00:38:02,590 --> 00:38:04,999 Most a perjel perjel a közepén, ez 835 00:38:04,999 --> 00:38:07,290 abban a pillanatban valami, mint pszeudokódja kód helyőrző. 836 00:38:07,290 --> 00:38:11,576 De még megfelelően, minden kódsor C kezdődő slash slash 837 00:38:11,576 --> 00:38:12,850 egy megjegyzés. 838 00:38:12,850 --> 00:38:15,920 >> Olyan, mint egy ragadós tudomásul, hogy talán fel egy esszét, nyomtatott papíron. 839 00:38:15,920 --> 00:38:17,290 Ez egy megjegyzés magadnak. 840 00:38:17,290 --> 00:38:20,100 Ez nem funkcionális hatással vannak a program. 841 00:38:20,100 --> 00:38:23,580 Ez egyfajta emlékeztető, hogy a saját dokumentációt, hogy mi folyik itt. 842 00:38:23,580 --> 00:38:25,720 Így ezt ebben a pillanatban egyfajta helykitöltő 843 00:38:25,720 --> 00:38:27,560 bármilyen bent azok kapcsos zárójelek 844 00:38:27,560 --> 00:38:29,810 végül fog csinálni valamit. 845 00:38:29,810 --> 00:38:35,160 >> Közben van két villa az út, egy ha más konstrukció, mint ez. 846 00:38:35,160 --> 00:38:37,024 Akkor ha, elseif, más. 847 00:38:37,024 --> 00:38:39,690 Most érdemes megjegyezni, különösen ha már Googling körül 848 00:38:39,690 --> 00:38:42,480 online források közül kíváncsiság, vagy ha felveszi 849 00:38:42,480 --> 00:38:44,575 az egyik tanfolyam Ajánlott könyvek C, 850 00:38:44,575 --> 00:38:48,430 látni fogja, hogy az emberek sok A különböző kedvezmények hogyan 851 00:38:48,430 --> 00:38:50,510 kifejezni magukat a kódot. 852 00:38:50,510 --> 00:38:53,800 Vannak, akik szeretnék tenni a kapcsos zárójelek ahogy én csináltam itt. 853 00:38:53,800 --> 00:38:57,760 Vannak, akik szeretnék tenni a göndör nadrágtartó például itt. 854 00:38:57,760 --> 00:39:01,700 >> Vannak, akik szeretnék tenni a másnak itt és akkor ez itt. 855 00:39:01,700 --> 00:39:05,120 Van számos módon, hogy kódot írni, és egyikük sem 856 00:39:05,120 --> 00:39:06,566 igaza van önmagában. 857 00:39:06,566 --> 00:39:08,440 Bár van egy pár hogy elég rossz. 858 00:39:08,440 --> 00:39:11,315 De vannak Nem-- ha ez végül egy nagyon vallásos vitát. 859 00:39:11,315 --> 00:39:13,940 Sőt, az egyik leginkább bosszantó dolog számítástechnika 860 00:39:13,940 --> 00:39:16,310 az, hogy nagyképű számítógépes szakemberek is. 861 00:39:16,310 --> 00:39:19,880 És meg fogja találni az idő, hogy még fejleszteni a személyes preferenciák 862 00:39:19,880 --> 00:39:22,130 , hogy milyen a kódot kell kinéznie. 863 00:39:22,130 --> 00:39:27,162 >> Nem csak viselkedik, nem csak létrehozni a kimeneti, de hogyan kell kinéznie esztétikailag. 864 00:39:27,162 --> 00:39:30,120 Szóval, mit fogunk csinálni a vezető végig az út felé, mert most legalább, 865 00:39:30,120 --> 00:39:34,825 szabvány CS50 stílus, hogy legalább tartja a dolgokat, egységes és könnyen olvasható. 866 00:39:34,825 --> 00:39:37,330 De még azokon a megkülönböztetések nemsokára. 867 00:39:37,330 --> 00:39:41,830 >> A logikai kifejezés a C, ha azt akartam mondani, ha ez a feltétel igaz 868 00:39:41,830 --> 00:39:44,650 és ez a másik feltétel Igaz, akkor nem írok a szót 869 00:39:44,650 --> 00:39:46,610 és, úgy, mint az angol. 870 00:39:46,610 --> 00:39:50,580 Akkor helyette a jel jel, okokból jövünk vissza. 871 00:39:50,580 --> 00:39:54,520 Ha azt akarom mondani, vagy használjon két függőleges rúd, amely egy amerikai billentyűzet 872 00:39:54,520 --> 00:39:57,650 általában felett az Enter kulcs mellett a fordított perjel. 873 00:39:57,650 --> 00:40:03,080 És ez csak azt jelenti, ha ez a feltétel vagy ez a másik feltétel igaz erre. 874 00:40:03,080 --> 00:40:05,210 >> Közben itt van ez a őrült dolog, ami 875 00:40:05,210 --> 00:40:07,760 akkor van alkalom használni, ha egyszer egy kicsit. 876 00:40:07,760 --> 00:40:10,390 De ez csak egy alternatíva módon kifejezni magát. 877 00:40:10,390 --> 00:40:12,400 Ez az, most, most kikötik, ez csak 878 00:40:12,400 --> 00:40:16,880 másik funky módon kifejezni ha elseif, elseif, elseif, elseif. 879 00:40:16,880 --> 00:40:19,720 Ez csak formázva szempontjából esetek, ahol a szó szoros értelmében 880 00:40:19,720 --> 00:40:23,420 számba az értékeket, amelyeket érdemes ellenőrizni. 881 00:40:23,420 --> 00:40:24,410 >> Közben hurkok. 882 00:40:24,410 --> 00:40:26,842 Láttunk összehasonlítása Scratch egy hurok. 883 00:40:26,842 --> 00:40:29,550 És fogok integetni a kezem mi minden ezeket a dolgokat jelent. 884 00:40:29,550 --> 00:40:33,520 Azonban jegyeznünk, hogy a hurok nagyon gyakran kezdődik a kulcsszót. 885 00:40:33,520 --> 00:40:36,350 Vagy elindul a kulcsszó közben. 886 00:40:36,350 --> 00:40:41,360 Vagy elindul a kulcsszó igen, és a végén a kulcsszó közben. 887 00:40:41,360 --> 00:40:43,920 >> De mi vagyunk a látni olyan dolgokat, mint ez. 888 00:40:43,920 --> 00:40:47,950 Itt van, általában a C-ben, hogyan lehet hogy egy változót, és adja meg egy értéket. 889 00:40:47,950 --> 00:40:50,610 A C-ben ez nem elegendő, mint Scratch, csak 890 00:40:50,610 --> 00:40:52,810 mondjuk adj változó nevű valami. 891 00:40:52,810 --> 00:40:55,960 El kell mondanom a C, és mondd el a fordító, pontosabban, 892 00:40:55,960 --> 00:40:58,680 milyen érték ugye szeretnénk, hogy az üvegtál. 893 00:40:58,680 --> 00:40:59,610 >> Ez egy egész szám? 894 00:40:59,610 --> 00:41:02,210 Ha igen, akkor meg kell szó szerint azt mondják, int, majd 895 00:41:02,210 --> 00:41:04,220 a változó nevét, akkor a pontosvessző. 896 00:41:04,220 --> 00:41:08,050 Ha ehelyett akart húr, és az úgynevezett s ez, mint én kódomat itt ma, 897 00:41:08,050 --> 00:41:10,920 azt mondod, hogy az s karakterlánc pontosvessző. 898 00:41:10,920 --> 00:41:14,200 Ha szeretné, hogy ez az érték akkor majd az egyenlőségjel, 899 00:41:14,200 --> 00:41:16,211 más néven a értékadó operátor. 900 00:41:16,211 --> 00:41:17,960 , És vegyük észre, hogy minden Az ezeket a sorokat a kód 901 00:41:17,960 --> 00:41:20,650 van a pontosvessző a végén is. 902 00:41:20,650 --> 00:41:22,550 >> De őszintén szólva ez csak úgy néz ki, egy kicsit csúnya. 903 00:41:22,550 --> 00:41:26,580 Miért nem tudok mondani, hogy a számítógép, hogy nekem egy változó, és inicializálni nullára. 904 00:41:26,580 --> 00:41:28,380 Azaz, adjon nekem egy üres üveg tál. 905 00:41:28,380 --> 00:41:28,980 Amíg lehet. 906 00:41:28,980 --> 00:41:32,250 És így az egyik ítélet hívások akkor van, hogy stilárisan idővel 907 00:41:32,250 --> 00:41:36,290 van, írsz a kódot, mint ez, vagy Ön milyen feltakarítani és lenyűgözni 908 00:41:36,290 --> 00:41:39,040 emberek írásban két vonal, mint csak egy. 909 00:41:39,040 --> 00:41:41,830 És ez lenne tekinthető általában sokkal elegánsabb megoldást 910 00:41:41,830 --> 00:41:43,870 az írás a kódot stilisztikailag. 911 00:41:43,870 --> 00:41:45,200 >> Funkciók vagyunk természetesen láttam. 912 00:41:45,200 --> 00:41:46,340 Fognak, hogy ezt a formátumot. 913 00:41:46,340 --> 00:41:48,881 A függvény nevét, néhány zárójelben, és akkor talán néhány 914 00:41:48,881 --> 00:41:49,910 cucc benne. 915 00:41:49,910 --> 00:41:52,540 Vagy lehet, hogy látni felhasználása több funkciót oldalon 916 00:41:52,540 --> 00:41:55,980 mellett, mint valami, mint ez. 917 00:41:55,980 --> 00:41:59,390 Most, mint egy érintő, nem ez a vicc most van értelme? 918 00:41:59,390 --> 00:42:03,566 919 00:42:03,566 --> 00:42:04,960 >> [Nevetés] 920 00:42:04,960 --> 00:42:09,360 Ez nem jelenti azt, hogy ez vicces, de még talán, hogy egy kicsit több értelme van. 921 00:42:09,360 --> 00:42:12,140 Tehát most menjünk bele a CS50 készülék egy pillanatra. 922 00:42:12,140 --> 00:42:14,640 És hadd nyit egy teaser itt. 923 00:42:14,640 --> 00:42:17,470 >> És valóban, az egyik oka bevezetésére Katalógus 924 00:42:17,470 --> 00:42:20,080 és villog a kép Az iPhone egy kicsit ezelőtt 925 00:42:20,080 --> 00:42:24,700 az volt, hogy valójában lekötni együtt a a tény, hogy néhány évvel ezelőtt, 2007-ben, 926 00:42:24,700 --> 00:42:26,540 Ez a kódrészletet volt megjelent, melyet 927 00:42:26,540 --> 00:42:29,820 az egyik legelső végrehajtás A szoftver 928 00:42:29,820 --> 00:42:31,494 hogy nem az úgynevezett jailbreak. 929 00:42:31,494 --> 00:42:34,410 Azok számára ismeretlen, jailbreak olyasmi, mint egy telefon vagy egy iPhone 930 00:42:34,410 --> 00:42:37,680 lényegében azt jelenti rájönni , hogyan kell csinálni a dolgokat 931 00:42:37,680 --> 00:42:39,864 vele, hogy a vállalat aki nem állt szándékában. 932 00:42:39,864 --> 00:42:42,780 Mint szeretné telepíteni bizonyos szoftver, amely nem az App Store, 933 00:42:42,780 --> 00:42:45,405 jailbreak a telefont, amely te ilyen dolgokat, és így tovább. 934 00:42:45,405 --> 00:42:47,447 De mi volt a móka 2007-- és ott volt 935 00:42:47,447 --> 00:42:49,780 több tucat különböző változatai ezek a dolgok azóta, 936 00:42:49,780 --> 00:42:53,540 mindenféle languages-- hogy ez a program itt, az úgynevezett iUnlock, 937 00:42:53,540 --> 00:42:57,036 valójában a C nyelven írt és így húzta fel a forráskódot e, 938 00:42:57,036 --> 00:42:59,910 csak azért, hogy a fajta megmutatni, hogy a hasonlóságokat a konstrukciók 939 00:42:59,910 --> 00:43:01,450 mi már beszélünk eddig. 940 00:43:01,450 --> 00:43:05,150 Most ez így több komplexitás itt mint láttuk már az osztályban. 941 00:43:05,150 --> 00:43:07,160 Hadd lépjünk fel egy kicsit itt. 942 00:43:07,160 --> 00:43:11,520 >> De észre these-- is vesszük észre néhány dolgok-- de észre ezeket a sorokat itt, 943 00:43:11,520 --> 00:43:14,090 beleértve a standard I / O pont h. 944 00:43:14,090 --> 00:43:17,660 És all-- 24. sor, kérlek észre standard I / O 945 00:43:17,660 --> 00:43:21,380 pont h és egy csomó más fájlok látszólag mások 946 00:43:21,380 --> 00:43:22,160 írtak. 947 00:43:22,160 --> 00:43:24,850 És ha nézd végig Ennek a kis önkényesen, 948 00:43:24,850 --> 00:43:27,910 észre nem tudom, hogyan kell írni Mindez magam szükségképpen még, 949 00:43:27,910 --> 00:43:28,880 de van, ha. 950 00:43:28,880 --> 00:43:30,400 Tehát nyilvánvalóan ez egy ág. 951 00:43:30,400 --> 00:43:33,210 >> És ha én lépjünk le egy kicsit tovább van egy másik, ha. 952 00:43:33,210 --> 00:43:38,210 Ha felfelé, azt hiszem, körülbelül vonal 100 Láttam a. 953 00:43:38,210 --> 00:43:40,020 Szóval nem vagyok egészen biztos hogyan működik még, 954 00:43:40,020 --> 00:43:43,180 de ez egy a ciklus, ami fog hadd léptetjük bizonyos számú alkalommal. 955 00:43:43,180 --> 00:43:45,230 És ha görgetni minden a módja annak, hogy az alsó 956 00:43:45,230 --> 00:43:51,020 Úgy látom, hogy van egy működik itt az úgynevezett 957 00:43:51,020 --> 00:43:54,570 fő, és további hiteleket az olvasás öröm. 958 00:43:54,570 --> 00:43:57,830 >> Tehát ez csak mondanak: és mi tesz az online között természetesen forrás 959 00:43:57,830 --> 00:44:01,480 kód today--, hogy még néhány ilyen eszköz, amit magától értetődőnek, 960 00:44:01,480 --> 00:44:05,130 a végén a nap, hogy még mindig ezekkel az alapvető konstrukciók, hogy már 961 00:44:05,130 --> 00:44:07,430 kerül bevezetésre a már eddig. 962 00:44:07,430 --> 00:44:08,620 Ennyi elég, hogy az egyik. 963 00:44:08,620 --> 00:44:11,480 Rendben, most nézzük valóban építeni valamit. 964 00:44:11,480 --> 00:44:15,640 >> Menjünk túl valami hasonló hello.c, és nyissa meg ezt, 965 00:44:15,640 --> 00:44:17,170 írjunk a program itt. 966 00:44:17,170 --> 00:44:19,850 Én megyek előre, és levelet program neve adder.c, 967 00:44:19,850 --> 00:44:23,310 amelynek célja az életben lesz mint az első szuper egyszerű számológép 968 00:44:23,310 --> 00:44:24,840 , hogy csak ad egy pár számot. 969 00:44:24,840 --> 00:44:27,050 Nem azért, mert ez egy nehéz probléma, hanem azért, mert 970 00:44:27,050 --> 00:44:29,390 lehetővé teszi számomra, hogy most döntetlen együtt egy pár dolgot. 971 00:44:29,390 --> 00:44:33,100 Szóval megyek előre, és egy olyan standard I / O pont h CS50 pont h. 972 00:44:33,100 --> 00:44:34,670 Fogom mondani, int main semmis. 973 00:44:34,670 --> 00:44:36,545 És a jövőben újra akkor jön vissza, hogy azt 974 00:44:36,545 --> 00:44:38,560 be ebben az összefüggésben, és semmis eszközökkel. 975 00:44:38,560 --> 00:44:43,340 >> És most fogok mondani valamit mint printf, adjon nekem egy egész szám. 976 00:44:43,340 --> 00:44:47,610 És most a második sorban, hogyan tudom kifejezni magam, mint 977 00:44:47,610 --> 00:44:50,980 hogy szeretnék, hogy egy változót hogy fog tárolni egy int? 978 00:44:50,980 --> 00:44:55,470 Szó szerint mit írjon, ha azt akarom, hogy hozzon létre egy változó, egy int 979 00:44:55,470 --> 00:44:58,270 mit mondana? 980 00:44:58,270 --> 00:44:59,650 int egy egyenlő getint. 981 00:44:59,650 --> 00:45:00,485 Persze, hogy működik. 982 00:45:00,485 --> 00:45:02,360 És csak a következetesség a kód azt is megtudhatod 983 00:45:02,360 --> 00:45:04,485 lásd az interneten, hadd változás ezt az x, csak azért, mert x 984 00:45:04,485 --> 00:45:06,830 gyakori változó név kezelhető, legalábbis algebra. 985 00:45:06,830 --> 00:45:08,720 Most hadd menjen előre, és nem printf újra. 986 00:45:08,720 --> 00:45:10,692 Adj még egy egész szám. 987 00:45:10,692 --> 00:45:12,900 És most megyek, hogy milyen A tanulni ezt a mintát, 988 00:45:12,900 --> 00:45:14,490 Fogom mondani, int y kerül GetInt. 989 00:45:14,490 --> 00:45:16,340 >> És mi már nem használják GetInt előtt, de csak 990 00:45:16,340 --> 00:45:19,860 mint getString megy, és kap egy string, mint Javier volt a közönség, 991 00:45:19,860 --> 00:45:22,780 hasonlóképpen nem GetInt kezd villogni a prompt. 992 00:45:22,780 --> 00:45:26,750 És hatékonyan várja a felhasználót hogy ez egy egész, írja be 993 00:45:26,750 --> 00:45:27,900 , és az Enter. 994 00:45:27,900 --> 00:45:30,850 Most végül fogom csinálni ez printf az összeg of-- 995 00:45:30,850 --> 00:45:36,080 és hadd képzelet now-- százalék i és százalék azt jelen 996 00:45:36,080 --> 00:45:39,270 i felkiáltójel backslash n. 997 00:45:39,270 --> 00:45:42,750 És mit gondolsz, fogok hozott már, mint a kiegészítő bemenet 998 00:45:42,750 --> 00:45:44,620 printf? 999 00:45:44,620 --> 00:45:47,380 >> Nem akarom azt mondani, szó szerint idézni idézőjel bezárva x. 1000 00:45:47,380 --> 00:45:52,210 Azt akarom, hogy osztály x és akkor, és most menjünk díszes 1001 00:45:52,210 --> 00:45:54,420 és most csak fel, amit tehetünk, amit akarunk. 1002 00:45:54,420 --> 00:45:56,330 Mit akar mondani a következő lépés? 1003 00:45:56,330 --> 00:45:57,070 x plus y. 1004 00:45:57,070 --> 00:45:58,520 És valóban, hogy működni fog. 1005 00:45:58,520 --> 00:46:01,760 Ez minimális programozási nyelvek értik az alapvető számtani, 1006 00:46:01,760 --> 00:46:03,500 és így ez valójában a munka. 1007 00:46:03,500 --> 00:46:06,730 >> Szóval, hadd menjen előre, és nem teszik vipera az én fekete-fehér ablak 1008 00:46:06,730 --> 00:46:08,090 itt, Enter. 1009 00:46:08,090 --> 00:46:10,830 Cryptic vonal, de nem hiba üzenet, hogy ez jó. 1010 00:46:10,830 --> 00:46:14,410 Dot perjel vipera, adjon nekem egy egész szám, 1. 1011 00:46:14,410 --> 00:46:16,230 Adj még egy egész szám, 2.. 1012 00:46:16,230 --> 00:46:18,770 Az összeg 1 és 2 3. 1013 00:46:18,770 --> 00:46:21,730 >> Rendben, egy elég triviális program, de mi is történt? 1014 00:46:21,730 --> 00:46:25,680 Ez lehetővé tette számomra, hogy egy funkció hívás van, hívja másik funkció van, 1015 00:46:25,680 --> 00:46:29,260 Két hívások GetInt, a harmadik hívást a printf, 1016 00:46:29,260 --> 00:46:30,720 , majd használja ezeket helyőrzők. 1017 00:46:30,720 --> 00:46:33,160 Szóval ez egy kicsit kifinomult, mint a múltkor. 1018 00:46:33,160 --> 00:46:35,260 De mi van, ha azt akarom, hogy egy kicsit cifrább? 1019 00:46:35,260 --> 00:46:38,900 >> Hadd menjek előre, és most ezt. 1020 00:46:38,900 --> 00:46:42,890 Hadd menjek előre, és hozzon létre egy új nevű fájl körülmények nulla. 1021 00:46:42,890 --> 00:46:44,890 És én fogom megmenteni egy kis időt osztályok kedvéért 1022 00:46:44,890 --> 00:46:48,260 és csak be, hogy a kód kiindulópontként. 1023 00:46:48,260 --> 00:46:51,510 És most csak megy, hogy valami új van a közepén. 1024 00:46:51,510 --> 00:46:55,889 Így printf Szeretnék egy egész kérem. 1025 00:46:55,889 --> 00:46:58,180 És ez a kód elérhető A kurzus honlapján, 1026 00:46:58,180 --> 00:47:00,556 nem kell írja az egészet osztályban, ha inkább nem. 1027 00:47:00,556 --> 00:47:02,638 int, és most megyek használja, ahelyett, hogy az x és y, 1028 00:47:02,638 --> 00:47:05,270 Fogom használni, n, ami talán a leggyakoribb név 1029 00:47:05,270 --> 00:47:09,220 egész számára egy számítógépes program. 1030 00:47:09,220 --> 00:47:12,060 És most azt akarom, hogy a kis ítélőképességét. 1031 00:47:12,060 --> 00:47:15,460 Megyek, hogy ha n nagyobb, mint 0, akkor 1032 00:47:15,460 --> 00:47:23,670 Fogok mondani printf-- Hoppá, printf-- választottad pozitív szám, 1033 00:47:23,670 --> 00:47:25,370 felkiáltójel backslash n. 1034 00:47:25,370 --> 00:47:26,460 Zárja be ezt. 1035 00:47:26,460 --> 00:47:33,150 Else fogom kinyomtatni printf Ön felvette a negatív számot. 1036 00:47:33,150 --> 00:47:35,377 >> Most, mielőtt kiabálni rám fussunk ezt a programot. 1037 00:47:35,377 --> 00:47:36,210 Hadd menjek le ide. 1038 00:47:36,210 --> 00:47:40,730 És hogyan tudom lefordítani egy programot hívott körülmények kötőjel 0-ra? 1039 00:47:40,730 --> 00:47:42,300 Tedd körülmények kötőjel 0. 1040 00:47:42,300 --> 00:47:45,560 Milyen hülye név, de-- a fenébe. 1041 00:47:45,560 --> 00:47:47,560 OK, jó tanítás pillanat. 1042 00:47:47,560 --> 00:47:48,410 Miért, hogy a szünet? 1043 00:47:48,410 --> 00:47:51,360 1044 00:47:51,360 --> 00:47:54,710 >> Mi nem véletlenül hívják ezt a fájlt? 1045 00:47:54,710 --> 00:47:56,876 Ön milyen következtetni A lap itt. 1046 00:47:56,876 --> 00:47:58,750 Szóval nem rossz, hogy én tette ezt, mert ez a 1047 00:47:58,750 --> 00:48:00,208 lesz talán, hogy néhányan közületek. 1048 00:48:00,208 --> 00:48:03,880 Szóval véletlenül nevezték a forráskód állapot 0-ra. 1049 00:48:03,880 --> 00:48:09,950 De a forráskódot egyezmény abban a nevű fájlt állapot 0 műszerfal C, 1050 00:48:09,950 --> 00:48:11,720 vagy bármi pont c. 1051 00:48:11,720 --> 00:48:12,610 >> Tehát hadd oldja meg. 1052 00:48:12,610 --> 00:48:16,880 Csakúgy, mint a Microsoft Word tudok felmenni menteni, és nem feltétel 0 pont c. 1053 00:48:16,880 --> 00:48:20,100 Most csak azért, hogy rendben vagyok menni előre, és távolítsa el 1054 00:48:20,100 --> 00:48:23,020 állapot 0, ami a régi verzió. 1055 00:48:23,020 --> 00:48:26,550 És most lássuk megcsináljuk állapot 0, Enter. 1056 00:48:26,550 --> 00:48:27,870 OK, úgy tűnik, jó. 1057 00:48:27,870 --> 00:48:29,510 >> Állapot 0, Enter. 1058 00:48:29,510 --> 00:48:33,530 Szeretnék egy egész kérem, 50, Ön felvette a pozitív szám. 1059 00:48:33,530 --> 00:48:35,390 Most, hogy a negatív 50? 1060 00:48:35,390 --> 00:48:37,660 Te választottad negatív szám. 1061 00:48:37,660 --> 00:48:39,605 És most, 0-ra. 1062 00:48:39,605 --> 00:48:42,250 1063 00:48:42,250 --> 00:48:45,350 Biztos vagyok benne 0 nem negatív. 1064 00:48:45,350 --> 00:48:47,780 >> Tehát ez egyfajta logikai hiba. 1065 00:48:47,780 --> 00:48:50,680 Hogyan lehet ezt orvosolni? 1066 00:48:50,680 --> 00:48:57,260 Mást, ha n kisebb, mint 0, ezt, különben mi lehet a három út ág itt, 1067 00:48:57,260 --> 00:49:01,740 printf választottad 0. 1068 00:49:01,740 --> 00:49:06,150 Tehát most, ha én futtassa újra ezt program fordítása után azt 1069 00:49:06,150 --> 00:49:10,790 ismét make, és most futtassa újra állapot 0, mit fogok látni itt 1070 00:49:10,790 --> 00:49:14,570 0 ad nekem, hogy a teljesítmény. 1071 00:49:14,570 --> 00:49:16,280 Szóval, ha megyünk ezzel? 1072 00:49:16,280 --> 00:49:18,930 >> Hát ez nagyon könnyű szem elől téveszteni Az erdőben a fák. 1073 00:49:18,930 --> 00:49:23,590 És így arra engednek következtetni, ezzel 2 és 1/2 perces videó 1074 00:49:23,590 --> 00:49:25,710 hogy végül egy kicsit ad a Google, 1075 00:49:25,710 --> 00:49:28,850 de tényleg tanúskodik, hogy amit még ezekkel az alapvető épület 1076 00:49:28,850 --> 00:49:33,020 blokkok tudjuk végül nem egyszer van egy kis programozás 1077 00:49:33,020 --> 00:49:34,463 hozzáértés a mi övek. 1078 00:49:34,463 --> 00:49:35,150 >> [Zenelejátszás] 1079 00:49:35,150 --> 00:49:38,370 1080 00:49:38,370 --> 00:49:40,540 >> SAROO BRIERLEY (hangja): Ez volt 26 évvel ezelőtt, 1081 00:49:40,540 --> 00:49:42,470 és én épp fordulni 5. 1082 00:49:42,470 --> 00:49:45,465 Megvan a vasútállomás és felszálltunk a vonatra együtt. 1083 00:49:45,465 --> 00:49:48,010 A bátyám csak azt mondta, én itt, és jövök vissza. 1084 00:49:48,010 --> 00:49:51,140 És azt gondoltam, jól tudod, Én lehet, hogy csak aludni 1085 00:49:51,140 --> 00:49:52,690 és ő majd csak ébressz fel. 1086 00:49:52,690 --> 00:49:55,145 És amikor felébredtem a következő nap, az egész kocsi 1087 00:49:55,145 --> 00:49:59,125 üres volt egy elszabadult vonat, a szellem vonat visz nem tudom hol. 1088 00:49:59,125 --> 00:50:01,980 1089 00:50:01,980 --> 00:50:06,280 >> Én fogadták el, hogy Ausztrália, egy ausztrál család. 1090 00:50:06,280 --> 00:50:09,710 És anyu díszítette a szoba, térkép India, 1091 00:50:09,710 --> 00:50:11,950 amit mellé tenni az ágyam mellett. 1092 00:50:11,950 --> 00:50:15,830 Ébredtem minden reggel látta ezt a térképet, és így 1093 00:50:15,830 --> 00:50:18,530 ez a fajta tartotta az élményeit. 1094 00:50:18,530 --> 00:50:20,530 Az emberek azt mondják, te megpróbálja megtalálni a tűt 1095 00:50:20,530 --> 00:50:23,560 a szénakazalban, Saroo soha nem találja meg. 1096 00:50:23,560 --> 00:50:28,540 >> Én már villant a helyen, hogy én jártam, a villog a családom 1097 00:50:28,540 --> 00:50:29,890 arcok. 1098 00:50:29,890 --> 00:50:34,060 Ott volt a kép az én anyám, ült le a lábát keresztbe, 1099 00:50:34,060 --> 00:50:35,740 csak nézni sírni. 1100 00:50:35,740 --> 00:50:38,160 Az élet annyira nehéz. 1101 00:50:38,160 --> 00:50:41,237 Ez volt a kincs. 1102 00:50:41,237 --> 00:50:44,320 És néztem Google Map és rájött, hogy ez a Google Earth is. 1103 00:50:44,320 --> 00:50:48,140 Egy olyan világban, ahol meg lehet nagyítani, Elkezdtem, hogy az összes ilyen gondolatok 1104 00:50:48,140 --> 00:50:51,500 és milyen lehetőségek hogy ez nem nekem. 1105 00:50:51,500 --> 00:50:54,890 Azt mondtam magamnak, tudod, neked van Van minden fényképes emlékeit 1106 00:50:54,890 --> 00:50:58,590 és nevezetessége honnan jöttél, és tudod, mi a város úgy néz ki, mint a. 1107 00:50:58,590 --> 00:51:03,060 Ez lehet egy olyan alkalmazást, használhatja, hogy megtalálja az utat vissza. 1108 00:51:03,060 --> 00:51:06,720 >> Azt gondoltam, teszek egy dot Calcutta vasútállomás, 1109 00:51:06,720 --> 00:51:10,890 és a sugár vonal, tudod, hogy te kell keres körül ezen a területen. 1110 00:51:10,890 --> 00:51:13,750 Valahogy rátaláltam ezek a síneken. 1111 00:51:13,750 --> 00:51:18,160 És elkezdtem ezt követő, és Azért jöttem, hogy a vasútállomás, amely 1112 00:51:18,160 --> 00:51:22,228 tükrözi ugyanazt a képet ez volt az én emlékeim. 1113 00:51:22,228 --> 00:51:23,707 Minden kiegyenlített. 1114 00:51:23,707 --> 00:51:27,950 Csak arra gondoltam, igen, én tudja, hová megyek. 1115 00:51:27,950 --> 00:51:30,116 Én csak hagyom, hogy a térkép, hogy van a fejemben 1116 00:51:30,116 --> 00:51:33,080 vezess és vigyél vissza a szülővárosába. 1117 00:51:33,080 --> 00:51:36,420 >> Azért jöttem, hogy a küszöbén a ház, hogy én születtem. 1118 00:51:36,420 --> 00:51:39,140 , És megkerülte a 15 méterre a sarkon, 1119 00:51:39,140 --> 00:51:42,980 volt három hölgy állt kívül, egymás mellett. 1120 00:51:42,980 --> 00:51:47,830 És a középső előrelépett, és Csak arra gondoltam, ez a te anyád. 1121 00:51:47,830 --> 00:51:53,450 Jött előre, ő megölelt, és ott voltunk körülbelül öt percig. 1122 00:51:53,450 --> 00:51:56,530 1123 00:51:56,530 --> 00:51:59,000 >> Megragadta a kezem, és elvitt a ház 1124 00:51:59,000 --> 00:52:02,450 és kapott a telefon, ahol Megszólalt a húgom és a bátyám 1125 00:52:02,450 --> 00:52:05,600 azt mondani, hogy, tudod, a testvére már csak 1126 00:52:05,600 --> 00:52:09,340 minden hirtelen megjelent, mint egy szellem. 1127 00:52:09,340 --> 00:52:12,440 És akkor a család újra egyesül. 1128 00:52:12,440 --> 00:52:15,110 Minden minden jó, Segítettem anyámnak ki, 1129 00:52:15,110 --> 00:52:17,110 hogy nem kell rabszolga el. 1130 00:52:17,110 --> 00:52:19,555 Tud élni a többi élete békében. 1131 00:52:19,555 --> 00:52:23,460 >> Ez egy tűt a szénakazalban, de a tű volt ott. 1132 00:52:23,460 --> 00:52:24,400 Minden ott van. 1133 00:52:24,400 --> 00:52:28,260 Minden, amit a világban van a csap a gombra. 1134 00:52:28,260 --> 00:52:32,010 De muszáj, hogy megvan a szándék és az elhatározását, hogy akarja azt. 1135 00:52:32,010 --> 00:52:32,950 >> [Zenelejátszás] 1136 00:52:32,950 --> 00:52:36,420 1137 00:52:36,420 --> 00:52:38,170 DAVID MALAN: Csodálatosan édes ajánlólevél 1138 00:52:38,170 --> 00:52:40,540 hogy csak, amit lehet most nem a technológiával. 1139 00:52:40,540 --> 00:52:43,390 Látni fogjuk, hogy a jövő héten. 1140 00:52:43,390 --> 00:52:44,374