1 00:00:00,000 --> 00:00:12,410 >> [Tónlist spila] 2 00:00:12,410 --> 00:00:12,830 >> DAVID Malan: Allt í lagi. 3 00:00:12,830 --> 00:00:13,370 Velkominn aftur. 4 00:00:13,370 --> 00:00:16,510 Þetta er CS50, og þetta er Vika Einn, Áframhaldandi. 5 00:00:16,510 --> 00:00:20,050 Svo ein af þeim ástæðum sem við höfum verið að brottför um tækni eins og 6 00:00:20,050 --> 00:00:24,120 Google Gler er að þeir koma með eitthvað þekktur sem API, sem 7 00:00:24,120 --> 00:00:25,980 Umsókn Forritun Tengi. 8 00:00:25,980 --> 00:00:28,830 Og hvað þetta þýðir er að með rétt skrár og með hægri 9 00:00:28,830 --> 00:00:32,850 skjöl, getur þú í raun að skrifa hugbúnaður fyrir jafnvel tæki eins og þessir. 10 00:00:32,850 --> 00:00:36,200 >> Og svo það sem við höfum í huga til annir enda er, ef verkefni 11 00:00:36,200 --> 00:00:39,310 þar, segja, Google Glass gæti höfða, munum við sjá hvað við getum gert í 12 00:00:39,310 --> 00:00:42,220 skilmálum krókur upp með sumir loaner vélbúnaður sem og 13 00:00:42,220 --> 00:00:46,500 opinberlega aðgengilegar API þannig að þú getur í raun að byrja að búa til hugbúnað 14 00:00:46,500 --> 00:00:48,630 sem keyrir á sama Google Glass. 15 00:00:48,630 --> 00:00:51,710 >> Annað tæki sem við höfum verið að spila með upp á síðkastið að við héldum gæti verið 16 00:00:51,710 --> 00:00:53,910 gaman í lok hverrar annar er þetta litla hlutur hér. 17 00:00:53,910 --> 00:00:56,860 Það heitir Leap Motion, og hvað þú ert um að sjá er tæknilega er 18 00:00:56,860 --> 00:01:00,280 auglýsing fyrir tækið, en það er að tala við hvað þetta tiltekna 19 00:01:00,280 --> 00:01:01,240 Tækið er fær um. 20 00:01:01,240 --> 00:01:05,550 Og það líka kemur með API gegnum sem þú getur skrifað hugbúnað til 21 00:01:05,550 --> 00:01:10,545 stjórna tölvunni þinni á þann hátt alveg eins og þessi mínútna kvikmynd hér. 22 00:01:10,545 --> 00:01:12,070 >> [Vídeó spilun] 23 00:01:12,070 --> 00:02:08,002 24 00:02:08,002 --> 00:02:08,590 >> [END vídeó spilun] 25 00:02:08,590 --> 00:02:11,190 >> Svo núna, þetta tæki verður að koma til framkvæmda eins og a lítill USB 26 00:02:11,190 --> 00:02:14,290 tengi sem þú getur stinga inn þinn tölva, en ég yrði ekki hissa 27 00:02:14,290 --> 00:02:17,930 ef áður en langt við höfum þessar tegundir af tækni í næstu lotu tölvum 28 00:02:17,930 --> 00:02:20,510 og Macs svo að þú getur örugglega, samskipti við það í 29 00:02:20,510 --> 00:02:21,650 á þann hátt eins og þessi. 30 00:02:21,650 --> 00:02:24,250 Í raun, hvað ég hélt ég myndi gera líka, er Ég herti upp smá kynningu 31 00:02:24,250 --> 00:02:25,860 Dagskráin sem koma með þennan hugbúnað. 32 00:02:25,860 --> 00:02:28,700 Þannig að ég hef sett smá skynjara fyrir framan fartölvuna mína. 33 00:02:28,700 --> 00:02:32,420 >> Og eins og þú geta sjá, áttar hún nú þegar að hönd mín er 34 00:02:32,420 --> 00:02:33,400 stjórna henni. 35 00:02:33,400 --> 00:02:37,900 Og allt þetta forrit gerir er swimmingly litla hluti eins og þetta. 36 00:02:37,900 --> 00:02:41,080 En þú getur séð það, örugglega, Ég á fimm fingur þar. 37 00:02:41,080 --> 00:02:44,270 Ef við getum fengið það að gera allt 10, þú getur ímyndað snyrtilegur píanó 38 00:02:44,270 --> 00:02:45,390 umsókn eða þess háttar. 39 00:02:45,390 --> 00:02:47,820 Svo ef þú vilt koma upp eftir flokki í dag og leika með það sem 40 00:02:47,820 --> 00:02:49,720 vel, þú ert velkominn til. 41 00:02:49,720 --> 00:02:52,930 Svo meira um það til enda hverrar annar. 42 00:02:52,930 --> 00:02:54,420 >> Svo a par af stjórnsýslu tilkynningar. 43 00:02:54,420 --> 00:02:58,690 Einn, gera kafla af þessu Föstudagur á hádegi á cs60.net/section. 44 00:02:58,690 --> 00:03:01,260 Að slóðin er á námskeiðið er heimasíða eins vel. 45 00:03:01,260 --> 00:03:04,010 Í millitíðinni, þó, supersections frumraun á sunnudaginn. 46 00:03:04,010 --> 00:03:07,800 Supersections eru einn-tími hlutur, því það tekur okkur smá tíma til að vinna 47 00:03:07,800 --> 00:03:09,470 út hver er í hvaða kafla og hvar. 48 00:03:09,470 --> 00:03:12,280 >> Þannig að þetta kemur sunnudagur, það verður að vera einn kafla fyrir þá sem minna þægilegt, 49 00:03:12,280 --> 00:03:14,040 einn hluti fyrir þá öruggari. 50 00:03:14,040 --> 00:03:16,110 Og þá einhvers staðar í milli er velkomið að fara í 51 00:03:16,110 --> 00:03:17,850 annaðhvort eða bæði eða hvorugt. 52 00:03:17,850 --> 00:03:19,150 Báðir þessir verða teknar. 53 00:03:19,150 --> 00:03:22,740 Þeir ætla að vera í stærri salnum en hluti venjulega myndi vera inn 54 00:03:22,740 --> 00:03:26,110 En markmiðið hér er að búa þér sumir þægindi við vandamál að setja einn, 55 00:03:26,110 --> 00:03:29,910 með C, með CS50 tæki, þetta helgi, jafnvel áður en þú finnur út þín 56 00:03:29,910 --> 00:03:31,050 formleg kafla verkefni. 57 00:03:31,050 --> 00:03:34,700 Svo þú munt hitta TF og minni þitt hópur sectionmates í um 58 00:03:34,700 --> 00:03:36,350 a viku tíma. 59 00:03:36,350 --> 00:03:38,200 >> Viðtalstímar, á meðan, hafa verið að fara á. 60 00:03:38,200 --> 00:03:41,020 Gera að nýta þá í kvöld eða morgun ef þú vilt. 61 00:03:41,020 --> 00:03:43,460 Heimadæmi 0 skýrist á föstudag. 62 00:03:43,460 --> 00:03:46,680 Þetta er dagur síðar en reglulega-áætlunarflug fimmtudagur. 63 00:03:46,680 --> 00:03:50,410 En með að stilla vandamál 1, munt þú sjá að það eru nokkur upphitun 64 00:03:50,410 --> 00:03:52,770 æfingar sem þú sjálfur geta lengja þína 65 00:03:52,770 --> 00:03:54,660 Fimmtudagur Frestur til föstudags. 66 00:03:54,660 --> 00:03:58,410 Heimadæmi 1, á meðan mun frumraun á heimasíðu námskeiðsins er þetta að koma 67 00:03:58,410 --> 00:04:02,000 Föstudagur, ef þú vilt að krulla upp með það sem ég gerði eitt sinn seint 68 00:04:02,000 --> 00:04:04,370 Föstudagur nótt í herberginu þínu. 69 00:04:04,370 --> 00:04:07,660 >> Svo er cs50.net/appliance staðurinn þar þú getur fengið CS50 tæki 70 00:04:07,660 --> 00:04:09,040 að við byrjuðum að nota á mánudaginn. 71 00:04:09,040 --> 00:04:10,140 Við munum nota það aðeins meira í dag. 72 00:04:10,140 --> 00:04:14,040 En hvíla sjálfsöruggur að vandinn sett 1 forskrift mun ganga þú í gegnum 73 00:04:14,040 --> 00:04:16,490 einmitt skref sem þú þarft að fá að gang. 74 00:04:16,490 --> 00:04:22,120 Svo ekki hafa áhyggjur um að gera að áður Pset 1 ef þú vilt frekar ekki. 75 00:04:22,120 --> 00:04:22,660 >> Allt í lagi. 76 00:04:22,660 --> 00:04:27,180 Þannig að við leit á mánudaginn kl frumkóða, en í samhengi við ný 77 00:04:27,180 --> 00:04:30,895 forritunarmál, þ.e. C. Og C, ólíkt grunni, er ekki myndrænt. 78 00:04:30,895 --> 00:04:32,270 Það er ekki ráðgáta stykki. 79 00:04:32,270 --> 00:04:34,450 Það er meira English-eins og setningafræði. 80 00:04:34,450 --> 00:04:37,140 Og það er a par af skrefum sem taka þátt í raun að skrifa og keyra 81 00:04:37,140 --> 00:04:41,650 forrit í C, þar að auki fengið númer eins og þetta, þarft að hafa eitthvað 82 00:04:41,650 --> 00:04:42,890 kallað þýðanda. 83 00:04:42,890 --> 00:04:46,682 Og í skilmálum leikmaður er, hvað hjartarskinn a þýðandi gert fyrir okkur? 84 00:04:46,682 --> 00:04:47,650 Já. 85 00:04:47,650 --> 00:04:51,040 >> Nemandi: Það breytir kóðann sem þú skrifar að 0s og 1s. 86 00:04:51,040 --> 00:04:51,151 >> DAVID Malan: Gott. 87 00:04:51,151 --> 00:04:53,580 Svo breytir það kóðann sem við að skrifa til 0s og 1s. 88 00:04:53,580 --> 00:04:57,730 Það breytir svokallaða kóðann til mótmæla kóða, seinni sem lítur 89 00:04:57,730 --> 00:04:59,140 smá eitthvað eins og this. 90 00:04:59,140 --> 00:05:02,860 Og það er CPU, heila inni á tölvan, að vegna 91 00:05:02,860 --> 00:05:06,280 fólkið sem bjó þeim tölvum, vita hvað þessir röð 92 00:05:06,280 --> 00:05:07,460 af 0s og 1s meina. 93 00:05:07,460 --> 00:05:08,640 >> Kannski þýðir það prenta. 94 00:05:08,640 --> 00:05:10,265 Kannski þýðir það að auki. 95 00:05:10,265 --> 00:05:11,610 Kannski þýðir það Frádráttur. 96 00:05:11,610 --> 00:05:13,350 Kannski þýðir það að sýna grafík. 97 00:05:13,350 --> 00:05:16,870 Það eru fyrirfram mynstur bita að heimurinn hefur ákveðið meina 98 00:05:16,870 --> 00:05:17,700 ýmislegt. 99 00:05:17,700 --> 00:05:20,760 En að mestu leyti í þessu námskeiði, við munum vinna á hærra stigi, og 100 00:05:20,760 --> 00:05:24,180 við munum taka sem sjálfsögðum hlut að það eru hlutir eins vistþýðendur sem getur 101 00:05:24,180 --> 00:05:27,670 gera kóðann virka okkar í því hvernig við ætlum. 102 00:05:27,670 --> 00:05:31,660 >> Þannig að forritið sem við skrifaði fyrst í síðustu viku og þá fór að höfn, svo að 103 00:05:31,660 --> 00:05:33,920 tala, til C á síðasta Mánudagur, var þetta. 104 00:05:33,920 --> 00:05:35,700 Þegar grænt merkja smellt segja halló. 105 00:05:35,700 --> 00:05:37,430 Þetta var, að sjálfsögðu, skrifað í grunni. 106 00:05:37,430 --> 00:05:40,710 Og ég hélt að jafngildi nám í C horfði smá 107 00:05:40,710 --> 00:05:41,520 eitthvað eins og this. 108 00:05:41,520 --> 00:05:45,050 >> Svo er það sem ég hélt að við myndum gera í fyrstu, skulum stríða í sundur hvaða útlit, í fyrstu 109 00:05:45,050 --> 00:05:48,790 tillit, að vísu, eins og nokkuð yfirnáttúrulegt setningafræði, en þú munt byrja að taka eftir 110 00:05:48,790 --> 00:05:50,160 mynstur alveg strax. 111 00:05:50,160 --> 00:05:53,770 Hvað við munum einnig gera í dag er að veita þú með andlega fyrirmynd fyrir suma 112 00:05:53,770 --> 00:05:57,280 Canonical, sumir staðall býr í forritun. 113 00:05:57,280 --> 00:06:00,420 Og þá munum við í raun að fá hendur okkar óhreinum með nokkur dæmi eins og heilbrigður. 114 00:06:00,420 --> 00:06:04,140 >> Svo fyrir þá öruggari, átta sig á að í þessari viku og þá næstu 115 00:06:04,140 --> 00:06:05,940 viku getur mjög vel verið hluti af endurskoðun. 116 00:06:05,940 --> 00:06:08,810 En sérstaklega þegar tölvusnápur útgáfa af Heimadæmi 1 fer út á 117 00:06:08,810 --> 00:06:12,330 website sjálfsögðu á föstudaginn, ég held þú munt komast að því að jafnvel eins og þú fyllir á 118 00:06:12,330 --> 00:06:15,390 sumir blanks á næstu viku eða tvær, þú munt byrja að fá sífellt 119 00:06:15,390 --> 00:06:18,410 áskorun og fundur ný og nýrri hluti. 120 00:06:18,410 --> 00:06:21,310 >> Þannig að við skulum stríða þetta forrit í sundur nokkrar línur í einu. 121 00:06:21,310 --> 00:06:24,140 Efst, höfum við það sem er tæknilega kallast 122 00:06:24,140 --> 00:06:25,950 Preprocessor tilskipun. 123 00:06:25,950 --> 00:06:30,510 Þetta er bara lína af kóða sem segir að fela innihald af a skrá, 124 00:06:30,510 --> 00:06:35,080 kallað staðall I / N, standard input - eða, hryggur, staðall I / O, staðall 125 00:06:35,080 --> 00:06:38,670 inntak / úttak,. klst inni eigin áætlun mína. 126 00:06:38,670 --> 00:06:41,670 >> Svo í öðrum orðum, ef ég skrifaði þetta Forrit með einföldum texta ritstjóri eins 127 00:06:41,670 --> 00:06:45,260 gedit er einfaldara jafngildi eitthvað eins og Microsoft Word, sem 128 00:06:45,260 --> 00:06:50,970 kennsla, # include stdio.h, er bara fara að segja þýðanda, grípa 129 00:06:50,970 --> 00:06:56,080 innihald síðarnefnda skrá, stdio.h, og líma þær hérna. 130 00:06:56,080 --> 00:06:57,090 >> Nú, hví ÉG aðgát? 131 00:06:57,090 --> 00:07:01,850 Hvað gerði við kröfu er inni af þessari skrá kallað stdio.h, sem er geymt 132 00:07:01,850 --> 00:07:05,490 einhvers staðar á harða diskinum mínum, eða í þessu ræða, einhvers staðar í CS50 tæki? 133 00:07:05,490 --> 00:07:06,635 Einhver annar setja það þarna fyrir mig. 134 00:07:06,635 --> 00:07:09,910 En hvað er í henni? 135 00:07:09,910 --> 00:07:13,020 >> Já, svo er það yfirlýsing um fall kallast printf. 136 00:07:13,020 --> 00:07:17,400 Svo printf minnir fallið sem birtir orð og stafi og 137 00:07:17,400 --> 00:07:20,160 tölur á skjánum á tilboð mitt. 138 00:07:20,160 --> 00:07:21,220 En ég vissi ekki að skrifa það. 139 00:07:21,220 --> 00:07:22,230 CS50 ekki skrifa það. 140 00:07:22,230 --> 00:07:26,990 Einhver ár skrifaði síðan það, og þeir raun gaf okkur uppskrift að henni 141 00:07:26,990 --> 00:07:29,110 í skrá sem kallast stdio.h. 142 00:07:29,110 --> 00:07:33,240 Svo gefur það fyrsta línan bara mér aðgang til aðgerða sem einhver annar 143 00:07:33,240 --> 00:07:36,500 skrifaði árum, meðal sem eru printf. 144 00:07:36,500 --> 00:07:39,450 >> Nú er næsta lína ég ætla að veifa mín hönd á, að minnsta kosti þangað til í næstu viku. 145 00:07:39,450 --> 00:07:43,620 En nú, ég veit að int helstu (tóm) er meginatriðum jafngildir þetta 146 00:07:43,620 --> 00:07:46,310 gulur þraut stykki þegar Grænfánann smellur. 147 00:07:46,310 --> 00:07:49,510 Heimurinn, árum, ákvað að ef þú ert að skrifa forrit í 148 00:07:49,510 --> 00:07:53,150 tungumál sem kallast C, þú byrjar program með línu 149 00:07:53,150 --> 00:07:54,410 sem lítur út eins og þessi. 150 00:07:54,410 --> 00:07:57,650 Í réttlátur óður í einu viku, verður það að gera vit hvað int er, hvað ógilt er. 151 00:07:57,650 --> 00:08:00,840 En nú, bara að hugsa um það eins og þetta gula ráðgáta stykki. 152 00:08:00,840 --> 00:08:04,550 >> Nú næst, höfum við hrokkið borsveif fylgt af öðrum nánum hrokkið borsveif, 153 00:08:04,550 --> 00:08:05,240 svo að segja. 154 00:08:05,240 --> 00:08:07,430 Og við munum sjá þetta í gegn forrit í C, sem og 155 00:08:07,430 --> 00:08:08,930 JavaScript og PHP. 156 00:08:08,930 --> 00:08:11,345 Og þessir þjappa bara tengdar línur af kóða. 157 00:08:11,345 --> 00:08:14,600 The opinn hrokkið borsveif raun segir, hér kemur einhver númer. 158 00:08:14,600 --> 00:08:17,590 Og lokað hrokkið borsveif, sem er horn í aðra átt, bara 159 00:08:17,590 --> 00:08:19,920 þýðir að það er fyrir viðkomandi númer. 160 00:08:19,920 --> 00:08:22,970 >> Svo safaríkur lína í þessari fyrstu program er the síðastur, printf, 161 00:08:22,970 --> 00:08:25,080 vitna-Unquote, halló heimur. 162 00:08:25,080 --> 00:08:30,670 Og ég kallaði málið milli vitna hvað síðast? 163 00:08:30,670 --> 00:08:31,285 Svo það er strengur. 164 00:08:31,285 --> 00:08:35,309 Og streng er bara techie tíma fyrir röð af 165 00:08:35,309 --> 00:08:37,169 stafir, orð, setningu. 166 00:08:37,169 --> 00:08:39,380 Jafnvel einasta bréf gæti vera tvöfaldur vitnað. 167 00:08:39,380 --> 00:08:41,840 En það er röð af núll eða fleiri stafi. 168 00:08:41,840 --> 00:08:43,650 >> Sviga-n, þó lítur, svolítið skrítið. 169 00:08:43,650 --> 00:08:46,290 En það þýddi einfaldlega eitthvað einfalt í tölvuna. 170 00:08:46,290 --> 00:08:48,060 Hvað er sviga-n? 171 00:08:48,060 --> 00:08:48,570 Nýja línu. 172 00:08:48,570 --> 00:08:52,490 Svo er það bara sérstakt röð stafir sem heimurinn hefur ákveðið 173 00:08:52,490 --> 00:08:56,880 þýðir að setja inn línu brot þarna, vegna þess að þýðandinn muni raunverulega fá 174 00:08:56,880 --> 00:09:02,280 rugla, yfirleitt, ef þú, mjög skiljanlega, en rangt, bara 175 00:09:02,280 --> 00:09:04,570 byrja hitting á Enter til að setja nýjar línur í kóðann þinn. 176 00:09:04,570 --> 00:09:07,150 Þú þarft að vera svolítið meira skýr með sviga-n. 177 00:09:07,150 --> 00:09:10,540 >> Og við munum sjá að það er nokkur önnur slík mynstur fyrir sértákn. 178 00:09:10,540 --> 00:09:14,340 Fyrir dæmi, ef þú vildir láta þinn hugur reika í horn ræða, 179 00:09:14,340 --> 00:09:18,080 Segjum að ég vildi að prenta út tvöfaldur vitna á skjánum 180 00:09:18,080 --> 00:09:21,840 hvað sem ástæða, sem virðist vera svolítið erfið, ekki satt? 181 00:09:21,840 --> 00:09:24,990 Vegna þess að ef ég setti tvöfaldan vitna í miðja "Halló, heimur," fyrir hvað 182 00:09:24,990 --> 00:09:30,120 ástæðan, hvers vegna hjartarskinn það virðast hugsanlega erfið? 183 00:09:30,120 --> 00:09:32,180 Það brýtur band. 184 00:09:32,180 --> 00:09:34,700 >> Þýðandinn er bara program. 185 00:09:34,700 --> 00:09:37,210 A program eins þýðanda er bara að fara að lesa kóða efst til botn, 186 00:09:37,210 --> 00:09:37,990 vinstri til hægri. 187 00:09:37,990 --> 00:09:41,850 Og ef sér þrjú gæsalappa í staðinn tveggja, það er ekki að fara að vita 188 00:09:41,850 --> 00:09:45,210 ef þú átt að hlutur til vinstri ætti að vera strengur, eða hlutur til 189 00:09:45,210 --> 00:09:46,570 rétt, eða the heild hlutur. 190 00:09:46,570 --> 00:09:50,560 Það er óljós, og svo það sem er dæmigerður þýðanda myndi gera er bara að Freak út, 191 00:09:50,560 --> 00:09:53,710 og gefa þér villa skilaboð og gera þú takast á við vandann. 192 00:09:53,710 --> 00:09:58,120 >> Svo í ljósi þess að sviga-n merkir nýtt lína, hvað myndi eðlishvöt nú 193 00:09:58,120 --> 00:10:02,610 byrja að vera ef þú vildir að fela eitthvað óeðlilegur eins tvöfaldur 194 00:10:02,610 --> 00:10:06,210 vitna inni þessa annars-vitna band? 195 00:10:06,210 --> 00:10:07,640 Sviga-tvöfaldur vitna. 196 00:10:07,640 --> 00:10:09,630 Og svo við munum sjá þetta konar mynstur líka. 197 00:10:09,630 --> 00:10:12,490 >> Ef þú vilt gera eitthvað smá undarlegt, munt þú finna að 198 00:10:12,490 --> 00:10:15,060 lausnir fylgja oft mynstur, Og sviga 199 00:10:15,060 --> 00:10:17,150 táknar að flýja röð. 200 00:10:17,150 --> 00:10:20,320 Og það þýðir bara eitthvað sérstakt að við þurfum að tákna í 201 00:10:20,320 --> 00:10:21,060 mismunandi hátt. 202 00:10:21,060 --> 00:10:23,830 Eins og fyrir hvernig þú ert í forsvari A sviga, vel, munum við 203 00:10:23,830 --> 00:10:24,550 koma aftur til það. 204 00:10:24,550 --> 00:10:26,930 En svarið, of, er reyndar svolítið augljóst. 205 00:10:26,930 --> 00:10:31,080 >> Svo skulum nú kynna nokkrar aðrar forritun býr 206 00:10:31,080 --> 00:10:31,915 sem þú sást í grunni. 207 00:10:31,915 --> 00:10:34,790 Þú hefur sennilega tekið sem sjálfsögðum hlut þegar ef þú hefur þegar kafa inn 208 00:10:34,790 --> 00:10:36,060 Heimadæmi 0. 209 00:10:36,060 --> 00:10:40,950 En við skulum nú kynna setningafræði í C fyrir þessum annars nokkuð leiðandi 210 00:10:40,950 --> 00:10:42,300 hugmyndir, að minnsta kosti sumir þeirra. 211 00:10:42,300 --> 00:10:45,570 >> Þannig að þetta hugmynd af ástandi eða útibú, en áður við 212 00:10:45,570 --> 00:10:49,330 fulltrúa það með kóða sem leit svona á eftir í grunni - 213 00:10:49,330 --> 00:10:52,200 ef x er minna en y, þá segja það - 214 00:10:52,200 --> 00:10:56,760 stað núna í C - láta mig skerpa í á einföldustu tilvikum - 215 00:10:56,760 --> 00:11:01,235 við erum einfaldlega að fara að segja, að opna sviga, eitthvað er satt - að 216 00:11:01,235 --> 00:11:04,190 Boolean tjáningu er að fara að fara þar sem ég hef sagt ástand - 217 00:11:04,190 --> 00:11:08,170 loka sviga, þá gera það sem er inni af þeim hrokkið axlabönd. 218 00:11:08,170 --> 00:11:11,020 >> Svo hér, of, the hrokkið axlabönd eru eins konar eins er Scratch 219 00:11:11,020 --> 00:11:12,460 U-laga ráðgáta stykki. 220 00:11:12,460 --> 00:11:14,890 Ekki hvað er inni þessum hrokkið axlabönd. 221 00:11:14,890 --> 00:11:16,790 Í þessu tilviki, rista rista. 222 00:11:16,790 --> 00:11:19,720 Og taka þetta er fram rista, ekki a sviga. 223 00:11:19,720 --> 00:11:21,440 Forward rista, skástrik, fyrir þá sem hafa forritað 224 00:11:21,440 --> 00:11:23,370 áður, þýðir bara - 225 00:11:23,370 --> 00:11:24,190 það er bara athugasemd. 226 00:11:24,190 --> 00:11:26,630 A athugasemd er ekki lína af kóða, í sjálfu sér. 227 00:11:26,630 --> 00:11:30,200 Það er lína í ensku sem þú, manna, hafa skrifað sjálfur að 228 00:11:30,200 --> 00:11:33,540 kannski minna þig á að gera eitthvað, til útskýra sjálfur, að útskýra 229 00:11:33,540 --> 00:11:35,260 einhver annar, hvað númerið þitt er að gera. 230 00:11:35,260 --> 00:11:37,050 Það er bara lýsandi athugasemd. 231 00:11:37,050 --> 00:11:40,880 >> Nú, auðvitað getum við haft tvo-vegur punga í veginum með því að gera þetta, 232 00:11:40,880 --> 00:11:43,930 þrír-vegur punga í veginum með því að gera þetta, og ef þú heldur áfram þetta 233 00:11:43,930 --> 00:11:47,570 mynstur, þú geta hafa fjórir-átta, fimm-vegur, sex-átta gafflar á veginum ef 234 00:11:47,570 --> 00:11:50,150 þú þarft að vinna, reyndar, sem margir aðstæður. 235 00:11:50,150 --> 00:11:52,010 Og þá taka eftir parallelism hér - 236 00:11:52,010 --> 00:11:55,070 if (skilyrði), annars ef (skilyrði), og sú eina sem er lítið 237 00:11:55,070 --> 00:11:58,010 undarlegt er síðasta, sem er bara að annað. 238 00:11:58,010 --> 00:12:01,170 En aftur, þetta er nákvæmlega eins, eðli, að það sem við höfum gert 239 00:12:01,170 --> 00:12:04,690 nú þegar, jafnvel þótt setningafræði mun taka smá að venjast. 240 00:12:04,690 --> 00:12:07,730 >> Nú, í þessu dæmi, þá eru einhver annar skrýtinn setningafræði. 241 00:12:07,730 --> 00:12:11,220 Við sjáum printf aftur, opna sviga, og loka sviga. 242 00:12:11,220 --> 00:12:13,190 Og inni þar er A vitna band. 243 00:12:13,190 --> 00:12:17,060 Sviga, í samhengi af printf, fara á vinstri 244 00:12:17,060 --> 00:12:18,160 og hægri hvað? 245 00:12:18,160 --> 00:12:22,190 Hvað lýsa við að vitnað band sem almennt? 246 00:12:22,190 --> 00:12:23,320 >> Svo er það rök. 247 00:12:23,320 --> 00:12:26,620 Hvert sinn sem þú ert með virka, eins og printf, og þá opinn paren og 248 00:12:26,620 --> 00:12:30,330 loka paren og eitthvað inni það, hvort sem það er a band, eða 249 00:12:30,330 --> 00:12:34,420 heiltala, eða eitthvað annað, sem í milli þessara sviga er kallað 250 00:12:34,420 --> 00:12:35,110 rök. 251 00:12:35,110 --> 00:12:37,910 >> Og rök áhrif bara Fallið er hegðun. 252 00:12:37,910 --> 00:12:39,990 Í þessu tilfelli, er það nokkuð ljóst hvernig. 253 00:12:39,990 --> 00:12:44,480 x 00:12:47,720 Og printf er að fara að prenta einmitt það. 255 00:12:47,720 --> 00:12:51,590 Vegna vafalaust, sá árum sem framkvæmd printf hafði ekki hugmynd 256 00:12:51,590 --> 00:12:55,000 hvað við manna eftirmenn voru fara að nota printf fyrir. 257 00:12:55,000 --> 00:12:58,610 Svo er að hvers vegna rök fyrir hendi, til áhrif á hegðun eftir fall er 258 00:12:58,610 --> 00:12:59,450 verið skrifað. 259 00:12:59,450 --> 00:13:00,780 >> Nú, Boolean tjáningu. 260 00:13:00,780 --> 00:13:02,470 Við höfum séð þetta áður í grunni. 261 00:13:02,470 --> 00:13:06,680 Það kemur í ljós í C þú getur líka "eða" þá saman, svo að segja. 262 00:13:06,680 --> 00:13:10,930 Tveir lóðrétt bars þýðir að þessi blokk af kóða, þetta gera þetta, mun 263 00:13:10,930 --> 00:13:15,350 framkvæma ef fyrsta skilyrðið er satt eða annað ástand er satt. 264 00:13:15,350 --> 00:13:17,710 Og jafnvel þó að þú gætir ekki hafa gert þetta í grunni, gastu örugglega 265 00:13:17,710 --> 00:13:20,580 gera þetta í grunni, og þú getur líka tjá þig öðruvísi - 266 00:13:20,580 --> 00:13:25,300 ef fyrsta skilyrðinu og annað ástand er satt, þá gera það sem er 267 00:13:25,300 --> 00:13:27,160 inni á hrokkið axlabönd. 268 00:13:27,160 --> 00:13:31,210 >> Og rétt eins og innskot, the ástæða það er tvöfaldur merkið og tvöfalda 269 00:13:31,210 --> 00:13:34,610 lóðrétt bar, munum við sjá að lokum að eitt lóðrétt bar og 270 00:13:34,610 --> 00:13:38,710 einn merkið hefur í raun mismunandi merkingu í C. Svo nú, 271 00:13:38,710 --> 00:13:41,840 sem tvíverknað af táknum er viljandi. 272 00:13:41,840 --> 00:13:45,070 >> Svo skulum kynna, í stuttu máli, þetta önnur hluti af setningafræði. 273 00:13:45,070 --> 00:13:48,940 Þetta er ekki alveg að bera yfir Scratch, en ég halda því fram að ég get 274 00:13:48,940 --> 00:13:55,190 innleiða hugmyndina um að ef annað, ef annað, ef annað, ef annað yfirlýsingu með 275 00:13:55,190 --> 00:13:56,760 eitthvað sem kallast a skipta yfirlýsingu. 276 00:13:56,760 --> 00:14:00,820 Og eina ástæðan þetta virkilega til er bara að gefa þér, forritari, sem 277 00:14:00,820 --> 00:14:05,470 aðeins öðruvísi leið til að leysa sum vandamál, jafnvel þó að rökrétt það 278 00:14:05,470 --> 00:14:07,340 ekki gefa þér neinar nýjar getu. 279 00:14:07,340 --> 00:14:08,530 >> Eftir að ég meina þetta. 280 00:14:08,530 --> 00:14:13,330 Þegar þú segir skipta, og þá pláss, og þá a par af sviga, inni 281 00:14:13,330 --> 00:14:14,570 sem fer tjáning - 282 00:14:14,570 --> 00:14:18,010 og þetta gæti verið smá ekki augljós í fyrstu, en þetta er ekki rök, 283 00:14:18,010 --> 00:14:20,680 tæknilega, vegna skipta er ekki fall. 284 00:14:20,680 --> 00:14:24,230 Svo að nú, bara gera ráð fyrir að við erum að nota sviga í mismunandi stöðum 285 00:14:24,230 --> 00:14:25,250 fyrir mismunandi ástæðum. 286 00:14:25,250 --> 00:14:29,310 >> Svo þýðir að kveikja á tjáningu ég get setja breytilega inni þá 287 00:14:29,310 --> 00:14:31,350 sviga þar sem hún segir tjáningu. 288 00:14:31,350 --> 00:14:33,090 Og þá ef það breyta - 289 00:14:33,090 --> 00:14:35,400 Segjum það heitir x og það er bara heiltala - 290 00:14:35,400 --> 00:14:38,900 Ég get þá telja í mynd mína hér eitthvað eins og this. 291 00:14:38,900 --> 00:14:41,690 Ef x er breytilegt minn, og ég langar að gera eitthvað ef x 292 00:14:41,690 --> 00:14:43,480 jafngildir 1, get ég gert það. 293 00:14:43,480 --> 00:14:46,660 >> Ef ég vil í staðinn að gera eitthvað ef x er 2, get ég gert það. 294 00:14:46,660 --> 00:14:50,390 Annars, ef ég vil gera eitthvað annað alveg, get ég með sjálfgefna mál í 295 00:14:50,390 --> 00:14:52,750 sem ef ég gera þetta annar hlutur. 296 00:14:52,750 --> 00:14:58,730 Þannig að í þeim skilningi, er það samsvarandi við ef x er jafnt jafngildir 1, annars ef annað, 297 00:14:58,730 --> 00:15:01,150 en ég nefni þetta nú bara vegna þess að við munum sjá hana aftur. 298 00:15:01,150 --> 00:15:03,720 En nú, bara vita að það er til staðar. 299 00:15:03,720 --> 00:15:04,220 >> Allt í lagi. 300 00:15:04,220 --> 00:15:07,660 Svo þetta síðasta par eru lítið meira flókið við fyrstu sýn, en þeir gera 301 00:15:07,660 --> 00:15:09,385 eitthvað frekar einfalt. 302 00:15:09,385 --> 00:15:14,410 A fyrir lykkju í C er klumpur af kóða sem bara gerir eitthvað aftur og 303 00:15:14,410 --> 00:15:15,330 aftur og aftur. 304 00:15:15,330 --> 00:15:17,590 Og aðeins pirrandi hlutur óður í það er það er að það er lítið dulinn 305 00:15:17,590 --> 00:15:21,380 að tjá þig í þessari sveiflu mynstur, en heimurinn stöðluð á 306 00:15:21,380 --> 00:15:22,450 á eftirfarandi hátt. 307 00:15:22,450 --> 00:15:25,760 >> Þegar þú notar fyrir lykkju, hefur þú fengið a par af sviga aftur. 308 00:15:25,760 --> 00:15:27,570 Og taka tvö semikommum þar. 309 00:15:27,570 --> 00:15:34,380 Þessir tveir semikommum aðskilin þrjú mismunandi tjáning inni í 310 00:15:34,380 --> 00:15:35,020 sviga. 311 00:15:35,020 --> 00:15:37,170 Einn er svokölluð initializations. 312 00:15:37,170 --> 00:15:38,830 Eitt er svokölluð ástand. 313 00:15:38,830 --> 00:15:40,210 Og eitt er svokölluð uppfærslur. 314 00:15:40,210 --> 00:15:43,240 >> Horft er á í ágrip, þetta er alveg ekki augljóst, þannig að við skulum líta 315 00:15:43,240 --> 00:15:44,630 á steypu dæmi. 316 00:15:44,630 --> 00:15:46,720 Í grunni við áttum endurtaka blokk. 317 00:15:46,720 --> 00:15:50,670 Og þetta blokk sagði endurtaka 10 sinnum, segja "Halló, heimur." Leyfðu mér að halda því fram að 318 00:15:50,670 --> 00:15:53,810 nú, og við munum koma aftur til þetta, og þetta líka, vilja fá fleiri kunnugleg 319 00:15:53,810 --> 00:15:57,345 þú áður lengi, sem nemur C kóða má segja að þetta - 320 00:15:57,345 --> 00:16:02,320 a fyrir yfirlýsingu og rúm, a par af sviga, taka þær semikommum í 321 00:16:02,320 --> 00:16:05,730 þar skilja sem þrjú aðskilin hlutir, frumstilling, the 322 00:16:05,730 --> 00:16:07,320 ástand, og uppfærslu. 323 00:16:07,320 --> 00:16:08,840 >> Og taka giska hvað fyrsta er að gera. 324 00:16:08,840 --> 00:16:10,690 Int i = 0. 325 00:16:10,690 --> 00:16:15,120 Í skilmálum gróft leikmaður, hvað er að gera fyrir okkur, sennilega? 326 00:16:15,120 --> 00:16:15,590 Svo já. 327 00:16:15,590 --> 00:16:19,630 Það er að lýsa yfir breytu sem heitir i, og það er að gefa það hvers virði? 328 00:16:19,630 --> 00:16:20,220 0. 329 00:16:20,220 --> 00:16:24,280 Svo það er að búa til breytu sem heitir i, geyma gildið 0 í henni. 330 00:16:24,280 --> 00:16:26,420 Það er svokölluð frumstilling. 331 00:16:26,420 --> 00:16:29,360 >> Allt í lagi, nú ég hélt áður að miðju hlutur, ég 332 00:16:29,360 --> 00:16:31,760 <10, er ástand. 333 00:16:31,760 --> 00:16:32,730 Svo hvað er að gera? 334 00:16:32,730 --> 00:16:36,560 Jæja, hvað um lykkja er þegar program með for lykkju er litið, er 335 00:16:36,560 --> 00:16:41,050 hvert skipti sem tölvan keyrir í gegnum Þessi lykkja, toppur til botn, toppur til 336 00:16:41,050 --> 00:16:43,740 botn, rétt eins og þú krakkar gerði þegar telja ykkur og sitja niður, 337 00:16:43,740 --> 00:16:47,090 aftur og aftur og aftur, tölvan er að fara 338 00:16:47,090 --> 00:16:48,560 til að athuga hvort ástand. 339 00:16:48,560 --> 00:16:51,140 Og ef ég er minni en 10, það mun gera það aftur. 340 00:16:51,140 --> 00:16:53,100 Ef ég er minni en 10, það mun gera það aftur. 341 00:16:53,100 --> 00:16:55,030 Ef ég er minna en tíu, það mun gera það aftur. 342 00:16:55,030 --> 00:16:57,330 Svo sem virðist benda til þess að vonandi ég er að breytast. 343 00:16:57,330 --> 00:16:59,010 Annars viljum við hafa óendanlega lykkju. 344 00:16:59,010 --> 00:17:02,590 Og reyndar, er ég að breytast, vegna þess að síðasta sem eftir semíkommu þar 345 00:17:02,590 --> 00:17:05,569 er nokkuð dulinn setningafræði I + +. 346 00:17:05,569 --> 00:17:07,630 En þeir sem hafa gert þetta áður, sem þýðir bara 347 00:17:07,630 --> 00:17:08,609 einfaldlega hvað? 348 00:17:08,609 --> 00:17:09,730 >> NEMENDUR: [INTERPOSING raddir]. 349 00:17:09,730 --> 00:17:10,740 >> DAVID Malan: Bæta 1 til i. 350 00:17:10,740 --> 00:17:11,819 Vöxtur i. 351 00:17:11,819 --> 00:17:13,910 Þannig að við sáum að klóra þraut stykki fyrir það, reyndar. 352 00:17:13,910 --> 00:17:18,230 Það leit ekki út eins og ég + +, en það bara þýðir einfaldlega, vöxtur í 353 00:17:18,230 --> 00:17:24,040 gildi ég um 1 í hvert skipti sem þú gerir þetta. 354 00:17:24,040 --> 00:17:26,910 Svo bókstaflega, byrja þú með Frumstilli i til 0. 355 00:17:26,910 --> 00:17:29,520 Þú athuga þá ástand þitt. 356 00:17:29,520 --> 00:17:31,070 Er 0 minna en 10? 357 00:17:31,070 --> 00:17:31,730 Já. 358 00:17:31,730 --> 00:17:32,910 Við förum í gegnum lykkjuna. 359 00:17:32,910 --> 00:17:35,150 >> Það næsta sem ég krafa the tölva ' að fara að gera er að það er að fara 360 00:17:35,150 --> 00:17:35,910 að hækka i. 361 00:17:35,910 --> 00:17:37,080 Svo er ég núna 1. 362 00:17:37,080 --> 00:17:37,940 Það fer yfir ástand. 363 00:17:37,940 --> 00:17:39,290 Er 1 minna en 10? 364 00:17:39,290 --> 00:17:39,930 Auðvitað. 365 00:17:39,930 --> 00:17:41,030 Svo er það aftur. 366 00:17:41,030 --> 00:17:43,580 Þá hækkar I + + til 2. 367 00:17:43,580 --> 00:17:44,610 Er 2 minna en 10? 368 00:17:44,610 --> 00:17:45,230 Já. 369 00:17:45,230 --> 00:17:46,670 Og aftur og aftur og aftur. 370 00:17:46,670 --> 00:17:50,070 Og að lokum, vegna þess að plús-plussing, fáum við að ég jafngildir 10. 371 00:17:50,070 --> 00:17:51,675 Er 10 minna en 10? 372 00:17:51,675 --> 00:17:52,990 Jæja, augljóslega ekki. 373 00:17:52,990 --> 00:17:55,320 Og það er málið þar sem for lykkjunnar hættir bara. 374 00:17:55,320 --> 00:17:58,320 Og ef þú ert með fleiri kóðann á skjár niðri, the tölva 375 00:17:58,320 --> 00:18:01,620 ágóði til hlaupa þessi númer í staðinn. 376 00:18:01,620 --> 00:18:05,380 >> Svo aftur, jafnvel þótt það er að fara að útlit og feel a lítill undarlegt á 377 00:18:05,380 --> 00:18:07,830 fyrst, vissulega fyrir þá sem hafa aldrei forritað áður, það 378 00:18:07,830 --> 00:18:11,640 bókstaflega dregur eðli hvað er annars mjög 379 00:18:11,640 --> 00:18:14,330 einfalt púsluspil stykki í grunni. 380 00:18:14,330 --> 00:18:19,130 >> Allt í lagi, lofaði ég að það myndi vera annar hliðstæður í grunni. 381 00:18:19,130 --> 00:18:20,060 Það er þetta líka. 382 00:18:20,060 --> 00:18:21,700 Og við sáum þetta stuttlega síðasta skipti. 383 00:18:21,700 --> 00:18:23,530 En muna endanlega loka í grunni? 384 00:18:23,530 --> 00:18:25,490 Það er bara eitthvað að eilífu? 385 00:18:25,490 --> 00:18:27,470 Ég hélt að þú gætir innleiða þetta á þennan hátt. 386 00:18:27,470 --> 00:18:29,740 Og þú getur raunverulega framkvæma þetta í fullt af mismunandi vegu. 387 00:18:29,740 --> 00:18:34,260 >> En meðan lykkja er bara öðruvísi leið C til að tjá þig. 388 00:18:34,260 --> 00:18:37,080 Í lok dagsins, þú getur ekki gert nokkuð með while lykkju sem þú 389 00:18:37,080 --> 00:18:38,360 getur ekki með for lykkju. 390 00:18:38,360 --> 00:18:41,430 Svo þeir eru í lok daga virkni sú sama. 391 00:18:41,430 --> 00:18:43,840 En það gerir þér kleift að tjá þig svolítið öðruvísi í 392 00:18:43,840 --> 00:18:44,850 á eftirfarandi hátt. 393 00:18:44,850 --> 00:18:49,720 >> Með while lykkju, það hvað er í sviga sem er athugað aftur og 394 00:18:49,720 --> 00:18:51,050 aftur og aftur. 395 00:18:51,050 --> 00:18:55,100 Og um leið og það mál er ósatt, þá stoppar lykkja framkvæmd, 396 00:18:55,100 --> 00:18:57,890 og tölvan fer áfram til keyra hvað önnur númer sem þú 397 00:18:57,890 --> 00:18:59,230 hafa í skránni þinni. 398 00:18:59,230 --> 00:19:02,180 >> En hvað er áhugavert hér er að ég gafst bókstaflega satt. 399 00:19:02,180 --> 00:19:06,680 Og satt er tegund af Boolean gildi, sannur eða falskur gildi. 400 00:19:06,680 --> 00:19:09,750 Svo gæti satt alltaf orðið falskur ef ég hef bókstaflega 401 00:19:09,750 --> 00:19:11,970 harður-dulmáli það inn áætlun mína? 402 00:19:11,970 --> 00:19:12,470 Svo enginn. 403 00:19:12,470 --> 00:19:13,730 Það er svolítið skrítið að ég gerði þetta. 404 00:19:13,730 --> 00:19:15,190 En satt er satt. 405 00:19:15,190 --> 00:19:16,320 Það er engin plús-plussing. 406 00:19:16,320 --> 00:19:17,820 Það er engin notkun á breytum í hér. 407 00:19:17,820 --> 00:19:22,740 Svo vegna þess að ég harður-dulmáli meðan satt, þetta lykkja er alltaf að fara að meta 408 00:19:22,740 --> 00:19:24,090 aftur og aftur og aftur. 409 00:19:24,090 --> 00:19:27,660 >> Svo hvernig margir sinnum er Halló heimur að fara að prenta á skjánum? 410 00:19:27,660 --> 00:19:28,170 Eilífu. 411 00:19:28,170 --> 00:19:31,980 Óendanlegur fjöldi af sinnum þar til rafhlaðan deyr eða einhver önnur utanaðkomandi 412 00:19:31,980 --> 00:19:32,730 atburður gerist. 413 00:19:32,730 --> 00:19:35,880 Svo er þetta líklega ekki besta program að skrifa, því ef notandi 414 00:19:35,880 --> 00:19:38,660 getur aldrei hætta program, það er sennilega ekki það sem þú ætlaðir. 415 00:19:38,660 --> 00:19:41,070 >> En stundum, forrit ætti hafa óendanlega lykkju. 416 00:19:41,070 --> 00:19:44,050 Fyrir dæmi, ef þinn tölva hefur a klukka á það, vissulega væri 417 00:19:44,050 --> 00:19:48,130 gott ef klukka er það að halda að uppfæra sig að eilífu, að vísu einu sinni á 418 00:19:48,130 --> 00:19:50,500 annað eða einu sinni mínútu eða eitthvað svoleiðis. 419 00:19:50,500 --> 00:19:53,690 Svo jafnvel óendanlega lykkjur gera hafa þeirra stað. 420 00:19:53,690 --> 00:19:54,360 >> Allt í lagi. 421 00:19:54,360 --> 00:19:55,190 Loksins, þetta. 422 00:19:55,190 --> 00:19:57,770 Og þetta er svolítið öðruvísi virkni, og við munum koma aftur til 423 00:19:57,770 --> 00:19:59,460 þetta líklega í Pset 1. 424 00:19:59,460 --> 00:20:02,370 En það er önnur tegund af lykkju kallað gera á meðan lykkja. 425 00:20:02,370 --> 00:20:07,100 Og eini munurinn hér á milli gera á meðan lykkja og segja, að meðan lykkja, 426 00:20:07,100 --> 00:20:11,120 er að ástand er valið ekki áður en þú framkvæma kóðann, en eftir 427 00:20:11,120 --> 00:20:12,080 þú framkvæma kóðann. 428 00:20:12,080 --> 00:20:15,380 Svo efst á meðan lykkja, en gera á meðan 429 00:20:15,380 --> 00:20:16,560 stöðva það neðst. 430 00:20:16,560 --> 00:20:21,370 >> Og þetta þýðir bara að á meðan lykkja yfirleitt framkvæma oftar 431 00:20:21,370 --> 00:20:24,630 eða færri sinnum en a while lykkju? 432 00:20:24,630 --> 00:20:30,810 Hugsanlega fleiri sinnum, vegna þess að gera meðan lykkja er greinilega að segja að gera þetta, 433 00:20:30,810 --> 00:20:34,600 aðeins eftir sem benda þú stöðva ef ástand inni við 434 00:20:34,600 --> 00:20:35,980 sviga er satt. 435 00:20:35,980 --> 00:20:37,940 >> Þannig að við munum sjá þetta aftur líklega í Pset 1. 436 00:20:37,940 --> 00:20:41,150 Ef þú vilt alltaf að gera eitthvað í kosti einu sinni og þá kannski meira 437 00:20:41,150 --> 00:20:43,350 sinnum, þetta er góð smíða á að nota. 438 00:20:43,350 --> 00:20:46,970 En meðan lykkja, hins vegar mun athuga ástand hennar fyrst. 439 00:20:46,970 --> 00:20:50,660 Og það er það fyrir lykkjur í C, gera á meðan, á meðan og eftir lykkjur. 440 00:20:50,660 --> 00:20:54,700 Og aftur, landakort þeir nokkuð vel til baka að klóra, nema þetta virkar ekki 441 00:20:54,700 --> 00:20:57,350 alveg hafa sömu byggður á hliðstæðum í grunni. 442 00:20:57,350 --> 00:20:58,880 >> Jæja, hvernig væri nú, breytur? 443 00:20:58,880 --> 00:21:02,600 Svo er þetta hvernig ég lýst breytu setningafræðilega um daginn. 444 00:21:02,600 --> 00:21:06,440 Ég hafði int sem ég krafa er heiltala. 445 00:21:06,440 --> 00:21:09,690 Ég hafði þá breytilega heitir gegn, og þá semíkommu. 446 00:21:09,690 --> 00:21:11,070 Svo hvað er þetta lína af aðgerð númer? 447 00:21:11,070 --> 00:21:14,540 Þetta er einfaldlega, lýsa breytu - 448 00:21:14,540 --> 00:21:17,940 sem er, spyrja tölvuna, gefa mér sumir minni, gefa mér bita - í 449 00:21:17,940 --> 00:21:19,450 sem ég get geymt hvað? 450 00:21:19,450 --> 00:21:20,300 Int. 451 00:21:20,300 --> 00:21:23,570 Og semíkommu þýðir bara enda línu af kóða. 452 00:21:23,570 --> 00:21:25,500 >> Nú, seinni línan er líklega nokkuð guessable. 453 00:21:25,500 --> 00:21:29,710 Hvað er gegn = 0; gera? 454 00:21:29,710 --> 00:21:31,690 Það er framselja 0 gegn. 455 00:21:31,690 --> 00:21:33,470 Og svo er þetta annar hlutur sem er svolítið pirrandi 456 00:21:33,470 --> 00:21:34,540 móti, segja, algebru. 457 00:21:34,540 --> 00:21:39,110 En í algebru, jafnan tákn þýðir jafningjar, hér í C, jafnan 458 00:21:39,110 --> 00:21:40,470 tákn merkir verkefni. 459 00:21:40,470 --> 00:21:45,380 Svo þýðir það að setja hvað er á hægri í hvað er á vinstri. 460 00:21:45,380 --> 00:21:49,030 Og við munum sjá aðra tákn, jafngildir jafngildir, þegar við viljum í raun og veru prófa 461 00:21:49,030 --> 00:21:50,570 fyrir gæði, nokkuð annoyingly. 462 00:21:50,570 --> 00:21:52,590 >> En þetta er svolítið óhagkvæm. 463 00:21:52,590 --> 00:21:55,090 Það er eins konar pirrandi að ég hef að lýsa yfir breytu og 464 00:21:55,090 --> 00:21:56,110 þá gefa það a gildi. 465 00:21:56,110 --> 00:21:59,380 Svo C leyfir reyndar okkur einfalda þetta og bara gera það allt í einu. 466 00:21:59,380 --> 00:22:01,330 Þú getur lýst breytan á vinstri. 467 00:22:01,330 --> 00:22:04,590 Þú getur enn gert verkefni á rétt með því að setja þessi jafn merki í 468 00:22:04,590 --> 00:22:05,030 miðju. 469 00:22:05,030 --> 00:22:08,740 Svo í lok dagsins, eru þessar tvær jafngildir, en þetta eitt, hreinskilnislega, 470 00:22:08,740 --> 00:22:11,840 er líklega betra venja að fá inn bara vegna þess að það er aðeins minna 471 00:22:11,840 --> 00:22:15,040 kóða, er það svolítið auðveldara að lesa, og það tightens bara upp 472 00:22:15,040 --> 00:22:17,470 númerið þitt, svo að segja. 473 00:22:17,470 --> 00:22:22,120 >> Einhverjar spurningar svona langt á lykkjur, á breytum, um skilyrði á 474 00:22:22,120 --> 00:22:27,001 Booleans, annaðhvort tæknilega eða eðli? 475 00:22:27,001 --> 00:22:28,010 Allt í lagi. 476 00:22:28,010 --> 00:22:30,690 Svo nú fær þetta næsta einn á aðeins meira áhugavert. 477 00:22:30,690 --> 00:22:34,790 Og þetta er dæmi sem ég setti upp síðasta sinn sem bara Maps Scratch dæmi 478 00:22:34,790 --> 00:22:35,820 yfir til C. 479 00:22:35,820 --> 00:22:36,580 >> Svo fall. 480 00:22:36,580 --> 00:22:38,110 Í skilmálum leikmaður er, hvað er fall? 481 00:22:38,110 --> 00:22:42,900 482 00:22:42,900 --> 00:22:44,350 Fékk að vera bolder með svari þínu. 483 00:22:44,350 --> 00:22:45,020 Hvað er fall? 484 00:22:45,020 --> 00:22:46,320 >> STUDENT: Er eitthvað. 485 00:22:46,320 --> 00:22:46,780 >> DAVID Malan: Hvað er þetta? 486 00:22:46,780 --> 00:22:48,000 >> STUDENT: Er eitthvað. 487 00:22:48,000 --> 00:22:48,710 >> DAVID Malan: Er eitthvað. 488 00:22:48,710 --> 00:22:49,000 OK. 489 00:22:49,000 --> 00:22:49,590 Við munum byrja þar. 490 00:22:49,590 --> 00:22:51,270 Svo er fall eitthvað. 491 00:22:51,270 --> 00:22:55,160 Svo það er a stykki af kóða sem er raun til framkvæmda annars staðar að 492 00:22:55,160 --> 00:22:56,620 reyndar er eitthvað. 493 00:22:56,620 --> 00:23:00,180 Nú, hvað er áhugavert um fall er að það getur tekið inntak, 494 00:23:00,180 --> 00:23:02,710 og það er hægt að framleiða framleiðsla. 495 00:23:02,710 --> 00:23:05,090 Og við skulum raunverulega taka líta á þetta. 496 00:23:05,090 --> 00:23:09,030 >> Svo maðurinn á bak við fortjaldið var vísvitandi fyrir augnabliki. 497 00:23:09,030 --> 00:23:10,320 Hér höfum við töflu. 498 00:23:10,320 --> 00:23:13,010 En geri ráð fyrir að þetta í raun táknar stór kassi. 499 00:23:13,010 --> 00:23:14,940 Svo er þetta svokölluð svartur kassi. 500 00:23:14,940 --> 00:23:19,800 Og almennt, í hönnun, í tölvu vísindi, vísa svarta kassa bara til 501 00:23:19,800 --> 00:23:22,510 stykki af virkni sem einhver hefur innleitt, og þú ert ekki 502 00:23:22,510 --> 00:23:26,140 endilega vita eða sama hvernig það er framkvæmda undir hetta. 503 00:23:26,140 --> 00:23:28,960 Þú kæra bara að þetta svartur kassi, sem við munum nú hefja starf á 504 00:23:28,960 --> 00:23:30,730 virka, gerir eitthvað. 505 00:23:30,730 --> 00:23:34,710 >> Svo, til dæmis, ef þetta svarta kassann á sviðið hér táknar printf, sem 506 00:23:34,710 --> 00:23:38,040 virka, ég veit af fyrri dæmum sem tekur printf einn eða fleiri 507 00:23:38,040 --> 00:23:40,910 rök, og fyrst af þeim rök ættu að vera strengur, eins 508 00:23:40,910 --> 00:23:44,780 "Halló, heimur." Jæja, ef ég er maður skrifa forrit, og ég vil 509 00:23:44,780 --> 00:23:50,460 að nota printf,, ég til dæmis, gæti taka stykki af eyða pappír hér og 510 00:23:50,460 --> 00:23:55,060 svart merki og rita á hana - 511 00:23:55,060 --> 00:23:56,580 Ég rangt stafsett "heim" - 512 00:23:56,580 --> 00:23:59,560 H-E-L-L-O. 513 00:23:59,560 --> 00:24:04,220 >> Svo ég tek svart merki mitt og ég skrifa, eins stór og læsilega og ég get á 514 00:24:04,220 --> 00:24:07,260 þetta stykki af pappír, "halló, heimur," og nú ég kröfu þetta er rök mín. 515 00:24:07,260 --> 00:24:09,740 Þetta er band fulltrúa með a stykki af hvítum pappír. 516 00:24:09,740 --> 00:24:13,030 Og inntak minn núna að virka printf er að fara að vera svona. 517 00:24:13,030 --> 00:24:18,250 Svo er ég að hringja printf, sem liggur að rökin sem inntak í það. 518 00:24:18,250 --> 00:24:22,110 519 00:24:22,110 --> 00:24:26,740 >> Og nú, ég veit ekki hvernig sá sem skrifaði printf gerði það árum, en 520 00:24:26,740 --> 00:24:31,110 Ég veit af gögnum sínum sem tilgangur þess í lífinu er að prenta það sem ég 521 00:24:31,110 --> 00:24:34,410 veita henni sem inntak. 522 00:24:34,410 --> 00:24:40,630 Og svo, jafnvel þótt það framkvæmd er unbeknownst mér 523 00:24:40,630 --> 00:24:44,170 undir hetta, nú Ég sé, ó, það er gert. 524 00:24:44,170 --> 00:24:45,740 Það hefur prentað eitthvað á skjánum. 525 00:24:45,740 --> 00:24:49,070 Og nú stjórnað af the program, ef það voru fleiri línur af kóða, myndi 526 00:24:49,070 --> 00:24:51,070 hafa nú aftur til mín. 527 00:24:51,070 --> 00:24:52,290 Og svo sú staðreynd að Colton - 528 00:24:52,290 --> 00:24:55,370 blessi hjarta hans, er að fela sig hér undir borð fyrir framan ykkur - 529 00:24:55,370 --> 00:24:59,530 er vísvitandi í að ég veit ekki og ég er alveg sama hversu printf er 530 00:24:59,530 --> 00:25:00,100 framkvæmda. 531 00:25:00,100 --> 00:25:03,390 Ég veit bara, aftur, frá þess skjöl, hvað hún gerir og hvernig ég 532 00:25:03,390 --> 00:25:05,040 er ætlast til að nota það. 533 00:25:05,040 --> 00:25:09,140 >> Nú, muna að printf gæti fengið svolítið flóknari. 534 00:25:09,140 --> 00:25:12,220 Aftur, við erum bara að tala um jafngildir blokk Say Scratch er. 535 00:25:12,220 --> 00:25:14,230 En ég gerði líka þessa síðasta sinn. 536 00:25:14,230 --> 00:25:17,270 Mig langaði til að gera hello forritið mitt er lítið meira dynamic og ekki bara erfitt 537 00:25:17,270 --> 00:25:19,740 númer eitthvað eins og "heim," og örugglega ekki erfitt kóða eitthvað 538 00:25:19,740 --> 00:25:22,520 handahófskennt eins og D-A-V-I-D inn í kerfið. 539 00:25:22,520 --> 00:25:27,510 Mig langaði til að spyrja notanda um hans eða hennar nafn, og þá gera eitthvað með 540 00:25:27,510 --> 00:25:29,720 að strengur sem þeir veita. 541 00:25:29,720 --> 00:25:32,690 >> Svo er það eitthvað svolítið öðruvísi hér. printf, í smá stund síðan, 542 00:25:32,690 --> 00:25:35,860 gerði reyndar gera eitthvað, en það ekki aftur neitt til mín. 543 00:25:35,860 --> 00:25:36,020 Ekki satt? 544 00:25:36,020 --> 00:25:38,910 Colton ekki rétta mér neitt aftur, ekki stykki af pappír. 545 00:25:38,910 --> 00:25:40,320 Það var bara aukaverkun. 546 00:25:40,320 --> 00:25:44,510 Veita minn "halló, heimur" sem rök til Colton leiddi í 547 00:25:44,510 --> 00:25:48,420 aukaverkun orði, nokkur orð, birtist á skjánum. 548 00:25:48,420 --> 00:25:51,350 >> getstring, þó, er lítið öðruvísi. getstring er einnig 549 00:25:51,350 --> 00:25:54,590 virka, en það skilar sumir gildi. 550 00:25:54,590 --> 00:25:56,370 Það þýðir ekki bara að hafa fagurfræðilegu hlið áhrif. 551 00:25:56,370 --> 00:26:00,230 Það gefur í raun mér, sá hringja eða nota aðgerðina, 552 00:26:00,230 --> 00:26:01,320 eitthvað til baka. 553 00:26:01,320 --> 00:26:05,740 Svo í þessu tilfelli, getstring er boða með getstring opinn 554 00:26:05,740 --> 00:26:07,510 paren, loka paren. 555 00:26:07,510 --> 00:26:11,370 Er getstring því taka allir rök eða inntak? 556 00:26:11,370 --> 00:26:12,340 Nei, það virðist ekki. 557 00:26:12,340 --> 00:26:14,460 Tilgangur hennar í lífinu er bara til að fá strenginn. 558 00:26:14,460 --> 00:26:16,910 Það þarf ekkert nánar en það. 559 00:26:16,910 --> 00:26:20,430 Svo láta mig fara á undan og láta sem, aftur, þetta svartur kassi er ekki printf, 560 00:26:20,430 --> 00:26:25,160 en getstring, og láta mig, mann skrifa þetta forrit, hringja eða nota 561 00:26:25,160 --> 00:26:29,720 getstring bara skrifa G-E-T-S-T-R-I-N-G, opið paren, loka 562 00:26:29,720 --> 00:26:32,170 paren, getstring. 563 00:26:32,170 --> 00:26:36,920 >> Nú, ég hef ekki hugmynd um hvernig CS50 starfsfólk framkvæmda getstring, en ég veit að 564 00:26:36,920 --> 00:26:41,240 ef ég bíða nógu lengi, mun það gera sína hlutur undir hetta, kannski með 565 00:26:41,240 --> 00:26:44,940 sumir breytur, kannski nota sumir aðstæður, kannski með einhverja lykkjur, 566 00:26:44,940 --> 00:26:48,170 kannski nota sumar aðgerðir, kannski nota - 567 00:26:48,170 --> 00:26:52,290 bara að reyna að tefja - kannski nota nokkrar aðrar aðgerðir forritun. 568 00:26:52,290 --> 00:26:55,350 En ef ég bíða nógu lengi - í raun og veru, í tölvunni, þetta gerist 569 00:26:55,350 --> 00:26:56,270 frábær fljótur - 570 00:26:56,270 --> 00:26:59,910 ef ég bíða nógu lengi, þessi aðgerð getstring er að fara að fá band 571 00:26:59,910 --> 00:27:04,060 frá notandanum, sem er væntanlega að skrifa það út á lyklaborðinu sínu, og 572 00:27:04,060 --> 00:27:08,090 Þá, þegar þú getstring er gert að fá þessir stafir frá notanda 573 00:27:08,090 --> 00:27:14,080 og geyma þá í band, að virka, getstring, er að fara að hafa 574 00:27:14,080 --> 00:27:17,990 tilbúinn fyrir mig nokkur framleiðsla sem ég er að fara til að sækja með því að sem 575 00:27:17,990 --> 00:27:19,470 verkefni rekstraraðila. 576 00:27:19,470 --> 00:27:25,390 >> Og ef ég fer reyndar í framleiðslu Hér Obosi hefur ríkulega 577 00:27:25,390 --> 00:27:29,900 þátt, án þess að vita þetta í fara, með því að skrifa nafn sitt á þetta 578 00:27:29,900 --> 00:27:33,100 breytu, sem er fulltrúi band. 579 00:27:33,100 --> 00:27:35,640 Nú, úthlutun rekstraraðila þýðir, jafnvel þótt það might feel a lítill 580 00:27:35,640 --> 00:27:38,790 óþarfi, ég raunverulega þörf að gera eigin afrit minn þetta. 581 00:27:38,790 --> 00:27:40,700 Því að á vinstri hönd hlið - Úpps ​​- 582 00:27:40,700 --> 00:27:45,760 eftir því að ég hef í raun band Nafnið á vinstri hönd. 583 00:27:45,760 --> 00:27:48,280 Þannig að ég ætla líka að fara að gera eigið eintak mitt af þessu. 584 00:27:48,280 --> 00:27:50,990 Og þetta er hluti af hvítu liggja, vegna þess að við munum sjá í viku eða tvær er 585 00:27:50,990 --> 00:27:54,100 sinn sem strengir eru í raun ekki hvað þeir virðast vera. 586 00:27:54,100 --> 00:27:56,700 >> En nú, hér er aftur gildi. 587 00:27:56,700 --> 00:28:00,160 Hér er eigin minn eftirlíking af það eftir með verkefnið rekstraraðila. 588 00:28:00,160 --> 00:28:01,790 Og nú, hvað ég vil gera næst? 589 00:28:01,790 --> 00:28:04,080 Við höfum nú annað af tveimur línum af kóða. 590 00:28:04,080 --> 00:28:05,640 Svo ég vil nú kalla printf. 591 00:28:05,640 --> 00:28:08,500 Skulum þykjast nú að svarta kassi er aftur að vera 592 00:28:08,500 --> 00:28:10,210 printf og ekki getstring. 593 00:28:10,210 --> 00:28:12,200 >> Printf þessu sinni er að fara til taka hversu mörg rök? 594 00:28:12,200 --> 00:28:14,890 595 00:28:14,890 --> 00:28:16,770 Svo sjáðu, það er eins og tveggja. 596 00:28:16,770 --> 00:28:18,860 Það er tvær kommu þarna, en einn af þeim kommum, það 597 00:28:18,860 --> 00:28:20,220 inni í gæsalöppum. 598 00:28:20,220 --> 00:28:23,190 Svo er fyrsta rök bókstaflega fara að vera svona. 599 00:28:23,190 --> 00:28:31,850 H-E-L-L-O, komma, hlutfall s, sviga-n. 600 00:28:31,850 --> 00:28:36,560 Og nú er ég að veita ekki eitt viðfang, en tveir rök til printf. 601 00:28:36,560 --> 00:28:39,530 >> Og hvað er printf að gera við þessir tveir inntak eftir að ég fara þá í 602 00:28:39,530 --> 00:28:42,050 sem rök? 603 00:28:42,050 --> 00:28:45,360 Það er ætlast til að taka seinni þá, sem ég nefndi, svo 604 00:28:45,360 --> 00:28:48,660 Annað stykki af pappír sem ég skrifaði út í smá stund síðan er kallað nafn. 605 00:28:48,660 --> 00:28:53,550 Það er að fara að stinga af verðmæti inni þeirrar breytu inn í tákn, 606 00:28:53,550 --> 00:28:58,310 % S, þannig að, aftur, í bara smá stund á tími, munum við sjá aukaverkun 607 00:28:58,310 --> 00:29:04,180 Hann kallaði printf, þar nú við sjá ekki "halló, heimur," en "halló, 608 00:29:04,180 --> 00:29:04,710 Obosi. " 609 00:29:04,710 --> 00:29:08,730 >> Svo stór umferð af lófaklapp til beggja Sjálfboðaliðar okkar, aðeins einn þeirra þekkti 610 00:29:08,730 --> 00:29:12,010 þetta myndi vera að gerast. 611 00:29:12,010 --> 00:29:12,990 Allt í lagi. 612 00:29:12,990 --> 00:29:16,480 Svo, ef til vill, einfalt eins og þessi var, vissulega, ef þú ert þegar kunnuglegur 613 00:29:16,480 --> 00:29:20,190 með svo vonandi þú munt aldrei gleyma því að sérstakur visual hvernig 614 00:29:20,190 --> 00:29:21,220 aðgerðir vinna. 615 00:29:21,220 --> 00:29:23,000 >> Svo er það meira en bara getstring. 616 00:29:23,000 --> 00:29:26,020 Inni í CS50 bókasafn, það er allt fullt af aðgerðum, sem öll 617 00:29:26,020 --> 00:29:29,510 eru færð bara að gera ljóst sem við skrifuðum þessar aðgerðir. 618 00:29:29,510 --> 00:29:33,610 Venjulega, í C, næstum hvert annað virka þú munt nota er lágstafir. 619 00:29:33,610 --> 00:29:36,190 En við notum vísvitandi hástafi bara til að gera ljóst að þetta 620 00:29:36,190 --> 00:29:39,880 eru þjálfun hjól konar sem við munum nota fyrir örfáum vikum sem 621 00:29:39,880 --> 00:29:42,890 einfalda ferlið við að fá inntak frá notandanum. 622 00:29:42,890 --> 00:29:46,740 >> The CS50 bókasafn gerir ekki neitt að þér og sjálfir gátu ekki gert með því að 623 00:29:46,740 --> 00:29:50,230 bara að nota C kóða frá Oldschool kennslubók. 624 00:29:50,230 --> 00:29:53,310 En, aftur, við notum þá eins og þjálfun hjól konar fyrir réttlátur a par af 625 00:29:53,310 --> 00:29:57,250 vikur svo að við getum að losna við flókið að þú munt fljótt skilja 626 00:29:57,250 --> 00:30:00,460 sjálfur um að gera eitthvað eins og tiltölulega einfalt og að fá 627 00:30:00,460 --> 00:30:02,080 inntak frá notanda. 628 00:30:02,080 --> 00:30:05,540 >> Svo veit að þú munt hafa aðgang til getchar, GetDouble - 629 00:30:05,540 --> 00:30:06,050 tvöfaldur. 630 00:30:06,050 --> 00:30:07,050 What's - og þá GetFloat. 631 00:30:07,050 --> 00:30:07,600 Hvað er flot? 632 00:30:07,600 --> 00:30:09,382 Við skulum byrja þar. 633 00:30:09,382 --> 00:30:10,600 >> STUDENT: [inaudible]. 634 00:30:10,600 --> 00:30:10,790 >> DAVID Malan: Já. 635 00:30:10,790 --> 00:30:12,120 Það er tala með kommu. 636 00:30:12,120 --> 00:30:15,930 Svo þar sem int er heiltala, sem er bara tala með 0 í 9, 637 00:30:15,930 --> 00:30:18,940 sumir tala af endurtekningum þeirra, A fljóta er eitthvað 638 00:30:18,940 --> 00:30:20,100 með kommu. 639 00:30:20,100 --> 00:30:26,090 Og tvöfalda, á meðan er, einnig tala með kommu, en meira 640 00:30:26,090 --> 00:30:28,160 tölur eftir aukastaf lið, hugsanlega. 641 00:30:28,160 --> 00:30:30,040 >> Þannig að við munum fá til baka til þessa áður en langur. 642 00:30:30,040 --> 00:30:34,560 En venjulega, sem hvert um þessar tegundir af gögn, sem hvert um þessar tegundir af breytum 643 00:30:34,560 --> 00:30:39,380 að bókasafn eins og okkar geta koma aftur til þú, nota mismunandi fjölda bita 644 00:30:39,380 --> 00:30:40,290 geyma upplýsingar. 645 00:30:40,290 --> 00:30:43,910 Venjulega, a Char, sem bara þýðir einn staf, notar 8 bita. 646 00:30:43,910 --> 00:30:47,490 Og það er í raun í samræmi við okkar bæti sjálfboðaliðum í síðustu viku sem 647 00:30:47,490 --> 00:30:50,410 kom upp og fulltrúa einn Ascii staf í einu. 648 00:30:50,410 --> 00:30:51,850 Svo er Char 8 bitar. 649 00:30:51,850 --> 00:30:54,430 >> A fljóta gerist að 32 bita, yfirleitt. 650 00:30:54,430 --> 00:30:59,230 Og tvöfalda, eins og þú might giska, er reyndar 64 bita, sem er bara meira, 651 00:30:59,230 --> 00:31:01,360 sem þýðir að þú getur haft stærri númer eða fleiri nákvæmni. 652 00:31:01,360 --> 00:31:03,000 En aftur, meira um það í annað sinn. 653 00:31:03,000 --> 00:31:06,550 GetLongLong, á meðan, þó heimskulega nefndi, er í raun bara 654 00:31:06,550 --> 00:31:10,770 heiltala sem er tvisvar sinnum eins stór, tvöfalt lengi, hugsanlega, eins og venjulegur 655 00:31:10,770 --> 00:31:12,940 heiltala, 64 bita í stað 32. 656 00:31:12,940 --> 00:31:14,560 Og GetString við höfum verið að nota. 657 00:31:14,560 --> 00:31:18,870 >> En það kemur í ljós, í CS50 bókasafn, sem er hrint í framkvæmd, eins og við munum sjá, í 658 00:31:18,870 --> 00:31:23,560 formið af tveimur skrám, eitt sem heitir cs50.h, hefur tvær aðrar 659 00:31:23,560 --> 00:31:24,770 gögn tegundir í það. 660 00:31:24,770 --> 00:31:29,700 Booleans eru ekki til í C. Þú getur líkja þeim við bara að nota 0s og 1s 661 00:31:29,700 --> 00:31:30,850 um áætlanir þínar. 662 00:31:30,850 --> 00:31:35,500 En við í CS50 bókasafninu hefur búið tákn "true" og "false" 663 00:31:35,500 --> 00:31:38,580 að tákna 1 og 0 svo þú ekki að harður kóða eitthvað 664 00:31:38,580 --> 00:31:39,810 bókstaflega eins og 1 og 0. 665 00:31:39,810 --> 00:31:40,980 En við munum sjá þá aftur. 666 00:31:40,980 --> 00:31:42,330 >> String, of, er ekki til. 667 00:31:42,330 --> 00:31:44,520 Og það er hvers vegna ég nefndi það a hluti af hvítu liggja fyrir nú. 668 00:31:44,520 --> 00:31:46,660 En við munum afhýða aftur að lag fyrir löngu. 669 00:31:46,660 --> 00:31:49,540 En nú, a band er röð af stöfum. 670 00:31:49,540 --> 00:31:51,790 >> Á sama tíma, í C, örugglega þú hafa mismunandi tegundir gagna. 671 00:31:51,790 --> 00:31:53,200 Tilkynning þetta eru lágstafir. 672 00:31:53,200 --> 00:31:56,960 Svo aðgerðir sem þú sást í smá stund síðan eru aðgerðir eftir CS50 að 673 00:31:56,960 --> 00:32:02,310 mun koma aftur til þín gildi sem fellur inn í einn þessara flokka. 674 00:32:02,310 --> 00:32:06,730 >> Svindl par blöð bara til að planta fræ hér. printf er ekki bara 675 00:32:06,730 --> 00:32:08,600 taka% s staðgengla. 676 00:32:08,600 --> 00:32:13,490 Það tekur% d fyrir aukastaf heiltölur eða% ég myndi vinna eins og heilbrigður. 677 00:32:13,490 --> 00:32:19,450 % F er fljótandi Spjallsvæði gildi. % C er fyrir A bleikju, ef þú vilt bara að stinga einn 678 00:32:19,450 --> 00:32:23,510 eðli í útlitsmótaðan band eins og við höfum verið að gera, er hægt að nota% c. 679 00:32:23,510 --> 00:32:28,490 >> Og þá, nokkuð er annoyingly,% LLD í langan, langan aukastaf heiltala, 680 00:32:28,490 --> 00:32:31,050 sem þýðir bara ef þú þarft virkilega stór tala og þú ert að nota eitthvað 681 00:32:31,050 --> 00:32:35,450 kallað lengi lengi, sem við munum koma aftur í pset, þú getur notað% LLD til 682 00:32:35,450 --> 00:32:40,700 segja printf, stinga í mjög stórt heiltala hér með því að annað þess eða 683 00:32:40,700 --> 00:32:41,830 einhver önnur rök. 684 00:32:41,830 --> 00:32:45,700 >> Og loks, lofaði ég að það er nokkur annar flýja 685 00:32:45,700 --> 00:32:47,670 runur sem printf styður. 686 00:32:47,670 --> 00:32:49,160 Við höfum séð sviga-n. 687 00:32:49,160 --> 00:32:50,510 Sviga-r sem þú getur séð. 688 00:32:50,510 --> 00:32:51,780 Það er tegund af gamla skólanum hlutur. 689 00:32:51,780 --> 00:32:55,920 Ef þú einhvern tíma notað alvöru ár ritvél síðan og þú dreginn á sveif 690 00:32:55,920 --> 00:32:59,810 sem ekki aðeins snúið hjólinu til færa lína, flutti það einnig 691 00:32:59,810 --> 00:33:03,730 heild hlutur alla leið aftur yfir til vinstri, vel, sviga-r bara 692 00:33:03,730 --> 00:33:06,480 raun færist bendillinn bakið til the byrjun af the lína 693 00:33:06,480 --> 00:33:07,830 án þess að hreyfa hana niður. 694 00:33:07,830 --> 00:33:09,780 En aftur, meira um það, ef til vill, í framtíðinni. 695 00:33:09,780 --> 00:33:13,670 >> Sviga-vitna, sviga-tvöfaldur vitna, sviga-sviga er 696 00:33:13,670 --> 00:33:16,600 lausn á litla gátu Ég benti á áðan. 697 00:33:16,600 --> 00:33:18,920 Og sviga-0 er í raun alveg áhugavert. 698 00:33:18,920 --> 00:33:21,470 En við munum koma aftur til að áður en langur. 699 00:33:21,470 --> 00:33:25,640 >> Svo láta mig fara inn, nú, CS50 tæki, og við skulum í raun gert 700 00:33:25,640 --> 00:33:28,930 fljót hitna upp með eitt af þeim dæmum við fengum nú þegar og þá hreyfa á til 701 00:33:28,930 --> 00:33:31,160 eitthvað svolítið flóknari. 702 00:33:31,160 --> 00:33:34,980 Svo ef ég opna forritið mitt heitir gedit - 703 00:33:34,980 --> 00:33:36,840 þetta er myndrænt ritstjóri minn. 704 00:33:36,840 --> 00:33:38,460 Og ég get gert það - 705 00:33:38,460 --> 00:33:39,820 láta mig loka glugganum þar - 706 00:33:39,820 --> 00:33:42,720 með því að þetta tákn niður hér, gedit, í botn-vinstri 707 00:33:42,720 --> 00:33:44,170 horn við hliðina á valmyndinni. 708 00:33:44,170 --> 00:33:48,670 >> Ég ætla að fara á undan og fara, og vista þessa dæmi í, segjum, Jóhannes 709 00:33:48,670 --> 00:33:49,660 Harvard er mappa. 710 00:33:49,660 --> 00:33:52,690 Mappa John Harvard er bara heimili hans möppu þar sem allar skrár hans lifa 711 00:33:52,690 --> 00:33:53,340 sjálfgefið. 712 00:33:53,340 --> 00:33:58,410 Og ég ætla að spara það eins og skrá sem heitir Hello-0.c. 713 00:33:58,410 --> 00:34:01,260 Og ég hef valið þetta nafn bara svo það línur upp með sýnishorn kóðann á 714 00:34:01,260 --> 00:34:04,210 AUÐVITAÐ er vefsíða og í YouTube myndbönd á netinu. 715 00:34:04,210 --> 00:34:06,320 >> Svo nú ætla ég að byrja að skrifa fyrsta forritið mitt. 716 00:34:06,320 --> 00:34:08,469 Leyfðu mér að súmma inn til læsileiki. 717 00:34:08,469 --> 00:34:12,760 Og ég ætla að fara á undan og segja int Helstu ógilt, sem er bara svona 718 00:34:12,760 --> 00:34:14,900 gulur þraut stykki sem byrjar a program. 719 00:34:14,900 --> 00:34:18,290 Ég hef fengið í vana yfir ára opnun hrokkið Brace mína, þá 720 00:34:18,290 --> 00:34:22,000 einnig loka henni og þá fara aftur til þar sem ég vil setja númerið mitt, bara 721 00:34:22,000 --> 00:34:24,630 því það hjálpar mér að halda öllu rólegur, sérstaklega þar sem minn 722 00:34:24,630 --> 00:34:25,880 program gets lengi. 723 00:34:25,880 --> 00:34:29,239 >> Og nú, hér ætla ég að fara á undan og segja, printf, vitna Unquote, 724 00:34:29,239 --> 00:34:34,330 Halló heimur, sviga-n, loka vitna, loka sviga, semíkommu. 725 00:34:34,330 --> 00:34:38,100 Þannig að ég ætla bara að endurtaka allt sem við höfum verið að taka sem sjálfsögðum hlut svona langt. 726 00:34:38,100 --> 00:34:39,270 Nú ætla ég að súmma út. 727 00:34:39,270 --> 00:34:43,030 >> Og þetta endastöðvar hérna, hvað ég leyft að gera í þessu svart 728 00:34:43,030 --> 00:34:44,389 og hvítt glugga? 729 00:34:44,389 --> 00:34:46,977 Hvað get ég notað það? 730 00:34:46,977 --> 00:34:49,770 Svo er þetta þar sem ég keyra skipanir og þar sem ég get safna saman hlutum. 731 00:34:49,770 --> 00:34:50,620 Og ég ætla að halda það einfalt. 732 00:34:50,620 --> 00:34:52,780 Ég ætla að nota forrit kallað Gera, sem er ekki 733 00:34:52,780 --> 00:34:54,020 tæknilega þýðanda. 734 00:34:54,020 --> 00:34:56,360 Kallað að þýðandinn er Clang, en við munum koma aftur til að í 735 00:34:56,360 --> 00:34:57,190 viku eða eftir tvö er. 736 00:34:57,190 --> 00:35:03,410 >> Fyrir nú, ég er bara að fara að slá gera halló-0, en þeir sem voru 737 00:35:03,410 --> 00:35:07,050 bera í huga þínum það sem ég bara slegið til hvað ég ætti að hafa slegið getur 738 00:35:07,050 --> 00:35:10,180 veit nú þegar að ég gerði eitthvað rangt hér. 739 00:35:10,180 --> 00:35:12,160 Nú, það er greinilega nokkrar villur. 740 00:35:12,160 --> 00:35:16,742 Áður en ég líta jafnvel á það sem þeir eru, allir hugsanir um hvað ég gerði rangt? 741 00:35:16,742 --> 00:35:18,590 >> NEMENDUR: [INTERPOSING raddir]. 742 00:35:18,590 --> 00:35:18,840 >> DAVID Malan: Já. 743 00:35:18,840 --> 00:35:20,640 Ég vantar haus skrá safnsins. 744 00:35:20,640 --> 00:35:24,240 Einhver þessara lyfja. H skrár eru kallaðir haus skrár, og þeir sameiginlega 745 00:35:24,240 --> 00:35:25,680 tilheyra hlutum sem kallast bókasöfnum. 746 00:35:25,680 --> 00:35:28,030 Bókasöfn eru bara klumpur af kóða sem aðrir skrifuðu. 747 00:35:28,030 --> 00:35:32,140 Svo staðlaða [? ég?] bókasafn er safn skráa sem innihalda kóðann 748 00:35:32,140 --> 00:35:33,330 sem aðrir skrifuðu. 749 00:35:33,330 --> 00:35:34,820 >> Þannig að ég er vantar það. 750 00:35:34,820 --> 00:35:36,520 Svo hvers vegna er ég að fá villu? 751 00:35:36,520 --> 00:35:40,840 Jæja, láttu mig fletta aftur upp í skjáglugga minn hér. 752 00:35:40,840 --> 00:35:44,310 Og því miður, í C, eins og í fullt af forritunarmál, sérstaklega 753 00:35:44,310 --> 00:35:47,830 ef það er allt nýtt til þín, villa skilaboð eru nákvæmar, en þeir eru einnig 754 00:35:47,830 --> 00:35:48,620 alveg dulinn. 755 00:35:48,620 --> 00:35:51,720 Og villa hér í rauðu, er "Óbeint lýsa bókasafn virka 756 00:35:51,720 --> 00:35:57,660 printf með tegund, "og þá er það rolla í næstu línu, "int const char *, 757 00:35:57,660 --> 00:36:00,220 ... "Það verður bara virkilega yfirþyrmandi fljótt. 758 00:36:00,220 --> 00:36:04,420 >> En hvað sem þú ættir að byrja að gera, ef, aftur, nýr til allt þetta, er bara að 759 00:36:04,420 --> 00:36:06,010 byrja að leita að leitarorðum. 760 00:36:06,010 --> 00:36:08,770 Augljóslega gæti ég ekki skilið helming þessara orða ég ætla að sjá bara ennþá. 761 00:36:08,770 --> 00:36:10,140 Þú verður þó í einu viku. 762 00:36:10,140 --> 00:36:11,230 En ég sé printf. 763 00:36:11,230 --> 00:36:14,310 Og það ætti að byrja, áður en langt, að skokka minni þitt, allt í lagi, printf. 764 00:36:14,310 --> 00:36:15,210 Eitthvað er athugavert með printf. 765 00:36:15,210 --> 00:36:16,580 Gerði ég stafa það rangt? 766 00:36:16,580 --> 00:36:18,130 Nei, er það ekki líta út eins og - ó. 767 00:36:18,130 --> 00:36:21,350 Ég get ekki notað það nema ég kenni þýðanda sem það er til staðar. 768 00:36:21,350 --> 00:36:25,220 Og svo aftur, fara með eðlishvöt þína, jafnvel ef þú dont 'raunverulega skilja 769 00:36:25,220 --> 00:36:26,510 í raun villa skilaboð. 770 00:36:26,510 --> 00:36:30,240 >> Og reyndar, lausnin hér er bara fela í sér það efst á skránni 771 00:36:30,240 --> 00:36:34,340 svona, resaving minn skrá með Control-S eða File valmyndinni. 772 00:36:34,340 --> 00:36:36,730 Og ef ég fer nú aftur niður hér, Ég ætla að hreinsa þetta. 773 00:36:36,730 --> 00:36:39,150 Control-L er bara ágætur vegur til að hreinsa skjáinn. 774 00:36:39,150 --> 00:36:44,870 Og þá er ég að fara að skrifa "að gera halló 0 "Enter, og nú sé ég enn 775 00:36:44,870 --> 00:36:47,710 dulinn röð af táknum, en við munum koma aftur til það. 776 00:36:47,710 --> 00:36:49,230 Það er það sem gerir er að gera fyrir þig. 777 00:36:49,230 --> 00:36:52,590 Það er sjálfvirkur ferlið við að taka nokkuð pirrandi stjórn felur 778 00:36:52,590 --> 00:36:54,050 Clang, raunverulegt þýðanda. 779 00:36:54,050 --> 00:36:57,460 En sú staðreynd að ég fékk engar villur þýðir að þetta ætti að virka. 780 00:36:57,460 --> 00:37:00,630 >> Þannig að ég ætla nú að fara að gera - láta mig stækka aftur - 781 00:37:00,630 --> 00:37:07,070 ./hello-0 Sláðu og örugglega, ég sé "Halló, heimur." Svo skulum nú auka 782 00:37:07,070 --> 00:37:12,105 þetta alltaf svo lítið bara að endurtaka skrefin við ætluðum. 783 00:37:12,105 --> 00:37:15,370 Ég ætla að endurnefna þetta með Vista sem til hello1.c. 784 00:37:15,370 --> 00:37:20,300 Og nú ætla ég að lýsa yfir breytu nefndi, svo strengur nafn, 785 00:37:20,300 --> 00:37:23,420 og ég ætla að setja í það Verðmæti tilvísun-Unquote 786 00:37:23,420 --> 00:37:27,030 D-A-V-I-D loka-vitna semíkommu. 787 00:37:27,030 --> 00:37:31,150 Og nú ætla ég að skipta "World" með hvaða tákn fyrir streng? 788 00:37:31,150 --> 00:37:32,200 % S. 789 00:37:32,200 --> 00:37:35,040 >> Og nú, hversu margir rök ættu printf taka þennan tíma? 790 00:37:35,040 --> 00:37:35,700 Svo tveir. 791 00:37:35,700 --> 00:37:37,090 Svo ég fer utan gæsalappa. 792 00:37:37,090 --> 00:37:39,330 ÉG tegund "nafn" eftir kommu. 793 00:37:39,330 --> 00:37:41,550 En ég hef gert eitthvað annars að þessu sinni. 794 00:37:41,550 --> 00:37:43,940 En við skulum gera ráð fyrir að ég gerði ekki átta sig á því enn. 795 00:37:43,940 --> 00:37:44,910 Leyfðu mér að fara upp hér. 796 00:37:44,910 --> 00:37:48,850 >> Og tilkynningu líka, ég er að fá smá leiðindi að slá "gera halló 0" alla 797 00:37:48,850 --> 00:37:50,180 tími, "gera" og allt þetta. 798 00:37:50,180 --> 00:37:53,270 Svo það kemur í ljós, í Linus þú getur oft högg á örina á þínu 799 00:37:53,270 --> 00:37:56,850 lyklaborð, og þú getur raunverulega fletta gegnum allar skipanir sem ég hef 800 00:37:56,850 --> 00:37:58,830 framkvæma fyrri til bara núna. 801 00:37:58,830 --> 00:38:02,040 Þannig að ef ég geri það, upp, upp, það er að gera halló 0. 802 00:38:02,040 --> 00:38:02,610 Ég vil það ekki. 803 00:38:02,610 --> 00:38:05,450 Ég vil bara að breyta því að halló 1 þetta sinn, Enter. 804 00:38:05,450 --> 00:38:07,620 Að lokum, sem mun spara þér tíma. 805 00:38:07,620 --> 00:38:08,150 >> Allt í lagi. 806 00:38:08,150 --> 00:38:09,520 Því miður, það er er villa. 807 00:38:09,520 --> 00:38:10,980 Svo láta mig að fletta upp. 808 00:38:10,980 --> 00:38:13,120 Þetta lítur út eins og ég virkilega slátrað þetta forrit. 809 00:38:13,120 --> 00:38:16,530 Ég meina, Guð minn, er það tvær línur af kóða, og 10 línur hennar af villum. 810 00:38:16,530 --> 00:38:18,800 En líta á the toppur einn fyrsta. 811 00:38:18,800 --> 00:38:21,640 Notkun óskilgreindri Identifier band. 812 00:38:21,640 --> 00:38:23,270 Gerði ég meina venjulegt i n? 813 00:38:23,270 --> 00:38:23,930 Nei ég gerði það ekki. 814 00:38:23,930 --> 00:38:24,940 Ég þýddi band. 815 00:38:24,940 --> 00:38:29,390 >> En hvar er the band breytu tegund lýst, dd við að segja? 816 00:38:29,390 --> 00:38:30,730 Svo það er í CS50 safninu. 817 00:38:30,730 --> 00:38:33,740 Svo það þýðir ekki nægja, í þessum fyrsta par af vika, bara til að nota 818 00:38:33,740 --> 00:38:34,860 hvað C gefur okkur. 819 00:38:34,860 --> 00:38:38,120 Ég ætla líka að fara upp hér, og ég gætir sett það ofan eða neðan, en ég mun 820 00:38:38,120 --> 00:38:40,340 bara að halda það stafrófsröð að halda hlutum reglusamur. 821 00:38:40,340 --> 00:38:43,470 Ég ætla að fela cs50.h, sem er pre-setja í embætti fyrir 822 00:38:43,470 --> 00:38:44,900 þú á CS50 tæki. 823 00:38:44,900 --> 00:38:47,640 Og það er opinn uppspretta, svo jafnvel fólk á internetinu er hægt að nota það á þeirra 824 00:38:47,640 --> 00:38:48,450 eigin tölvur. 825 00:38:48,450 --> 00:38:50,700 En það kemur með CS50 tæki. 826 00:38:50,700 --> 00:38:55,320 >> Svo nú láta mig fara til baka og laun þetta með að gera halló 1. 827 00:38:55,320 --> 00:38:55,710 Fjandinn. 828 00:38:55,710 --> 00:38:57,240 Enn annar villa. 829 00:38:57,240 --> 00:38:59,370 Leyfðu mér að fletta upp til að fyrsta, þó. 830 00:38:59,370 --> 00:39:00,630 Þessi er svolítið flókið. 831 00:39:00,630 --> 00:39:03,830 Multi-eðli eðli stöðug. 832 00:39:03,830 --> 00:39:04,890 Það er ekki að hjálpa mér. 833 00:39:04,890 --> 00:39:08,220 En tilkynning, Clang er amk smá svolítið viðeigandi, þar með smá 834 00:39:08,220 --> 00:39:11,890 grænt Caret tákn, það er að segja hér er þar sem ég ruglaður upp. 835 00:39:11,890 --> 00:39:16,160 Hvers vegna er það að benda, með því að litla grænt arrow, að einn quote næsta 836 00:39:16,160 --> 00:39:18,290 að mínu nafni? 837 00:39:18,290 --> 00:39:20,880 >> Svo er þetta einn af þeim hlutum sem þú bara venjast, sérstaklega ef þú hefur verið 838 00:39:20,880 --> 00:39:23,980 forritun í Python, eða JavaScript, eða önnur tungumál þar sem þetta smáatriði 839 00:39:23,980 --> 00:39:24,560 skiptir ekki máli. 840 00:39:24,560 --> 00:39:25,740 Í C, skiptir það máli. 841 00:39:25,740 --> 00:39:29,520 Ef þú ert að lýsa a band, sem er runa 0 eða fleiri stafir, 842 00:39:29,520 --> 00:39:32,280 þú í raun verður að nota gæsalappa. 843 00:39:32,280 --> 00:39:36,670 Þannig að ég þarf í raun að breyta þessu aftur að opna tilboð, loka vitna, með 844 00:39:36,670 --> 00:39:37,800 gæsalappa. 845 00:39:37,800 --> 00:39:41,610 Einn quotes gera hafa þeirra stað, en aðeins þegar þú ert að nota einstaka 846 00:39:41,610 --> 00:39:44,100 stafir, en meira um það seinna. 847 00:39:44,100 --> 00:39:46,550 Fyrir nú, gæsalappa eru nauðsynlegar. 848 00:39:46,550 --> 00:39:50,460 >> Svo nú, láttu mig fara aftur til stöðvarinnar minn glugga, gera halló 1. 849 00:39:50,460 --> 00:39:51,450 Og hver er öruggur? 850 00:39:51,450 --> 00:39:53,800 Er þetta forrit fara nú að safna saman rétt? 851 00:39:53,800 --> 00:39:58,250 852 00:39:58,250 --> 00:39:58,540 OK. 853 00:39:58,540 --> 00:39:59,780 Svo þrír af okkur finnst þetta. 854 00:39:59,780 --> 00:40:00,280 Allt í lagi. 855 00:40:00,280 --> 00:40:01,190 Enter. 856 00:40:01,190 --> 00:40:02,440 Og það gerði í raun. 857 00:40:02,440 --> 00:40:05,130 Svo er það engin villa að þessu sinni, jafnvel þó að þessi áætlun hefur fengið svolítinn 858 00:40:05,130 --> 00:40:05,840 flóknari. 859 00:40:05,840 --> 00:40:10,110 Ef ég nú punktur skástrik Halló 1, Enter, það er að fara að segja "halló, David." 860 00:40:10,110 --> 00:40:11,750 >> En við skulum gera þriðja endurtekning af þessu, þar sem 861 00:40:11,750 --> 00:40:13,380 program er sannarlega dynamic. 862 00:40:13,380 --> 00:40:16,770 Leyfðu mér að fara á undan og breyta skrá nafn, bara til samræmis við 863 00:40:16,770 --> 00:40:20,410 skrár sem þú munt hafa aðgang þér síðar netinu. 864 00:40:20,410 --> 00:40:21,620 Enter. 865 00:40:21,620 --> 00:40:25,510 Og nú ætla ég að fara í og ​​ekki geyma "David" harður dulmáli hér. 866 00:40:25,510 --> 00:40:28,826 Hvað gæti ég gert til að mjög einfaldlega bæta þetta forrit? 867 00:40:28,826 --> 00:40:30,520 >> Ég gat hringt getstring. 868 00:40:30,520 --> 00:40:33,240 Það gæti verið smá ekki augljóst hvað er um að gerast, þannig að ég ætla 869 00:40:33,240 --> 00:40:38,470 að raunverulega bæta aðra línu, printf, og segja nafn, hreinsun, loka vitna, bara 870 00:40:38,470 --> 00:40:40,790 að gefa notandanum a hvetja á skjánum. 871 00:40:40,790 --> 00:40:42,980 Og nú ætla ég að fara hér, og ég er fara að nota hljómborð smákaka mitt. 872 00:40:42,980 --> 00:40:47,680 Ég ætla að fara upp, upp, og breyta halló 1 til Hello 2, Enter. 873 00:40:47,680 --> 00:40:49,260 Og sem betur fer, ég er að framfarir. 874 00:40:49,260 --> 00:40:52,720 >> Og nú ætla ég að fara upp til punktur slash Halló og 875 00:40:52,720 --> 00:40:54,690 breyta því að 2, Enter. 876 00:40:54,690 --> 00:40:55,650 Og nú program minn - 877 00:40:55,650 --> 00:40:57,700 Ég stækka - er að fá smá fallegri. 878 00:40:57,700 --> 00:41:02,190 Nafn er að fara að vera, segja skulum Rob í þetta sinn, Enter, halló, Rob. 879 00:41:02,190 --> 00:41:03,260 Við getum gert það aftur. 880 00:41:03,260 --> 00:41:05,360 Nafn, Lauren, Enter. 881 00:41:05,360 --> 00:41:07,820 Nafn, Joseph, Enter. 882 00:41:07,820 --> 00:41:11,596 Nafn, við skulum reyna að vera erfitt, Enter. 883 00:41:11,596 --> 00:41:12,410 Eh. 884 00:41:12,410 --> 00:41:14,680 Það er í raun ekki um galla. 885 00:41:14,680 --> 00:41:16,090 Svo er það bara smá ljót. 886 00:41:16,090 --> 00:41:18,640 Svo kannski að við gætum leyst þetta í framtíðinni, ekki núna. 887 00:41:18,640 --> 00:41:20,840 >> En hvernig myndir þú dragast fara um að takast 888 00:41:20,840 --> 00:41:21,990 að sérstök áskorun? 889 00:41:21,990 --> 00:41:23,710 Það lítur bara heimskur. 890 00:41:23,710 --> 00:41:27,320 Hvernig forðast þú það leita heimskur? 891 00:41:27,320 --> 00:41:29,890 Þannig að við gætum gert, OK, ég heyrði nokkrar af hlutum, ástand og lykkja. 892 00:41:29,890 --> 00:41:33,340 Við gætum notað, einn, ástand, að athuga hvað er lengd strengsins 893 00:41:33,340 --> 00:41:34,190 notandinn gaf okkur? 894 00:41:34,190 --> 00:41:37,100 Og ef það er 0, það er bara vitna Unquote, þeir högg bara inn, þá 895 00:41:37,100 --> 00:41:38,930 kannski ég ætti að æpa á hana og hvetja þá aftur. 896 00:41:38,930 --> 00:41:39,970 En hvernig hvetja þá aftur? 897 00:41:39,970 --> 00:41:44,230 Jæja, heyrði ég líka lykkju og ég gat gera það aftur og aftur og aftur 898 00:41:44,230 --> 00:41:47,010 vekur notandi til sama. 899 00:41:47,010 --> 00:41:48,880 >> Jæja, við skulum gera eitt annað dæmi nota mismunandi 900 00:41:48,880 --> 00:41:50,620 virka í CS50 bókasafn. 901 00:41:50,620 --> 00:41:52,330 Leyfðu mér að loka þessari skrá. 902 00:41:52,330 --> 00:41:53,510 Leyfðu mér að búa til nýjan. 903 00:41:53,510 --> 00:41:58,510 Og ég kalla það adder.c, bara vegna þess að það er auðvelt að gera einfalda stærðfræði, 904 00:41:58,510 --> 00:42:00,890 jafnvel þótt það mun vera alveg underwhelming með hvað þú gætir gert 905 00:42:00,890 --> 00:42:02,250 með öllum nútíma tölva. 906 00:42:02,250 --> 00:42:03,750 >> En láta mig fara á undan núna og - 907 00:42:03,750 --> 00:42:10,680 Ég lærði lexíu mína síðasta skipti - eru cs50.h, fela stdio.h, int 908 00:42:10,680 --> 00:42:14,170 Helstu tóm, sem nú, ég bara taka á blinda trú, en við munum gera ráð 909 00:42:14,170 --> 00:42:16,380 sem mun skilja hvað sem þýðir áður en langur. 910 00:42:16,380 --> 00:42:21,030 Og ég ætla að segja eitthvað eins og "gefa mér int." 911 00:42:21,030 --> 00:42:22,140 >> Og nú, hvernig fæ ég int? 912 00:42:22,140 --> 00:42:26,820 Ég vil að lokum lýsa yfir breytu heitir x á int og 913 00:42:26,820 --> 00:42:29,240 geyma í henni heiltölu frá notandanum. 914 00:42:29,240 --> 00:42:29,970 Svo sem var munnfylli. 915 00:42:29,970 --> 00:42:35,680 En ef einhver vill leggja til, hvernig ég lýsa heiltala heitir x? 916 00:42:35,680 --> 00:42:36,310 Int x. 917 00:42:36,310 --> 00:42:37,430 >> Svo er það mjög einfalt. 918 00:42:37,430 --> 00:42:38,240 Gefðu mér int. 919 00:42:38,240 --> 00:42:39,070 Kalla það x. 920 00:42:39,070 --> 00:42:40,580 Nú er ég að nota verkefnið rekstraraðila. 921 00:42:40,580 --> 00:42:43,400 Og hvernig geymi ég frá vinstri gildið notanda? 922 00:42:43,400 --> 00:42:47,310 Ég vil ekki að hringja getstring, augljóslega, heldur GetInt. 923 00:42:47,310 --> 00:42:49,060 Einhverjar rök? 924 00:42:49,060 --> 00:42:49,350 Nei 925 00:42:49,350 --> 00:42:51,870 Svo er það opið paren, nálægt paren í stað, og þá 926 00:42:51,870 --> 00:42:53,440 semíkommu endar línuna. 927 00:42:53,440 --> 00:42:54,930 >> Nú láta mig gera þetta aftur. 928 00:42:54,930 --> 00:42:57,070 Gefðu mér annan int. 929 00:42:57,070 --> 00:43:01,850 Þessi skipti sem ég skal gera int, við skulum kalla það Y, jafngildir GetInt. 930 00:43:01,850 --> 00:43:05,060 Og nú langar mig að gera eitthvað frábær-einfalt eins og sumir stærðfræði. 931 00:43:05,060 --> 00:43:14,340 Sem printf, summan af% d er tákn fyrir int. 932 00:43:14,340 --> 00:43:20,030 Og% d, tímabil, sviga-n. 933 00:43:20,030 --> 00:43:20,360 >> Allt í lagi. 934 00:43:20,360 --> 00:43:21,670 Svo er það í raun ekki stærðfræði. 935 00:43:21,670 --> 00:43:25,500 En ef ég vil segja summu þetta viðbættum þetta gildi er þetta 936 00:43:25,500 --> 00:43:29,320 annað gildi, hversu mörg rök í samtals ætti ég að gefa printf, 937 00:43:29,320 --> 00:43:30,520 endanum? 938 00:43:30,520 --> 00:43:31,420 Svo fjórum, ekki satt? 939 00:43:31,420 --> 00:43:33,790 Þessi strengur og þá þrír gildi. 940 00:43:33,790 --> 00:43:37,560 Svo x er fyrsta sem ég vil vera tengt fyrst til% d. 941 00:43:37,560 --> 00:43:39,270 y er að fara til vera the næstur. 942 00:43:39,270 --> 00:43:42,030 >> Og nú vil ég svona að segja z, en z er ekki til. 943 00:43:42,030 --> 00:43:43,190 En það er ekki stór samningur. 944 00:43:43,190 --> 00:43:45,440 Vegna hvað myndir þú gera dragast, sérstaklega ef þú hefðir 945 00:43:45,440 --> 00:43:47,820 Graphing reiknivél, hvað þú skrifar? 946 00:43:47,820 --> 00:43:48,760 Hvernig óður x plús y? 947 00:43:48,760 --> 00:43:50,200 Svo það er ekki raunverulegt breyta. 948 00:43:50,200 --> 00:43:51,820 Það er bara summa tveggja aðrar breytur. 949 00:43:51,820 --> 00:43:53,170 Og það er fullkomlega lögmæt. 950 00:43:53,170 --> 00:43:56,630 C skilur vissulega einfalt stærðfræði eins og þetta. 951 00:43:56,630 --> 00:43:58,450 >> Semíkommu, spara. 952 00:43:58,450 --> 00:44:02,080 Nú láta mig fara niður hér og tegund gera Naðr, Enter. 953 00:44:02,080 --> 00:44:04,100 No villa, þannig að það er framfarir líka. 954 00:44:04,100 --> 00:44:04,890 Sláðu Naðr. 955 00:44:04,890 --> 00:44:07,100 Og annar hljómborð smákaka, ef þú byrjar að fá leiðindi 956 00:44:07,100 --> 00:44:08,760 með öllum skipunum - 957 00:44:08,760 --> 00:44:12,650 ef þú byrjar að slá inn skipun, eins og punktur rista auglýsingu og það er þar sem þinn 958 00:44:12,650 --> 00:44:16,020 leiðindum ánægja í, þú getur venjulega högg Tab til að hafa tölvuna klára 959 00:44:16,020 --> 00:44:20,510 hvíla á setningu fyrir þig ef það er ekki óljós hvað ætti að koma eftir auglýsingu. 960 00:44:20,510 --> 00:44:23,950 >> Svo láta mig fara á undan nú og þú smellir á Enter. 961 00:44:23,950 --> 00:44:27,490 Gefðu mér int, 1, 2, og sem betur fer er það 3.. 962 00:44:27,490 --> 00:44:29,900 En eins og alltaf, próf forrit ætti ekki að draga til 963 00:44:29,900 --> 00:44:30,820 bara að reyna það einu sinni. 964 00:44:30,820 --> 00:44:35,560 Leyfðu mér að reyna að horn tilfelli, eins og neikvæð 1, gefa mér 1, og að einn 965 00:44:35,560 --> 00:44:36,210 eftirlit út eins vel. 966 00:44:36,210 --> 00:44:38,870 Og ég vil líklega að gera meira strangt próf, en ég er nokkuð 967 00:44:38,870 --> 00:44:40,630 ánægð með þar sem það er á. 968 00:44:40,630 --> 00:44:43,110 >> Jæja, nú skulum reyna annað forrit að þessu sinni notar 969 00:44:43,110 --> 00:44:44,620 hluti af öðrum setningafræði. 970 00:44:44,620 --> 00:44:46,100 Leyfðu mér að búa til nýja skrá. 971 00:44:46,100 --> 00:44:51,050 Ég kalla þetta conditions0.c að stilla upp með einhverjum kóða sýni netinu. 972 00:44:51,050 --> 00:44:55,550 Og láta mig fara á undan og gera fela cs50.h, ma 973 00:44:55,550 --> 00:45:00,320 stdio.h, í helstu tóm - 974 00:45:00,320 --> 00:45:01,030 OK. 975 00:45:01,030 --> 00:45:01,850 Þar við förum. 976 00:45:01,850 --> 00:45:03,010 Við höfum staðlaða boilerplate okkar. 977 00:45:03,010 --> 00:45:08,170 >> Og í þetta sinn ætla ég að segja printf, "Ég vil við int, vinsamlegast," bara til að 978 00:45:08,170 --> 00:45:10,030 gera hvetja smá meira vingjarnlegur. 979 00:45:10,030 --> 00:45:11,620 Og nú vil ég að fá int frá notandanum. 980 00:45:11,620 --> 00:45:15,010 Ég ætla að kalla hana n í þetta sinn, bara því n hljómar eins fjölda. 981 00:45:15,010 --> 00:45:18,140 GetInt, og nú, hvað Ég vil gera við það? 982 00:45:18,140 --> 00:45:21,640 Jæja, ef n er - og ég stækka - 983 00:45:21,640 --> 00:45:25,930 ef n er stærra en 0, vil ég að gera eftirfarandi - 984 00:45:25,930 --> 00:45:36,060 printf "Þú tók jákvætt númer." Annars ætla ég að slá printf "Þú 985 00:45:36,060 --> 00:45:37,870 valinn neikvæð 986 00:45:37,870 --> 00:45:39,650 tala. "Allt í lagi. 987 00:45:39,650 --> 00:45:44,410 Þannig að þetta forrit, jafnvel þó að ég gerði það fljótur útlit, hægri setningafræðilega. 988 00:45:44,410 --> 00:45:45,010 Leyfðu mér að reyna þetta. 989 00:45:45,010 --> 00:45:46,890 Gerðu ástand 0. 990 00:45:46,890 --> 00:45:47,710 Virðist hlaupa. 991 00:45:47,710 --> 00:45:49,230 Skilyrði 0, slá. 992 00:45:49,230 --> 00:45:51,910 Skulum gefa það int af 50. 993 00:45:51,910 --> 00:45:53,160 Ég tók jákvætt númer. 994 00:45:53,160 --> 00:45:54,230 Við skulum reyna það aftur. 995 00:45:54,230 --> 00:45:54,930 Ástand 0. 996 00:45:54,930 --> 00:45:56,260 Neikvæð 50. 997 00:45:56,260 --> 00:45:57,290 Ég tók neikvæð tala. 998 00:45:57,290 --> 00:46:00,350 >> En nú, láttu mig velja það sem við munum halda hringja í horninu að ræða, sem er meira 999 00:46:00,350 --> 00:46:04,702 áhugaverð mál sem þú heldur gæti gefið þér nokkur vandræði, 0. 1000 00:46:04,702 --> 00:46:07,940 Nú, ég er nokkuð viss um að þetta er eitt af þessir horn tilvikum þar núll er 1001 00:46:07,940 --> 00:46:12,330 hvorki jákvæð né neikvæð, svo minn program, þó í setningafræðilega 1002 00:46:12,330 --> 00:46:15,440 leiðrétta - það safnar, það rennur - er ekki rökrétt. 1003 00:46:15,440 --> 00:46:21,050 Svo er það einfalt festa hér ef ég vil að uppgötva, ef ég vil að takast n 1004 00:46:21,050 --> 00:46:23,840 jafngildir 0 sérstaklega? 1005 00:46:23,840 --> 00:46:32,980 >> Þannig að ef n er 0, þá vil ég segja eitthvað eins printf "Þú valdir 0." 1006 00:46:32,980 --> 00:46:33,990 Leyfðu mér að reyna þetta núna. 1007 00:46:33,990 --> 00:46:38,320 Leyfðu mér að fara aftur hingað, hreinsa gluggann minn, og laun. 1008 00:46:38,320 --> 00:46:38,690 Hm. 1009 00:46:38,690 --> 00:46:39,770 Ein villa mynda. 1010 00:46:39,770 --> 00:46:41,630 En ég viltu athuga ef n er 0. 1011 00:46:41,630 --> 00:46:44,230 1012 00:46:44,230 --> 00:46:47,720 >> Svo aftur, annar heimskur hlutur að venjast, jafnt merki er 1013 00:46:47,720 --> 00:46:48,910 framsal rekstraraðila. 1014 00:46:48,910 --> 00:46:52,240 Svo er þetta í raun mistök í því, tæknilega, jafnvel þó að þýðandinn 1015 00:46:52,240 --> 00:46:56,450 vernda mig frá sjálfum mér, við myndum tæknilega vera afritun 0 í n, þar sem 1016 00:46:56,450 --> 00:46:57,590 er ekki það sem ég vil. 1017 00:46:57,590 --> 00:47:00,950 Ég vil prófa fyrir jafnrétti með jafningja jafngildir. 1018 00:47:00,950 --> 00:47:03,390 Og svo að nú væri betri lausn mín. 1019 00:47:03,390 --> 00:47:07,810 >> Leyfðu mér að vistað póstinn í raun þetta sem, segja, conditions1, að vera ný og endurbætt. 1020 00:47:07,810 --> 00:47:10,480 Svo nú ef ég laun þetta, það myndi gera aðstæður - 1021 00:47:10,480 --> 00:47:16,960 Úpps - gera conditions1 punktur rista conditions1, Enter, "Ég vil við int, 1022 00:47:16,960 --> 00:47:18,760 takk. "Ég ætla að fara undan og tegund 50. 1023 00:47:18,760 --> 00:47:19,660 Það er samt gott. 1024 00:47:19,660 --> 00:47:21,200 Neikvæð 50, samt gott. 1025 00:47:21,200 --> 00:47:24,920 0, og það reyndar uppgötva að ég valdi 0.. 1026 00:47:24,920 --> 00:47:28,200 >> Svo hvað meira get ég gert núna með þetta? 1027 00:47:28,200 --> 00:47:32,280 Jæja, við getum vissulega gert æ flókin atriði. 1028 00:47:32,280 --> 00:47:37,240 En það sem ég vil leggja er að við enda á þessa skýringu hér. 1029 00:47:37,240 --> 00:47:41,680 Ef við draga upp þetta, munt þú sjá, ef til vill, uppáhalds teiknimynd af þinn 1030 00:47:41,680 --> 00:47:43,326 allt þar til í dag sem þú gætir aldrei hafa skilið. 1031 00:47:43,326 --> 00:47:46,550 1032 00:47:46,550 --> 00:47:49,520 Og það er um gæði hlátri þú ættir að fá með CS brandara. 1033 00:47:49,520 --> 00:47:51,060 Svo er það um rétt. 1034 00:47:51,060 --> 00:47:54,900 >> En meira compellingly, ég hélt ég myndi gefa okkur smá beitu fyrir mánudag. 1035 00:47:54,900 --> 00:47:56,430 Þannig að við höfum byrjað að nota heilar tölur. 1036 00:47:56,430 --> 00:47:57,510 Við höfum vísað til fljóta. 1037 00:47:57,510 --> 00:48:00,120 Við höfum jafnvel vísað til tvíliðaleik, sem, aftur, að gefa þér tölur 1038 00:48:00,120 --> 00:48:01,390 eftir aukastöfum. 1039 00:48:01,390 --> 00:48:04,230 >> En það kemur í ljós að fljóta og tveggja manna, og, í raun, tölvur, 1040 00:48:04,230 --> 00:48:08,470 grundvallaratriðum, getur ekki tjáð sumir gildi nákvæmlega. 1041 00:48:08,470 --> 00:48:12,840 Við vitum úr bekkjum stærðfræði sem þú getur hafa allir tala um tölur eftir 1042 00:48:12,840 --> 00:48:13,510 kommu. 1043 00:48:13,510 --> 00:48:16,460 Og þú getur jafnvel setja lóðrétt bar að segja þetta farið á eilífu. 1044 00:48:16,460 --> 00:48:18,810 >> Því miður getur þú ekki raunverulega gera það í tölvu. 1045 00:48:18,810 --> 00:48:20,400 Og svo horn tilvikum koma. 1046 00:48:20,400 --> 00:48:23,120 Fyrir dæmi, ráð fyrir að þú ert gera eitthvað fjárhagslega. 1047 00:48:23,120 --> 00:48:25,700 Þú ert að gera stærðfræði með prósentum og 1048 00:48:25,700 --> 00:48:27,030 með dollara og cent. 1049 00:48:27,030 --> 00:48:29,230 Og þeir sent ekki endilega línu upp. 1050 00:48:29,230 --> 00:48:34,120 Jæja, það kemur í ljós að broti úr smáaurarnir getur byrjað að bæta upp þegar 1051 00:48:34,120 --> 00:48:37,250 byggð með tölvukerfi á þann hátt að snjall 1052 00:48:37,250 --> 00:48:39,100 menn geta nýtt sér. 1053 00:48:39,100 --> 00:48:42,650 >> Og þá sem hafa ekki séð, myndi ég eins og til að gefa þér 30-second beitu af 1054 00:48:42,650 --> 00:48:48,290 yndislegt kvikmynd þekktur sem Space Office, sem mun mála mynd af 1055 00:48:48,290 --> 00:48:51,205 Vandamálið við munum takast fyrstur hlutur á mánudaginn. 1056 00:48:51,205 --> 00:48:53,960 Ef við gætum hækka hljóðstyrkinn svolítið, ég gef þér 30 1057 00:48:53,960 --> 00:48:55,495 sekúndur af rúm skrifstofu. 1058 00:48:55,495 --> 00:48:55,770 >> [Vídeó spilun] 1059 00:48:55,770 --> 00:48:59,000 >> -Ég meina, þú hefur þú ekki verið að sýna upp og þú færð að halda starfi þínu. 1060 00:48:59,000 --> 00:49:00,620 >> -Reyndar er ég kynnt. 1061 00:49:00,620 --> 00:49:03,240 >> -Ég gat program a veira sem myndi rífa þennan stað burt toppurinn. 1062 00:49:03,240 --> 00:49:04,430 >> -Jæja, hvernig virkar það? 1063 00:49:04,430 --> 00:49:06,782 >> -Hvert sinn sem það er banki viðskipti þar sem áhugi er reiknað, og það 1064 00:49:06,782 --> 00:49:10,160 eru þúsundir á dag, tölvan endar með þessum þáttum úr hundraði. 1065 00:49:10,160 --> 00:49:12,030 >> -En ég ætla ekki að gera neitt ólöglegt. 1066 00:49:12,030 --> 00:49:12,660 >> -Ólöglega? 1067 00:49:12,660 --> 00:49:15,075 Samir, þetta er Ameríka. 1068 00:49:15,075 --> 00:49:16,570 >> -Við verðum að sver. 1069 00:49:16,570 --> 00:49:19,070 >> -Ef enginn veit um þetta en okkur, allt í lagi? 1070 00:49:19,070 --> 00:49:21,920 Engar fjölskyldu, engin kærustur, enginn. 1071 00:49:21,920 --> 00:49:22,700 >> -Auðvitað. 1072 00:49:22,700 --> 00:49:23,320 >> -Samþykkt. 1073 00:49:23,320 --> 00:49:24,280 >> -Ekki hafa áhyggjur, maður. 1074 00:49:24,280 --> 00:49:25,640 Ég mun ekki segja neinum heldur. 1075 00:49:25,640 --> 00:49:26,504 >> [END vídeó spilun] 1076 00:49:26,504 --> 00:49:30,030 >> DAVID Malan: Svo þetta, þá er CS50, það var Office Space, og það verður allt 1077 00:49:30,030 --> 00:49:31,465 skynsamleg á mánudaginn. 1078 00:49:31,465 --> 00:49:33,940 Sjáumst þá. 1079 00:49:33,940 --> 00:49:37,880 >> Sögumaður: Á næstu CS50, Rob aðlagast því að vera burt 1080 00:49:37,880 --> 00:49:39,130 Harvard máltíð áætlun. 1081 00:49:39,130 --> 00:49:56,160