1 00:00:07,830 --> 00:00:12,200 [Powered by Google Translate] DAVID Malan: Tai CS50, o tai yra 1 savaitę pradžia. 2 00:00:12,200 --> 00:00:15,520 Ką mes manome, mes norime padaryti šiandien yra pažvelgti atgal 3 00:00:15,520 --> 00:00:18,290 ką daugelis iš jūsų tikriausiai vaikščiojo praeityje kai kuriems 4 00:00:18,290 --> 00:00:20,570 metu ir gali atrodyti šiek tiek susipažinę. 5 00:00:20,570 --> 00:00:23,720 Tai, ką čia, tai, žinoma, yra - 6 00:00:23,720 --> 00:00:24,155 Auditorija: Mokslas. 7 00:00:24,155 --> 00:00:26,030 Davidas Malan: Mokslo centras. 8 00:00:26,030 --> 00:00:28,940 Taigi, iš tikrųjų tai yra vienas iš pirmųjų kompiuterių 9 00:00:28,940 --> 00:00:30,220 Atgal nuo 1940 m. 10 00:00:30,220 --> 00:00:33,790 Tai buvo vienas iš pirmųjų elektromechaninių kompiuterių 11 00:00:33,790 --> 00:00:35,730 kad gali labai ilgai užtrukti, kol, 12 00:00:35,730 --> 00:00:38,450 Savarankiškas skaičiavimai, ir tai, ką mes iš tikrųjų pamatyti 13 00:00:38,450 --> 00:00:41,580 mokslo centras yra tik dalelę šio dalyko. 14 00:00:41,580 --> 00:00:44,170 Ką mes manome, mes norime daryti tada pažvelgti atgal į vaizdo 15 00:00:44,170 --> 00:00:46,670 , kuris buvo prieš kurį laiką, įvedant 16 00:00:46,670 --> 00:00:47,520 dalykas, į pasaulį. 17 00:00:47,520 --> 00:00:50,200 Ir pamatysite iš muzikos ir balso, kad iš tikrųjų tų 18 00:00:50,200 --> 00:00:52,070 buvo labai laimingas kartų. 19 00:00:54,885 --> 00:00:59,700 >> [VIDEO PLAYBACK] 20 00:00:59,700 --> 00:01:02,490 Matematinį ir mechaninis įgūdžių triumfas tai 21 00:01:02,490 --> 00:01:06,340 puikus naujas automatinis skaičiuotuvas Harvardo universitete. 22 00:01:06,340 --> 00:01:08,620 Sudėtingų problemų, matematikos, įdėti per 23 00:01:08,620 --> 00:01:12,420 mašina koduota forma juosta, tiksliai išspręsta 24 00:01:12,420 --> 00:01:15,200 minučių frakcija laiko reikalinga žmogaus 25 00:01:15,200 --> 00:01:16,450 skaičiavimas. 26 00:01:27,050 --> 00:01:30,600 Sukurta siekiant paspartinti visų formų matematinis bei mokslinis 27 00:01:30,600 --> 00:01:34,610 mokslinių tyrimų, milžiniškas mechaninis smegenys dirbs Jungtinių Tautų 28 00:01:34,610 --> 00:01:36,570 States Navy iki karo pabaigos. 29 00:01:50,280 --> 00:01:52,980 >> DAVID Malan: Taigi, ką jūs negalite žinoti, yra tai, kad jis buvo 30 00:01:52,980 --> 00:01:56,310 tas pats prietaisas, kad termino mes visi dabar gana daug 31 00:01:56,310 --> 00:01:59,300 suprantamas dalykas, kad klaidų buvo sukurtas. 32 00:01:59,300 --> 00:02:01,140 Taigi vienas iš inžinierių dirbti šiame kompiuteryje 33 00:02:01,140 --> 00:02:05,280 tiesiog rasti į mašiną, kad atsirado mažas drugelis " 34 00:02:05,280 --> 00:02:07,580 kai neteisingai paskaičiuotas. 35 00:02:07,580 --> 00:02:10,410 Ir kaip sakoma, kad drugys buvo šeimininku į šį žurnalą 36 00:02:10,410 --> 00:02:14,180 žurnalas čia, atgal nuo rugsėjo 9 1940-kažką, 37 00:02:14,180 --> 00:02:16,550 ir taip gimė pasauliui sąvoką "klaidas". 38 00:02:16,550 --> 00:02:19,880 Taigi, nuo šiol mes manome, klaidų, bet klaidų rūšiuoti 39 00:02:19,880 --> 00:02:23,290 programas, ar žmogaus sukeltų ar, šiuo atveju, vabzdžių. 40 00:02:23,290 --> 00:02:25,030 >> Taigi keletą pranešimų, kaip mums elgtis. 41 00:02:25,030 --> 00:02:29,160 Taigi CS50 tradiciją pasiūlyti pietūs dvasia 42 00:02:29,160 --> 00:02:31,600 dauguma semestro metu Penktadieniais, kur mes priimame nuo 30 iki 43 00:02:31,600 --> 00:02:34,650 40 studentų į ugnies ir ledo aikštėje atsitiktinis 44 00:02:34,650 --> 00:02:36,390 Pogawędka, kalbėti apie kompiuterių mokslo, 45 00:02:36,390 --> 00:02:37,420 kalbėti apie ateitį. 46 00:02:37,420 --> 00:02:40,000 Kviečiame absolventai ir draugai iš pramonės kalbėtis 47 00:02:40,000 --> 00:02:40,690 studentams. 48 00:02:40,690 --> 00:02:44,020 Tikrai link priėmimo, kas yra gana didelis klasė pabaigoje 49 00:02:44,020 --> 00:02:46,740 intymesnis, bent kartą, o 50 00:02:46,740 --> 00:02:47,710 sutrumpinti studentų. 51 00:02:47,710 --> 00:02:50,940 Taigi, jei norite prisijungti prie mūsų jau šį penktadienį, 01:15, eikite į 52 00:02:50,940 --> 00:02:53,340 CS50.net/lunch RSVP. 53 00:02:53,340 --> 00:02:55,840 Ir mes tai padaryti recurringly, kad ne nerimauti, jei nesate 54 00:02:55,840 --> 00:02:57,930 tarp pirmųjų 30 arba tiek šią savaitę. 55 00:02:57,930 --> 00:02:59,070 >> Taigi raštininkas pažymi. 56 00:02:59,070 --> 00:03:01,500 Išteklių žodis, kad dabar pradėti galimam 57 00:03:01,500 --> 00:03:03,040 mokinių klasėje. 58 00:03:03,040 --> 00:03:05,540 , Kad jūsų vadovai turi ne paskaitų metu 59 00:03:05,540 --> 00:03:08,560 scribbling viską, ką aš sakau, ir tt, ką mes darome 60 00:03:08,560 --> 00:03:10,765 vietoj to iš dėstytojų 61 00:03:10,765 --> 00:03:11,920 kanoninė banknotų rinkinys. 62 00:03:11,920 --> 00:03:14,850 Taigi, mes turime vieną iš mūsų mokymo bičiulių, Andrew Sellergren 63 00:03:14,850 --> 00:03:17,830 , kuris sėdi kiekvieną savaitę, peržiūri vaizdo įrašus, ir tada 64 00:03:17,830 --> 00:03:19,730 užrašo, ką mes manome, kad yra gana 65 00:03:19,730 --> 00:03:21,840 autoritetingas banknotų rinkinys. 66 00:03:21,840 --> 00:03:24,180 Ir Andriaus mėgsta, taip pat išleidžia snarky išnašas 67 00:03:24,180 --> 00:03:24,820 apačioje. 68 00:03:24,820 --> 00:03:27,300 Todėl jūs tikiuosi naudotis šiomis kaip žinynas 69 00:03:27,300 --> 00:03:30,230 įdomus, ir taip pat ateiti viktorina laiką, kaip galimybė iš naujo išnagrinėti 70 00:03:30,230 --> 00:03:31,830 kas atsitiko, atskirų paskaitų. 71 00:03:31,830 --> 00:03:33,580 Taigi tie, kurie susijęs paskaitų puslapyje. 72 00:03:33,580 --> 00:03:35,300 >> Problemą, 0, tuo tarpu, yra. 73 00:03:35,300 --> 00:03:37,470 Ir jums turimų išteklių požiūriu - 74 00:03:37,470 --> 00:03:38,020 žingsnis po žingsnio. 75 00:03:38,020 --> 00:03:39,730 Milo vedė pirmąjį penktadienį. 76 00:03:39,730 --> 00:03:41,470 Jis buvo nufilmuotas, internete iki šeštadienio. 77 00:03:41,470 --> 00:03:44,030 Ir taip suprasite, jei nesate tikrai nežinote, kur pradėti, 78 00:03:44,030 --> 00:03:47,280 tai ar būsimų p-komplektai, visada pirma kreiptis į 79 00:03:47,280 --> 00:03:49,300 žingsnis po žingsnio ar jo vaizdo. 80 00:03:49,300 --> 00:03:52,950 Ruožais metu; cs50.net/section yra, kur jūs 81 00:03:52,950 --> 00:03:54,540 turėtų pateikti jūsų pageidavimus, jei jūs neturite 82 00:03:54,540 --> 00:03:55,880 jau šiandien. 83 00:03:55,880 --> 00:03:58,140 Kadangi skyriuose bus pradėti šių metų sekmadienis, pirmadienis, 84 00:03:58,140 --> 00:03:58,760 ir antradienį. 85 00:03:58,760 --> 00:04:02,470 Mes darome skyrius tos trys dienos, kiekvieną savaitę 86 00:04:02,470 --> 00:04:03,870 semestrą, kad didžioji dalis. 87 00:04:03,870 --> 00:04:06,600 Ir mes taip pat įvesti dar kartą, skirtingus takelius. 88 00:04:06,600 --> 00:04:08,270 Taigi, jūsų bus paprašyta šio pjūvių formos, jei jūs 89 00:04:08,270 --> 00:04:10,350 nemačiau jau, jei esate tarp tų, kurie mažiau 90 00:04:10,350 --> 00:04:12,800 patogiau, patogi, ar kažkur tarp. 91 00:04:12,800 --> 00:04:14,960 Ir jei jūs tarsi ant tvoros, paprastai kažkur 92 00:04:14,960 --> 00:04:18,160 Tarp jų yra tai, ką dauguma studentų baigti tikrinti. 93 00:04:18,160 --> 00:04:19,579 Darbo laikas pradėti vakarą. 94 00:04:19,579 --> 00:04:23,020 >> Taigi nulio yra gana mažas raktas, nors tai visiškai natūralu, 95 00:04:23,020 --> 00:04:25,300 paleisti į įvairių klaidų, arba neaiški, dėl to, kaip 96 00:04:25,300 --> 00:04:26,550 įgyvendinti kažką. 97 00:04:26,550 --> 00:04:28,880 Taigi suprasti, kad mes pradėsime darbo valandos šią savaitę. 98 00:04:28,880 --> 00:04:30,500 Jie bus ne Annenberg Pirmadienis, Antradienis, Trečiadienis, 99 00:04:30,500 --> 00:04:34,300 Ketvirtadienis, 20:00-11:00 per smegenų pertraukos. 100 00:04:34,300 --> 00:04:38,160 Viršutinė classmen gali gauti, ir, jei turite kokių nors problemų gauti 101 00:04:38,160 --> 00:04:40,720 į duris, nes jie bus swiping, tiesiog kalbėti savo kelią 102 00:04:40,720 --> 00:04:42,560 ir paaiškinti esate su CS50. 103 00:04:42,560 --> 00:04:45,230 Paprastai 20 iki 30 iš mūsų darbuotojams bus ten, kad padėtų 104 00:04:45,230 --> 00:04:46,190 tu vienas ant vieno. 105 00:04:46,190 --> 00:04:48,980 >> Atvykus idėja yra tokia: jūs pareikšti savo nešiojamąjį kompiuterį, 106 00:04:48,980 --> 00:04:51,300 jūs turite įkroviklį, mes turime papildomų maitinimo laidus, 107 00:04:51,300 --> 00:04:53,320 ypač palei pietinės sienos Annenberg 108 00:04:53,320 --> 00:04:55,080 ten daug elektros lizdai. 109 00:04:55,080 --> 00:04:59,290 Ir pagrindinė įvažiavimo į Darbo valandos Q & A yra eiti į 110 00:04:59,290 --> 00:05:01,690 cs50.net/discuss ir rašyti 111 00:05:01,690 --> 00:05:02,580 ten savo klausimus. 112 00:05:02,580 --> 00:05:05,600 Ir ženklinti jį su pset 0 arba pset 1, nesvarbu, kokia savaitės 113 00:05:05,600 --> 00:05:06,810 gali atsitikti, kad būti. 114 00:05:06,810 --> 00:05:09,240 Ir tada, ką mes padarysime, tai yra mokymo bičiulių lentelę 115 00:05:09,240 --> 00:05:12,040 ir kursų padėjėjai, paprastai 8 arba 10, arba tiek mūsų, 116 00:05:12,040 --> 00:05:14,430 išgyvena, išlaikant akimi ant lentos, ir 117 00:05:14,430 --> 00:05:16,810 skynimas išjungtas klausimus tikrai taip greitai, kaip mes galime, 118 00:05:16,810 --> 00:05:19,600 nuoroda pranešimų, susijusių su, jei jums nepavyko rasti tuos, 119 00:05:19,600 --> 00:05:22,220 patys, interneto nuorodos, priklausomai nuo aplinkybių. 120 00:05:22,220 --> 00:05:24,280 Ir tada, jei yra problemų, nes neišvengiamai 121 00:05:24,280 --> 00:05:27,190 bus, ar jis tiesiog daro daugiau prasmės sėdėti vienas prieš vieną, 122 00:05:27,190 --> 00:05:28,660 dirbti per problemas su kuo nors. 123 00:05:28,660 --> 00:05:30,810 >> Arba jūs tiesiog ateiti į darbo valandomis tikrai 124 00:05:30,810 --> 00:05:31,640 kuriems šią mąstyseną. 125 00:05:31,640 --> 00:05:33,400 Jūs nenorite eiti per elektronine forma, 126 00:05:33,400 --> 00:05:34,410 tikrai nori susitikti su kuo nors. 127 00:05:34,410 --> 00:05:37,240 Pranešti, kad mums, ir kas nutiks, kai jūsų 128 00:05:37,240 --> 00:05:40,620 klausimas buvo vertinamas personalo narys, ir mes 129 00:05:40,620 --> 00:05:43,660 nustatyti, Yup, tai turėtų būti siunčiami į vieną iš 20 ar. 130 00:05:43,660 --> 00:05:47,800 30 komandos nariai čia vietoje, pamatysite viršuje palikdavo tai 131 00:05:47,800 --> 00:05:51,590 mažai Įveskite Queue mygtuką pradeda mirksi cs50.net / 132 00:05:51,590 --> 00:05:52,165 aptarti. 133 00:05:52,165 --> 00:05:55,260 Ir tai sakau jums, kad dabar jūs turite pakviesti, todėl 134 00:05:55,260 --> 00:05:56,880 kalbėti, įvesti eilę. 135 00:05:56,880 --> 00:05:59,090 Ir paspaudę šį mygtuką, jūsų vardas bus rodomas 136 00:05:59,090 --> 00:06:02,660 iPad CS50 pasveikinimo, vienas iš kurso vadovų, 137 00:06:02,660 --> 00:06:05,250 surengs netoli įėjimo į Annenberg, kurie bus 138 00:06:05,250 --> 00:06:08,630 pamatyti kaip parodyta čia, studentams, kurie turi klausimų dėl 139 00:06:08,630 --> 00:06:11,630 kairės, darbuotojai, kurie yra dešinėje. 140 00:06:11,630 --> 00:06:14,830 Ir į kairę ir į dešinę paspaudimu, interneto naršyklė 141 00:06:14,830 --> 00:06:18,610 pradeda mirksėti kuo greičiau, pavyzdžiui, profesorius McGonnagal 142 00:06:18,610 --> 00:06:21,460 yra pasiruošęs Jus tam tikru Annenberg lentelę. 143 00:06:21,460 --> 00:06:23,340 >> Taigi, mes padarėme kai šios praėjusiais metais. 144 00:06:23,340 --> 00:06:25,430 Mes perleist darbo valandų ir 145 00:06:25,430 --> 00:06:26,980 iš naujo įgyvendinti daug programinės įrangos. 146 00:06:26,980 --> 00:06:29,940 Taigi, suprasti, kad tai bus sušilti šią savaitę. 147 00:06:29,940 --> 00:06:32,970 Tačiau taip pat suprantame taip pat ankstesniais metais, kaip jūs galbūt girdėjote, 148 00:06:32,970 --> 00:06:35,710 iš draugų, biuro darbo valandomis, nuo 50 iki 149 00:06:35,710 --> 00:06:37,040 150 mokinių vienu metu. 150 00:06:37,040 --> 00:06:39,300 Ir tai tiesiog neįmanoma, mums dirbti, kad 151 00:06:39,300 --> 00:06:42,060 efektyviai, vienas į vieną, visą vakarą. 152 00:06:42,060 --> 00:06:44,570 Ir kas mes iš tikrųjų ketiname pabandyti padaryti šiemet 153 00:06:44,570 --> 00:06:46,590 pasinaudoti tuo, kad daug klausimų 154 00:06:46,590 --> 00:06:49,050 dažnai užduodami, ir dažnai gali būti geriau atsakė 155 00:06:49,050 --> 00:06:50,030 asinchroniškai. 156 00:06:50,030 --> 00:06:52,140 Taigi galite rūšiuoti apgalvoti personalo atsako, 157 00:06:52,140 --> 00:06:54,360 ir mes galime apgalvoti savo kodą, be šildomas 158 00:06:54,360 --> 00:06:57,050 slėgis būtinai stengiasi 159 00:06:57,050 --> 00:06:58,210 per jį šalia. 160 00:06:58,210 --> 00:07:00,980 Taigi, mes prognozuojame, kad maždaug trečdalį arba pusę klausimus 161 00:07:00,980 --> 00:07:03,500 bus siunčiami asmeniškai, ir mes pasistengsime laupti 162 00:07:03,500 --> 00:07:05,530 kiek pusę arba daugiau elektroniniu būdu, 163 00:07:05,530 --> 00:07:06,710 darbo valandomis. 164 00:07:06,710 --> 00:07:08,070 Ir mes toliau naudoti Aptarti 165 00:07:08,070 --> 00:07:09,990 per savaitę, taip pat. 166 00:07:09,990 --> 00:07:12,680 >> Ir galiausiai, suprantame, kad šis kursas gali būti verčių atitikimo / neatitikimo. 167 00:07:12,680 --> 00:07:16,230 Taigi, jei esate ant tvoros ar tiesiog manote, kad esate tikrai 168 00:07:16,230 --> 00:07:18,650 not sure, jei tai pasaulis jums, ar tai tikrai 169 00:07:18,650 --> 00:07:21,310 gana užsienio jums, suprasti, kad tai yra puikus būdas 170 00:07:21,310 --> 00:07:24,840 įgyti šiek tiek žingsnis į pasitikėjimą 171 00:07:24,840 --> 00:07:26,780 klasė, kaip ir aš, atvirai kalbant, metų. 172 00:07:26,780 --> 00:07:28,630 Ir tada jau penkias savaites rūšiuoti išsiaiškinti 173 00:07:28,630 --> 00:07:30,850 sau, jei norite likti atitikimo / neatitikimo, pereiti į laišką, 174 00:07:30,850 --> 00:07:31,800 laipsnio, ar panašiai. 175 00:07:31,800 --> 00:07:34,050 Ir paprastai atitikimo / neatitikimo nėra, manau, studentams yra 176 00:07:34,050 --> 00:07:36,700 , kad, jei jūs įtraukėte, kad 10 valandų, 20 valandų, kokia ji 177 00:07:36,700 --> 00:07:38,830 gali būti dėl tam tikrų problemų, ir tranko galvą 178 00:07:38,830 --> 00:07:39,690 prie sienos, 179 00:07:39,690 --> 00:07:41,750 ir tikrai tiesiog negali persekioti kažką žemyn, ir jūs 180 00:07:41,750 --> 00:07:44,230 turi tiek daug kitų dalykų, kuriuos reikia padaryti, sąžiningai, ką aš 181 00:07:44,230 --> 00:07:46,070 galvoti perduoti / nesugeba yra, ji mano Naostrzyć 182 00:07:46,070 --> 00:07:47,250 situacijose, kaip kad. 183 00:07:47,250 --> 00:07:49,350 Jei jūs atlikote dalykas, 90%, kaip. 184 00:07:49,350 --> 00:07:50,830 Jūs žinote, tai ne visai tobulas. 185 00:07:50,830 --> 00:07:52,950 Bet jūs turite daug iš jo, vis dėlto. 186 00:07:52,950 --> 00:07:55,440 Todėl mano, kad atitikimo / neatitikimo suteikia jums, kad 187 00:07:55,440 --> 00:07:57,590 psichikos modelis, galbūt. 188 00:07:57,590 --> 00:08:00,680 >> Viskas gerai, todėl praėjusią savaitę mes panėrė į nulio, o mes 189 00:08:00,680 --> 00:08:03,610 kalbėjo apie programavimo gana aukštos grafinę. 190 00:08:03,610 --> 00:08:05,340 Ir šiandien mes pereiti prie kalba, 191 00:08:05,340 --> 00:08:08,300 vadinamas C ant apatinio lygio programavimo kalba 192 00:08:08,300 --> 00:08:11,260 kurį daugelis šiuolaikinių kalbų pastatytas, įskaitant kai 193 00:08:11,260 --> 00:08:13,010 tie mes naudosite link termino pabaigos. 194 00:08:13,010 --> 00:08:15,530 Ir sintaksiškai, ką jie atrodo 195 00:08:15,530 --> 00:08:17,330 yra labai panašūs. 196 00:08:17,330 --> 00:08:19,080 Taigi, pradėkime padaryti šį perėjimą čia. 197 00:08:19,080 --> 00:08:21,730 Taigi tai buvo programa, praėjusią savaitę buvo paprasčiausias 198 00:08:21,730 --> 00:08:22,910 hello world programos. 199 00:08:22,910 --> 00:08:25,560 Jis tiesiog spausdinami į ekraną hello world, 200 00:08:25,560 --> 00:08:27,650 mažai kalbos debesėlio išeina iš kačių. 201 00:08:27,650 --> 00:08:30,590 Na, jei mes pradėsime dabar versti į kitą 202 00:08:30,590 --> 00:08:33,419 kalba, suprantame, kad idėjos šiandien ir trečiadienį 203 00:08:33,419 --> 00:08:36,450 yra identiški, tačiau sintaksė pradeda keistis. 204 00:08:36,450 --> 00:08:39,370 Taigi, kadangi praėjusią savaitę mes turėjome pasakyti, kai paspaudėte, žalia vėliava 205 00:08:39,370 --> 00:08:40,340 Hello world. 206 00:08:40,340 --> 00:08:43,870 Šiandien mes ketiname turėti int, Main, tuštumą, printf, 207 00:08:43,870 --> 00:08:46,350 grąža, su kai kuriais kitais sintaksė ten taip pat. 208 00:08:46,350 --> 00:08:49,200 Garbanotasis petnešos, ir skliaustus, ir citatos, ir Papuošalą. 209 00:08:49,200 --> 00:08:54,520 Bet suprasti, kad idėja, čia esmė yra spausdinimo, 210 00:08:54,520 --> 00:08:58,470 ir galiausiai tai, kad pagrindinis dabar vyksta 211 00:08:58,470 --> 00:09:00,770 tapatinama su programos pradžios. 212 00:09:00,770 --> 00:09:04,250 Pagrindinis ketina būti ten, kur žalia vėliava prasideda ko ne. 213 00:09:04,250 --> 00:09:06,390 >> Taigi dabar galime erzinti išskyrus kai iš pastato blokus čia 214 00:09:06,390 --> 00:09:08,650 kol mes pasinerti į kai kuriuos konkrečius pavyzdžius. 215 00:09:08,650 --> 00:09:11,620 Taigi, mes vadinami šis pareiškimas praėjusią savaitę, kai jis tiesiog 216 00:09:11,620 --> 00:09:12,470 komanda. 217 00:09:12,470 --> 00:09:15,660 Tai padaryti - šiuo atveju pasakyti hello world. 218 00:09:15,660 --> 00:09:18,400 Na C, jei pažvelgsime tik tos linijos, tai yra, kaip mes 219 00:09:18,400 --> 00:09:20,920 ketina pradėti pareikšti, kad ypatingą įspūdį: 220 00:09:20,920 --> 00:09:24,780 printf ("Hello world");. 221 00:09:24,780 --> 00:09:27,330 Ir dabar mes erzinti tai, išskyrus vis daugiau ir daugiau, laikui bėgant, 222 00:09:27,330 --> 00:09:29,330 bet suprantame, kad yra modelis čia. 223 00:09:29,330 --> 00:09:31,870 , Kad vienas, mes turime šis dalykas vadinamas printf, kuris yra 224 00:09:31,870 --> 00:09:34,310 iš esmės analogiškas žodžio Pasakykite. 225 00:09:34,310 --> 00:09:35,800 Tai, ką ji ketina daryti. 226 00:09:35,800 --> 00:09:37,870 Printf, ir f čia reiškia "suformatuotas". 227 00:09:37,870 --> 00:09:39,270 Taigi, jis tiesiog reiškia, kad jūs galite įterpti 228 00:09:39,270 --> 00:09:41,600 įvairios estetinės detalės. 229 00:09:41,600 --> 00:09:43,770 Taigi citata citatos, ką mes ketiname pradžia 230 00:09:43,770 --> 00:09:45,340 pradėti skambinti eilutę. 231 00:09:45,340 --> 00:09:47,110 Žodis, frazė, sakinys. 232 00:09:47,110 --> 00:09:50,220 Programavimo kalba eilutė yra lygi nuliui, seka 233 00:09:50,220 --> 00:09:51,330 ar daugiau simbolių. 234 00:09:51,330 --> 00:09:54,390 Taigi, h-e-l-l-o, kablelis ir tt, 235 00:09:54,390 --> 00:09:56,290 citata citatos, seka. 236 00:09:56,290 --> 00:09:58,710 Ir dabar Backslash n šiek tiek sintaksiškai keista, bet mes 237 00:09:58,710 --> 00:10:01,780 jau nustatyta, kad praėjusią savaitę, tai reiškia ką? 238 00:10:01,780 --> 00:10:02,630 Tai tiesiog nauja linija. 239 00:10:02,630 --> 00:10:05,000 Tai tiesiog būdas perteikti prie kompiuterio norite 240 00:10:05,000 --> 00:10:07,700 ekvivalentas pataikyti Enter ten, bet jūs neturite 241 00:10:07,700 --> 00:10:10,460 norite, kad iš tikrųjų paspauskite "Enter", todėl sujaukti visus 242 00:10:10,460 --> 00:10:12,130 formuoti jūsų faktinis programos. 243 00:10:12,130 --> 00:10:15,500 Dabar skliausteliuose pridėti šią eilutę, atviras skliaustas ir 244 00:10:15,500 --> 00:10:18,130 arti skliaustas, o viduje tai yra mūsų eilutė. 245 00:10:18,130 --> 00:10:22,600 , Nes tai, nes C ir kitų programavimo 246 00:10:22,600 --> 00:10:27,510 kalbomis, dalykų, pavyzdžiui, printf imtis argumentus, arba imtis 247 00:10:27,510 --> 00:10:28,420 parametrai. 248 00:10:28,420 --> 00:10:31,490 >> Taigi pradėti galvoti dabar šio raudonos pasakyti bloko kaip 249 00:10:31,490 --> 00:10:34,890 funkcija, kaip metodą, kaip procedūra. 250 00:10:34,890 --> 00:10:36,890 Jūs tikrai gali jį vadiname viską, ko norite dabar, bet 251 00:10:36,890 --> 00:10:39,260 tai tarsi miniatiūriniai programa, kuri veikia vienas 252 00:10:39,260 --> 00:10:41,480 dalykas, vienoje eilutėje, ne mažiau. 253 00:10:41,480 --> 00:10:43,620 Taigi printf taip pat yra tai, ką mes ketiname pradėti skambinti 254 00:10:43,620 --> 00:10:46,680 funkcija, ir funkcijas, padaryti kažką, šiuo atveju - 255 00:10:46,680 --> 00:10:49,320 spausdina suformatuoti eilutę į ekraną - 256 00:10:49,320 --> 00:10:53,220 bet funkcijos taip pat argumentų ar parametrus. 257 00:10:53,220 --> 00:10:55,880 Ir argumentai arba parametrų, ačiū, mes turime omenyje 258 00:10:55,880 --> 00:11:01,220 kad jų elgesys gali turėti įtakos, ką jums perduoti 259 00:11:01,220 --> 00:11:03,420 viduje skliausteliuose. 260 00:11:03,420 --> 00:11:06,460 Taigi šiuo atveju, printf poreikiai bus pasakyta, ką spausdinti, ir mes 261 00:11:06,460 --> 00:11:09,520 tiesiog praeiti kabutes čia eilutę, kad mes 262 00:11:09,520 --> 00:11:11,270 iš tikrųjų norite spausdinti. 263 00:11:11,270 --> 00:11:14,060 Ir ant galo šioje eilutėje kabliataškis yra tik 264 00:11:14,060 --> 00:11:18,020 istorinis nepatogumų, kai daugelio eilučių kodo pabaigos, 265 00:11:18,020 --> 00:11:21,170 kabliataškis, kad super aišku prie kompiuterio 266 00:11:21,170 --> 00:11:23,020 kad šią kodo eilutę baigiasi čia. 267 00:11:23,020 --> 00:11:25,600 Dabar tai yra gerai, nes, kaip matysime, kaip programos gauti daugiau 268 00:11:25,600 --> 00:11:29,030 sudėtingas, kabliataškiu super aišku mums žmones, 269 00:11:29,030 --> 00:11:32,280 taip pat kompiuteris, kur kodo pradžios ir pabaigos linijos. 270 00:11:32,280 --> 00:11:34,360 Suprantu, kad kai kurios kalbos neturi kai 271 00:11:34,360 --> 00:11:35,045 iš tų pačių detalių. 272 00:11:35,045 --> 00:11:37,870 Ir iš tiesų, "JavaScript", jūs ne visada reikia ką nors 273 00:11:37,870 --> 00:11:38,670 kaip kabliataškiu. 274 00:11:38,670 --> 00:11:40,210 Tačiau daugiau apie tai turi ateiti. 275 00:11:40,210 --> 00:11:41,170 >> Taigi kilpos. 276 00:11:41,170 --> 00:11:43,520 Mes turėjome kažką panašaus į tai, labai intuityviai, akivaizdu, padaryti 277 00:11:43,520 --> 00:11:44,860 kažkas vėl ir vėl ir vėl. 278 00:11:44,860 --> 00:11:47,720 Norėčiau išleisti kojinių, arba saying hello, šiuo atveju. 279 00:11:47,720 --> 00:11:51,090 Na, pradedant nuo šiandien, C, mes galime išreikšti Tai nulio 280 00:11:51,090 --> 00:11:54,970 blokuoti, o (teisinga) printf ("Hello World"). 281 00:11:54,970 --> 00:11:57,630 Taigi pastebėsite, mes pradedame statyti pažodžiui galvosūkį 282 00:11:57,630 --> 00:11:58,480 gabalas iš anksčiau. 283 00:11:58,480 --> 00:12:01,310 Mes turime tą patį raudonos blokas, bet jis viduje 284 00:12:01,310 --> 00:12:04,880 skliausteliuose Visada blokas, ir geriausias būdas versti, kad 285 00:12:04,880 --> 00:12:06,480 C yra taip. 286 00:12:06,480 --> 00:12:08,130 Yra ne Visada raktinį žodį. 287 00:12:08,130 --> 00:12:10,940 Jūs negalite tiesiog įveskite f-o-r-e-V-e-R C. 288 00:12:10,940 --> 00:12:13,440 Taigi artimiausias analogas, o. 289 00:12:13,440 --> 00:12:17,050 >> Dabar while (true) atrodo šiek tiek kvailas, nes vertė 290 00:12:17,050 --> 00:12:18,700 tiesa kada nors pakeisti? 291 00:12:18,700 --> 00:12:19,810 Turbūt nėra. 292 00:12:19,810 --> 00:12:22,770 Tai tarsi sakydamas, o vienas, tuo tarpu, o tiesa. 293 00:12:22,770 --> 00:12:25,430 Tai visi tą patį, tiesa yra visada. 294 00:12:25,430 --> 00:12:29,860 Taigi šis ciklas yra iš tikrųjų paskatinti Kokios kilpa? 295 00:12:29,860 --> 00:12:31,210 Tiesiog begalinis kilpos, teisė. 296 00:12:31,210 --> 00:12:32,930 Visada kilpa arba, kaip mes pavadino jį praeitą savaitę, 297 00:12:32,930 --> 00:12:33,870 tiesiog begalinis ciklas. 298 00:12:33,870 --> 00:12:35,250 Todėl kartais, kad blogai. 299 00:12:35,250 --> 00:12:37,060 Kartais, kad yra klaida, kartais tai kodėl jums 300 00:12:37,060 --> 00:12:39,340 verpimo paplūdimio kamuolys arba smėlio laikrodis ar panašiai. 301 00:12:39,340 --> 00:12:41,260 Tačiau šiuo atveju, mes sąmoningai dėl kokių nors 302 00:12:41,260 --> 00:12:43,040 priežastis, norėjo spausdinti tą patį vėl 303 00:12:43,040 --> 00:12:43,970 ir vėl ir vėl. 304 00:12:43,970 --> 00:12:45,900 Arba tuo atveju, pavyzdžiui, žiūrėti, jūs norite daryti 305 00:12:45,900 --> 00:12:47,470 kažkas vėl ir vėl ir vėl. 306 00:12:47,470 --> 00:12:49,070 Tiek begalinis kilpos gali prasmės. 307 00:12:49,070 --> 00:12:53,560 Ir tai, kaip C, mes galime išversti Visada kodą. 308 00:12:53,560 --> 00:12:55,570 >> Taigi, dabar tai vienas šiek tiek daugiau specifinių. 309 00:12:55,570 --> 00:12:58,880 Mes turėjome kartoti 10 kartų šį pareiškimą. 310 00:12:58,880 --> 00:13:02,490 Taigi while (true) nėra gana ten dirbti, nes tiesa yra 311 00:13:02,490 --> 00:13:03,590 visuomet tiesa. 312 00:13:03,590 --> 00:13:07,060 Taigi, jei mes vietoj pažvelgti C versija, dabar sintaksė gauna 313 00:13:07,060 --> 00:13:08,180 šiek tiek daugiau paslaptingas. 314 00:13:08,180 --> 00:13:11,380 Bet turi būti sąžiningi, kai jūs pradėsite matyti, visa tai gauna 315 00:13:11,380 --> 00:13:12,600 gana susipažinę greitai. 316 00:13:12,600 --> 00:13:14,370 Taigi, tai yra tai, kas vadinama už linijos. 317 00:13:14,370 --> 00:13:17,210 For ciklas vyksta pasakyti kompiuterio kažką daryti 318 00:13:17,210 --> 00:13:20,710 vėl ir vėl ir vėl tol, kol 319 00:13:20,710 --> 00:13:21,850 šie dalykai yra tiesa. 320 00:13:21,850 --> 00:13:23,370 Dabar ką mes turime galvoje, kad? 321 00:13:23,370 --> 00:13:25,470 Na, yra trys dalys kilpa, ir mes ketiname 322 00:13:25,470 --> 00:13:28,240 grįžti prie šio kontekste faktinės 323 00:13:28,240 --> 00:13:29,100 pavyzdžiai vienu metu. 324 00:13:29,100 --> 00:13:31,650 Taigi nesijaudinkite, jei jis ne visai nuskandinti į visus iš karto. 325 00:13:31,650 --> 00:13:35,400 Bet int i = 0, ilga istorija trumpa, sakydamas, duok man 326 00:13:35,400 --> 00:13:38,290 kintamasis, kuris tipo sveikasis skaičius, todėl man duoti numerį 327 00:13:38,290 --> 00:13:40,890 vadinamas i ir inicijuoti iki 0. 328 00:13:40,890 --> 00:13:43,460 Tai duok man kaip Algebrinė kintamasis X ir 329 00:13:43,460 --> 00:13:44,580 inicijuoti 0. 330 00:13:44,580 --> 00:13:46,250 Tačiau šiuo atveju mes vadinami Tai aš. 331 00:13:46,250 --> 00:13:49,120 Tada per vidurį, ji sako, man yra mažesnis nei 10. 332 00:13:49,120 --> 00:13:52,150 Tai pasako kompiuteriui, šią stuff taip ilgai 333 00:13:52,150 --> 00:13:53,770 kaip aš yra mažesnis nei 10. 334 00:13:53,770 --> 00:13:55,370 Ir, žinoma, prasideda mažiau nei 10, nes 335 00:13:55,370 --> 00:13:56,550 jis prasideda nuo 0. 336 00:13:56,550 --> 00:13:59,150 Tada galiausiai, jūs galite turbūt atspėti, ką aš + + priemonėmis. 337 00:13:59,150 --> 00:14:02,140 Tai šiek tiek sintaksę, kad tik reiškia, prieaugio i. 338 00:14:02,140 --> 00:14:05,270 Taigi pridėti 1 i, vėl ir vėl ir vėl. 339 00:14:05,270 --> 00:14:09,260 >> Ir taip, kaip matysime šio ciklo, šį sintaksė, o, vykdo 340 00:14:09,260 --> 00:14:12,160 tiksliai tą patį, kad, tiesą sakant, Scratch buvo tiesiog 341 00:14:12,160 --> 00:14:13,250 daug lengviau išreikšti. 342 00:14:13,250 --> 00:14:15,170 Pakartoti 10 ir baigsite. 343 00:14:15,170 --> 00:14:17,690 C, ir daugelyje programavimo kalbų, mes turime būti 344 00:14:17,690 --> 00:14:20,190 šiek tiek daugiau pamokantis į kompiuterį ir iš tikrųjų 345 00:14:20,190 --> 00:14:21,630 nurodyti kažką panašaus į tai. 346 00:14:21,630 --> 00:14:23,730 Bet mes grįžti į šio ir kitų sintaksė. 347 00:14:23,730 --> 00:14:24,780 >> Ką apie kintamiesiems? 348 00:14:24,780 --> 00:14:26,940 Nulio, mes turėjome kažką panašaus į šiuos oranžinės blokų, 349 00:14:26,940 --> 00:14:28,180 kur galėčiau paskelbti kintamąjį. 350 00:14:28,180 --> 00:14:30,000 Tegul savavališkai skambinti jai pakenkti. 351 00:14:30,000 --> 00:14:31,880 Leiskite inicijuoti 0, o tada 352 00:14:31,880 --> 00:14:33,240 tegul amžinai kažką daryti. 353 00:14:33,240 --> 00:14:35,760 Šiuo atveju nulio aš sakau skaitiklis, todėl 354 00:14:35,760 --> 00:14:38,230 katė ketina turėti šiek tiek kalbos burbulas, kad kalbėjimo 355 00:14:38,230 --> 00:14:40,010 skaičių, kad į šį kintamąjį rodiklį. 356 00:14:40,010 --> 00:14:42,460 Ir tada mes turime pakeisti skaitiklį 1. 357 00:14:42,460 --> 00:14:45,760 Taigi visa tai yra įvyniojami viduje amžinai spyna. 358 00:14:45,760 --> 00:14:48,960 Taigi, mes jau dabar besiremiančios C 359 00:14:48,960 --> 00:14:50,040 versti. 360 00:14:50,040 --> 00:14:51,650 >> Vienas iš būdų mes galime padaryti, kad tai yra. 361 00:14:51,650 --> 00:14:53,890 Duok man sveikasis skaičius, vadina jį skaitiklis. 362 00:14:53,890 --> 00:14:55,190 Inicijuoti iki 0 363 00:14:55,190 --> 00:14:56,490 ten pirmoje eilutėje. 364 00:14:56,490 --> 00:14:59,390 While (true), todėl aš vagia, kad idėja tik akimirką 365 00:14:59,390 --> 00:15:01,300 atgal, eiti į priekį ir atlikite šiuos veiksmus. 366 00:15:01,300 --> 00:15:04,880 Atsispausdinti skaitiklis, tada prieaugio skaitiklis 367 00:15:04,880 --> 00:15:06,930 vėl, ir vėl, ir vėl. 368 00:15:06,930 --> 00:15:09,380 Ir vėl + + tiesiog reiškia, 1 Pridėti į kažką. 369 00:15:09,380 --> 00:15:11,030 Bet yra naujas gabalas sintaksė čia. 370 00:15:11,030 --> 00:15:15,730 Ką šokinėja kaip nėra tarp mūsų ankstesniuose pavyzdžiuose? 371 00:15:15,730 --> 00:15:17,190 Taip, tai% d. 372 00:15:17,190 --> 00:15:19,810 Taigi, gal galite daryti išvadą, ką tai daro, tiesą sakant, remiantis 373 00:15:19,810 --> 00:15:21,410 apie tai, kas įbrėžimams blokas daro. 374 00:15:21,410 --> 00:15:24,510 Bet vėl C, mes tiesiog turime būti šiek tiek daugiau ypač 375 00:15:24,510 --> 00:15:25,990 kai jis ateina į išreikšti save. 376 00:15:25,990 --> 00:15:30,560 >> Taigi printf ("% d \ n"). 377 00:15:30,560 --> 00:15:32,320 Na dauguma, kad mes galime išmesti kaip pažįstamas. 378 00:15:32,320 --> 00:15:34,910 Kabučių tiesiog reiškia, kad jis eilutė, Backslash n 379 00:15:34,910 --> 00:15:35,970 yra tik nauja linija. 380 00:15:35,970 --> 00:15:38,860 Taigi vienintelis naujas dalykas čia yra% d. 381 00:15:38,860 --> 00:15:40,390 Ir visa, kas yra vietos rezervavimo ženklas. 382 00:15:40,390 --> 00:15:43,510 % D pažymėti dešimtainį skaičių. 383 00:15:43,510 --> 00:15:47,820 Ir% d tai kompiuteris, įdėti dešimtainį skaičių. 384 00:15:47,820 --> 00:15:49,450 Na, ką numeriu jūs norite įdėti? 385 00:15:49,450 --> 00:15:52,400 Na, kaip jūs galbūt gali daryti išvadą, po kablelio, mes sakome, 386 00:15:52,400 --> 00:15:55,480 skaitiklis, tai kintamojo pavadinimas, kuris deklaruojamas arba 387 00:15:55,480 --> 00:15:57,260 sukurta pora linijos anksčiau. 388 00:15:57,260 --> 00:16:02,420 Kad tai tik C būdas prijungti į kintamąjį į 389 00:16:02,420 --> 00:16:04,480 eilutė dinamiškai. 390 00:16:04,480 --> 00:16:07,350 Nes priešingai, jei aš buvo, o ne padaryti kažką panašaus 391 00:16:07,350 --> 00:16:12,470 tai, printf ("skaitiklis"), kas tai 392 00:16:12,470 --> 00:16:15,220 programa, o ne padaryti, matyt? 393 00:16:15,220 --> 00:16:17,260 Tai bus tiesiog atspausdinti "skaitiklis". 394 00:16:17,260 --> 00:16:18,750 Kuri yra ne poveikis, kad aš noriu. 395 00:16:18,750 --> 00:16:20,920 Man reikia pakeisti tam tikra skaitinė vertė. 396 00:16:20,920 --> 00:16:24,340 Taigi, mes pamatysime, kad funkcijos tada, kaip printf, gali užtrukti ne 397 00:16:24,340 --> 00:16:26,930 tik šiek tiek atskiri argumentai, pavyzdžiui, 398 00:16:26,930 --> 00:16:28,150 "Hello World". 399 00:16:28,150 --> 00:16:32,050 Jie gali būti citata Unquote kablelį, tada kai kurių kintamųjų, 400 00:16:32,050 --> 00:16:35,830 , kad bus gauti įjungtas į, kaip matysime ankstesnę eilutę 401 00:16:35,830 --> 00:16:38,280 per šių% gestų vietos rezervavimo ženklai. 402 00:16:38,280 --> 00:16:39,660 >> Na, kas apie Būlio išraiškos? 403 00:16:39,660 --> 00:16:42,200 Būlio išraiškos buvo šios vertybės, true arba false. 404 00:16:42,200 --> 00:16:42,830 Taip arba ne. 405 00:16:42,830 --> 00:16:44,020 1 arba 0. 406 00:16:44,020 --> 00:16:45,190 Įjungti arba išjungti. 407 00:16:45,190 --> 00:16:47,570 Taigi nulio, jie atrodo, kaip šis, ir pastebėsite, kad 408 00:16:47,570 --> 00:16:50,170 iš apačios blokas čia iš tikrųjų yra jungtukas 409 00:16:50,170 --> 00:16:51,500 du mažesnius blokus. 410 00:16:51,500 --> 00:16:53,610 Taigi I rūšies tempia ir nukrito tris įspūdį 411 00:16:53,610 --> 00:16:56,450 kartu padaryti, kad ilgiau įspūdį, kad aš 412 00:16:56,450 --> 00:17:00,420 gali perteikti idėją, kad aš noriu, kad x negali būti mažesnis nei Y ir 413 00:17:00,420 --> 00:17:02,540 Y mažiau nei z. 414 00:17:02,540 --> 00:17:05,790 Ir todėl aš gali versti šias dvi atskiras eilutes taip. 415 00:17:05,790 --> 00:17:08,650 Viršutinis gali būti labai funkcionalumą lengvai išverstas į C, 416 00:17:08,650 --> 00:17:10,069 tik su x 00:17:11,990 Gal su kai gera priemonė skliausteliuose. 418 00:17:11,990 --> 00:17:15,520 Ir tada C, jūs neturite rašyti ir žymėti 419 00:17:15,520 --> 00:17:16,819 kartu kažką. 420 00:17:16,819 --> 00:17:19,585 Jums, o ne rašyti &&. 421 00:17:19,585 --> 00:17:22,849 Ir kaip mes galų gale pamatyti, vienas Ampersand atsitinka 422 00:17:22,849 --> 00:17:23,880 reikšti kažką kita. 423 00:17:23,880 --> 00:17:27,530 Taigi && tiesiog reiškia idėją. 424 00:17:27,530 --> 00:17:30,040 >> Taigi dar kartą, nors tai pradeda atrodyti gana sudėtinga, 425 00:17:30,040 --> 00:17:32,560 vienas iš įvedimo nulio, be 426 00:17:32,560 --> 00:17:34,810 tiesiog ant rampos, kur jūs galite padaryti įdomus rūšiuoti 427 00:17:34,810 --> 00:17:36,590 kažkas, kad labai grafinis ir animacinis, ir 428 00:17:36,590 --> 00:17:39,000 dienoraščių ir panašūs dirbiniai, taip pat perteikti idėją, kad 429 00:17:39,000 --> 00:17:42,010 visų idėjų, mes pradedame pasinerdamas į šiandien ir pirmyn 430 00:17:42,010 --> 00:17:44,300 buvo užfiksuotas net, kad paprastas 431 00:17:44,300 --> 00:17:46,850 sąsaja, nes vieną dieną. 432 00:17:46,850 --> 00:17:47,790 Kaip apie šį vieną čia? 433 00:17:47,790 --> 00:17:48,860 >> Taigi, sąlygos. 434 00:17:48,860 --> 00:17:50,590 Taigi Scratch bloko kairėje, ten atrodo 435 00:17:50,590 --> 00:17:51,610 šiek tiek sudėtingesnis. 436 00:17:51,610 --> 00:17:52,650 Bet tai tik kai velkant ir 437 00:17:52,650 --> 00:17:54,140 nuleisti pažįstamais gabalus. 438 00:17:54,140 --> 00:17:56,690 Jei x yra mažiau nei y pasakyti. 439 00:17:56,690 --> 00:17:59,900 Else if x yra didesnis nei y pasakyti. 440 00:17:59,900 --> 00:18:02,460 Kitur, mes galime logiškai manyti, jis padarė išvadą, kad 441 00:18:02,460 --> 00:18:03,580 jie turi būti lygūs. 442 00:18:03,580 --> 00:18:05,220 Taigi sako, kad jie yra lygūs. 443 00:18:05,220 --> 00:18:07,690 Dabar C dešinėje, toje pačioje tiksliai dalykas. 444 00:18:07,690 --> 00:18:09,730 Ir pastebėjo, kad garbanotieji petnešų bus 445 00:18:09,730 --> 00:18:12,190 bruožas C ir kitomis kalbomis, kad tai padaryti rūšiuoti 446 00:18:12,190 --> 00:18:13,210 Inkapsuliacija. 447 00:18:13,210 --> 00:18:15,470 Lygiai kaip ir, jei blokas tai geltona dalykas tai tarsi 448 00:18:15,470 --> 00:18:17,770 greiferiniai raudonos bloko viduje. 449 00:18:17,770 --> 00:18:19,480 Taip pat yra šios petnešos - 450 00:18:19,480 --> 00:18:20,870 šie garbanotieji petnešų - 451 00:18:20,870 --> 00:18:24,710 skirtas įsivaizduoti tą pačią idėją, apimantis vieną ar daugiau 452 00:18:24,710 --> 00:18:27,680 kodo eilučių, kurie yra Indented viduje. 453 00:18:27,680 --> 00:18:31,270 Taigi dešinėje pusėje, jei x mažiau nei y, printf 454 00:18:31,270 --> 00:18:32,270 ("X yra mažiau nei y"). 455 00:18:32,270 --> 00:18:34,980 Else if x yra didesnis nei y, spausdinti tas pats. 456 00:18:34,980 --> 00:18:38,360 Kitas spausdinti, kad jie yra lygūs. 457 00:18:38,360 --> 00:18:41,750 >> Taigi trumpai tariant, yra gana tiesioginis žemėlapių ar vertimas 458 00:18:41,750 --> 00:18:44,720 kalba, mes matėme iki šiol, įskaitant kai 459 00:18:44,720 --> 00:18:45,940 daugiau sudėtingų funkcijų. 460 00:18:45,940 --> 00:18:48,680 Todėl jūs galite naudoti šį savo projektą, arba gali nebūti 461 00:18:48,680 --> 00:18:51,150 naudoti savo projektui šią savaitę. 462 00:18:51,150 --> 00:18:54,650 Bet mes turime šie dalykai vadinami masyvo C. nulio 463 00:18:54,650 --> 00:18:55,680 jie vadinami sąrašus. 464 00:18:55,680 --> 00:18:59,370 Ir mes matėme tai su Fruitcraft RPG praėjusią savaitę. 465 00:18:59,370 --> 00:19:01,320 Mėlyna vaikinas, kad vaikščioti aplink, įlaipinami 466 00:19:01,320 --> 00:19:03,010 vyšnios ir apelsinai ir panašūs. 467 00:19:03,010 --> 00:19:05,110 Na nulio, kad buvo įgyvendintas su šiuo oranžinė 468 00:19:05,110 --> 00:19:09,000 blokas, kuris yra žodžių, šiuo atveju, mes tiesiog 469 00:19:09,000 --> 00:19:10,800 pridurdamas, kad "oranžinė" 470 00:19:10,800 --> 00:19:12,460 kintamasis vadinamas sąrašą. 471 00:19:12,460 --> 00:19:14,910 Taigi C, šį sintaksė ketina gauti šiek tiek paslaptingas. 472 00:19:14,910 --> 00:19:17,250 Ir mes grįžti į šią kitą savaitę ir padaryti daugiau 473 00:19:17,250 --> 00:19:21,060 įdomių dalykų pasaulyje Kriptografija su juo. 474 00:19:21,060 --> 00:19:23,990 Bet čia, apačioje šias dvi eilutes, iš esmės 475 00:19:23,990 --> 00:19:27,550 išversti į ką mes darome vienoje nulio blokuoti ten. 476 00:19:27,550 --> 00:19:30,120 Tačiau daugiau apie tai turi ateiti. 477 00:19:30,120 --> 00:19:34,120 >> Todėl pradėti jį kartu, čia yra programa, C. Taigi tegul 478 00:19:34,120 --> 00:19:36,590 greitai erzinti išskyrus kai čia sintaksės vienetų, tačiau 479 00:19:36,590 --> 00:19:40,300 tada tegul iš tikrųjų pradėti rašyti tam tikrą kodą, susipažinti 480 00:19:40,300 --> 00:19:42,440 su kai kurių įrankių, kuriuos naudosite, ir pamatyti, jei mes 481 00:19:42,440 --> 00:19:45,400 dabar gali remtis kai kurie iš šių pagrindinių pastato blokus 482 00:19:45,400 --> 00:19:49,150 praeitą savaitę, dabar sintaksiškai C. Taigi čia viršuje, 483 00:19:49,150 --> 00:19:51,380 yra turbūt vienas iš labiausiai nuobodu programų jums gali 484 00:19:51,380 --> 00:19:53,130 rašyti beveik bet kuria programavimo kalba. 485 00:19:53,130 --> 00:19:55,010 Tačiau tai tarsi turi ypatingą reikšmę, nes jis 486 00:19:55,010 --> 00:19:58,120 kanoninė programa, kuri bet kurio kompiuterio, mokslininkas rašo, kai 487 00:19:58,120 --> 00:19:59,620 mokymo kam nors programavimo kalbą - 488 00:19:59,620 --> 00:20:01,230 hello world programa. 489 00:20:01,230 --> 00:20:05,120 >> Taigi, pačiame viršuje, mes matome šį sąvoka # include 490 00:20:05,120 --> 00:20:08,180 ir tada, kampu skliausteliuose, stdio.h. 491 00:20:08,180 --> 00:20:10,580 Mes ketiname grįžti į, kad, bet tikrai tai, ką, kad 492 00:20:10,580 --> 00:20:13,770 reiškia, kad yra šiame pasaulyje failas vadinamas standartiniu 493 00:20:13,770 --> 00:20:17,670 I / O, stdio taškas h, ir tai tik tekstinis failas, 494 00:20:17,670 --> 00:20:19,240 Kažkas rašė metų. 495 00:20:19,240 --> 00:20:22,550 Ir viduje šio tekstinio failo yra visa krūva 496 00:20:22,550 --> 00:20:25,840 funkcijas arba metodus, ar procedūros, kad kažkas kitas 497 00:20:25,840 --> 00:20:28,970 rašė, kad mes esame paramos gavėjai, nes mes 498 00:20:28,970 --> 00:20:31,420 dabar gali naudotis to asmens kodą. 499 00:20:31,420 --> 00:20:33,070 Funkcijos jis parašė. 500 00:20:33,070 --> 00:20:36,320 Šiuo atveju, printf nėra kažkas, kad aš parašiau, tai 501 00:20:36,320 --> 00:20:37,500 ne kažkas, kad CS50 rašė. 502 00:20:37,500 --> 00:20:40,290 Tai kažkas, kad kažkas rašė metų ir dėkite į 503 00:20:40,290 --> 00:20:43,450 failas, kuris vadinamas stdio.h ir tada, žemę, įdėti 504 00:20:43,450 --> 00:20:45,830 kitą į kitą failą funkcija dalis. 505 00:20:45,830 --> 00:20:46,940 Bet mes ten patekti. 506 00:20:46,940 --> 00:20:50,070 >> Taigi, # include yra tik mūsų būdas pasakyti, 507 00:20:50,070 --> 00:20:53,110 C suteikti man prieigą prie funkcijų, kad kažkas ją parašė. 508 00:20:53,110 --> 00:20:55,490 Ir šiuo atveju man rūpi, nes aš noriu printf. 509 00:20:55,490 --> 00:20:57,530 Dabar mes int main (void). 510 00:20:57,530 --> 00:21:00,160 Taigi tai yra vienas iš šių dalykų, atvirai, kad ir 0 dieną, 511 00:21:00,160 --> 00:21:02,400 gana daug aš zonoje out rūšis, nes tai tik 512 00:21:02,400 --> 00:21:03,260 neįdomu 513 00:21:03,260 --> 00:21:04,780 intelektualiai, kai sintaksę. 514 00:21:04,780 --> 00:21:07,940 Bet dabar žinome, kad funkcijas, kitaip žinoma kaip 515 00:21:07,940 --> 00:21:11,660 procedūrų ar metodus, paprastai gamina tam tikrą vertę. 516 00:21:11,660 --> 00:21:12,520 Jie kažką daryti. 517 00:21:12,520 --> 00:21:13,810 Jie sugalvoti atsakymą. 518 00:21:13,810 --> 00:21:15,020 Jie gaminti produkciją. 519 00:21:15,020 --> 00:21:18,780 Taigi int šalia pagrindinės yra tik mūsų stenografistų būdas pasakyti 520 00:21:18,780 --> 00:21:21,380 kad ši funkcija, ši procedūra galiausiai 521 00:21:21,380 --> 00:21:22,650 duos jums atgal numerį. 522 00:21:22,650 --> 00:21:24,370 Ir kodėl taip yra, mes grįžti į. 523 00:21:24,370 --> 00:21:27,810 Pagrindinis yra tik numatytasis pasauliniu standartu pagal nutylėjimą 524 00:21:27,810 --> 00:21:30,990 funkcija, kuri ketina gauti C programos, kai vykdomas 525 00:21:30,990 --> 00:21:31,860 jį paleisti. 526 00:21:31,860 --> 00:21:34,160 Void tiesiog reiškia tai, ką, pagrindiniai trunka ne 527 00:21:34,160 --> 00:21:35,270 argumentai, šiuo atveju. 528 00:21:35,270 --> 00:21:36,400 Taigi, aš super aiškus. 529 00:21:36,400 --> 00:21:38,160 Nėra jokių ten stygos, nėra jokių kablelių. 530 00:21:38,160 --> 00:21:40,690 Void reiškia, kad nėra argumentų to main. 531 00:21:40,690 --> 00:21:44,350 >> Dabar galiausiai, laimei, dvi paskutinės eilutės yra susipažinę. 532 00:21:44,350 --> 00:21:46,160 Viduje klamrami mes printf 533 00:21:46,160 --> 00:21:47,620 ir mes turime grąžinti. 534 00:21:47,620 --> 00:21:50,450 Ir grąža yra natūra gaila, kad mes turime 535 00:21:50,450 --> 00:21:53,510 padėkite jį ten, nes šiuo atveju tai ne daro viską, kad 536 00:21:53,510 --> 00:21:54,600 daug interesų. 537 00:21:54,600 --> 00:21:58,790 Tačiau į kompiuterinę programą, kai funkcija grąžina 0, 538 00:21:58,790 --> 00:22:00,610 tai reiškia, kad viskas yra gerai. 539 00:22:00,610 --> 00:22:01,820 Nieko nutiko. 540 00:22:01,820 --> 00:22:06,170 Priešingai, jei funkcija grąžina 1 ar neigiamą 1, arba 541 00:22:06,170 --> 00:22:11,670 neigiamas 1337, arba, pavyzdžiui, kad kai kurie atsitiktiniai skaičiai, kad 542 00:22:11,670 --> 00:22:14,020 paprastai reiškia, kad iš tikrųjų įvyko klaida. 543 00:22:14,020 --> 00:22:16,150 Taigi, jei jūs savo Mac ar kompiuteriui, jei jūs kada nors matė 544 00:22:16,150 --> 00:22:18,590 kai erzina pranešimas, nes jūsų kompiuteris sudužo arba 545 00:22:18,590 --> 00:22:20,660 sušaldyti, ir yra paslaptingas klaidos pranešimas, 546 00:22:20,660 --> 00:22:23,320 ir tada kai kodas, kaip sistemos kodas 547 00:22:23,320 --> 00:22:25,110 1,2,3,4, kai skaičius, 548 00:22:25,110 --> 00:22:29,270 kad paprastai yra detalus pasakyti 549 00:22:29,270 --> 00:22:32,110 dauguma mumyse, bet tai, ką kai kurie funkcija arba kai 550 00:22:32,110 --> 00:22:34,890 programa iš tikrųjų sugrįžo, ne nulinės vertės. 551 00:22:34,890 --> 00:22:38,540 Ir tai privalumas yra tai, kad 0 reiškia taip pat ir 552 00:22:38,540 --> 00:22:40,470 tada jūs iš esmės turite begalę dalykų, kad 553 00:22:40,470 --> 00:22:41,130 gali suklysti. 554 00:22:41,130 --> 00:22:44,700 Kuris yra, kodėl jie pasirinko 0 gera ir ne nulinė vertė 555 00:22:44,700 --> 00:22:46,450 blogai, kaip mes netrukus matysime. 556 00:22:46,450 --> 00:22:47,870 >> Taigi eikime į priekį ir rašyti. 557 00:22:47,870 --> 00:22:51,610 Taigi priminti, kad kitą dieną aš naudojamas mano Mac atverti 558 00:22:51,610 --> 00:22:53,970 terminalo langą, tada aš atvėrė teksto programą, kaip 559 00:22:53,970 --> 00:22:55,900 TextEdit, ir aš pradėjau rašyti tam tikrą kodą. 560 00:22:55,900 --> 00:22:56,580 Gerai, kad viskas gerai. 561 00:22:56,580 --> 00:22:58,636 Bet jūsų patirtis bus kitaip "Mac" arba 562 00:22:58,636 --> 00:23:01,220 Solaris kompiuterio, Linux kompiuterių, nepriklausomai nuo operacinės 563 00:23:01,220 --> 00:23:02,810 sistema jums atsitiktų būti naudojant. 564 00:23:02,810 --> 00:23:04,970 Ir taip, žinoma, tai, ką mes vietoj naudoti yra kažkas, 565 00:23:04,970 --> 00:23:07,010 vadinamas CS50 prietaisą. 566 00:23:07,010 --> 00:23:10,420 Taigi CS50 Appliance gabalas programinės įrangos, yra atsisiunčiama 567 00:23:10,420 --> 00:23:13,640 kuri leidžia jums paleisti operacinę sistemą, vadinamą "Linux", 568 00:23:13,640 --> 00:23:16,810 specialiai Fedora Linux į savo Mac arba PC. 569 00:23:16,810 --> 00:23:20,810 Ir jums tai padaryti, atsisiųsti kažką vadinama hypervisor. 570 00:23:20,810 --> 00:23:23,100 Taigi, visa tai bus dokumentuojami problemą, 1. 571 00:23:23,100 --> 00:23:25,240 Ir jums bus vadovaujamasi į tai, ką jums reikia atsisiųsti. 572 00:23:25,240 --> 00:23:27,510 Bet galutinis rezultatas, ar turite Mac arba PC, 573 00:23:27,510 --> 00:23:29,080 parsisiųsti kai laisvos programinės įrangos. 574 00:23:29,080 --> 00:23:32,340 Jūs tada atsisiųsti CS50 Appliance, ir jums pasakyti, kad 575 00:23:32,340 --> 00:23:33,960 nemokama programinė įranga - hypervisor - 576 00:23:33,960 --> 00:23:38,080 CS50 Appliance lange savo kompiuteryje paleisti. 577 00:23:38,080 --> 00:23:39,490 Ir kas atsitinka, tai. 578 00:23:39,490 --> 00:23:43,660 >> Aš jau pastebėsite čia, kas atrodo, kad darbastalio 579 00:23:43,660 --> 00:23:44,130 aplinka. 580 00:23:44,130 --> 00:23:46,150 Ir leiskite man iš tikrųjų trauktis šį vieno langelio ". 581 00:23:46,150 --> 00:23:49,640 Taigi tai dabar yra mano Mac, čia su šiek tiek langą ir viduje 582 00:23:49,640 --> 00:23:51,300 šio lango atsitinka būti visiškai 583 00:23:51,300 --> 00:23:52,380 kitos operacinės sistemos. 584 00:23:52,380 --> 00:23:55,250 Iš tiesų ten tai start meniu žemyn čia, primenantis 585 00:23:55,250 --> 00:23:57,990 Langai, kad yra visa krūva antriniuose meniu, įskaitant 586 00:23:57,990 --> 00:24:00,720 nuoroda į CS50 vadove, išsiskleidžiančiame langelyje ir panašios. 587 00:24:00,720 --> 00:24:03,480 Ir ką ši aplinka dabar yra standartinė aplinka 588 00:24:03,480 --> 00:24:06,280 kad mums visiems dabar gali naudoti, kad nesvarbu, ką jūsų 589 00:24:06,280 --> 00:24:08,960 kompiuteris yra tai, ką jūs įdiegėte apie tai, kokia versija 590 00:24:08,960 --> 00:24:11,430 Mac OS arba Windows vykdote, mes visi dabar turi 591 00:24:11,430 --> 00:24:12,800 ta pati aplinka. 592 00:24:12,800 --> 00:24:15,850 Ir dabar šioje aplinkoje gali pradėti rašyti tam tikrą kodą. 593 00:24:15,850 --> 00:24:18,480 >> Taigi, aš ruošiuosi eiti į priekį ir atidaryti programą, pavadintą gedit. 594 00:24:18,480 --> 00:24:21,500 Tai yra panašus į Notepad.exe arba 595 00:24:21,500 --> 00:24:22,790 TextEdit "Mac". 596 00:24:22,790 --> 00:24:25,390 Ir tai tik super paprasta teksto redagavimo programa 597 00:24:25,390 --> 00:24:27,500 kad atrodo taip iš pirmo žvilgsnio. 598 00:24:27,500 --> 00:24:30,640 Dabar pačiame viršuje, turiu baltą paletę apačioje 599 00:24:30,640 --> 00:24:33,860 šis juodas langas, kuris sako jharvard @ prietaisą. 600 00:24:33,860 --> 00:24:36,440 Ir tai todėl, kad vartotojo abonementą, kad mes iš anksto sukurtą 601 00:24:36,440 --> 00:24:38,430 visiems vadinamas John Harvardo. 602 00:24:38,430 --> 00:24:41,490 Jis turi aplanką, kuriame visi jo failus ketinate eiti, ir 603 00:24:41,490 --> 00:24:43,500 čia, kur mes galime pradėti rašyti tam tikrą kodą. 604 00:24:43,500 --> 00:24:45,810 Taigi leiskite man eiti į priekį ir tik šiek tiek padidinti, ir aš 605 00:24:45,810 --> 00:24:51,550 ketina padaryti # include , int main (void), ir 606 00:24:51,550 --> 00:24:57,470 tada aš ruošiuosi daryti printf ("Hello World") 607 00:24:57,470 --> 00:24:59,490 ; Return 0. 608 00:24:59,490 --> 00:25:01,400 Dabar tai yra gana juoda ir balta. 609 00:25:01,400 --> 00:25:03,830 >> Leiskite man eiti į priekį ir padaryti vieną dalyką mokyti gedit, ką aš 610 00:25:03,830 --> 00:25:04,510 iš tikrųjų daro. 611 00:25:04,510 --> 00:25:06,140 Leiskite man eiti Įrašyti kaip. 612 00:25:06,140 --> 00:25:08,560 Aš ruošiuosi pasirinkti kairėje pusėje čia jharvard. 613 00:25:08,560 --> 00:25:11,010 Taigi dar kartą, net jei jūs niekada nesinaudojo Linux prieš, tiesą sakant 614 00:25:11,010 --> 00:25:13,680 šių dienų, visi jie yra perduodant į iš esmės 615 00:25:13,680 --> 00:25:14,590 tos pačios rūšies sąsaja - 616 00:25:14,590 --> 00:25:16,030 "Mac OS", "Windows" ir "Linux". 617 00:25:16,030 --> 00:25:18,680 Todėl aš nusprendė jharvard namųaplanko čia. 618 00:25:18,680 --> 00:25:21,120 Ir aš ruošiuosi išsaugoti šį failą kaip hello.c. 619 00:25:21,120 --> 00:25:24,260 Taigi, pačiame viršuje, aš įvedėte hello.c pavadinimų C 620 00:25:24,260 --> 00:25:26,520 programą su C pratęsimo 621 00:25:26,520 --> 00:25:27,570 kas yra įprasta praktika. 622 00:25:27,570 --> 00:25:28,650 Ir aš paspauskite "Išsaugoti". 623 00:25:28,650 --> 00:25:32,510 Ir dabar, kas malonu, kad aš veiksmingai mokoma gedit, 624 00:25:32,510 --> 00:25:33,690 kad tai C programa. 625 00:25:33,690 --> 00:25:36,470 Atkreipkite dėmesį, kad mano juoda ir balta tekstas dabar spalviniu kodu, arba 626 00:25:36,470 --> 00:25:39,330 sintaksė pabrėžė, kuri tiesiog atkreipia mano dėmesį į 627 00:25:39,330 --> 00:25:41,540 skirtingos semantinės programos dalis. 628 00:25:41,540 --> 00:25:44,260 Paliko ten, viršuje, kaip mano programos gauti daugiau sudėtingas, aš 629 00:25:44,260 --> 00:25:47,060 ketina turėti visų dalykų, aš raštu santrauką. 630 00:25:47,060 --> 00:25:48,050 Taigi, kad jis ten. 631 00:25:48,050 --> 00:25:52,350 Taigi, leiskite man dabar nutolinti ir eiti į šio terminalo lange. 632 00:25:52,350 --> 00:25:54,570 >> Taigi tai yra galbūt naujas daugeliui žmonių. 633 00:25:54,570 --> 00:25:57,260 Jei Jūs niekada naudojamas komandinės eilutės aplinkoje, jūs niekada 634 00:25:57,260 --> 00:26:00,020 naudojamas DOS, ar Jūs niekada naudojamas Linux, ar jūs niekada atidarytas 635 00:26:00,020 --> 00:26:02,550 Mac OS terminalo langą, ten yra daug dalykų 636 00:26:02,550 --> 00:26:04,820 galėtų padaryti su GUI, pavyzdžiui tokius kaip parodymas ir paspaudę, 637 00:26:04,820 --> 00:26:07,080 vilkdami, ir nuleisti, ir panašūs, tačiau paprastai 638 00:26:07,080 --> 00:26:09,360 žinoma, informatikos pasaulyje - 639 00:26:09,360 --> 00:26:11,580 naudodami komandų eilutę, kur jūs neturite pelę 640 00:26:11,580 --> 00:26:14,220 paprastai, jūs turite tik klaviatūra, yra iš tikrųjų daug 641 00:26:14,220 --> 00:26:17,260 galingesnis nei sąsaja, kai jums prisitaikyti prie 642 00:26:17,260 --> 00:26:18,580 skirtingų komandų. 643 00:26:18,580 --> 00:26:20,940 Ir jūs tarsi išsilaisvinti reikia atkreipti ir spustelėkite 644 00:26:20,940 --> 00:26:21,690 ne viskas. 645 00:26:21,690 --> 00:26:23,890 Taigi gedit mes rūšiuoti turėti geriausią iš abiejų Pasaulių. 646 00:26:23,890 --> 00:26:25,600 Mes galite nuvilkti tekstą, mes galime matyti 647 00:26:25,600 --> 00:26:26,840 gražus ir spalviniu kodu. 648 00:26:26,840 --> 00:26:29,630 Bet kai ateina laikas paleisti mūsų programą, mes kartais galime 649 00:26:29,630 --> 00:26:31,750 tiesiog naudokite nedidelį langą. 650 00:26:31,750 --> 00:26:33,460 >> Taigi, aš ruošiuosi eiti į priekį ir tai padaryti. 651 00:26:33,460 --> 00:26:36,420 , Apatiniame juoda ir balta langą, aš ruošiuosi eiti į priekį 652 00:26:36,420 --> 00:26:37,890 ir rašyti Apsukite metalinis garsas. 653 00:26:37,890 --> 00:26:40,130 Apsukite metalinis garsas yra kompiliatorius vardas. 654 00:26:40,130 --> 00:26:43,310 Tai programa, kuri konvertuoja savo šaltinio kodą 655 00:26:43,310 --> 00:26:48,770 taip, į objekto kodas. 656 00:26:48,770 --> 00:26:51,270 0s ir 1s, kad mes matėme trumpai praėjusią savaitę. 657 00:26:51,270 --> 00:26:53,700 Prisiminkite, praeitą savaitę, mes pažadėjo, kad mes ketiname 658 00:26:53,700 --> 00:26:55,920 eiti kažką panašaus į tai - mums reikia 659 00:26:55,920 --> 00:26:57,010 kažkas panašaus į tai - 660 00:26:57,010 --> 00:26:58,700 ir tai tikrai nėra kažkas, kad žmogus vyksta 661 00:26:58,700 --> 00:26:59,690 padaryti rankiniu būdu. 662 00:26:59,690 --> 00:27:01,980 Taigi, vietoj to, mes ketiname naudoti programa, ir kad programa 663 00:27:01,980 --> 00:27:03,430 šis atvejis vadinamas Apsukite metalinis garsas. 664 00:27:03,430 --> 00:27:06,020 Ir mano programos pavadinimas yra hello.c. 665 00:27:06,020 --> 00:27:09,670 Taigi, siekiant surinkti hello.c iš išeities kodo į 666 00:27:09,670 --> 00:27:12,930 objekto kodas arba 0s ir 1s, jis turėtų pakakti tiesiog padaryti 667 00:27:12,930 --> 00:27:14,820 ir paspauskite "Enter". 668 00:27:14,820 --> 00:27:16,850 >> Gerai, niekas, atrodo, atsitiko. 669 00:27:16,850 --> 00:27:20,450 Bet aš žinau, dabar, ar iš praeitą savaitę, kad numatytasis pavadinimas 670 00:27:20,450 --> 00:27:24,920 kvailai vadinama programa, parašyta C, a.out. 671 00:27:24,920 --> 00:27:26,610 Labiausiai neįdomu vardas, kurį gali sugalvoti. 672 00:27:26,610 --> 00:27:28,790 Yra pirmoji abėcėlės raidė, tai, kas buvo 673 00:27:28,790 --> 00:27:29,960 išvesti, bet tegul bus taip. 674 00:27:29,960 --> 00:27:33,570 Tai mano programa, o dabar taškas įstrižas brūkšnys, kaip matysime, yra 675 00:27:33,570 --> 00:27:36,170 iš tikrųjų tik saugumo funkcija rūšiuoti, nes 676 00:27:36,170 --> 00:27:38,250 a.out yra programa, aš parašiau. 677 00:27:38,250 --> 00:27:39,650 Jis neateina su savo kompiuteriu, tai 678 00:27:39,650 --> 00:27:40,790 ne Program Files. 679 00:27:40,790 --> 00:27:42,910 Tai ne "Mac OS" Applications aplanke. 680 00:27:42,910 --> 00:27:45,740 Man reikia itin tiksliai su kompiuteriu, ir pasakyti, 681 00:27:45,740 --> 00:27:49,030 ši programa, a.out, yra šiame aplanke, 682 00:27:49,030 --> 00:27:50,260 einamojo katalogo. 683 00:27:50,260 --> 00:27:53,160 Ir tai, kaip jūs atstovaujate tai, kaip šis aplinkoje 684 00:27:53,160 --> 00:27:57,070 yra taškas reiškia bet kokio aplanko, kurį šiuo metu esate in 685 00:27:57,070 --> 00:27:59,420 Ir tt. / Tiesiog reiškia paleisti a.out 686 00:27:59,420 --> 00:28:00,530 dabartiniame aplanke. 687 00:28:00,530 --> 00:28:04,830 Ir aš paleisti su "Enter", ir voila, mano pats pirmas programos. 688 00:28:04,830 --> 00:28:05,990 >> Dabar leiskite man žengti žingsnį atgal. 689 00:28:05,990 --> 00:28:08,280 Šis langas yra šiek tiek mažas, ir suprasti, kad apačioje 690 00:28:08,280 --> 00:28:10,340 liko prietaiso čia yra kita piktograma. 691 00:28:10,340 --> 00:28:12,660 Vienas iš jų yra "Chrome", kuri turėtų būti pakankamai susipažinęs, tik interneto 692 00:28:12,660 --> 00:28:14,350 naršyklė viduje prietaiso. 693 00:28:14,350 --> 00:28:16,340 Ir tai yra tik juoda ir balta piktograma 694 00:28:16,340 --> 00:28:17,720 didesnis terminalo langą. 695 00:28:17,720 --> 00:28:19,830 Taigi, jei jis gauna šiek tiek erzina, rūšiuoti turėti tik 696 00:28:19,830 --> 00:28:22,270 ši maža maža lango gabalas, su kuriuo bendrauti 697 00:28:22,270 --> 00:28:24,370 su programomis, Vietoj to mes galime tai padaryti. 698 00:28:24,370 --> 00:28:26,640 O dabar leiskite man pradėti rašyti mažai greičiau 699 00:28:26,640 --> 00:28:27,980 būti susipažinę komandos. 700 00:28:27,980 --> 00:28:28,900 ls. 701 00:28:28,900 --> 00:28:31,410 Taigi LS yra komandų sąrašą. 702 00:28:31,410 --> 00:28:33,900 Mac OS arba Windows galėtumėte paprastai dvigubai pelės mygtuku spustelėkite 703 00:28:33,900 --> 00:28:36,510 aplanką, tada, voila, jūs matote iš įvairių failų 704 00:28:36,510 --> 00:28:37,210 ir aplankus. 705 00:28:37,210 --> 00:28:39,650 Komandinės eilutės aplinkoje, kur jūs galite tik tipui 706 00:28:39,650 --> 00:28:42,390 komandas arba tekstas, ls yra lygiavertis. 707 00:28:42,390 --> 00:28:44,380 Taigi, parodykite man, kas yra šiame kataloge. 708 00:28:44,380 --> 00:28:46,540 >> Dabar yra daiktų krūva, kad čia tiek mažai 709 00:28:46,540 --> 00:28:48,190 susipažinę ir šiek tiek susipažinę. 710 00:28:48,190 --> 00:28:50,740 , Tačiau atkreipkite dėmesį, kad kaip ir "Windows" ir "Mac OS jharvard 711 00:28:50,740 --> 00:28:52,190 darbastalio aplanką. 712 00:28:52,190 --> 00:28:54,520 Taigi visus, kurie yra ant mano darbastalio piktogramos atsitikti 713 00:28:54,520 --> 00:28:55,650 būti tame aplanke. 714 00:28:55,650 --> 00:28:57,250 Yra atsisiuntimų aplanką, stuff, kad 715 00:28:57,250 --> 00:28:58,890 Chrome "gali įdėti ten. 716 00:28:58,890 --> 00:28:59,250 "Dropbox". 717 00:28:59,250 --> 00:29:01,820 Todėl įrenginys ateina su built-in paramos ZMI 718 00:29:01,820 --> 00:29:04,500 kad per semestrą, galite sinchronizuoti su savo ZMI 719 00:29:04,500 --> 00:29:06,420 sąskaitą, kad visi iš jūsų programų kopijos. 720 00:29:06,420 --> 00:29:08,050 Jie prieinami dėl kitų savo kompiuteryje. 721 00:29:08,050 --> 00:29:09,780 Jei kas nors kada nors negerai su prietaisu, galite 722 00:29:09,780 --> 00:29:11,340 labai lengvai atkurti ZMI. 723 00:29:11,340 --> 00:29:12,940 Taip, kad aplankas ten. 724 00:29:12,940 --> 00:29:14,660 Yra du failus, kad aš padariau - hello.c 725 00:29:14,660 --> 00:29:16,540 a.out. 726 00:29:16,540 --> 00:29:18,530 Ir tada į dešinę, yra keletas kitų aplankų, kad mes 727 00:29:18,530 --> 00:29:20,710 gauti link semestro pabaigoje, su interneto 728 00:29:20,710 --> 00:29:21,540 programavimas. 729 00:29:21,540 --> 00:29:26,160 Taigi, kai aš. / A.out, įveskite, kad sako eiti 730 00:29:26,160 --> 00:29:29,460 į katalogą aš, dabartinę direktoriją ir paleiskite 731 00:29:29,460 --> 00:29:32,465 programa, vadinama a.out teisę ten. 732 00:29:32,465 --> 00:29:35,810 >> Viskas bus gerai, kad gražus ir geras, bet tai dar ne viskas, kad 733 00:29:35,810 --> 00:29:38,550 įtikinamų parašyti programą, pavadintą padėti a.out. 734 00:29:38,550 --> 00:29:40,790 Taigi, mes galime iš tikrųjų tai padaryti šiek tiek kitaip. 735 00:29:40,790 --> 00:29:43,980 Taigi, užuot tiesiog veikia Apsukite metalinis garsas, hello.c Pridėkime 736 00:29:43,980 --> 00:29:46,850 tai, kas vadinama komandinės eilutės argumentas. 737 00:29:46,850 --> 00:29:50,730 Taigi, komandų eilutės argumentas, arba šiuo atveju jungiklis yra tik 738 00:29:50,730 --> 00:29:54,930 kitas žodis ar frazė, kad įvedate greitai po 739 00:29:54,930 --> 00:29:56,290 programa, kurią norite paleisti. 740 00:29:56,290 --> 00:29:59,970 Taigi šiuo atveju, Apsukite metalinis garsas yra programa, aš noriu paleisti, o 741 00:29:59,970 --> 00:30:03,480 reiškia išvesties failas, kuris nebėra vadinamas a.out. 742 00:30:03,480 --> 00:30:07,510 Išvesties failą pavadinimu hello, padaryti kaupimo 743 00:30:07,510 --> 00:30:10,200 paskutinis žodis ant linijos, hello.c. 744 00:30:10,200 --> 00:30:13,200 Taigi trumpai tariant, tai yra labai menkas gamybos patobulinimas, kuriuo 745 00:30:13,200 --> 00:30:15,850 užuot šią kvailai pavadintas failą a.out, 746 00:30:15,850 --> 00:30:21,430 Apsukite metalinis garsas dabar galiu padaryti-O labas, tada hello.c, ir 747 00:30:21,430 --> 00:30:22,530 tada paspauskite Enter. 748 00:30:22,530 --> 00:30:25,510 Niekas, atrodo, kad taip atsitiktų, bet vėl, panašiai kaip su 0 - 749 00:30:25,510 --> 00:30:28,510 niekas, atrodo, kad taip atsitiktų, tai reiškia, kad nieko blogo nutiko - 750 00:30:28,510 --> 00:30:31,460 tad dabar daryti ls, "Enter", ir iš tiesų aš dabar 751 00:30:31,460 --> 00:30:32,780 Apie programą. 752 00:30:32,780 --> 00:30:38,510 Taigi, jei aš įvesti Apie command not found. 753 00:30:38,510 --> 00:30:39,440 Gerai,. /. 754 00:30:39,440 --> 00:30:40,220 Taigi visiškai teisus. 755 00:30:40,220 --> 00:30:43,170 Todėl, kad aš parašiau šią programą, ir jis nebuvo su 756 00:30:43,170 --> 00:30:45,810 kompiuteris / hello, "Enter", reiškia, 757 00:30:45,810 --> 00:30:47,350 Aš dabar veikia hello. 758 00:30:47,350 --> 00:30:48,440 >> Taigi, kad jis ten. 759 00:30:48,440 --> 00:30:51,070 Dabar ką mes galų gale gauti daugiau ir daugiau komandų eilutės 760 00:30:51,070 --> 00:30:54,110 argumentai, kurie leidžia mums padaryti daugiau, bet tik tiems, 761 00:30:54,110 --> 00:30:57,760 kuriam šis tyrimas gali būti sena skrybėlę, leiskite man iš tikrųjų eiti į 762 00:30:57,760 --> 00:31:01,910 katalogas čia ir tiesiog suteikti jums kaip kitaip mes erzintoją 763 00:31:01,910 --> 00:31:05,770 gali eiti apie Hello world įgyvendinti. 764 00:31:05,770 --> 00:31:10,730 Leiskite man eiti į čia, ir aš norėčiau, kad jį atidarytumėte. 765 00:31:10,730 --> 00:31:13,090 Taigi, iš tikrųjų, aš norėčiau paaiškinti, ką aš darau, kad 766 00:31:13,090 --> 00:31:15,610 tai yra naudinga. 767 00:31:15,610 --> 00:31:17,410 Leiskite man atgal į viršų. 768 00:31:17,410 --> 00:31:19,620 >> Todėl aš tai daryti ilgai. 769 00:31:19,620 --> 00:31:23,030 Taigi pastebėti per dešinėje pusėje yra pora 770 00:31:23,030 --> 00:31:26,940 katalogų, kad keistai pavadintas source1m ir source1w. 771 00:31:26,940 --> 00:31:28,830 Tai tiesiog kvaila konvencija mes naudojame. 772 00:31:28,830 --> 00:31:31,825 Šaltinis tiesiog reiškia, kodą, 1 reiškia, kad tai pirmąją savaitę, ir 773 00:31:31,825 --> 00:31:34,000 m reiškia, kad pirmadienis, ir W reiškia, kad jis trečiadienis. 774 00:31:34,000 --> 00:31:34,900 Taigi nieko paslaptingas ten. 775 00:31:34,900 --> 00:31:37,830 Tai tiesiog sutrumpinimas notacijos. 776 00:31:37,830 --> 00:31:39,860 Šios mėlynos dalykų yra aplankai, kitaip žinomas kaip 777 00:31:39,860 --> 00:31:40,630 katalogų. 778 00:31:40,630 --> 00:31:43,870 Aš noriu eiti į tą aplanką dabar, ir įprastą kompiuterį 779 00:31:43,870 --> 00:31:45,710 Galėčiau tiesiog dukart spustelėkite aplanko piktogramą ir 780 00:31:45,710 --> 00:31:46,810 ten visi mano failai. 781 00:31:46,810 --> 00:31:49,270 Bet komandinės eilutės aplinkoje, galiu ne visai daryti 782 00:31:49,270 --> 00:31:52,640 kad, todėl vietoj, turiu rankiniu būdu pakeisite aplankus. 783 00:31:52,640 --> 00:31:57,900 Taigi, jei aš tipo CD ir source1m, Enter, pastebėsite, kad 784 00:31:57,900 --> 00:32:01,180 mano raginimas, baltai dalykas, kairėje, tiesiog pasikeitė. 785 00:32:01,180 --> 00:32:03,690 Ir iš tikrųjų, kai jis tik pasakė, skliaustus ir tada 786 00:32:03,690 --> 00:32:06,450 mažai squiggle, tildė simbolis, kad tik reiškė, buvau 787 00:32:06,450 --> 00:32:08,800 Džono Harvardo namų kataloge, Mano dokumentai, 788 00:32:08,800 --> 00:32:10,390 jo asmens bylos. 789 00:32:10,390 --> 00:32:14,000 Bet dabar skliausteliuose ji sako ~ / source1m. 790 00:32:14,000 --> 00:32:17,090 Tai tiesiog reiškia, kad aš į aplanką, pavadintą source1m 791 00:32:17,090 --> 00:32:19,160 , kad John Harvardo namų kataloge. 792 00:32:19,160 --> 00:32:22,030 Taigi, jei aš dabar noriu į sąrašą failus į šį aplanką, lengvai 793 00:32:22,030 --> 00:32:25,300 klausimas, aš tipo tik ls. 794 00:32:25,300 --> 00:32:28,860 Ir dabar matau visus failus, kad aš iš anksto sukurta šiandien 795 00:32:28,860 --> 00:32:31,020 paskaita, kurios visos arba kurių dauguma atsitikti, 796 00:32:31,020 --> 00:32:32,740 baigti c. 797 00:32:32,740 --> 00:32:36,210 >> Taigi leiskite man eiti į priekį ir paleisti programa, vadinama gedit 798 00:32:36,210 --> 00:32:39,140 holloway.c, kuri yra parašyta keletas atsitiktinių hakeris 799 00:32:39,140 --> 00:32:42,920 internete, kad atrodo šiek tiek panašus į šį. 800 00:32:42,920 --> 00:32:44,880 Ir mes neketiname eiti per šį vieną, bet 801 00:32:44,880 --> 00:32:48,530 detalė, bet tiems, patogesnis, ypač, jei 802 00:32:48,530 --> 00:32:50,935 norite priimti atspėti, ką ši programa daro čia. 803 00:32:57,950 --> 00:32:59,990 Būkite tikri, ar esate daugiau ar mažiau patogiai, 804 00:32:59,990 --> 00:33:01,655 mes ne gauti net šis dalykas rūšiuoti pagal pabaigoje 805 00:33:01,655 --> 00:33:02,160 šį semestrą. 806 00:33:02,160 --> 00:33:05,390 Tai kas klaidinančiu C konkursas, pavyzdys 807 00:33:05,390 --> 00:33:08,390 priemonė rašyti neaiškūs ieškote programą, kurią galbūt 808 00:33:08,390 --> 00:33:10,820 gali pralenkti kitų protingų žmonių, kurie panašiai 809 00:33:10,820 --> 00:33:13,010 bando rašyti dalykus ir parodyti, kad jie gali rašyti 810 00:33:13,010 --> 00:33:14,280 daugiau paslaptingas dalykų, nei jums. 811 00:33:14,280 --> 00:33:17,290 Taigi, tai nėra gerai parašyta programa nuo pavyzdys 812 00:33:17,290 --> 00:33:21,260 stiliaus perspektyva, tai yra programa, kuri pavyzdys 813 00:33:21,260 --> 00:33:22,860 laimėjo konkursą, žmonių bando 814 00:33:22,860 --> 00:33:24,090 neaiškiai ir abstrakčiai. 815 00:33:24,090 --> 00:33:27,670 >> Taigi, jei mes paleisti šį dalyką, leisk man eiti į mano terminalo lange, 816 00:33:27,670 --> 00:33:28,110 taip sakant. 817 00:33:28,110 --> 00:33:29,650 Taigi, tai juoda ir balta aplinka yra vadinamas 818 00:33:29,650 --> 00:33:31,160 paprastai terminalo langą. 819 00:33:31,160 --> 00:33:32,600 Leiskite man eiti į priekį ir kaupia jį. 820 00:33:32,600 --> 00:33:34,440 Aš ne ketinate naudoti Apsukite metalinis garsas, nes ši programa yra 821 00:33:34,440 --> 00:33:36,340 šiek tiek paslaptingas ir ji turi skirtingas 822 00:33:36,340 --> 00:33:38,190 sudarytojas, vienas vadinamas Persijos įlankos. 823 00:33:38,190 --> 00:33:39,200 Bet tai nėra tas pats. 824 00:33:39,200 --> 00:33:41,130 Kodą į objekto kodo. 825 00:33:41,130 --> 00:33:43,940 Ir dabar, jei aš paleisti a.out, ši programa jums 826 00:33:43,940 --> 00:33:46,065 tik pamačiau tai daro. 827 00:33:49,220 --> 00:33:51,170 Taigi, kad kolegos tais pačiais metais laimėjo šį konkursą. 828 00:33:51,170 --> 00:33:54,020 Šiaip ar taip, mes neketiname ta kryptimi, per se. 829 00:33:54,020 --> 00:33:57,400 >> Todėl galime iš tikrųjų bando dabar erzinti išskyrus tai, ką mes galime padaryti 830 00:33:57,400 --> 00:33:59,540 šių pagrindinių pastato blokus, kad vis daugiau ir daugiau 831 00:33:59,540 --> 00:34:00,590 įdomias programas. 832 00:34:00,590 --> 00:34:02,800 Taigi, mes parašęs programą, mes paleisti programą. 833 00:34:02,800 --> 00:34:05,780 Dabar mes galime iš tikrųjų supaprastinti ir nebereikia rašyti 834 00:34:05,780 --> 00:34:07,210 komandinėje eilutėje žodis Apsukite metalinis garsas. 835 00:34:07,210 --> 00:34:10,710 Pasirodo, mūsų programos gauti daugiau paslaptingas, mes galime arba 836 00:34:10,710 --> 00:34:14,699 sudėtingesnė, tačiau mes iš tikrųjų gali paleisti šią komandą. 837 00:34:14,699 --> 00:34:17,610 Taigi leiskite man grįžti į savo namų katalogą, taip sakant, leiskite man 838 00:34:17,610 --> 00:34:20,750 pašalinti rm Pašalinti komanda - Aš ketinate pašalinti 839 00:34:20,750 --> 00:34:23,060 failą pavadinimu a.out ir Apie. 840 00:34:23,060 --> 00:34:25,489 Ir dabar pastebėti komandinės eilutės aplinkoje, panašiai kaip ir 841 00:34:25,489 --> 00:34:27,800 GUI, jūs gaunate pasirodys. Aš negaliu spustelėti mygtuką, nors, aš 842 00:34:27,800 --> 00:34:31,040 turite įvesti Y taip, Y taip. 843 00:34:31,040 --> 00:34:33,460 Ir dabar, jei aš tipo ls vėl, pranešimas, kad tie, žalia 844 00:34:33,460 --> 00:34:35,469 programos - a.out ir hello 845 00:34:35,469 --> 00:34:35,734 dingo. 846 00:34:35,734 --> 00:34:37,340 Saugokitės rm. 847 00:34:37,340 --> 00:34:39,739 Jis gali daryti blogų dalykų, kaip jūs galite, perkelkite 848 00:34:39,739 --> 00:34:40,810 dalykų, savo krepšio. 849 00:34:40,810 --> 00:34:43,989 >> Taigi dabar eikime į priekį - ir galėčiau tai padaryti - Apsukite metalinis garsas-o 850 00:34:43,989 --> 00:34:45,139 hello, hello - 851 00:34:45,139 --> 00:34:46,884 Aš jau nuobodu įvedę šią komandą. 852 00:34:46,884 --> 00:34:48,080 Nors aš įvedėte jį šiek tiek greičiau. 853 00:34:48,080 --> 00:34:51,870 Taigi, mes galime vietoj padarysiu Apie. 854 00:34:51,870 --> 00:34:53,880 Todėl įsitikinkite, ne kompiliatorius. 855 00:34:53,880 --> 00:34:57,720 Tai tiesiog draugiškas programa, kuri ateina su Linux, šiuo 856 00:34:57,720 --> 00:34:59,070 - operacinė sistema - 857 00:34:59,070 --> 00:35:02,480 kuri automatizuoja procesą sudarant programas. 858 00:35:02,480 --> 00:35:05,555 Taigi vietoj prisiminti, Apsukite metalinis garsas-o failo vardas ir 859 00:35:05,555 --> 00:35:08,190 tada taip toliau, ypač kai tas linijas gauti ilgiau ir 860 00:35:08,190 --> 00:35:10,110 ilgiau, galiu tiesiog parašyti padaryti. 861 00:35:10,110 --> 00:35:12,030 Ir tai vyksta išspjauti visa krūva stuff, kad 862 00:35:12,030 --> 00:35:13,940 mes galų gale pamatyti šį semestrą. 863 00:35:13,940 --> 00:35:17,500 , Bet pastebėsite, dabar, jei aš tipo LS, hello is mano katalogo. 864 00:35:17,500 --> 00:35:19,850 Ir iš tiesų aš galiu jį paleisti. / Hello. 865 00:35:19,850 --> 00:35:23,330 Taigi tiesiog automatizuoja procesą, kas buvo, 866 00:35:23,330 --> 00:35:26,910 šiuo atveju, daug ilgesnis, sudėtingesnis komanda. 867 00:35:26,910 --> 00:35:29,060 Taigi, mes ketiname pradėti naudoti markę, tik todėl, kad daug 868 00:35:29,060 --> 00:35:30,530 patogesnę naudotojui. 869 00:35:30,530 --> 00:35:32,770 >> Bet dabar galime padaryti įdomią programą 870 00:35:32,770 --> 00:35:34,650 nei tiesiog pasakyti labas. 871 00:35:34,650 --> 00:35:38,680 Taigi, programos, mes jau parašyta, iki šiol yra pagrindinis. 872 00:35:38,680 --> 00:35:40,890 Kad tik numatytasis dalykas, kuris prasideda viską išjungti. 873 00:35:40,890 --> 00:35:43,340 Tačiau yra ir kitų funkcijų, iš ten, taip pat ir 874 00:35:43,340 --> 00:35:45,890 stdio.h yra dalykas, kad mes matėme ne iš mūsų geriausių 875 00:35:45,890 --> 00:35:48,480 byla prieš, ir tai, kas vadinama standartinėje bibliotekoje. 876 00:35:48,480 --> 00:35:51,300 Viduje standartinėje bibliotekoje yra visa krūva funkcijų 877 00:35:51,300 --> 00:35:53,850 , kad kažkas parašė, ir mes galime pradėti naudoti šias 878 00:35:53,850 --> 00:35:55,050 funkcijos rašyti daugiau 879 00:35:55,050 --> 00:35:56,760 įdomių programų save. 880 00:35:56,760 --> 00:35:58,370 >> Taigi leiskite man grįžti prie prietaiso. 881 00:35:58,370 --> 00:35:59,820 Aš ruošiuosi uždaryti šį langą terminalo. 882 00:35:59,820 --> 00:36:02,630 Aš ruošiuosi uždaryti rašė tai, ką mes anksčiau, ir tiesiog eiti 883 00:36:02,630 --> 00:36:07,350 į hello.c, ir pastebėti, dabar galiu padaryti. 884 00:36:07,350 --> 00:36:09,730 Hello world yra ne visi, kad įdomus; Norėčiau 885 00:36:09,730 --> 00:36:11,770 pritaikyti šią programą sau. 886 00:36:11,770 --> 00:36:13,440 Taigi, užuot sakydamas pasaulį, aš ruošiuosi 887 00:36:13,440 --> 00:36:14,830 eiti į priekį ir pasakyti - 888 00:36:14,830 --> 00:36:16,880 Aš galėčiau įvesti David - tačiau iš tiesų tai yra tarsi 889 00:36:16,880 --> 00:36:18,050 iš esmės tas pats. 890 00:36:18,050 --> 00:36:19,970 Tačiau pabandykime šią vietos rezervavimo ženklo idėją. 891 00:36:19,970 --> 00:36:24,460 Prisiminkite, kad C, o printf mes turėjome šias 892 00:36:24,460 --> 00:36:28,110 vietos rezervavimo ženklai, ir yra daugiau nei tik% d. 893 00:36:28,110 --> 00:36:31,150 Taigi,% d, greitai normalumas patikrinimas. 894 00:36:31,150 --> 00:36:32,310 Gerai, dešimtainis skaičius, kad viskas. 895 00:36:32,310 --> 00:36:33,860 Skaitmenų po kablelio, štai ir viskas. 896 00:36:33,860 --> 00:36:37,755 Taigi% c, kaip mes susidurti, bus simbolis. 897 00:36:37,755 --> 00:36:40,530 Įdėti simbolį, raidė nuo a iki z, 898 00:36:40,530 --> 00:36:41,600 ar skyrybos simbolis. 899 00:36:41,600 --> 00:36:45,590 Vienas simbolis,% f, kas nors žino, iš kitų kalbų? 900 00:36:45,590 --> 00:36:47,020 Taigi slankaus kablelio reikšmė. 901 00:36:47,020 --> 00:36:47,880 Realusis skaičius. 902 00:36:47,880 --> 00:36:51,550 Taigi, ne dešimtainis skaičius - iš tikrųjų tai yra realus skaičius su 903 00:36:51,550 --> 00:36:54,130 kablelio, ir kai kurių skaitmenų skaičius į kairę 904 00:36:54,130 --> 00:36:55,520 ir teisė juo. 905 00:36:55,520 --> 00:36:58,060 % S, eilutė. 906 00:36:58,060 --> 00:36:59,530 Kad vienas mes ketiname pamatyti gana dažnai. 907 00:36:59,530 --> 00:37:02,140 Eilutė, vėlgi, yra tik žodis, frazė, seka 908 00:37:02,140 --> 00:37:03,330 atskirus simbolius. 909 00:37:03,330 --> 00:37:06,730 Ir galiausiai, LLD? 910 00:37:06,730 --> 00:37:08,210 Taigi tai yra daugiau kampe bylos. 911 00:37:08,210 --> 00:37:09,850 Ilgo dešimtosios dalies. 912 00:37:09,850 --> 00:37:12,035 Taigi, jei norite ne tik skaičių, kad tai dideli, 913 00:37:12,035 --> 00:37:14,160 nori didesnį skaičių, kad jūs ketinate turi nurodyti 914 00:37:14,160 --> 00:37:16,400 kompiuteris, kad jis iš tikro dydžio. 915 00:37:16,400 --> 00:37:17,610 >> Taigi leiskite įgnybti tai šiek tiek. 916 00:37:17,610 --> 00:37:20,610 Užuot tiesiog sunku Dovydo kodą, leiskite man šiek tiek 917 00:37:20,610 --> 00:37:22,460 dinamiškai pasakyti% s. 918 00:37:22,460 --> 00:37:25,790 Taigi įdėti% s, kuris yra vietos rezervavimo ženklų eilutę. 919 00:37:25,790 --> 00:37:30,500 Tada leiskite man padaryti kablelį, o tada "Dovydas" čia. 920 00:37:30,500 --> 00:37:32,770 Dabar tai yra ne visi, kad intelektualiai įdomu, 921 00:37:32,770 --> 00:37:35,060 nes aš padariau dabar tikrai sukurti daugiau darbo 922 00:37:35,060 --> 00:37:35,790 kompiuterio. 923 00:37:35,790 --> 00:37:39,660 O ne pasakyti kompiuterį visi vienu metu, aš dabar 924 00:37:39,660 --> 00:37:43,760 suprantama, tai padaryti, ir čia įterpti eilutę, galų gale, kablelį, 925 00:37:43,760 --> 00:37:44,950 čia yra, kad eilutė. 926 00:37:44,950 --> 00:37:47,220 Taigi, tai nėra ryškesnis pagerėjimas, bet tai bent 927 00:37:47,220 --> 00:37:49,010 žingsnis link įdomesnio programą. 928 00:37:49,010 --> 00:37:51,240 Nes dabar, leisk man eiti į priekį ir padaryti šį langą šiek tiek 929 00:37:51,240 --> 00:37:56,850 didesnis, leiskite man eiti į priekį ir paleisti make Apie. 930 00:37:56,850 --> 00:38:01,340 Ir dabar,. / A.out nėra darbo, tai kodėl? 931 00:38:03,880 --> 00:38:05,570 Gerai, dabar ji vadinama hello. 932 00:38:05,570 --> 00:38:09,400 Taigi dar kartą, o taip pat su-o Apsukite metalinis garsas, pervardyti 933 00:38:09,400 --> 00:38:11,120 programa būtų kažką įdomiau. 934 00:38:11,120 --> 00:38:13,060 Ir voila: dabar ji sako Apie Davidas. 935 00:38:13,060 --> 00:38:14,590 >> Viskas gerai, dar kvailas programa. 936 00:38:14,590 --> 00:38:18,070 Taigi dabar galime grįžti čia ir įvesti sąvoką 937 00:38:18,070 --> 00:38:18,810 kintamojo. 938 00:38:18,810 --> 00:38:21,600 Ar nebūtų puiku, jei aš galėtų paskelbti kintamąjį 939 00:38:21,600 --> 00:38:23,150 kurio tipas yra STRING? 940 00:38:23,150 --> 00:38:26,720 Ir kintamojo vertė iš tikrųjų ateina iš vartotojo 941 00:38:26,720 --> 00:38:27,810 jis pats. 942 00:38:27,810 --> 00:38:30,240 Taip savavališkai, aš ruošiuosi paskambinti savo kintama s, kuri yra 943 00:38:30,240 --> 00:38:32,410 tik bendro konvencija, kai jūs turite vieną kintamąjį, vadinamą 944 00:38:32,410 --> 00:38:33,250 eilutę. 945 00:38:33,250 --> 00:38:35,670 Aš ruošiuosi daryti lygybės ženklą, ir tada aš ruošiuosi skambinti 946 00:38:35,670 --> 00:38:38,030 funkcija vadinama GetString. 947 00:38:38,030 --> 00:38:40,830 Taigi GetString nėra kažkas, kad yra integruota į C. Tai 948 00:38:40,830 --> 00:38:43,330 funkcija, kuri CS50 darbuotojai parašė, tikrai tik 949 00:38:43,330 --> 00:38:45,670 Pirmasis iš jų porą savaičių, supaprastinti procesą 950 00:38:45,670 --> 00:38:49,450 gauti vartotojo įvesties ir gauti vartotojo įvesties forma 951 00:38:49,450 --> 00:38:51,960 stygos, arba numerius, ir tokių. 952 00:38:51,960 --> 00:38:55,520 Taigi GetString kaip printf, tačiau akivaizdu, o ne 953 00:38:55,520 --> 00:38:58,700 spausdinti ji ketina daryti tai, ką sako jos pavadinimas, gauti eilutę. 954 00:38:58,700 --> 00:39:00,970 Bet naudoti GetString, mes ketiname padaryti pakeitimą 955 00:39:00,970 --> 00:39:03,180 čia toliau. 956 00:39:03,180 --> 00:39:07,170 Taigi intuityviai, ši programa, tikiuosi, vyksta kažkaip 957 00:39:07,170 --> 00:39:09,700 gauti iš vartotojo eilutę, tada kas tai ketinate daryti 958 00:39:09,700 --> 00:39:11,460 su ta eilutė, vadinama? 959 00:39:15,060 --> 00:39:16,470 Tai tiesiog ketinate spausdinti, tiesa? 960 00:39:16,470 --> 00:39:18,870 Dar neturi skatinti programa, nes visa tai vyksta 961 00:39:18,870 --> 00:39:22,160 padaryti, tai prijungti į automobilio vertę į tai, kur% s 962 00:39:22,160 --> 00:39:23,750 sako, kad jis turėtų eiti. 963 00:39:23,750 --> 00:39:25,290 >> Taigi, tegul bent jau matyti kaip tai veikia praktikoje. 964 00:39:25,290 --> 00:39:27,040 Leiskite man išsaugoti ir nutolinti. 965 00:39:27,040 --> 00:39:30,280 Dabar mano terminalo lange apačioje, vienas nedidelis gabalėlis, 966 00:39:30,280 --> 00:39:32,760 leiskite man dar kartą padarysiu Apie. 967 00:39:32,760 --> 00:39:35,160 Gerai, ah, damn, aš gavo visa krūva klaidų. 968 00:39:35,160 --> 00:39:38,020 Leiskite man slinkti aukštyn, ir matome mūsų pirmasis - 969 00:39:38,020 --> 00:39:40,430 tad iš tikrųjų tai padaryti dar daugiau lange, taigi jūs 970 00:39:40,430 --> 00:39:42,110 galite pamatyti, kaip blogai aš įsukus 971 00:39:42,110 --> 00:39:44,460 todėl įsitikinkite, hello. 972 00:39:44,460 --> 00:39:46,540 Gerai, kad nelaimė, tiesa? 973 00:39:46,540 --> 00:39:48,740 Aš parašiau tris eilutes kodo ir 974 00:39:48,740 --> 00:39:50,070 jis man davė 12 klaidų. 975 00:39:50,070 --> 00:39:51,980 Tad kodėl tai yra? 976 00:39:51,980 --> 00:39:55,720 Taigi, laimei, dažnai, kai pamatysite daug, daug klaidų 977 00:39:55,720 --> 00:39:57,730 spjaudytis iš karto, tai tikrai tik todėl, kad jūs 978 00:39:57,730 --> 00:39:59,760 supainiojo kompiuterį čia. 979 00:39:59,760 --> 00:40:02,330 Ir ji vis dar painiojama iki to laiko jis gauna čia. 980 00:40:02,330 --> 00:40:04,400 Ir todėl ji tik pradeda užkliuvimo ir susigundyti ir 981 00:40:04,400 --> 00:40:07,310 spjaudytis iš dar baisesnių dalykų, nei iš tiesų. 982 00:40:07,310 --> 00:40:10,120 Taigi apskritai, visada pradėkite viršuje. 983 00:40:10,120 --> 00:40:13,320 >> Taigi pačiame viršuje raudona, pavyzdys 984 00:40:13,320 --> 00:40:14,740 tai klaidos pranešimas. 985 00:40:14,740 --> 00:40:17,750 Naudoti nedeklaruoto identifikatorius eilutę, aš 986 00:40:17,750 --> 00:40:19,160 reiškia standartas? 987 00:40:19,160 --> 00:40:19,900 Aš ne. 988 00:40:19,900 --> 00:40:24,180 Aš reiškė eilutę, bet taip yra todėl, taip pat žodis eilutė 989 00:40:24,180 --> 00:40:26,020 , kad aš nuolat žodžiu iš tikrųjų 990 00:40:26,020 --> 00:40:27,240 neegzistuoja, C arba. 991 00:40:27,240 --> 00:40:29,470 Tai kažkas, ką mes naudojame tik pirmą savaitę ar dvi 992 00:40:29,470 --> 00:40:34,500 čia, bet jis egzistuoja failą pavadinimu cs50.h. 993 00:40:34,500 --> 00:40:37,110 Taigi dabar, žinau, kad yra tas kitas biblioteka, kad 994 00:40:37,110 --> 00:40:39,330 darbuotojai parašė, kad tai buvo parašyta neseniai 995 00:40:39,330 --> 00:40:40,510 stdio.h. 996 00:40:40,510 --> 00:40:45,020 Bet viduje cs50.h apibrėžimas, sinonimas 997 00:40:45,020 --> 00:40:48,310 rūšių, kurios sukuria šį žodį eilutę. 998 00:40:48,310 --> 00:40:50,890 >> Taigi dabar leiskite man eiti atgal į mano terminalo lange. 999 00:40:50,890 --> 00:40:53,200 Aš ruošiuosi aišku visa ši netvarka Ctrl-L. Mes tiesiog 1000 00:40:53,200 --> 00:40:55,700 nuvalykite viskas švarų, ir aš ruošiuosi eiti į priekį ir padaryti 1001 00:40:55,700 --> 00:40:57,860 Sveiki dar kartą, "Enter". 1002 00:40:57,860 --> 00:40:59,440 Kas nutiko dabar? 1003 00:40:59,440 --> 00:41:01,150 Dabar visi šių klaidų nuėjo. 1004 00:41:01,150 --> 00:41:02,230 Taigi, ką aš tikrai padaryti? 1005 00:41:02,230 --> 00:41:05,920 Aš ką tik mokė kompiuterį, kad eilutė yra, ir tai 1006 00:41:05,920 --> 00:41:07,890 tame faile vadinamas cs50.h. 1007 00:41:07,890 --> 00:41:10,930 Taigi nustoti skųstis, nes dabar jūs žinote, kur rasti 1008 00:41:10,930 --> 00:41:13,220 Ši funkcija deklaracija taip sakant. 1009 00:41:13,220 --> 00:41:15,200 Kur jis egzistuoja pasaulyje. 1010 00:41:15,200 --> 00:41:18,820 >> Taigi, dabar aš ruošiuosi eiti į priekį ir paleisti programą Hello. 1011 00:41:18,820 --> 00:41:22,300 Man atrodo, kad begalinis ciklas, nieko, kas vyksta. 1012 00:41:25,530 --> 00:41:26,870 Taigi man reikia tipo kažką čia, tiesiog. 1013 00:41:26,870 --> 00:41:29,650 Mano programa kodą pirmoje eilutėje GetString. 1014 00:41:29,650 --> 00:41:31,750 Taigi tai tiesiog laukia man gauti eilutę. 1015 00:41:31,750 --> 00:41:33,680 Taigi šia prasme taip, tai yra begalinis ciklas. 1016 00:41:33,680 --> 00:41:36,520 Matyt GetString yra numatytasis elgesys, kad mes 1017 00:41:36,520 --> 00:41:37,510 rašė - darbuotojai - 1018 00:41:37,510 --> 00:41:39,550 , kad tiesiog sako, laukti ir laukti ir laukti ir laukti ir laukti, 1019 00:41:39,550 --> 00:41:42,550 tol, kol vartotojas suteikia jums eilutę įvedę kažkas in 1020 00:41:42,550 --> 00:41:46,000 Taigi leiskite man eiti į priekį ir tipas D-A-V - i-d, įveskite. 1021 00:41:46,000 --> 00:41:47,420 Ir ten yra, hello Davidas. 1022 00:41:47,420 --> 00:41:50,430 >> Dabar tai atrodo, kad tai tik aktas? 1023 00:41:50,430 --> 00:41:52,810 Leiskite man eiti į priekį ir įvesti Tommy. 1024 00:41:52,810 --> 00:41:54,740 Įveskite, gerai, atrodo, kad reikia dirbti. 1025 00:41:54,740 --> 00:41:59,130 Darbai Rob, darbų - Zamyla, veikia gerai. 1026 00:41:59,130 --> 00:42:01,000 Taigi jis ketina dirbti, greičiausiai. 1027 00:42:01,000 --> 00:42:05,030 Todėl ji turėtų spausdinti, ką mes iš tikrųjų duoti, 1028 00:42:05,030 --> 00:42:07,830 ir mes galime būti šiek tiek sunku čia. 1029 00:42:07,830 --> 00:42:12,130 Pažiūrėkime, jei mes darome kažką panašaus Apie. 1030 00:42:12,130 --> 00:42:18,000 Gali eiti per čia, galime pamatyti, kopijuoti, įklijuoti. 1031 00:42:18,000 --> 00:42:19,950 Aš nesiruošia, kad būtų galima įklijuoti, kad daug kartų čia. 1032 00:42:19,950 --> 00:42:24,410 Pasta, gerai, paspauskite SHIFT + CTRL + V. Taigi, kas galėtų 1033 00:42:24,410 --> 00:42:26,970 atsitikti taip, kad blogai čia? 1034 00:42:26,970 --> 00:42:27,770 >> Gerai, kad, segfaults. 1035 00:42:27,770 --> 00:42:29,710 Taip žinosite, kad kai kurie iš jūsų ankstesnių sluoksnių 1036 00:42:29,710 --> 00:42:32,710 paprastai, suteikiant kompiuteriai daug sąnaudų, kai jie 1037 00:42:32,710 --> 00:42:36,140 tikriausiai nėra skirtas gauti ilgus vardus, pavyzdžiui, tai - blogas 1038 00:42:36,140 --> 00:42:36,740 dalykų atsitikti. 1039 00:42:36,740 --> 00:42:39,230 Iš tiesų, kad interneto pasaulyje, taip pat, tai atsitinka gana nemažai, 1040 00:42:39,230 --> 00:42:41,000 , pagal kurią, kai jūs projektuojant svetainės, kai esate 1041 00:42:41,000 --> 00:42:43,850 projektavimas "Facebook", kad jūs turite padaryti savavališkus sprendimus iki 1042 00:42:43,850 --> 00:42:45,370 priekyje, kaip ir kaip ilgai bus kažkieno 1043 00:42:45,370 --> 00:42:46,360 "Facebook" vartotojo vardą? 1044 00:42:46,360 --> 00:42:48,050 Arba kaip ilgai bus kažkieno vardas? 1045 00:42:48,050 --> 00:42:50,110 Kaip ilgai bus kažkieno telefono numeris ir pan. 1046 00:42:50,110 --> 00:42:53,580 Ir jei programuotojai blogų prielaidas, programos pertrauka 1047 00:42:53,580 --> 00:42:56,640 nes bandote suteikti jiems daugiau produkcijos, daugiau sąnaudų 1048 00:42:56,640 --> 00:42:58,330 o, nei jie turi atmintį. 1049 00:42:58,330 --> 00:43:01,860 Arba RAM skyrė už tai, ir todėl, jei dabar aš paspauskite "Enter", 1050 00:43:01,860 --> 00:43:04,640 kad programa iš tikrųjų dirbo, nes mes buvome į biblioteką 1051 00:43:04,640 --> 00:43:06,790 ir mes iš tikrųjų tikimasi šiuo konkrečiu atveju. 1052 00:43:06,790 --> 00:43:10,900 Bet be abejo, šį semestrą, jums parašyti bent vieną 1053 00:43:10,900 --> 00:43:13,280 programa, kuri bus pasakyti šiuos žodžius. 1054 00:43:13,280 --> 00:43:16,520 Prisiminti šiuos savaites nuo dabar, o gal dvi dienas nuo dabar. 1055 00:43:16,520 --> 00:43:18,760 Segmentavimas kaltė yra blogas dalykas. 1056 00:43:18,760 --> 00:43:21,920 Jis bus kreiptis į jūs darote kažką, kad kompiuterio 1057 00:43:21,920 --> 00:43:23,310 nesitikėjo. 1058 00:43:23,310 --> 00:43:25,810 Ir tuo atveju, jūs, programuotojas, nebuvo numatyti. 1059 00:43:25,810 --> 00:43:27,720 Panašiai kaip, ką šis kojinių krūva, ten buvo įvairių 1060 00:43:27,720 --> 00:43:29,520 kampiniai atvejais mes galime susidūrė su. 1061 00:43:29,520 --> 00:43:32,340 Panašiai programas, jei nėra numatyti, kaip ilgai 1062 00:43:32,340 --> 00:43:33,310 kažkieno vardas bus. 1063 00:43:33,310 --> 00:43:35,890 Arba ką daryti, jei aš turiu piktybinis vartotojas, ir jo pavardė yra 1064 00:43:35,890 --> 00:43:37,230 tikrųjų yra gana trumpas, bet jie tiesiog bando 1065 00:43:37,230 --> 00:43:37,960 kad netvarka su manimi? 1066 00:43:37,960 --> 00:43:40,490 Kas bus mano programos elgesys? 1067 00:43:40,490 --> 00:43:43,930 Na, tokiu atveju, kažkas iš tiesų gali strigti. 1068 00:43:43,930 --> 00:43:44,750 >> Todėl galime tai padaryti. 1069 00:43:44,750 --> 00:43:46,860 Per 90 minučių, tai yra siaubingai ilgą laiką 1070 00:43:46,860 --> 00:43:47,780 padaryti, kompiuterių mokslo. 1071 00:43:47,780 --> 00:43:49,550 Kodėl mes gauti į įpročiai penkių minučių 1072 00:43:49,550 --> 00:43:51,520 pertrauka čia, ir kai mes einame atgal, mes pasinerti į kai 1073 00:43:51,520 --> 00:43:53,430 daugiau sudėtingų ir įtikinamų programas? 1074 00:43:53,430 --> 00:43:54,680 Penkias minutes. 1075 00:43:56,910 --> 00:43:58,160 >> Gerai. 1076 00:44:01,138 --> 00:44:02,780 Taigi vienas greitai komentaras. 1077 00:44:02,780 --> 00:44:05,590 Man buvo pasakyta, kad nors tai buvo ekrane prieš, kas 1078 00:44:05,590 --> 00:44:08,880 išėjo iš mano burnos buvo cs50.net/rsvp. 1079 00:44:08,880 --> 00:44:11,670 Tai yra teisinga. cs50.net/lunch. 1080 00:44:11,670 --> 00:44:16,030 Taigi, dabar galite pabandyti RSVPing ši / pietūs. 1081 00:44:16,030 --> 00:44:16,980 Bet tegul tai padaryti dabar. 1082 00:44:16,980 --> 00:44:20,150 Taigi, tai buvo super greitas, super naujas iš žmonių daug. 1083 00:44:20,150 --> 00:44:21,560 Sena skrybėlę kai kurie žmonės. 1084 00:44:21,560 --> 00:44:24,930 Todėl galime atsukti tik akimirką, ir pamatyti, kaip mes turime 1085 00:44:24,930 --> 00:44:29,350 tai hello world produkcija vos prieš akimirką. 1086 00:44:29,350 --> 00:44:31,780 >> Taigi, pirma, ten tai CS50 prietaisą. 1087 00:44:31,780 --> 00:44:34,270 Vėlgi, gabalas programinės įrangos, problemos 1 going to pasakyti 1088 00:44:34,270 --> 00:44:36,610 jums, kaip atsisiųsti, kur jį atsisiųsti, ką spustelėkite 1089 00:44:36,610 --> 00:44:37,430 ir taip toliau. 1090 00:44:37,430 --> 00:44:39,670 Ir tada, kai jūs laikytis instrukcijose išdėstytų sąlygų, jums galės 1091 00:44:39,670 --> 00:44:42,840 siekiant maksimaliai padidinti savo lange, ir jūsų Mac arba PC atrodys 1092 00:44:42,840 --> 00:44:43,910 šiek tiek kažką panašaus į tai. 1093 00:44:43,910 --> 00:44:47,170 Juodame fone, namų aplankas viršuje, kur visi 1094 00:44:47,170 --> 00:44:49,850 jūsų failai, šiukšliadėžės viršuje kairėje, 1095 00:44:49,850 --> 00:44:51,130 apačioje meniu. 1096 00:44:51,130 --> 00:44:54,010 Taigi dar kartą, labai panašus dvasia Mac OS arba Windows 1097 00:44:54,010 --> 00:44:56,040 net jei tai atsitinka būti "Linux". 1098 00:44:56,040 --> 00:44:58,120 Taigi, ką mums kitą daryti? 1099 00:44:58,120 --> 00:44:59,580 Na, mes pradėjome rašyti programas. 1100 00:44:59,580 --> 00:45:02,260 Ir atšaukia iš praeitą savaitę, kad viskas, ko reikia rašyti 1101 00:45:02,260 --> 00:45:04,970 programa yra paprastas tekstinis redaktorius, 1102 00:45:04,970 --> 00:45:06,550 pavyzdžiui, "Notepad" arba "TextEdit. 1103 00:45:06,550 --> 00:45:08,360 Atvirai, jūs netgi galite naudoti Microsoft Word. 1104 00:45:08,360 --> 00:45:11,170 Tačiau blogi dalykai galų gale padaryti, nes tai labai 1105 00:45:11,170 --> 00:45:13,930 Sunkioji sprendimas rašyti programą, taip pat jis bus 1106 00:45:13,930 --> 00:45:15,400 išsaugokite jį netinkamu failo formatu. 1107 00:45:15,400 --> 00:45:18,150 Bet tai tik teksto redaktorius, teksto redagavimo, tai viskas, ko 1108 00:45:18,150 --> 00:45:19,390 reikia parašyti programą. 1109 00:45:19,390 --> 00:45:23,420 >> Taigi CS50 Appliance, mes galime tai padaryti vienu paprastu būdu. 1110 00:45:23,420 --> 00:45:25,580 Mes galime tiesiog spustelėkite šią piktogramą apačioje kairėje. 1111 00:45:25,580 --> 00:45:28,790 Ir vėl, problema nustatyti 1 patars jums, ir voila - 1112 00:45:28,790 --> 00:45:31,210 gausite šį juoda ir balta sąsaja, kurioje mes galime pradėti 1113 00:45:31,210 --> 00:45:32,160 rašyti kodą. 1114 00:45:32,160 --> 00:45:34,960 Taigi pradėkime rašyti super paprastą programą iš naujo. 1115 00:45:34,960 --> 00:45:38,890 Aš ruošiuosi eiti į failą, išsaugokite, ir aš ruošiuosi skambinti 1116 00:45:38,890 --> 00:45:42,870 tai, tarkim, hello2.c. 1117 00:45:42,870 --> 00:45:45,410 Ir aš tiesiog sakau, įdėkite jį paspaudę ant jharvard 1118 00:45:45,410 --> 00:45:46,750 savo namų katalogą, man nerūpi 1119 00:45:46,750 --> 00:45:47,980 jei vienas eina. 1120 00:45:47,980 --> 00:45:49,090 Ir pasirinkite Išsaugoti. 1121 00:45:49,090 --> 00:45:50,880 Ir dabar galiu pradėti rašyti savo programą. 1122 00:45:50,880 --> 00:45:53,560 Ir prisimenu iš anksčiau, kad aš turiu parašyti int 1123 00:45:53,560 --> 00:45:55,400 main (void). 1124 00:45:55,400 --> 00:45:57,000 Padidinti viršuje kairėje. 1125 00:45:57,000 --> 00:46:02,670 Ir tada aš noriu pasakyti printf paimti du. 1126 00:46:02,670 --> 00:46:05,690 Ir dabar naujos eilutės, netoli citata, uždarykite 1127 00:46:05,690 --> 00:46:07,820 skliausteliuose, kabliataškiu. 1128 00:46:07,820 --> 00:46:10,560 Ir tada aš einu į mano terminalo langą, 1129 00:46:10,560 --> 00:46:12,840 įtraukti į gedit, tiesiog dėl patogumo. 1130 00:46:12,840 --> 00:46:15,200 Ir aš ruošiuosi eiti į priekį ir rašyti, kad Apie bet ne 1131 00:46:15,200 --> 00:46:17,500 Apie atskirai, hello2. 1132 00:46:17,500 --> 00:46:20,490 >> Taigi, mano byla vadinama hello2.c. Mano byla, todėl 1133 00:46:20,490 --> 00:46:23,510 turėtų būti vadinamas hello2, šiuo atveju. 1134 00:46:23,510 --> 00:46:26,490 Velnias, ką aš padariau ne taip? 1135 00:46:26,490 --> 00:46:29,490 Viskas gerai, todėl aš aiškiai neįtraukė linija, jei jūs prisimenate, ką 1136 00:46:29,490 --> 00:46:31,020 ankstesnes programas atrodyti. 1137 00:46:31,020 --> 00:46:32,480 Bet pažiūrėkime, jei mes negalime erzinti tai, išskyrus. 1138 00:46:32,480 --> 00:46:35,310 Deja, dauguma žmonių, kurie rašo programas, su kuriomis 1139 00:46:35,310 --> 00:46:38,820 mes rašome programos nereikia supaprastinti dalykų, kad gerai. 1140 00:46:38,820 --> 00:46:41,520 Taigi, mes turime rūšies nugriebti per ką ne gana, kad 1141 00:46:41,520 --> 00:46:44,050 pajusti čia ir pamatyti, jei mes galime suprasti, kas yra negerai. 1142 00:46:44,050 --> 00:46:46,700 Pirmoje eilutėje sako netiesiogiai skelbiantis C 1143 00:46:46,700 --> 00:46:49,310 bibliotekos funkcija printf tipo int. 1144 00:46:49,310 --> 00:46:51,210 Gerai, supratau, dalimi. 1145 00:46:51,210 --> 00:46:54,570 Bet atrodo, kad užuominos į tai, kad aš naudojamas printf 1146 00:46:54,570 --> 00:46:55,700 negerai, kažkaip. 1147 00:46:55,700 --> 00:46:56,930 Ir kokia prasmė tai negerai? 1148 00:46:56,930 --> 00:46:59,970 Aš tiesiog nemokė kompiuterį, kad jis yra faile 1149 00:46:59,970 --> 00:47:01,420 vadinamas stdio.h. 1150 00:47:01,420 --> 00:47:04,120 Dabar turiu tik tik dabar įsiminti, kad printf yra 1151 00:47:04,120 --> 00:47:06,540 į stdio.h, ir iš tikrųjų ten bus būti ir kitų 1152 00:47:06,540 --> 00:47:08,900 funkcijas tame pačiame faile, kad mes priprasti prie. 1153 00:47:08,900 --> 00:47:12,490 >> Taigi dabar leiskite man eiti į priekį ir paspauskite Ctrl + L, tiesiog išvalykite, kad 1154 00:47:12,490 --> 00:47:16,050 toli, atlikite dar hello2, ir voila. 1155 00:47:16,050 --> 00:47:19,490 Ir šią komandą vėl, daugiau sudėtingų, nei mes paaiškinti 1156 00:47:19,490 --> 00:47:20,520 šiandien tikslais. 1157 00:47:20,520 --> 00:47:23,570 Tačiau ji paleisti Apsukite metalinis garsas, ir Apsukite metalinis garsas kodą ir 1158 00:47:23,570 --> 00:47:24,870 išspjauna 0s ir 1s. 1159 00:47:24,870 --> 00:47:28,610 0s ir 1s šiuo atveju yra vadinamas ką? 1160 00:47:28,610 --> 00:47:29,470 Gerai, objekto kodo. 1161 00:47:29,470 --> 00:47:32,210 Ir byla, kad jie yra vadinamas, todėl, 1162 00:47:32,210 --> 00:47:33,820 hello2, šiuo atveju. 1163 00:47:33,820 --> 00:47:37,040 Nes mano tekstinis failas buvo hello2.c, "Enter". 1164 00:47:37,040 --> 00:47:39,820 O dabar turiu du šauktukas, šauktuko 1165 00:47:39,820 --> 00:47:41,880 taškas, šauktukas. 1166 00:47:41,880 --> 00:47:45,430 Viskas gerai, todėl dabar mes turime galimybę gauti eilutes, 1167 00:47:45,430 --> 00:47:46,280 matyt. 1168 00:47:46,280 --> 00:47:48,190 Na, ką mes galime gauti iš vartotojų? 1169 00:47:48,190 --> 00:47:51,010 >> Gerai CS50 bibliotekoje, yra kitų funkcijų, kurios 1170 00:47:51,010 --> 00:47:53,300 ketina supaprastinti mūsų gyvenimą šių pirmąsias kelias dienas. 1171 00:47:53,300 --> 00:47:56,350 GetChar, GetDouble, GetFloat, GetInt 1172 00:47:56,350 --> 00:47:57,290 GetLongLong, GetString. 1173 00:47:57,290 --> 00:47:59,550 Na, leiskite laupti Pirmajame iš jų lengviausia. 1174 00:47:59,550 --> 00:48:01,430 GetString tiesiog tai daro. 1175 00:48:01,430 --> 00:48:04,210 Jis tiesiog sėdi ten, laukia, kad vartotojas galėtų įvesti kažką, 1176 00:48:04,210 --> 00:48:07,170 ir, kai aš tipo kažką ir paspauskite "Enter", jį 1177 00:48:07,170 --> 00:48:08,860 ar kažkas su tos vertės. 1178 00:48:08,860 --> 00:48:11,700 Taigi, grįžkime tą pavyzdį, pamatyti, ką 1179 00:48:11,700 --> 00:48:12,950 GetString daro. 1180 00:48:12,950 --> 00:48:17,445 Leiskite man eiti į priekį ir atverti gedit, hello.c ir atšaukia 1181 00:48:17,445 --> 00:48:20,590 ši teisė prieš pertrauką, tai kur mes nerašomas. 1182 00:48:20,590 --> 00:48:23,240 >> Taigi tegul dabar erzinti, išskyrus šiek tiek išsamiau. 1183 00:48:23,240 --> 00:48:27,190 Taigi 6 on-line, yra du dalykai, 1184 00:48:27,190 --> 00:48:28,450 vyksta šiuo metu. 1185 00:48:28,450 --> 00:48:32,630 Vienodas ženklas atskiriant pirmąją ir antrąją. 1186 00:48:32,630 --> 00:48:34,670 Taigi kairėje pusėje lygybės ženklą, mes 1187 00:48:34,670 --> 00:48:35,580 sakydamas eilutė-ai. 1188 00:48:35,580 --> 00:48:37,580 Ir tada, tiesiog profanas sąlygomis, ką string s 1189 00:48:37,580 --> 00:48:41,040 daro, do you think? 1190 00:48:41,040 --> 00:48:42,990 Sukurti ką? 1191 00:48:42,990 --> 00:48:44,930 Taigi tai sukurti eilutę, pavadintą ai. 1192 00:48:44,930 --> 00:48:46,370 Dabar ką tai iš tikrųjų reiškia? 1193 00:48:46,370 --> 00:48:51,540 Na, tai rezervuoti vietos eilutę vadinamas ai. 1194 00:48:51,540 --> 00:48:52,490 Kad ne visai teisus. 1195 00:48:52,490 --> 00:48:53,120 Kas tai yra daro? 1196 00:48:53,120 --> 00:48:55,400 Bei kompiuterių, kaip jūs žinote, kietuosius diskus, tai yra, kai 1197 00:48:55,400 --> 00:48:56,300 jūsų failai yra saugomi. 1198 00:48:56,300 --> 00:48:59,100 Kompiuteriai RAM, ir tai, kur programos yra pakraunami 1199 00:48:59,100 --> 00:49:00,240 o jie veikia. 1200 00:49:00,240 --> 00:49:02,470 Taigi, kai jūs dukart spustelėkite piktogramą ir "Microsoft Word atidaro 1201 00:49:02,470 --> 00:49:06,380 , "Microsoft Word", veikia, taip sakant, RAM, kuri yra 1202 00:49:06,380 --> 00:49:08,160 elektroninė dalis kompiuterio. 1203 00:49:08,160 --> 00:49:10,660 Ne fizinis, mechaninis dalis, kad verpimo, kur 1204 00:49:10,660 --> 00:49:12,640 duomenys paprastai yra saugomi ilgą laiką. 1205 00:49:12,640 --> 00:49:15,810 Taigi eilutė-ai yra gana daug pasako kompiuteriui, duok man 1206 00:49:15,810 --> 00:49:18,150 pakankamai RAM, kad tilptų į eilutę. 1207 00:49:18,150 --> 00:49:20,450 Dabar tai yra supaprastinimas bitų, nes 1208 00:49:20,450 --> 00:49:22,300 Kaip didelis yra eilutė bus? 1209 00:49:22,300 --> 00:49:24,410 Na, mes iš tikrųjų nežinome, dar taip per kelias savaites 1210 00:49:24,410 --> 00:49:27,290 mes iš tikrųjų atsitraukti sluoksnį, kuris yra eilutė ir 1211 00:49:27,290 --> 00:49:28,510 mes pasakysime, ką ji iš tikrųjų yra. 1212 00:49:28,510 --> 00:49:31,050 Eilutę, dabar, yra tik gražus mūsų pasaulio supaprastinimas. 1213 00:49:31,050 --> 00:49:35,700 Bet eilutė skelbia eilutę pavadinti S, dabar. 1214 00:49:35,700 --> 00:49:36,520 Pareiškia eilutę. 1215 00:49:36,520 --> 00:49:39,310 Ji pasilieka šiek tiek RAM vietos eilutę vartotojas yra 1216 00:49:39,310 --> 00:49:40,150 apie tipą. 1217 00:49:40,150 --> 00:49:41,840 >> Dabar pažvelkime dešinėje lygybės ženklą. 1218 00:49:41,840 --> 00:49:44,110 Todėl ji sako GetString (). 1219 00:49:44,110 --> 00:49:45,070 Ir šiek tiek normalumas patikrinti. 1220 00:49:45,070 --> 00:49:47,940 Tai, kad nieko viduje skliausteliuose 1221 00:49:47,940 --> 00:49:50,810 reiškia ką apie GetString? 1222 00:49:50,810 --> 00:49:52,180 Tai užtrunka jokių argumentų. 1223 00:49:52,180 --> 00:49:55,290 Tai yra, jūs jokiu būdu negali daryti įtakos jo elgesį. 1224 00:49:55,290 --> 00:49:58,940 Kiekvieną kartą, kai jūs jį naudoti, jis bus gauti eilutę, ir viskas. 1225 00:49:58,940 --> 00:50:02,210 Printf, priešingai, tikiuosi, jos elgesys nėra 1226 00:50:02,210 --> 00:50:03,010 keisti kiekvieną kartą. 1227 00:50:03,010 --> 00:50:05,230 Priešingu atveju, ji yra gana nenaudingas spausdinimo funkcija, jei 1228 00:50:05,230 --> 00:50:06,480 jis daro tą patį. 1229 00:50:06,480 --> 00:50:07,970 Jei ji visada spausdina Dovydą ar kažką 1230 00:50:07,970 --> 00:50:09,500 savavališkai visą laiką. 1231 00:50:09,500 --> 00:50:11,540 Taigi printf prasminga turėti argumentą. 1232 00:50:11,540 --> 00:50:14,240 GetString nėra tikrai reikia argumentas, nes norėjau 1233 00:50:14,240 --> 00:50:16,700 gauti eilutę iš vartotojo, ir tai, kas vyksta vartotojas 1234 00:50:16,700 --> 00:50:19,580 pateikti dinamiškumą rašyti skirtingomis raidėmis 1235 00:50:19,580 --> 00:50:20,850 kiekvieną prie klaviatūros. 1236 00:50:20,850 --> 00:50:23,140 >> Taigi, ką GetString nereikia galiausiai? 1237 00:50:23,140 --> 00:50:25,080 Pagalvokite apie tai, kaip šios mažai juodąją dėžę. 1238 00:50:25,080 --> 00:50:29,340 Ir tai black box "neprisiima jokios įvesties, bet kai jūs sprogimo ant 1239 00:50:29,340 --> 00:50:33,240 , ji išspjauna eilutę, kad vartotojo įvestą in 1240 00:50:33,240 --> 00:50:36,660 Ir faktas, kad lygybės ženklas reiškia imtis 1241 00:50:36,660 --> 00:50:39,890 kas yra išspjauti į dešinę ir į vidų 1242 00:50:39,890 --> 00:50:41,390 kas kairėje. 1243 00:50:41,390 --> 00:50:43,470 Taigi lygybės ženklas čia, ji iš tikrųjų nereiškia 1244 00:50:43,470 --> 00:50:46,490 lygybė, o techniškai reiškia užduotį. 1245 00:50:46,490 --> 00:50:49,330 Dešinėje vertę, ir įdėti jį į 1246 00:50:49,330 --> 00:50:51,050 kintamasis kairėje. 1247 00:50:51,050 --> 00:50:52,820 Taip, kad viskas, kad vyksta ten. 1248 00:50:52,820 --> 00:50:55,640 >> Dabar 7 eilutėje, mes paskambinus printf. 1249 00:50:55,640 --> 00:50:58,170 Taigi printf tikiuosi gauti šiek tiek nuobodu dabar. 1250 00:50:58,170 --> 00:50:59,530 Taigi spausdinti suformatuoti eilutę. 1251 00:50:59,530 --> 00:51:00,440 , Ką eilutė? 1252 00:51:00,440 --> 00:51:05,460 Spausdinti, "h-e-l-l-o:% s 1253 00:51:05,460 --> 00:51:07,840 ! \ N ". 1254 00:51:07,840 --> 00:51:10,470 Viskas gerai, todėl tai, ką aš noriu plug-in% s? 1255 00:51:10,470 --> 00:51:12,960 Tiesiogine prasme, kokia yra saugomas s. 1256 00:51:12,960 --> 00:51:15,570 Taigi, šiuo atveju, mažai normalumas patikrinti, kiek argumentai nėra 1257 00:51:15,570 --> 00:51:16,820 printf imtis? 1258 00:51:19,860 --> 00:51:21,110 Gerai, išgirdau vieną. 1259 00:51:23,840 --> 00:51:26,330 Aš girdėjau vieną kartą. 1260 00:51:26,330 --> 00:51:27,730 Du, aš girdėjau du. 1261 00:51:27,730 --> 00:51:29,920 Ir kaip apie tris? 1262 00:51:29,920 --> 00:51:30,450 Gerai, trys? 1263 00:51:30,450 --> 00:51:30,930 Puikus. 1264 00:51:30,930 --> 00:51:33,170 Tris galimus atsakymus, iš kurių tik vienas yra teisingas. 1265 00:51:33,170 --> 00:51:36,390 Taigi argumentai vėl turėti įtakos funkcijos elgesį. 1266 00:51:36,390 --> 00:51:39,380 Praeityje, printf tik vieno argumento. 1267 00:51:39,380 --> 00:51:42,260 "Hello World" buvo vienas argumentas. 1268 00:51:42,260 --> 00:51:45,190 Tačiau dabar, pastebėsite, kai tai kablelis yra. 1269 00:51:45,190 --> 00:51:49,600 Šis kablelis yra ne citata / citatos pabaiga, o tai reiškia 1270 00:51:49,600 --> 00:51:52,170 hey printf, čia ateina antrą argumentą. 1271 00:51:52,170 --> 00:51:54,240 >> Taigi daugumoje programavimo kalbų kablelių 1272 00:51:54,240 --> 00:51:57,300 Atskirkite argumentai. 1273 00:51:57,300 --> 00:51:59,600 Taigi atsakymas yra tikrai ne vienas, nes 1274 00:51:59,600 --> 00:52:00,390 tai kablelis. 1275 00:52:00,390 --> 00:52:03,680 Taigi minimaliai, printf, matyt, atsižvelgiant dvi 1276 00:52:03,680 --> 00:52:04,940 argumentai šiuo metu. 1277 00:52:04,940 --> 00:52:07,050 Bet čia yra galimybė apgauti klausimą, kas 1278 00:52:07,050 --> 00:52:07,990 apie šį kablelio? 1279 00:52:07,990 --> 00:52:11,260 Ar tai reiškia, kad ten tikrai trys argumentai? 1280 00:52:11,260 --> 00:52:13,820 Tai, tai, ir tai. 1281 00:52:13,820 --> 00:52:18,820 Taigi ne, nes tai kablelis yra viduje kabučių, kuri 1282 00:52:18,820 --> 00:52:20,890 reiškia, tai tikrai tik anglų estetinis. 1283 00:52:20,890 --> 00:52:23,180 Tai neturi nieko daryti su skaičiaus 1284 00:52:23,180 --> 00:52:24,890 argumentai šioje programoje. 1285 00:52:24,890 --> 00:52:27,670 Taigi tai kablelis yra už dvigubų kabučių. 1286 00:52:27,670 --> 00:52:28,850 Ir tada grįžti 0. 1287 00:52:28,850 --> 00:52:30,980 Dabar tegul tiesiog tarsi šį vieną tikėjimo 1288 00:52:30,980 --> 00:52:34,460 šiandien, ir tiesiog žinau, kad kai yra atliekamas funkcijas vykdyti 1289 00:52:34,460 --> 00:52:37,950 eilučių kodo, jie paprastai turėtų grąžinti tam tikrą vertę. 1290 00:52:37,950 --> 00:52:42,010 Šiuo atveju, tik todėl, kad pagrindinis privalo grąžinti int, 1291 00:52:42,010 --> 00:52:44,320 , kad tik taip, kaip kalba C darbai. 1292 00:52:44,320 --> 00:52:47,040 >> Todėl, kad nieko nutiko, jaučiasi ši programa 1293 00:52:47,040 --> 00:52:49,960 gerai, aš tik sunkiai koduojami return 0. 1294 00:52:49,960 --> 00:52:52,980 Tačiau priešingai, ir aš ruošiuosi parašyti šį pseudo kodas 1295 00:52:52,980 --> 00:52:55,020 dabar, panašiai kaip Juozapo padarė, kai mes padarėme kojinių 1296 00:52:55,020 --> 00:52:56,220 pavyzdys praėjusią savaitę. 1297 00:52:56,220 --> 00:53:00,440 Jei kažkas negerai - tai nėra tikrasis kodas - atiteko 1298 00:53:00,440 --> 00:53:06,570 negerai, tada grįžti, tarkim, 1. 1299 00:53:06,570 --> 00:53:08,770 Else return 0. 1300 00:53:08,770 --> 00:53:10,070 Taigi tai yra, kur mes einame su šia. 1301 00:53:10,070 --> 00:53:12,090 Tai nėra tikrasis C kodas, tiesiog Pseudocode. 1302 00:53:12,090 --> 00:53:14,010 Bet tai, kaip jūs gali grįžti 1303 00:53:14,010 --> 00:53:15,580 įvairios galimos reikšmės. 1304 00:53:15,580 --> 00:53:19,520 Bet dabar aš tik ketina eiti į priekį ir return 0. 1305 00:53:19,520 --> 00:53:24,410 Viskas gerai, bet iki šiol sintaksės, funkcionalumo klausimų, 1306 00:53:24,410 --> 00:53:25,000 ar pan? 1307 00:53:25,000 --> 00:53:26,280 Taip, atgal. 1308 00:53:26,280 --> 00:53:27,530 >> Auditorija: [nesigirdi] 1309 00:53:30,510 --> 00:53:32,210 David Malan: Ar galite kalbėti šiek tiek garsiau? 1310 00:53:32,210 --> 00:53:34,325 Kodėl šią programą Return 0, ir? 1311 00:53:34,325 --> 00:53:35,575 Auditorija: [nesigirdi] 1312 00:53:39,910 --> 00:53:43,450 David Malan: O, kad nes aš tingus, atsiprašau. 1313 00:53:43,450 --> 00:53:48,290 Nieko gero mokslo reakcija, grįžti 0. 1314 00:53:48,290 --> 00:53:52,690 Galiu rūšies išgelbėti tai, sakydamas techniškai C, jei pagrindinis 1315 00:53:52,690 --> 00:53:55,900 nėra aiškiai grąžina reikšmę, 0 bus grąžintas 1316 00:53:55,900 --> 00:53:57,730 automatiškai. 1317 00:53:57,730 --> 00:54:00,290 , Kas yra teisinga, aš ne tik slėpdama. 1318 00:54:00,290 --> 00:54:03,270 , Bet aš turėjo padaryti jį šiuo būdu. 1319 00:54:03,270 --> 00:54:05,250 Ne įdomus išsinešimui nei, kad nei mano klaida. 1320 00:54:05,250 --> 00:54:06,170 Taip? 1321 00:54:06,170 --> 00:54:08,470 >> Auditorija: Paprastai, kai įvedate tuštuma, tai reiškia, kad jums 1322 00:54:08,470 --> 00:54:10,770 negrįžta kažką. 1323 00:54:10,770 --> 00:54:11,420 David Malan: Teisingas. 1324 00:54:11,420 --> 00:54:15,800 Jei vietoj to, galite nurodyti prieš funkcijos pavadinimą, 1325 00:54:15,800 --> 00:54:18,590 instancija, tuščia, tai funkcija 1326 00:54:18,590 --> 00:54:20,480 negrąžina nieko. 1327 00:54:20,480 --> 00:54:25,210 Ir todėl aš tiesiog pasakyti, grąžinimo ar visai nieko, 1328 00:54:25,210 --> 00:54:26,730 ir kad būtų nuoseklūs. 1329 00:54:26,730 --> 00:54:27,750 Ir mes grįžti prie to. 1330 00:54:27,750 --> 00:54:31,030 Ir tiesiog FYI, vienas su mokymosi sugavimus 1331 00:54:31,030 --> 00:54:33,450 programavimo pasaulyje, kuris turi šimtus knygų ir 1332 00:54:33,450 --> 00:54:36,180 šimtai svetainių, ten yra, jūs visada 1333 00:54:36,180 --> 00:54:38,220 matyti įvairią sintaksę įvairių knygų 1334 00:54:38,220 --> 00:54:40,220 skirtingų žmonių. 1335 00:54:40,220 --> 00:54:42,100 Suprantu, mes darome viską, skyriuose ir paskaitas 1336 00:54:42,100 --> 00:54:42,960 nuoseklūs. 1337 00:54:42,960 --> 00:54:46,660 Bet kartais pamatysite prieštaringą sintaksę. 1338 00:54:46,660 --> 00:54:48,540 Taigi, jei kyla abejonių, tiesiog paprašykite. 1339 00:54:48,540 --> 00:54:51,100 Ir apskritai, mes pasirūpinsime paskaitų ir skirsniai 1340 00:54:51,100 --> 00:54:53,710 beveik visada pateikti jį į teisingą kelią. 1341 00:54:53,710 --> 00:54:56,070 Ir aš sakau, beveik visada, nes pagal Teisingumo Teismo punkte. 1342 00:54:56,070 --> 00:54:56,860 Kiti klausimai? 1343 00:54:56,860 --> 00:55:01,590 >> Auditorija: Ar% s egzistuoja ne prietaiso? 1344 00:55:01,590 --> 00:55:03,710 DAVID Malan:% s egzistuoja už prietaiso ribų? 1345 00:55:03,710 --> 00:55:04,180 Taip. 1346 00:55:04,180 --> 00:55:07,760 Taigi,% s daryti su C. Tai, kad mes naudojame jį 1347 00:55:07,760 --> 00:55:10,290 prietaisas iš esmės neturi nieko daryti su 1348 00:55:10,290 --> 00:55:12,080 bruožai kalba, mes naudojame. 1349 00:55:12,080 --> 00:55:15,990 Iš tiesų, praėjusią savaitę, kai mes naudojamas mano Mac, aš parašiau 1350 00:55:15,990 --> 00:55:17,160 C kodas mano Mac. 1351 00:55:17,160 --> 00:55:20,020 Aš galėjo naudoti% s mano Mac, ir jūs galite naudoti ją į 1352 00:55:20,020 --> 00:55:22,400 Windows kompiuteryje, jei jums ją įdiegti kompiliatorių, pavyzdžiui, 1353 00:55:22,400 --> 00:55:24,070 Iš "Microsoft Visual Studio. 1354 00:55:24,070 --> 00:55:24,990 Taip:% s. 1355 00:55:24,990 --> 00:55:27,860 Viskas, ką mes darome, viduje šio lango šiandien 1356 00:55:27,860 --> 00:55:31,140 padaryti su C ir iš esmės nieko daryti su 1357 00:55:31,140 --> 00:55:33,450 operacinės sistemos klausimą. 1358 00:55:33,450 --> 00:55:35,900 Priešingai, juoda ir balta terminalo langą - kai 1359 00:55:35,900 --> 00:55:40,160 Wpisuję dalykų, pavyzdžiui, ls, ir RM, ir CD 1360 00:55:40,160 --> 00:55:42,020 , kad turi daryti su operacine sistema ir 1361 00:55:42,020 --> 00:55:43,562 navigacinio aplink. 1362 00:55:43,562 --> 00:55:44,546 Taip. 1363 00:55:44,546 --> 00:55:46,520 Auditorija: aš reiškė bibliotekoje, su CS50 biblioteką. 1364 00:55:46,520 --> 00:55:49,960 David Malan: Gerai, taigi, jei turite galvoje raktažodžių eilutę, kad 1365 00:55:49,960 --> 00:55:52,460 egzistuoja tik CS50 bibliotekoje, teisinga. 1366 00:55:52,460 --> 00:55:55,350 Kad neegzistuoja, C pati, kaip ir kitose porą 1367 00:55:55,350 --> 00:55:58,220 savaičių išmesti CS50 biblioteką ir pradėti 1368 00:55:58,220 --> 00:56:02,290 daryti viską nuo nulio save, taip sakant. 1369 00:56:02,290 --> 00:56:02,940 Kiti klausimai? 1370 00:56:02,940 --> 00:56:04,577 Taip. 1371 00:56:04,577 --> 00:56:05,827 >> Auditorija: [nesigirdi] 1372 00:56:09,470 --> 00:56:10,160 Davidas Malan: Geras klausimas. 1373 00:56:10,160 --> 00:56:11,720 Yra komandos didžiosios ir mažosios raidės? 1374 00:56:11,720 --> 00:56:13,710 Ir leiskite man padaryti skirtumą. 1375 00:56:13,710 --> 00:56:15,840 Taigi komandos paprastai yra ne tai, ką mes rašyti 1376 00:56:15,840 --> 00:56:17,940 apačioje lango, terminalo lange. 1377 00:56:17,940 --> 00:56:21,770 Viskas čia būtų pareiškimų ar C kodas. 1378 00:56:21,770 --> 00:56:24,490 Tačiau abiem atvejais atsakymas yra tas pats, taip. 1379 00:56:24,490 --> 00:56:27,800 Tiek tų aplinkų C kodas viršuje ir 1380 00:56:27,800 --> 00:56:29,910 operacinės sistemos komandinės eilutės 1381 00:56:29,910 --> 00:56:31,440 apačioje, yra didžiosios ir mažosios raidės. 1382 00:56:31,440 --> 00:56:33,830 Taigi jūs turite pasinaudoti GetString su kapitalo G, 1383 00:56:33,830 --> 00:56:37,050 kapitalas S. Jūs turite parašyti printf visose mažosiomis raidėmis. 1384 00:56:37,050 --> 00:56:39,520 Turite įvesti ls visose mažosiomis raidėmis. 1385 00:56:39,520 --> 00:56:43,260 Taigi, beveik kiekvienoje situacijoje šį semestrą, atveju, 1386 00:56:43,260 --> 00:56:44,820 faktas, klausimas. 1387 00:56:44,820 --> 00:56:46,148 Taip. 1388 00:56:46,148 --> 00:56:47,398 >> Auditorija: [nesigirdi] 1389 00:56:54,770 --> 00:56:56,480 DAVID Malan: Ak, taip gerai, ką daryti, jei mes turėjome failą 1390 00:56:56,480 --> 00:56:57,840 vadinamas hello.d. 1391 00:56:57,840 --> 00:57:00,090 Taigi paaiškėja, D yra programavimo kalba. 1392 00:57:00,090 --> 00:57:02,790 Ir taip, kai kuriais atvejais, mes iš tikrųjų galėtų parašyti programą 1393 00:57:02,790 --> 00:57:06,190 to failo ir jis sudarytas, kad dėl mados. 1394 00:57:06,190 --> 00:57:09,090 Mes galime ir iš tikrųjų, Trumpas atsakymas yra, aš nežinau. 1395 00:57:09,090 --> 00:57:10,440 Taigi, mes ketiname tai padaryti. 1396 00:57:10,440 --> 00:57:13,040 Leiskite man eiti į priekį ir sukurti naują failą. 1397 00:57:13,040 --> 00:57:15,580 Ir nugara, sąžiningai apskritai, kai jokios abejonės, 1398 00:57:15,580 --> 00:57:18,130 šį semestrą, ir jūs turite savo prietaisą arba kompiuterį 1399 00:57:18,130 --> 00:57:20,030 atidaryti, eiti į priekį ir bandyti ką nors. 1400 00:57:20,030 --> 00:57:23,740 Taigi, aš ketina išsaugoti failą pavadinimu hello.d. 1401 00:57:23,740 --> 00:57:25,010 Išsaugoti šią. 1402 00:57:25,010 --> 00:57:29,070 Ir aš ruošiuosi paleisti Apie Įveskite. 1403 00:57:29,070 --> 00:57:31,660 Atrodė daryti išvadą, kad C buvo labiau tikėtina, 1404 00:57:31,660 --> 00:57:35,920 nei d, ir šiuo atveju. 1405 00:57:35,920 --> 00:57:38,046 Kiti klausimai. 1406 00:57:38,046 --> 00:57:40,456 Taip. 1407 00:57:40,456 --> 00:57:41,706 >> Auditorija: [nesigirdi] 1408 00:57:48,170 --> 00:57:49,837 DAVID Malan: Gerai, sako, kad dar kartą. 1409 00:57:49,837 --> 00:57:51,087 Auditorija: [nesigirdi] 1410 00:58:04,250 --> 00:58:05,780 DAVID Malan: Kaip tu apie diagnozuoti, kad arba 1411 00:58:05,780 --> 00:58:06,380 pagalba, kad? 1412 00:58:06,380 --> 00:58:08,800 Taigi, labiausiai tikėtina, nes jie yra skirtingų kalbų, 1413 00:58:08,800 --> 00:58:10,280 greičiausiai jums gauti visiškai 1414 00:58:10,280 --> 00:58:11,580 skirtinga programa išvedamas. 1415 00:58:11,580 --> 00:58:14,140 Jūs galėtumėte gauti visiškai skirtingus pranešimus apie klaidas. 1416 00:58:14,140 --> 00:58:16,750 Ir taip pat tik pagal projektą, tai, žinoma, yra 1417 00:58:16,750 --> 00:58:19,140 , netinkamas projektavimas sprendimas turi būti raštu du skirtingi 1418 00:58:19,140 --> 00:58:21,510 kalbas su beveik vienodai pavadintų failų, 1419 00:58:21,510 --> 00:58:23,000 tą patį katalogas, naudojant 1420 00:58:23,000 --> 00:58:24,550 automatinis įrankis, pavyzdžiui, kad. 1421 00:58:24,550 --> 00:58:27,750 , Kad aš taip pat gali stumti atgal ir pasakyti, per 15 metų tai daryti, 1422 00:58:27,750 --> 00:58:29,190 niekada tokios klaidos. 1423 00:58:29,190 --> 00:58:30,030 Gali atsitikti. 1424 00:58:30,030 --> 00:58:31,190 Bet čia tik įvairūs, manau, 1425 00:58:31,190 --> 00:58:33,180 logistikos įtvirtinimai. 1426 00:58:33,180 --> 00:58:35,440 Plius klaidos pranešimas, kad galėtų įvykti, kad būtų 1427 00:58:35,440 --> 00:58:37,260 galiausiai atskleisti, kokia yra problema. 1428 00:58:37,260 --> 00:58:39,120 Bet įmanoma kampe atveju. 1429 00:58:39,120 --> 00:58:41,730 >> Viskas gerai, todėl galime pristatyti tik kitų pora 1430 00:58:41,730 --> 00:58:45,600 funkcijos čia dabar, kad mes galime pradėti kurti į daugiau 1431 00:58:45,600 --> 00:58:47,140 kompleksinė programa. 1432 00:58:47,140 --> 00:58:49,000 Taigi, visų pirma, matematikos. 1433 00:58:49,000 --> 00:58:51,520 Taigi matematikos pavyzdžiai yra tiesiog rūšies paprasta, per pirmą savaitę. 1434 00:58:51,520 --> 00:58:53,560 Tai ne pasakyti, kad visas programavimas yra apie 1435 00:58:53,560 --> 00:58:54,390 matematika. 1436 00:58:54,390 --> 00:58:57,890 Žinoma, suprasti įvairių funkcijų 1437 00:58:57,890 --> 00:58:59,610 matematika, algebra visų pirma, yra 1438 00:58:59,610 --> 00:59:00,330 gana svarbūs. 1439 00:59:00,330 --> 00:59:03,010 Aukštesnio lygio CS klases, Tiesinė algebra, 1440 00:59:03,010 --> 00:59:03,920 skaičiavimas ir panašiai. 1441 00:59:03,920 --> 00:59:06,500 Bet suprasti, ką mes darysime šį pusmetį sumažina 1442 00:59:06,500 --> 00:59:09,230 matematikos, ir tikrai ne aritmetika, savaime, bet tikrai 1443 00:59:09,230 --> 00:59:11,570 tik logika ir kruopštaus mąstymo. 1444 00:59:11,570 --> 00:59:14,310 Ir todėl šią sąsają, kad kompiuterių mokslas jau seniai turėjo 1445 00:59:14,310 --> 00:59:16,570 ypač vidurinės mokyklos lygio, matematikos, 1446 00:59:16,570 --> 00:59:17,370 šiek tiek klaidinantis. 1447 00:59:17,370 --> 00:59:20,090 Nes dauguma programų, kad mes rašyti, tikrai, 1448 00:59:20,090 --> 00:59:23,290 tarsi aukštesnio lygio ir sutelkti dėmesį į problemų sprendimo, kad 1449 00:59:23,290 --> 00:59:26,410 tikrai, gali naudoti tam tikrą sudėtį, atimtį, ir įvairių 1450 00:59:26,410 --> 00:59:28,650 matematinių formulių arba panašūs dirbiniai, 1451 00:59:28,650 --> 00:59:30,860 , bet ne dienos pabaigoje, tai apie mąstymo, o ne 1452 00:59:30,860 --> 00:59:33,240 tik įgyvendinimo, ką galėjo padaryti kaip TI 1453 00:59:33,240 --> 00:59:35,050 skaičiuoklė vidurinėje mokykloje. 1454 00:59:35,050 --> 00:59:38,410 >> Taigi, su ta sako, tegul dabar kažką daryti su šiomis 1455 00:59:38,410 --> 00:59:40,980 matematiniai operatoriai, kurie egzistuoja todėl, kad mes galime kelionė 1456 00:59:40,980 --> 00:59:43,950 per kai kurių pagrindinių aspektų programavimo, arba 1457 00:59:43,950 --> 00:59:48,930 šiuo atveju C. Taigi, kaip CS50 biblioteka pasiūlė, 1458 00:59:48,930 --> 00:59:51,520 ir šiandien mes tik naudojant GetString - ir per akimirką 1459 00:59:51,520 --> 00:59:52,940 galbūt vienas kitas funkcijas - 1460 00:59:52,940 --> 00:59:55,380 tačiau yra įvairių duomenų tipų kompiuterio. 1461 00:59:55,380 --> 00:59:58,550 Tuo dienos pabaigos, tik kompiuteriuose žinoti 0s ir 1s. 1462 00:59:58,550 --> 01:00:01,880 Tačiau primena, kad praėjusią savaitę, mes kalbėjome apie binarinės sistemos 1463 01:00:01,880 --> 01:00:05,000 atstovaujant numerius, pavyzdžiui, skaičius 0 ir 1, ir 2, 1464 01:00:05,000 --> 01:00:07,480 būdas, kaip iki 8 Nate vaizdo įrašui. 1465 01:00:07,480 --> 01:00:08,840 Ir tada mes galime tikėtis daug didesnis, kaip mes 1466 01:00:08,840 --> 01:00:10,000 ant scenos čia. 1467 01:00:10,000 --> 01:00:15,660 Bet jei norite atstovauti ne tik skaičiai, bet raides, 1468 01:00:15,660 --> 01:00:18,240 mes, žmonės, turime sugalvoti su kai savavališkai 1469 01:00:18,240 --> 01:00:21,180 konvencijas, pagal kurią, jei dienos pabaigoje visi mano kompiuteryje 1470 01:00:21,180 --> 01:00:24,260 yra gebėjimas išreikšti 0s ir 1s, gerai mes norime geriau 1471 01:00:24,260 --> 01:00:27,990 0s ir 1s modelius, kurie reprezentuoja standartizavimo 1472 01:00:27,990 --> 01:00:28,800 skirtingi dalykai. 1473 01:00:28,800 --> 01:00:32,370 0s ir 1s modelis, kuris atstovauja raidę a. 1474 01:00:32,370 --> 01:00:34,840 0s ir 1s modelius, kurios atstovauja raide 'Z. 1475 01:00:34,840 --> 01:00:37,600 Modeliai 0s ir 1s, kurios atstovauja mėlynai arba 1476 01:00:37,600 --> 01:00:38,600 raudona, ar panašiai. 1477 01:00:38,600 --> 01:00:42,360 Mes turime naudoti visi 0s ir 1s jų išreikšti save 1478 01:00:42,360 --> 01:00:45,140 skirtinguose kontekstuose, įvairiais būdais, kurie nėra 1479 01:00:45,140 --> 01:00:46,470 nebūtinai skaitinė reikšmė. 1480 01:00:46,470 --> 01:00:51,150 >> Taigi atstovavimo, C turi skirtingus duomenų tipus, 1481 01:00:51,150 --> 01:00:52,550 ir mes matėme vieną iš jų iki šiol. 1482 01:00:52,550 --> 01:00:54,940 Mes matėme, int, ir kas ne pranešimas ekrane 1483 01:00:54,940 --> 01:00:56,140 dabar yra eilutė. 1484 01:00:56,140 --> 01:00:58,550 Eilutėje nėra, iš tiesų, yra C. Vėlgi, tai 1485 01:00:58,550 --> 01:01:00,610 supaprastinimas mes pristatome pirmą kartą 1486 01:01:00,610 --> 01:01:01,570 porą savaičių. 1487 01:01:01,570 --> 01:01:03,770 Char yra individualių savybių. 1488 01:01:03,770 --> 01:01:07,050 Plūdė yra realusis skaičius, su kablelio skaičiaus ir telefono numerius į 1489 01:01:07,050 --> 01:01:09,066 , į kairę ir į dešinę nuo jos. 1490 01:01:09,066 --> 01:01:16,040 Dvigubai yra kas, atgal iki fone? 1491 01:01:16,040 --> 01:01:19,720 Taigi dvigubas yra dvigubai kažką. 1492 01:01:19,720 --> 01:01:21,240 Prideda dvigubai daugiau tikslumo. 1493 01:01:21,240 --> 01:01:22,440 Taigi, ką tai reiškia? 1494 01:01:22,440 --> 01:01:26,090 Taigi kiekvienu iš šių atvejų, kad pasaulis turi rūšiuoti standartizuotas 1495 01:01:26,090 --> 01:01:27,960 kiek bitų yra naudojamas vaizduoti 1496 01:01:27,960 --> 01:01:29,160 kiekvienas iš šių dalykų. 1497 01:01:29,160 --> 01:01:31,590 Taigi, jei jūs stebėjo Nate ASCII vaizdo jau dalis 1498 01:01:31,590 --> 01:01:36,170 pset 0 arba vėliau šią savaitę jums, jūs tikriausiai žinote, 1499 01:01:36,170 --> 01:01:37,450 kad ASCII - 1500 01:01:37,450 --> 01:01:38,610 simbolių atstovybės - 1501 01:01:38,610 --> 01:01:40,670 naudoti, kiek bitų? 1502 01:01:40,670 --> 01:01:43,410 Ir galbūt net prisiminti iš mūsų demo praėjusią savaitę, kaip 1503 01:01:43,410 --> 01:01:45,500 daug žmonių buvo ant scenos. 1504 01:01:45,500 --> 01:01:46,840 Taigi, 7 arba 8, paprastai. 1505 01:01:46,840 --> 01:01:49,230 Todėl paprastai 8, ir yra kažkas, vadinamas pratęstas 1506 01:01:49,230 --> 01:01:51,240 ASCII, kuris naudoja visus 8 bitus, o ne 7. 1507 01:01:51,240 --> 01:01:54,710 Bet apskritai, mes kalbame įgaliojimus 2, todėl šiuo atveju, 8. 1508 01:01:54,710 --> 01:01:58,900 Taigi char programavimo kalba paprastai yra 8 bitai. 1509 01:01:58,900 --> 01:02:02,550 Taigi int paprastai yra 32 bitai. 1510 01:02:02,550 --> 01:02:04,810 Plūdė yra 32 bitai. 1511 01:02:04,810 --> 01:02:08,060 Dvigubai paprastai yra 64 bitų. 1512 01:02:08,060 --> 01:02:08,870 Ir ką tai reiškia? 1513 01:02:08,870 --> 01:02:11,500 Tai reiškia, kad gali kelti didesnius numerius, arba tuo atveju, 1514 01:02:11,500 --> 01:02:15,490 realiųjų skaičių, jūs galite turėti daug daugiau skaičių po 1515 01:02:15,490 --> 01:02:16,240 dešimtųjų tikslumu. 1516 01:02:16,240 --> 01:02:18,980 Daug daugiau tikslumo, kad šioje byloje. 1517 01:02:18,980 --> 01:02:21,780 Dabar ilgai ilgai, deja, pavadintas. 1518 01:02:21,780 --> 01:02:24,340 Taigi čia int, kuris yra 32 bitai. 1519 01:02:24,340 --> 01:02:29,800 Yra ilgas, kuris, Ne, 32 bitų. 1520 01:02:29,800 --> 01:02:32,610 Ir ilgai ilgai, kuris yra 64 bitai. 1521 01:02:32,610 --> 01:02:34,830 Tačiau kai kurie iš jų yra atsižvelgiama į konkrečias aplinkybes, tai priklauso 1522 01:02:34,830 --> 01:02:36,190 kokios kompiuteryje turite. 1523 01:02:36,190 --> 01:02:40,510 Taigi apskritai, mes nurodyti namų darbus arba viktorinoje 1524 01:02:40,510 --> 01:02:41,180 ji iš tikrųjų svarbu. 1525 01:02:41,180 --> 01:02:43,080 Bet esmė yra ta, kad visų šių skirtingų 1526 01:02:43,080 --> 01:02:44,250 atstovybės čia. 1527 01:02:44,250 --> 01:02:45,950 >> Todėl galime iš tikrųjų pasinerti į programą. 1528 01:02:45,950 --> 01:02:48,300 , O ne rašyti šį vieną nuo nulio, leisk man eiti į priekį 1529 01:02:48,300 --> 01:02:50,940 ir atverti iš šiandienos šaltinio kodą - visa tai yra 1530 01:02:50,940 --> 01:02:54,980 internete - jei norite Taisome aplink internete, ar grąža 1531 01:02:54,980 --> 01:02:57,120 Trečiadienį prietaisą kompiuteryje, instrukcijos 1532 01:02:57,120 --> 01:02:59,160 už kurias bus susieti kurso puslapyje. 1533 01:02:59,160 --> 01:03:00,830 Čia super paprasta programa. 1534 01:03:00,830 --> 01:03:02,520 Bet jis gavo šiek tiek kažką naujo viršuje, kad 1535 01:03:02,520 --> 01:03:03,650 mes neturėjome anksčiau. 1536 01:03:03,650 --> 01:03:05,800 Visai daug mėlynų eilučių teksto. 1537 01:03:05,800 --> 01:03:08,410 Taigi šie mėlynos linijos sudaro komentarus. 1538 01:03:08,410 --> 01:03:10,620 Taigi, tai labai naudinga, programos, kad būtų galima rašyti 1539 01:03:10,620 --> 01:03:13,160 keletą pastabų sau, ar su kolegomis ar draugais, arba 1540 01:03:13,160 --> 01:03:15,700 mokymo kolegos, kad tarsi apibūdinti, kas vyksta 1541 01:03:15,700 --> 01:03:18,500 šį failą, bet neturi nieko bendro su C patį kodą. 1542 01:03:18,500 --> 01:03:20,860 Nieko bendro su programa funkcionaliai, tai tik 1543 01:03:20,860 --> 01:03:21,760 estetika. 1544 01:03:21,760 --> 01:03:24,580 Taigi, kaip tai padaryti, C, jūs paprastai prasideda jūsų 1545 01:03:24,580 --> 01:03:29,860 kometarus / * ir baigti savo komentarus 1546 01:03:29,860 --> 01:03:31,270 * /. 1547 01:03:31,270 --> 01:03:34,140 Ir jei jūs tikrai analinis ir kaip atkreipti rūšiuoti nuotraukas, 1548 01:03:34,140 --> 01:03:35,870 tada jums reikia įdėti visai daug žvaigždžių, kad tu padarysi 1549 01:03:35,870 --> 01:03:36,970 LITTLE BOX, kaip šis. 1550 01:03:36,970 --> 01:03:37,990 Tačiau nė vienas, kad klausimai. 1551 01:03:37,990 --> 01:03:40,230 Vienintelis svarbus dalykas yra pirmasis 1552 01:03:40,230 --> 01:03:41,620 ir pats paskutinis. 1553 01:03:41,620 --> 01:03:43,820 Tai yra tai, kas vadinama kelių eilučių komentarą. 1554 01:03:43,820 --> 01:03:46,610 Ir tai tik žmogaus konvencija dažnai žvaigždes ir dėžutės 1555 01:03:46,610 --> 01:03:48,420 dalykų kaip tai, jei turite daug laisvo laiko. 1556 01:03:48,420 --> 01:03:51,550 >> Taigi, po to, kai parašiau kai kuriais komentarais, ateik 1557 01:03:51,550 --> 01:03:53,160 faktiniai programos viduriai. 1558 01:03:53,160 --> 01:03:55,630 Štai mūsų susipažinę # include . 1559 01:03:55,630 --> 01:04:00,410 Ir tik greitai, tai yra būtina, ar nebūtina? 1560 01:04:00,410 --> 01:04:02,860 Auditorija: Būtina. 1561 01:04:02,860 --> 01:04:04,390 David Malan: Taigi tai tikrai nėra būtina. 1562 01:04:04,390 --> 01:04:07,070 Tad kodėl, nors tai nėra būtina? 1563 01:04:07,070 --> 01:04:08,170 Todėl nėra printf. 1564 01:04:08,170 --> 01:04:08,510 Iš tiesų. 1565 01:04:08,510 --> 01:04:10,470 Viskas, ką mes darome šioje programoje yra matematika. 1566 01:04:10,470 --> 01:04:11,640 Taigi aš iš tikrųjų galite ištrinti, kad. 1567 01:04:11,640 --> 01:04:14,330 Taigi, jūs ne visada turi apimti nieko 1568 01:04:14,330 --> 01:04:15,420 programos viršuje. 1569 01:04:15,420 --> 01:04:17,020 >> Todėl galime supaprastinti šį šiek tiek. 1570 01:04:17,020 --> 01:04:18,650 Ir dabar pastebėti, ką ši programa daro. 1571 01:04:18,650 --> 01:04:19,920 Nėra daug interesų. 1572 01:04:19,920 --> 01:04:21,410 int x = 1. 1573 01:04:21,410 --> 01:04:22,550 Na, kas tai daro? 1574 01:04:22,550 --> 01:04:25,130 Na, manau, psichikos modelį iš anksčiau. 1575 01:04:25,130 --> 01:04:27,500 Kairėje pusėje šią išraišką ką daro? 1576 01:04:31,440 --> 01:04:32,830 Sukurti erdvę sveikasis skaičius. 1577 01:04:32,830 --> 01:04:33,930 Taigi, kiek vietos? 1578 01:04:33,930 --> 01:04:36,980 Na, mes atsitikti žinoti, dabar, kad tai 32 bitų. 1579 01:04:36,980 --> 01:04:40,070 Anksčiau, eilutė buvo techniškai 32 bitų, bet daugiau 1580 01:04:40,070 --> 01:04:40,950 ateityje. 1581 01:04:40,950 --> 01:04:42,240 Tačiau int yra 32 bitai. 1582 01:04:42,240 --> 01:04:45,590 Taigi, šis kairėje išraiška, int x tiesiog sako: hey 1583 01:04:45,590 --> 01:04:48,490 operacinės sistemos, duok man 32 bitų RAM - 1584 01:04:48,490 --> 01:04:50,450 kitaip žinomas kaip 4 baitų RAM - 1585 01:04:50,450 --> 01:04:53,930 , kad galėčiau įdėti šioje erdvėje sveikasis skaičius. 1586 01:04:53,930 --> 01:04:55,330 Kas sveikasis skaičius buvo norite įdėti? 1587 01:04:55,330 --> 01:04:56,640 Na, tiesiog skaičių 1. 1588 01:04:56,640 --> 01:04:59,530 int y gauna 2, ar tą patį dalyką, nors 1589 01:04:59,530 --> 01:05:02,160 skaičius yra didesnis, didelė. 1590 01:05:02,160 --> 01:05:04,790 Numeris pati yra dar tik 32 bitų. 1591 01:05:04,790 --> 01:05:06,520 Tai tiesiog bitų modelis skiriasi 1592 01:05:06,520 --> 01:05:08,260 atstovauti 1, palyginti su 2. 1593 01:05:08,260 --> 01:05:11,980 int z dabar sako duok man dar 32 bitų, jį vadiname Z, ir įdėti 1594 01:05:11,980 --> 01:05:14,210 1 ir 2 yra sumavimas. 1595 01:05:14,210 --> 01:05:18,050 Kad dabar "z", matyt, laikyti vertę 3 1596 01:05:18,050 --> 01:05:19,360 ir tada grįžti 0. 1597 01:05:19,360 --> 01:05:23,020 >> Dabar šią programą, tai nieko daryti interesų? 1598 01:05:23,020 --> 01:05:26,170 Taigi, ji iš tikrųjų nėra padaryti ką nors įdomus, bet 1599 01:05:26,170 --> 01:05:28,450 prasme, nes kodėl? Tai daro šiek tiek matematikos. 1600 01:05:28,450 --> 01:05:30,590 , Bet jis negrįžta atsakymą, į dešinę. 1601 01:05:30,590 --> 01:05:31,790 Jis grąžina 0. 1602 01:05:31,790 --> 01:05:33,440 Jis nespausdina atsakymą. 1603 01:05:33,440 --> 01:05:35,760 Todėl ši programa iš esmės yra bevertis, nes jis 1604 01:05:35,760 --> 01:05:36,350 yra dabar. 1605 01:05:36,350 --> 01:05:37,220 Tai daro tam tikrą darbą. 1606 01:05:37,220 --> 01:05:39,530 Ji ketina imtis tam tikrą skaičių sekundžių ar mikrosekundžių, į 1607 01:05:39,530 --> 01:05:41,510 paleisti, bet jis nėra iš tikrųjų ką nors 1608 01:05:41,510 --> 01:05:42,770 naudinga už žmogaus. 1609 01:05:42,770 --> 01:05:46,810 >> Todėl galime iš tikrųjų dabar atidaryti math2, kur dabar aš iš tikrųjų 1610 01:05:46,810 --> 01:05:48,250 spausdinimo rezultatą. 1611 01:05:48,250 --> 01:05:51,260 Taigi tai taip pat gali būti padaryti iš mūsų ankstesniuose pavyzdžiuose. 1612 01:05:51,260 --> 01:05:54,320 Jei aš noriu padaryti keletą paprastų matematikos, int x = 1, y 1613 01:05:54,320 --> 01:05:56,820 = 2. z yra 1 plius 2. 1614 01:05:56,820 --> 01:05:59,240 Ką tai vyksta atsispausdinti akivaizdžiai? 1615 01:05:59,240 --> 01:06:00,120 Tik 3. 1616 01:06:00,120 --> 01:06:01,590 Taip greitai normalumas patikrinti. 1617 01:06:01,590 --> 01:06:03,830 Leiskite man pereiti į šį katalogą. 1618 01:06:03,830 --> 01:06:06,480 Taigi cd source1m. 1619 01:06:06,480 --> 01:06:09,370 Leiskite man eiti į priekį ir įveskite padaryti math2. 1620 01:06:09,370 --> 01:06:11,510 Pranešimus apie klaidas išėjo, todėl leiskite man paleisti - 1621 01:06:11,510 --> 01:06:14,800 ne a.out leiskite man paleisti math2. Įveskite. 1622 01:06:14,800 --> 01:06:16,750 Ir iš tiesų, jis atspausdintas iš 3. 1623 01:06:16,750 --> 01:06:18,460 Na tegul bent šis variantas atrodo. 1624 01:06:18,460 --> 01:06:23,870 Į math3.c, dabar mes turime šį pavyzdį čia. 1625 01:06:23,870 --> 01:06:26,540 >> Taigi tai vienas natūra įdomių. 1626 01:06:26,540 --> 01:06:32,000 Taigi tai vienas čia, atsakymas ketina gauti 1 dalijamas iš 10 1627 01:06:32,000 --> 01:06:33,910 ir pastebėsite, aš paskelbė, kad ji kaip float. 1628 01:06:33,910 --> 01:06:35,200 Kodėl aš noriu, kad ji būtų plūdė? 1629 01:06:35,200 --> 01:06:36,110 Na, tai frakcija. 1630 01:06:36,110 --> 01:06:37,140 Tai bus realusis skaičius. 1631 01:06:37,140 --> 01:06:40,970 Taigi tai bus 0,1, tikiuosi - 10%, šiuo atveju. 1632 01:06:40,970 --> 01:06:42,610 Ir ką tada norite spausdinti? 1633 01:06:42,610 --> 01:06:43,440 Na, tai atsakymas. 1634 01:06:43,440 --> 01:06:44,760 Ką gi, erzinti tai, išskyrus 1.. 1635 01:06:44,760 --> 01:06:47,020 Taigi kairėje pusėje, paskelbti 1636 01:06:47,020 --> 01:06:49,410 plūduriuoti, vadina jį atsakyti. 1637 01:06:49,410 --> 01:06:52,280 Dešinėje pusėje, 1 dalijamas iš 10 ir įdėti, kad 1638 01:06:52,280 --> 01:06:54,370 answer kintamojo viduje. 1639 01:06:54,370 --> 01:06:56,410 Dabar, ši eilutė atrodo šiek tiek paslaptingas. 1640 01:06:56,410 --> 01:06:59,440 Bet pastebėti kai kuriuos žinomus funkcijų. % Tai čia ateina 1641 01:06:59,440 --> 01:07:00,490 vietos rezervavimo ženklas. 1642 01:07:00,490 --> 01:07:03,230 f, čia reiškia, slankaus kablelio reikšmė, tiesiog realus 1643 01:07:03,230 --> 01:07:05,490 numeris, kažkas su dešimtainiu tašku. 1644 01:07:05,490 --> 01:07:07,330 0,2 reiškia ką? 1645 01:07:07,330 --> 01:07:10,740 Kiekvienas žino, iš ankstesnės patirties? 1646 01:07:10,740 --> 01:07:12,010 Dviejų ženklų po kablelio tikslumu. 1647 01:07:12,010 --> 01:07:14,050 Todėl mes nematė prieš tai, bet tai tik būdas 1648 01:07:14,050 --> 01:07:16,360 vykdyti šiek tiek daugiau kontroliuoti printf ir 1649 01:07:16,360 --> 01:07:20,840 posakis nesuteikia man 30 taškų, po kablelio, 1650 01:07:20,840 --> 01:07:22,490 o ne duoti man tik 2. 1651 01:07:22,490 --> 01:07:23,960 >> Ir tada eikime į priekį ir paleisti. 1652 01:07:23,960 --> 01:07:30,160 Todėl įsitikinkite, matematikos 3, o dabar leiskite man paleisti 3 matematikos, įveskite. 1653 01:07:30,160 --> 01:07:34,630 Ir kad tai nėra teisinga. 1654 01:07:34,630 --> 01:07:37,390 Mes, atrodo, susidūrė su mūsų pirmasis tikras klaidą. 1655 01:07:37,390 --> 01:07:39,400 Na, gal aš tiesiog ne ieško pakankamai arti. 1656 01:07:39,400 --> 01:07:41,960 Taigi leiskite man eiti čia, ir leiskite man 20 dešimtainį kablelį 1657 01:07:41,960 --> 01:07:43,300 taško vietos ten. 1658 01:07:43,300 --> 01:07:47,950 Ir leiskite man sudaryti tai, kad math3, paleisti. 1659 01:07:47,950 --> 01:07:50,960 Gana įsitikinęs, 1 dalijamas iš 10 yra ne 0. 1660 01:07:50,960 --> 01:07:54,270 Taigi, kas vyksta? 1661 01:07:54,270 --> 01:07:56,740 Na gerai, todėl iš tikrųjų ji neturi daryti su tai. 1662 01:07:56,740 --> 01:07:57,600 Kad tai gera mintis. 1663 01:07:57,600 --> 01:07:59,140 Tai tikrai tik sutapimas 1664 01:07:59,140 --> 01:08:00,220 kad mes tai daryti. 1665 01:08:00,220 --> 01:08:02,010 Bet tik įrodyti, kad tai yra ne tai, Aš 1666 01:08:02,010 --> 01:08:03,160 grįžti kažką atsitiktine tvarka. 1667 01:08:03,160 --> 01:08:05,160 Nedarykite to namuose, nes tai yra tiesiog neteisinga. 1668 01:08:05,160 --> 01:08:08,000 Tačiau įsitikinkite, math3, leiskite man paleisti jį. 1669 01:08:08,000 --> 01:08:10,690 Taigi yra nieko, ką aš grįžti, tik turi daryti 1670 01:08:10,690 --> 01:08:11,940 , ką aš spausdinti. 1671 01:08:11,940 --> 01:08:14,150 Bet aš girdėjau jį čia. 1672 01:08:14,150 --> 01:08:15,270 Ką? 1673 01:08:15,270 --> 01:08:17,524 Auditorija: Taigi, mums reikia rašyti skaičių 1674 01:08:17,524 --> 01:08:19,680 padalinimas 1675 01:08:19,680 --> 01:08:20,319 >> Davidas Malan: Gerai gerai. 1676 01:08:20,319 --> 01:08:22,810 Taigi, mums reikia rašyti skaičius, dalyvaujančias 1677 01:08:22,810 --> 01:08:25,979 padalinys, čia kaip slankaus kablelio vertės. 1678 01:08:25,979 --> 01:08:29,359 Taigi problema čia, kaip ir anksčiau: C, nes daug 1679 01:08:29,359 --> 01:08:31,819 kalbomis, turi skirtingus duomenų tipus. 1680 01:08:31,819 --> 01:08:34,600 Ir šie duomenų tipai, pavyzdžiui, tai yra čia. 1681 01:08:34,600 --> 01:08:37,430 Ir duomenų tipai yra nagrinėjamu atveju, kai aš įveskite 1 ir tada aš 1682 01:08:37,430 --> 01:08:40,870 tipas 10, tikriausiai ką duomenų tipai? 1683 01:08:40,870 --> 01:08:42,170 Todėl tikriausiai int, tiesa? 1684 01:08:42,170 --> 01:08:44,149 Tai tikrai ne plūdės, nes nėra dešimtainis 1685 01:08:44,149 --> 01:08:45,460 taškas arba ko nors panašaus. 1686 01:08:45,460 --> 01:08:48,270 Taigi tikrai, turiu int, padalinta iš int. 1687 01:08:48,270 --> 01:08:52,160 >> Taigi, įdomus dalykas, apie matematikos ir kompiuterio yra tai, kad 1688 01:08:52,160 --> 01:08:54,840 jei jūs darote padalijimo naudojant sveikieji skaičiai - 1689 01:08:54,840 --> 01:08:57,310 1 dalijamas iš 10, taip yra 0,1. 1690 01:08:57,310 --> 01:09:01,420 Tačiau, kai jūs sveikąjį skaičių padalijus sveikasis skaičius, 1691 01:09:01,420 --> 01:09:06,859 Atsakymas turi būti sveikasis skaičius, tik todėl, kad, dabar. 1692 01:09:06,859 --> 01:09:08,630 Ir kas potekstė tada? 1693 01:09:08,630 --> 01:09:13,640 Na, jei atsakymas yra 1, padalytas iš 10, yra lygus 0,1, kas 1694 01:09:13,640 --> 01:09:15,680 kompiuteris yra ruošiuosi padaryti tai aš neįsivaizduoju, kaip 1695 01:09:15,680 --> 01:09:19,270 atstovauti 0,1, nes tai slankaus kablelio vertė, o ne 1696 01:09:19,270 --> 01:09:21,910 sveikasis skaičius, jis ketina nukirsti viską po 1697 01:09:21,910 --> 01:09:27,470 dešimtainis taškas, ir tiesiog parodyti jums pradžioje 0. 1698 01:09:27,470 --> 01:09:29,540 Ir tai, kad ji spausdinama kaip slankaus kablelio 1699 01:09:29,540 --> 01:09:31,200 vertė, tai tik estetinis dalykas. 1700 01:09:31,200 --> 01:09:34,279 Tai todėl, kad aš verčia kompiuteris Spausdinti šį 1701 01:09:34,279 --> 01:09:35,229 slankiojo kablelio skaičius. 1702 01:09:35,229 --> 01:09:37,720 Ir iš tiesų aš paskelbė jį kaip float, tačiau matematika 1703 01:09:37,720 --> 01:09:39,010 vyksta čia. 1704 01:09:39,010 --> 01:09:41,859 >> Taigi, leiskite man iš tikrųjų išspręsti šią problemą į vieną gana lengvai. 1705 01:09:41,859 --> 01:09:45,250 Kodėl ne aš tiesiog padaryti 10,0 ir 1,0, nors 1706 01:09:45,250 --> 01:09:47,609 techniškai aš galėtų išeiti su tiesiog daro vienas iš tų. 1707 01:09:47,609 --> 01:09:50,630 Dabar leiskite man eiti į priekį ir padaryti math3. 1708 01:09:50,630 --> 01:09:56,350 Leiskite man eiti į priekį ir dabar paleisti math3 Įveskite. 1709 01:09:56,350 --> 01:09:57,500 Ir dabar, oh boy. 1710 01:09:57,500 --> 01:10:00,050 Dabar mes turime naują problemą apskritai. 1711 01:10:00,050 --> 01:10:05,600 Tad geriau, tiesa, mes arčiau 0,1, bet tai, kas yra akivaizdžiai 1712 01:10:05,600 --> 01:10:06,240 negerai čia? 1713 01:10:06,240 --> 01:10:08,260 , Jeigu mes jau gulėti jums metų, tiesa? 1714 01:10:08,260 --> 01:10:13,660 1 dalijami iš 10, iš tiesų yra ne visai 0,1, tai kas 1715 01:10:13,660 --> 01:10:14,700 tikrai čia vyksta? 1716 01:10:14,700 --> 01:10:16,420 Na, galite natūra priežasties per šį logiškai. 1717 01:10:16,420 --> 01:10:19,200 Jei kompiuteris turi tik baigtinių suma RAM pradėti 1718 01:10:19,200 --> 01:10:23,530 ir, žinoma, kompiuteris naudoja tik 32 bitų 1719 01:10:23,530 --> 01:10:26,200 slankiojo kablelio skaičius, tai suprantama, kad su 1720 01:10:26,200 --> 01:10:29,870 baigtinis bitų, 32 skaičius, šiuo atveju, taip, jūs galite 1721 01:10:29,870 --> 01:10:31,050 sudaro daug daiktų. 1722 01:10:31,050 --> 01:10:33,220 Ji iš tikrųjų yra keturis milijardus skirtingos reikšmės gali būti 1723 01:10:33,220 --> 01:10:38,040 atstovaujama su 32 bitų, 2 iki 32, bet jis vis dar ribotas. 1724 01:10:38,040 --> 01:10:40,730 Taigi ši problema yra begalinis skaičius realaus 1725 01:10:40,730 --> 01:10:41,370 numeriai, teisė. 1726 01:10:41,370 --> 01:10:43,560 Jei galite man duoti realus skaičius, aš visada galite rasti jums vieną 1727 01:10:43,560 --> 01:10:46,080 šiek tiek didesnis, šiek tiek mažiau, tik truputį keisdami 1728 01:10:46,080 --> 01:10:47,970 numeriai, kurie yra po kablelio. 1729 01:10:47,970 --> 01:10:50,870 Taigi, jei jūs neturite begalinį skaičių bitai, 1730 01:10:50,870 --> 01:10:52,940 negali galbūt begalinis 1731 01:10:52,940 --> 01:10:54,800 skaičius realiaisiais skaičiais. 1732 01:10:54,800 --> 01:10:58,090 >> Taigi ten tai neatsiejama kompiuterių neaiškumų ir 1733 01:10:58,090 --> 01:11:00,930 tai pasireiškia paslydau per visą laiką, net ir paprasčiausias 1734 01:11:00,930 --> 01:11:02,260 panašiose programose. 1735 01:11:02,260 --> 01:11:05,640 , Bet ir kai kurie labai realaus pasaulio problemas, taip pat. 1736 01:11:05,640 --> 01:11:07,790 Tiesą sakant, tegul šiek tiek laiko ir tiesiog pažvelgti 1737 01:11:07,790 --> 01:11:09,530 kažkas, kas iš tikrųjų nutiko iš tikrųjų. 1738 01:11:09,530 --> 01:11:11,620 Mes žiūrėti tik pirmąjį keletą minučių, tada 1739 01:11:11,620 --> 01:11:13,270 mes po nuorodą internete. 1740 01:11:13,270 --> 01:11:16,700 Bet tai liudija tik tai, ką gali suklysti, gana 1741 01:11:16,700 --> 01:11:19,680 sąžiningai, labai tragiška, kai šie dalykai yra ne 1742 01:11:19,680 --> 01:11:23,870 vertinama, ar tik mes, žmonės daro klaidų, kai kalbama apie 1743 01:11:23,870 --> 01:11:26,792 įgyvendinimo detales, šiuolaikinių kompiuterių rūšių. 1744 01:11:26,792 --> 01:11:27,284 >> [Vaizdo žaidimai] 1745 01:11:27,284 --> 01:11:30,730 -Mes dabar grįžti inžinerinių nelaimių Šiuolaikinės stebuklai. 1746 01:11:30,730 --> 01:11:32,200 Kompiuteriai. 1747 01:11:32,200 --> 01:11:34,920 Mes visi ateiti sutikti su dažnai nelinksma problemų 1748 01:11:34,920 --> 01:11:36,750 kad eiti su jais. 1749 01:11:36,750 --> 01:11:40,690 Klaidas, virusai ir programinės įrangos trikdžių mažos kainos 1750 01:11:40,690 --> 01:11:42,550 mokėti už patogumą. 1751 01:11:42,550 --> 01:11:45,170 , Bet ir aukštųjų technologijų ir greitųjų karinių ir kosmoso 1752 01:11:45,170 --> 01:11:48,450 programų programas, mažiausias problema gali būti 1753 01:11:48,450 --> 01:11:52,220 padidintos nelaimės. 1754 01:11:52,220 --> 01:11:56,780 1996 birželio 4 d., Mokslininkai pasirengusi pradėti nepilotuojamą 1755 01:11:56,780 --> 01:11:58,430 Ariane 5 raketų. 1756 01:11:58,430 --> 01:12:00,750 Jis vykdė mokslinių palydovų, 1757 01:12:00,750 --> 01:12:03,580 tiksliai nustatyti, kaip Žemės magnetinis laukas 1758 01:12:03,580 --> 01:12:06,900 sąveikauja su Saulės vėjai. 1759 01:12:06,900 --> 01:12:10,330 Raketa buvo pastatytas Europos kosmoso agentūros ir 1760 01:12:10,330 --> 01:12:13,450 pakilo iš savo įrenginio dėl Prancūzijos Gvianos krantų. 1761 01:12:13,450 --> 01:12:16,970 >> Maždaug apie 37 sekundžių skrydžio į, jie pirmiausia 1762 01:12:16,970 --> 01:12:19,700 pastebėjau, kad kažkas negerai, kad purkštukai 1763 01:12:19,700 --> 01:12:21,590 pasukamas taip, jie tikrai neturėtų. 1764 01:12:21,590 --> 01:12:25,020 Maždaug 40 sekundžių į skrydžio, aiškiai transporto priemonių 1765 01:12:25,020 --> 01:12:27,340 buvo bėdų, ir tai yra, kai jie priėmė sprendimą 1766 01:12:27,340 --> 01:12:28,136 ją sunaikinti. 1767 01:12:28,136 --> 01:12:31,450 Diapazonas saugos pareigūnas su milžinišku viduriai nuspaudžiamas 1768 01:12:31,450 --> 01:12:34,160 mygtuką, susprogdino raketa, kol ji gali tapti 1769 01:12:34,160 --> 01:12:37,470 kelti pavojų visuomenės saugumui. 1770 01:12:37,470 --> 01:12:40,750 >> -Tai buvo mergautinė reiso 5 "Ariane, ir jos 1771 01:12:40,750 --> 01:12:43,990 naikinimas vyko dėl to, kad trūkumas, įterptųjų 1772 01:12:43,990 --> 01:12:45,480 Raketa programinė įranga. 1773 01:12:45,480 --> 01:12:47,660 >> Nuo "Ariane" problema buvo, kad ten buvo skaičius, kuris 1774 01:12:47,660 --> 01:12:51,245 reikia 64 bitų išreikšti, ir jie norėjo ją konvertuoti 1775 01:12:51,245 --> 01:12:53,010 16 bitų skaičius. 1776 01:12:53,010 --> 01:12:54,900 Jie manė, kad šis skaičius niekada nebuvo 1777 01:12:54,900 --> 01:12:56,280 bus labai didelis, 1778 01:12:56,280 --> 01:12:59,920 kad dauguma iš tų 64 bitų skaičiaus skaitmenų 0s. 1779 01:12:59,920 --> 01:13:01,860 Jie klydo. 1780 01:13:01,860 --> 01:13:04,550 >> Vienos programinės įrangos nesugebėjimas priimti 1781 01:13:04,550 --> 01:13:07,730 kitu numeriu, kaip rūšies šaknų 1782 01:13:07,730 --> 01:13:08,930 nepakankamumas. 1783 01:13:08,930 --> 01:13:11,490 Programinės įrangos kūrimas tapo labai brangi dalis 1784 01:13:11,490 --> 01:13:13,280 nauja technologija. 1785 01:13:13,280 --> 01:13:16,530 Ariadnė "4" raketa buvo labai sėkmingas. 1786 01:13:16,530 --> 01:13:19,100 Tiek daug už jį sukurta programine įranga taip pat buvo naudojama 1787 01:13:19,100 --> 01:13:21,050 5 "Ariane". 1788 01:13:21,050 --> 01:13:25,530 >> - Pagrindinė problema buvo ta, kad Ariane 5 buvo greitesnis, 1789 01:13:25,530 --> 01:13:27,280 paspartino greičiau. 1790 01:13:27,280 --> 01:13:30,590 Ir programinė įranga nebuvo apskaitomas už tai. 1791 01:13:30,590 --> 01:13:33,060 >> Raketos sunaikinimas buvo didžiulė finansinė 1792 01:13:33,060 --> 01:13:37,670 nelaimei, visos dėl minutę programinės įrangos klaidos. 1793 01:13:37,670 --> 01:13:40,750 Bet tai buvo ne pirmas kartas, duomenų konvertavimo problemų 1794 01:13:40,750 --> 01:13:43,680 kentėjo modernią raketų technologiją. 1795 01:13:43,680 --> 01:13:44,390 >> DAVID Malan: Mes palikti jį tuo. 1796 01:13:44,390 --> 01:13:46,870 Bet tai liudija tik tai, kaip net kai 1797 01:13:46,870 --> 01:13:48,750 šie Žemiausio lygio informacija, kad mes pradėjo 1798 01:13:48,750 --> 01:13:50,040 ištirti šiandien yra. 1799 01:13:50,040 --> 01:13:52,510 Taigi, net, kaip jūs gaunate šiek tiek išsiblaškęs, galbūt kai kurie iš 1800 01:13:52,510 --> 01:13:55,240 , sintaksė ir arcaneness čia, suprantame, kad per 1801 01:13:55,240 --> 01:13:57,690 laikotarpiu mes bus skiriama tik apie tai, kaip taikoma tai 1802 01:13:57,690 --> 01:13:59,530 pasaulius toli už CS. 1803 01:13:59,530 --> 01:14:00,780 Pamatysiu jus trečiadienį.