1 00:00:07,830 --> 00:00:12,200 [Powered by Google Translate] DAVID MALAN: Tämä on CS50, ja tämä on alku viikko 1. 2 00:00:12,200 --> 00:00:15,520 Mitä ajattelimme tehdä tänään katsomaan taaksepäin 3 00:00:15,520 --> 00:00:18,290 jotain monet teistä ovat luultavasti käveli ohi joidenkin 4 00:00:18,290 --> 00:00:20,570 aikaa ja saattaa näyttää hieman tuttu. 5 00:00:20,570 --> 00:00:23,720 Tämä juttu täällä, tämä tietenkin on - 6 00:00:23,720 --> 00:00:24,155 YLEISÖ: Science. 7 00:00:24,155 --> 00:00:26,030 DAVID MALAN: Tiedekeskus. 8 00:00:26,030 --> 00:00:28,940 Joten tämä on itse asiassa yksi varhaisimmista tietokoneista 9 00:00:28,940 --> 00:00:30,220 takaisin 1940. 10 00:00:30,220 --> 00:00:33,790 Se oli yksi ensimmäisistä sähkömekaanisten tietokoneet 11 00:00:33,790 --> 00:00:35,730 että kykeni erityisen pitkä, 12 00:00:35,730 --> 00:00:38,450 omaehtoiselle laskelmat, ja mitä me oikeastaan ​​nähdä 13 00:00:38,450 --> 00:00:41,580 Science Center on vain pieni pala tätä asiaa. 14 00:00:41,580 --> 00:00:44,170 Mitä ajattelimme tehdä sitten on otettava muistella video 15 00:00:44,170 --> 00:00:46,670 että tehtiin jokin aika sitten, käyttöön tämä 16 00:00:46,670 --> 00:00:47,520 asia maailmassa. 17 00:00:47,520 --> 00:00:50,200 Ja näet mistä musiikista ja ääni todellakin nämä 18 00:00:50,200 --> 00:00:52,070 olivat erittäin tyytyväisiä kertaa. 19 00:00:54,885 --> 00:00:59,700 >> [VIDEO PLAYBACK] 20 00:00:59,700 --> 00:01:02,490 -Riemuvoitto matemaattisia ja mekaaninen taito on tämä 21 00:01:02,490 --> 00:01:06,340 hieno uusi automaattinen laskin Harvardin yliopistossa. 22 00:01:06,340 --> 00:01:08,620 Vaativien ongelmia matematiikassa, läpi 23 00:01:08,620 --> 00:01:12,420 kone koodattu muodossa nauhalle, on tarkasti ratkaistu 24 00:01:12,420 --> 00:01:15,200 minuutin murto-aika, joka tarvitaan ihmisen 25 00:01:15,200 --> 00:01:16,450 laskennassa. 26 00:01:27,050 --> 00:01:30,600 Suunniteltu nopeuttaa kaikenlaisen matemaattisia ja tieteellisiä 27 00:01:30,600 --> 00:01:34,610 tutkimusta, jättiläinen mekaaninen aivot toimii Yhdistyneiden 28 00:01:34,610 --> 00:01:36,570 States Navy kunnes sodan loppua. 29 00:01:50,280 --> 00:01:52,980 >> DAVID MALAN: Mitä et ehkä tiedä, että se oli 30 00:01:52,980 --> 00:01:56,310 tämä sama laite, joka termi me kaikki nyt toteuttaa melko 31 00:01:56,310 --> 00:01:59,300 itsestäänselvyytenä keksi, että vian. 32 00:01:59,300 --> 00:02:01,140 Joten yksi insinöörit työskentelevät tällä tietokoneella 33 00:02:01,140 --> 00:02:05,280 kirjaimellisesti löytyi pieni koi on kone, joka johti 34 00:02:05,280 --> 00:02:07,580 Joissakin virheellisiä laskelmia. 35 00:02:07,580 --> 00:02:10,410 Ja kuten tarina kertoo, että koi oli teipattu tämä loki 36 00:02:10,410 --> 00:02:14,180 lehti tänne, takaisin syyskuussa 9 1940-jotain, 37 00:02:14,180 --> 00:02:16,550 ja näin syntyi maailman termi "Bug". 38 00:02:16,550 --> 00:02:19,880 Joten tästä lähtien pidämme bugeja olevan minkäänlaista virheitä 39 00:02:19,880 --> 00:02:23,290 ohjelmat, onko ihmisen tai tässä tapauksessa, hyönteiset. 40 00:02:23,290 --> 00:02:25,030 >> Joten muutamia ilmoituksia, kuten me edetä. 41 00:02:25,030 --> 00:02:29,160 Joten CS50 on perinteitä tarjoamalla lounaat tapaisena 42 00:02:29,160 --> 00:02:31,600 eniten perjantaisin lukukauden aikana, jossa otamme 30 43 00:02:31,600 --> 00:02:34,650 40 opiskelijaa Fire and Ice Square rento 44 00:02:34,650 --> 00:02:36,390 chitchat, puhua tietojenkäsittelytiede, 45 00:02:36,390 --> 00:02:37,420 puhua tulevaisuudesta. 46 00:02:37,420 --> 00:02:40,000 Kutsumme alumni ja ystäviä teollisuuden chat up 47 00:02:40,000 --> 00:02:40,690 opiskelijat samoin. 48 00:02:40,690 --> 00:02:44,020 Todella päätä kohti tehdä mitä on melko suuri luokka 49 00:02:44,020 --> 00:02:46,740 kaikki intiimimpi, ainakin kerran kun taas 50 00:02:46,740 --> 00:02:47,710 osajoukot opiskelijoita. 51 00:02:47,710 --> 00:02:50,940 Joten jos haluat liittyä joukkoomme tänä perjantaina, 13:15, siirry 52 00:02:50,940 --> 00:02:53,340 CS50.net/lunch on RSVP. 53 00:02:53,340 --> 00:02:55,840 Ja me teemme tämän recurringly, joten ei hätää, jos et ole 54 00:02:55,840 --> 00:02:57,930 ensimmäisten joukossa 30 tai niin tällä viikolla. 55 00:02:57,930 --> 00:02:59,070 >> Niin kirjanoppinut toteaa. 56 00:02:59,070 --> 00:03:01,500 Sana resurssit nyt alkaa olla saatavilla 57 00:03:01,500 --> 00:03:03,040 opiskelijoille luokassa. 58 00:03:03,040 --> 00:03:05,540 Niin, että päät tarvitse olla alhaalla Luennoilla 59 00:03:05,540 --> 00:03:08,560 kirjoittelu alas kaiken sanon ja niin edelleen, mitä teemme 60 00:03:08,560 --> 00:03:10,765 sijaan on toimitettava alkaen opetushenkilöstön 61 00:03:10,765 --> 00:03:11,920 kanoninen joukko toteaa. 62 00:03:11,920 --> 00:03:14,850 Joten meillä on yksi opetuksen miehet, Andrew Sellergren, 63 00:03:14,850 --> 00:03:17,830 joka istuu alas viikoittain, arvioi videoita, ja sitten 64 00:03:17,830 --> 00:03:19,730 kirjoittaa ylös mitä ajattelemme on melko 65 00:03:19,730 --> 00:03:21,840 arvovaltainen joukko toteaa. 66 00:03:21,840 --> 00:03:24,180 Ja Andreaksen mieltynyt myös, laskemisesta snarky alaviitteistä 67 00:03:24,180 --> 00:03:24,820 pohjasta. 68 00:03:24,820 --> 00:03:27,300 Joten voit toivottavasti nautitte näistä niin hakuteos 69 00:03:27,300 --> 00:03:30,230 hauska, ja myös tulevat tietokilpailu aikaa, sillä mahdollisuus tarkastella 70 00:03:30,230 --> 00:03:31,830 Mitä tapahtui yksittäisiä luentoja. 71 00:03:31,830 --> 00:03:33,580 Joten ne ovat yhteydessä toisiinsa luentojen sivulla. 72 00:03:33,580 --> 00:03:35,300 >> Harjoitus 0, puolestaan ​​on pois. 73 00:03:35,300 --> 00:03:37,470 Ja suhteen resursseja sinulle - 74 00:03:37,470 --> 00:03:38,020 läpikäynti. 75 00:03:38,020 --> 00:03:39,730 Milo johti ensimmäisen perjantaina. 76 00:03:39,730 --> 00:03:41,470 Se kuvattiin, laita netissä lauantaina. 77 00:03:41,470 --> 00:03:44,030 Ja niin ymmärtää, jos et ole aivan varma mistä aloittaa, 78 00:03:44,030 --> 00:03:47,280 tämän tai tulevien p-sarjaa, aina kääntyä ensin 79 00:03:47,280 --> 00:03:49,300 walkthrough tai videon viipymättä. 80 00:03:49,300 --> 00:03:52,950 Leikkaus on käynnissä, on cs50.net/section on, jos 81 00:03:52,950 --> 00:03:54,540 olisi toimitettava valintasi, jos et ole 82 00:03:54,540 --> 00:03:55,880 jo tämän päivän. 83 00:03:55,880 --> 00:03:58,140 Koska osa alkaa tulevana sunnuntaina, maanantai, 84 00:03:58,140 --> 00:03:58,760 ja tiistaina. 85 00:03:58,760 --> 00:04:02,470 Teemme kohdat nämä kolme päivää, joka viikko 86 00:04:02,470 --> 00:04:03,870 lukukauden suurimmaksi osaksi. 87 00:04:03,870 --> 00:04:06,600 Ja me myös esitellä jälleen eri kappaleita. 88 00:04:06,600 --> 00:04:08,270 Joten sinua pyydetään tällä leikkaus muodossa, jos 89 00:04:08,270 --> 00:04:10,350 ole nähnyt sitä jo, jos olet yksi niistä vähemmän 90 00:04:10,350 --> 00:04:12,800 mukava, mukava, tai jotakin siltä väliltä. 91 00:04:12,800 --> 00:04:14,960 Ja jos olet tavallaan aidalla, yleensä jossain 92 00:04:14,960 --> 00:04:18,160 välillä on mitä useimmat opiskelijat päätyvät tarkkailun. 93 00:04:18,160 --> 00:04:19,579 Aukioloajat alkaa tänään. 94 00:04:19,579 --> 00:04:23,020 >> Joten Scratch on melko pieni avain, vaikka se on aivan luonnollista 95 00:04:23,020 --> 00:04:25,300 törmätä erilaisiin vikoja tai olla epävarma siitä, miten 96 00:04:25,300 --> 00:04:26,550 toteuttaa jotain. 97 00:04:26,550 --> 00:04:28,880 Niin ymmärtää, että aloitamme virka tällä viikolla. 98 00:04:28,880 --> 00:04:30,500 He olla Annenberg maanantai, tiistai, keskiviikko, 99 00:04:30,500 --> 00:04:34,300 Torstai 20:00-23:00 aikana aivot tauko. 100 00:04:34,300 --> 00:04:38,160 Ylä classmen voi saada, ja jos joskus on vaikeuksia saada 101 00:04:38,160 --> 00:04:40,720 ovesta sisään, koska he ovat pyyhkäisemällä vain puhumalla 102 00:04:40,720 --> 00:04:42,560 ja selittää olet mukana CS50. 103 00:04:42,560 --> 00:04:45,230 Tyypillisesti 20-30 meille henkilöstö on siellä auttaa 104 00:04:45,230 --> 00:04:46,190 Oletko yksi yhteen. 105 00:04:46,190 --> 00:04:48,980 >> Saapuessaan idea on tämä: sinun mukaasi kannettava tietokone, 106 00:04:48,980 --> 00:04:51,300 sinulla on oma laturi, meillä on ylimääräisiä virtajohtoja, 107 00:04:51,300 --> 00:04:53,320 erityisesti pitkin etelään seinä Annenberg joissa 108 00:04:53,320 --> 00:04:55,080 siellä on paljon pistorasioihin. 109 00:04:55,080 --> 00:04:59,290 Ja tärkein yhteys siihen virka Q & A on mennä 110 00:04:59,290 --> 00:05:01,690 cs50.net/discuss ja lähettää 111 00:05:01,690 --> 00:05:02,580 kysymyksesi sinne. 112 00:05:02,580 --> 00:05:05,600 Ja merkitä se PSET 0 tai PSET 1 riippumatta viikolla 113 00:05:05,600 --> 00:05:06,810 voisi tapahtua olla. 114 00:05:06,810 --> 00:05:09,240 Ja mitä sitten teemme on oltava taulukko opetuksen stipendiaattien 115 00:05:09,240 --> 00:05:12,040 ja tietenkin avustajat, yleensä 8 tai 10 tai niin meille, 116 00:05:12,040 --> 00:05:14,430 läpi, pitäen silmällä aluksella, ja 117 00:05:14,430 --> 00:05:16,810 nyppiminen pois kysymyksiä todella niin nopeasti kuin voimme, 118 00:05:16,810 --> 00:05:19,600 viitaten voit liittyviä virkoja jos et ole löytänyt niitä 119 00:05:19,600 --> 00:05:22,220 itsenne, online viittauksia tarvittaessa. 120 00:05:22,220 --> 00:05:24,280 Ja sitten jos on ongelmia, koska väistämättä 121 00:05:24,280 --> 00:05:27,190 tulee, tai se vain järkevämpää istua one, 122 00:05:27,190 --> 00:05:28,660 työn kautta ongelmia jonkun kanssa. 123 00:05:28,660 --> 00:05:30,810 >> Tai sitten juuri tullut virka todella 124 00:05:30,810 --> 00:05:31,640 tarvitsevat että mielentila. 125 00:05:31,640 --> 00:05:33,400 Et halua mennä läpi sähköisessä muodossa, voit 126 00:05:33,400 --> 00:05:34,410 todella haluavat tavata jonkun kanssa. 127 00:05:34,410 --> 00:05:37,240 Kommunikoi että meille, ja mitä tapahtuu on, kun 128 00:05:37,240 --> 00:05:40,620 kysymys on nähnyt henkilökunnan jäsen, ja me 129 00:05:40,620 --> 00:05:43,660 määrittää, yup, tämä olisi lähetetään yksi 20 tai 130 00:05:43,660 --> 00:05:47,800 30 tiimin jäsenet täällä paikallisesti, näet vasemmassa yläkulmassa tässä 131 00:05:47,800 --> 00:05:51,590 pikku Anna jonon painiketta alkaa vilkkua cs50.net / 132 00:05:51,590 --> 00:05:52,165 keskustella. 133 00:05:52,165 --> 00:05:55,260 Ja tämä kertoo, että olet nyt on kutsuttu, joten 134 00:05:55,260 --> 00:05:56,880 puhua, kirjoittaa jonoon. 135 00:05:56,880 --> 00:05:59,090 Ja klikkaamalla tätä nappia, nimesi sitten näkyy 136 00:05:59,090 --> 00:06:02,660 iPad että CS50 greeter, yksi kurssin päät, tulee 137 00:06:02,660 --> 00:06:05,250 järjestämme sisäänkäynnin läheisyydessä Annenberg, jotka sitten 138 00:06:05,250 --> 00:06:08,630 pitävät kuvattu täällä, opiskelijat ovat kysymyksiä 139 00:06:08,630 --> 00:06:11,630 vasemmalle, henkilökunnan jäsenet, jotka ovat läsnä oikealla. 140 00:06:11,630 --> 00:06:14,830 Ja napsautuksella vasemmalle ja oikealle, selain tulee 141 00:06:14,830 --> 00:06:18,610 vilkkuu niin pian kuin esimerkiksi professori McGonnagal 142 00:06:18,610 --> 00:06:21,460 on valmis näkemään sinut erityisen taulukon Annenberg. 143 00:06:21,460 --> 00:06:23,340 >> Joten teimme tämän viime vuonna. 144 00:06:23,340 --> 00:06:25,430 Olemme käynnistetään aukioloajat ja 145 00:06:25,430 --> 00:06:26,980 uudelleen toteutetaan paljon ohjelmisto. 146 00:06:26,980 --> 00:06:29,940 Niin ymmärtää, että tämä tulee lämmetä tällä viikolla. 147 00:06:29,940 --> 00:06:32,970 Mutta myös ymmärtää myös menneinä vuosina, kuten olet ehkä kuullut 148 00:06:32,970 --> 00:06:35,710 ystäviltä, ​​virka oli todellakin 50 149 00:06:35,710 --> 00:06:37,040 150 opiskelijaa kerralla. 150 00:06:37,040 --> 00:06:39,300 Ja se ei yksinkertaisesti ole mahdollista, että voimme käsitellä että 151 00:06:39,300 --> 00:06:42,060 tehokkaasti, one, koko illan. 152 00:06:42,060 --> 00:06:44,570 Ja niin mitä me oikeastaan ​​yrittävät tehdä tänä vuonna on 153 00:06:44,570 --> 00:06:46,590 hyötymään siitä, että monet kysymykset ovat 154 00:06:46,590 --> 00:06:49,050 Usein kysyttyjä ja voi usein paremmin vastata 155 00:06:49,050 --> 00:06:50,030 asynkronisesti. 156 00:06:50,030 --> 00:06:52,140 Voit siis tavallaan ajatella läpi henkilökunnan vastaus, 157 00:06:52,140 --> 00:06:54,360 ja voimme ajatella läpi koodia ilman lämmitetty 158 00:06:54,360 --> 00:06:57,050 paine välttämättä kamppailee 159 00:06:57,050 --> 00:06:58,210 sen läpi vierekkäin. 160 00:06:58,210 --> 00:07:00,980 Joten arvioimme, että noin kolmasosa tai puolet kysymyksistä 161 00:07:00,980 --> 00:07:03,500 tullaan lähetetään henkilökohtaisesti, ja me yritämme nyppiä pois, koska 162 00:07:03,500 --> 00:07:05,530 Peräti puoli tai enemmän sähköisesti, 163 00:07:05,530 --> 00:07:06,710 virka-aikana. 164 00:07:06,710 --> 00:07:08,070 Ja me edelleen käyttää Keskustele 165 00:07:08,070 --> 00:07:09,990 koko viikon samoin. 166 00:07:09,990 --> 00:07:12,680 >> Ja lopuksi se, että tämä Kurssin voi suorittaa hyväksytty / hylätty. 167 00:07:12,680 --> 00:07:16,230 Joten jos olet aidan tai ajattele että olet oikeasti 168 00:07:16,230 --> 00:07:18,650 ole varma, onko tämä maailma sinulle, tai tämä on todella 169 00:07:18,650 --> 00:07:21,310 melko vieras sinulle, ymmärtää, että tämä on hieno tapa 170 00:07:21,310 --> 00:07:24,840 hankkia joitakin luottamusta jolla astua 171 00:07:24,840 --> 00:07:26,780 luokka, kuten tein suoraan sanottuna vuotta sitten. 172 00:07:26,780 --> 00:07:28,630 Ja sitten on viisi viikkoa aikaa lajitella kuvan ulos 173 00:07:28,630 --> 00:07:30,850 itse, jos haluat pysyä hyväksytty / hylätty, vaihda kirjain 174 00:07:30,850 --> 00:07:31,800 luokka, tai vastaavaa. 175 00:07:31,800 --> 00:07:34,050 Ja yleensä mitä hyväksytty / hylätty ei mielestäni opiskelijoille on 176 00:07:34,050 --> 00:07:36,700 että jos laitat että 10 tuntia, 20 tuntia, mitä se 177 00:07:36,700 --> 00:07:38,830 saattaa olla joitakin ongelmia, ja olet banging päätäsi 178 00:07:38,830 --> 00:07:39,690 seinää vasten, 179 00:07:39,690 --> 00:07:41,750 ja et todellakaan voi vain jahdata jotain alas, ja te 180 00:07:41,750 --> 00:07:44,230 on niin monia muita asioita sinun tarvitsee tehdä, rehellisesti, mitä 181 00:07:44,230 --> 00:07:46,070 ajatella hyväksytty / hylätty on, se vie reunan pois 182 00:07:46,070 --> 00:07:47,250 tilanteita niin. 183 00:07:47,250 --> 00:07:49,350 Jos olet ottanut asian 90% tavalla. 184 00:07:49,350 --> 00:07:50,830 Tiedäthän, se ei ole aivan täydellinen. 185 00:07:50,830 --> 00:07:52,950 Mutta sinulla paljon irti, kuitenkin. 186 00:07:52,950 --> 00:07:55,440 Joten harkita hyväksytty / hylätty antavan teille 187 00:07:55,440 --> 00:07:57,590 mentaalinen malli, ehkä. 188 00:07:57,590 --> 00:08:00,680 >> Selvä, joten viime viikolla sukelsi Scratch ja me 189 00:08:00,680 --> 00:08:03,610 puhui ohjelmoimaan melko korkea graafinen taso. 190 00:08:03,610 --> 00:08:05,340 Ja tänään teemme siirtyminen kieli 191 00:08:05,340 --> 00:08:08,300 kutsutaan C, alemman tason ohjelmointikieli päälle 192 00:08:08,300 --> 00:08:11,260 jota monet modernit kielet on nyt rakennettu, kuten jotkut 193 00:08:11,260 --> 00:08:13,010 ja niistä Käytämme kohti lukukauden loppua. 194 00:08:13,010 --> 00:08:15,530 Ja syntaktisesti, miltä ne näyttävät 195 00:08:15,530 --> 00:08:17,330 on kaikki melko samanlaisia. 196 00:08:17,330 --> 00:08:19,080 Joten alkaa tehdä tätä muutosta täällä. 197 00:08:19,080 --> 00:08:21,730 Joten tämä oli ohjelman viime viikolla se oli yksinkertaisin 198 00:08:21,730 --> 00:08:22,910 Hello world ohjelmia. 199 00:08:22,910 --> 00:08:25,560 Se yksinkertaisesti tulostetaan näytölle Hei maailma, jossa 200 00:08:25,560 --> 00:08:27,650 pieni puhekupla tulee ulos kissa. 201 00:08:27,650 --> 00:08:30,590 No, jos alamme nyt kääntää tämän toisen 202 00:08:30,590 --> 00:08:33,419 kieltä, ymmärtää, että ajatukset tänään ja keskiviikkona 203 00:08:33,419 --> 00:08:36,450 ovat identtisiä, mutta syntaksin alkaa muuttua. 204 00:08:36,450 --> 00:08:39,370 Joten taas viime viikolla meillä oli, kun vihreä lippu napsautetaan, sano 205 00:08:39,370 --> 00:08:40,340 Hello world. 206 00:08:40,340 --> 00:08:43,870 Tänään aiomme olla int, tärkein, mitätön, printf, 207 00:08:43,870 --> 00:08:46,350 paluu, joidenkin muiden syntaksin myös siellä. 208 00:08:46,350 --> 00:08:49,200 Aaltosulkeita sekä sulkeita, sekä lainauksia, ja vaikka mitä. 209 00:08:49,200 --> 00:08:54,520 Mutta ymmärtää, että ydin ajatus tässä on painatus, 210 00:08:54,520 --> 00:08:58,470 ja lopulta se, että pääasiallinen nyt olemaan 211 00:08:58,470 --> 00:09:00,770 synonyymi alkaa ohjelman. 212 00:09:00,770 --> 00:09:04,250 Tärkeimmät tulee olemaan, jos vihreä lippu käynnistymässä asioita pois. 213 00:09:04,250 --> 00:09:06,390 >> Joten nyt mennään erottaa toisistaan ​​joitakin rakennuspalikoita täällä 214 00:09:06,390 --> 00:09:08,650 ennen kuin sukeltaa joitakin konkreettisia esimerkkejä. 215 00:09:08,650 --> 00:09:11,620 Joten me kutsutaan tätä julkilausuman viime viikolla, jolloin se on vain 216 00:09:11,620 --> 00:09:12,470 ohje. 217 00:09:12,470 --> 00:09:15,660 Tee tämä - tässä tapauksessa sanoa hei maailma. 218 00:09:15,660 --> 00:09:18,400 No C, jos katsomme vain, että linja, näin olemme 219 00:09:18,400 --> 00:09:20,920 aikoo aloittaa ilmaisemalla kyseisen palapelin: 220 00:09:20,920 --> 00:09:24,780 printf ("Hello World");. 221 00:09:24,780 --> 00:09:27,330 Ja nyt me kiusata näitä toisistaan ​​yhä enemmän ajan myötä, 222 00:09:27,330 --> 00:09:29,330 mutta ymmärtää, että on olemassa malli täällä. 223 00:09:29,330 --> 00:09:31,870 Joten meillä on tämä asia sanottu printf, mikä on 224 00:09:31,870 --> 00:09:34,310 olennaisesti samanlainen sana Say. 225 00:09:34,310 --> 00:09:35,800 Niinhän se tulee tehdä. 226 00:09:35,800 --> 00:09:37,870 Printf, ja f tarkoittaa tässä "muotoiltu". 227 00:09:37,870 --> 00:09:39,270 Niin se vain tarkoittaa, että voit lisätä 228 00:09:39,270 --> 00:09:41,600 useita esteettisiä yksityiskohtia. 229 00:09:41,600 --> 00:09:43,770 Joten lainaus lainaus päättyy on alku, mitä aiomme 230 00:09:43,770 --> 00:09:45,340 aloittaa kutsuvan merkkijono. 231 00:09:45,340 --> 00:09:47,110 Sana, lause, lauseen. 232 00:09:47,110 --> 00:09:50,220 Merkkijono ohjelmointikieli on sarja nolla 233 00:09:50,220 --> 00:09:51,330 tai useampia merkkejä. 234 00:09:51,330 --> 00:09:54,390 Niin h-e-l-l-o, pilkku, ja niin edelleen on, 235 00:09:54,390 --> 00:09:56,290 lainaus lainaus päättyy, merkkijono. 236 00:09:56,290 --> 00:09:58,710 Ja nyt kenoviiva n, hieman syntaktisesti oudolta, mutta me 237 00:09:58,710 --> 00:10:01,780 jo määritelty, että viime viikolla siten mitä? 238 00:10:01,780 --> 00:10:02,630 Se on vain uusi rivi. 239 00:10:02,630 --> 00:10:05,000 Se on vain tapa välittää tietokoneeseen haluamasi 240 00:10:05,000 --> 00:10:07,700 vastaa lyömällä Enter siellä, mutta et 241 00:10:07,700 --> 00:10:10,460 haluavat todella Enter ja siksi sotkea kaikki 242 00:10:10,460 --> 00:10:12,130 muotoilu todellinen ohjelma. 243 00:10:12,130 --> 00:10:15,500 Nyt suluissa liittää tämän merkkijonon, avoin paren ja 244 00:10:15,500 --> 00:10:18,130 sulje Paren, ja sisällä se on meidän merkkijono. 245 00:10:18,130 --> 00:10:22,600 Koska se koska C, ja muiden ohjelmien 246 00:10:22,600 --> 00:10:27,510 kielet, asioita, kuten printf ottaa argumentteja, tai ota 247 00:10:27,510 --> 00:10:28,420 parametrit. 248 00:10:28,420 --> 00:10:31,490 >> Niin alkaa ajatella nyt tämän violetti Say lohko 249 00:10:31,490 --> 00:10:34,890 toiminto, kuten menetelmä, koska menettely. 250 00:10:34,890 --> 00:10:36,890 Voit todella kutsua sitä mitä haluat nyt, mutta 251 00:10:36,890 --> 00:10:39,260 Se on eräänlainen miniatyyri ohjelma, joka vain tekee yhden 252 00:10:39,260 --> 00:10:41,480 asia, on yhdellä rivillä, ei vähemmän. 253 00:10:41,480 --> 00:10:43,620 Joten printf on myös mitä aiomme aloittaa kutsuvan 254 00:10:43,620 --> 00:10:46,680 toiminta ja tehtävät tehdä jotain - tässä tapauksessa 255 00:10:46,680 --> 00:10:49,320 tulostaa muotoiltu merkkijono näytölle - 256 00:10:49,320 --> 00:10:53,220 mutta toimii myös väitteitä tai parametreja. 257 00:10:53,220 --> 00:10:55,880 Ja perustelut tai parametreja, kiitos, me tarkoitamme 258 00:10:55,880 --> 00:11:01,220 että niiden käyttäytyminen voidaan vaikuttaa mitä kulkea 259 00:11:01,220 --> 00:11:03,420 sisällä suluissa. 260 00:11:03,420 --> 00:11:06,460 Joten tässä tapauksessa, printf tarpeet kertoa mitä tulostaa, ja me 261 00:11:06,460 --> 00:11:09,520 vain kulkea, lainausmerkkeihin täällä, merkkijono että 262 00:11:09,520 --> 00:11:11,270 todella haluat tulostaa. 263 00:11:11,270 --> 00:11:14,060 Ja puolipiste on hyvin loppuun tämä rivi on vain 264 00:11:14,060 --> 00:11:18,020 historiallinen kiusa jolloin lopussa eniten riviä koodia, 265 00:11:18,020 --> 00:11:21,170 laittaa puolipisteellä tehdä super selväksi tietokoneeseen 266 00:11:21,170 --> 00:11:23,020 että tämä koodirivin päättyy tähän. 267 00:11:23,020 --> 00:11:25,600 Nyt tämä on hyvä, koska kuten näemme niin ohjelmat saavat enemmän 268 00:11:25,600 --> 00:11:29,030 monimutkainen, puolipiste tekee erittäin selväksi meille ihmisille, 269 00:11:29,030 --> 00:11:32,280 ja myös tietokone, jossa koodia alun ja lopun. 270 00:11:32,280 --> 00:11:34,360 Ymmärrämme, että jotkut kielet eivät ole jonkin 271 00:11:34,360 --> 00:11:35,045 Näiden samat tiedot. 272 00:11:35,045 --> 00:11:37,870 Ja itse asiassa, JavaScript, et aina tarvitse jotain 273 00:11:37,870 --> 00:11:38,670 kuten puolipiste. 274 00:11:38,670 --> 00:11:40,210 Mutta siitä lisää tulossa. 275 00:11:40,210 --> 00:11:41,170 >> Niin silmukoita. 276 00:11:41,170 --> 00:11:43,520 Meillä oli jotain tällaista, hyvin intuitiivisesti, ilmeinen, tee 277 00:11:43,520 --> 00:11:44,860 jotain uudestaan ​​ja uudestaan ​​ja uudestaan. 278 00:11:44,860 --> 00:11:47,720 Kuten laittaa sukat tai sanomalla hei, tässä tapauksessa. 279 00:11:47,720 --> 00:11:51,090 No, alkaa tänään C, voisimme ilmaista tätä Scratch 280 00:11:51,090 --> 00:11:54,970 lohkon while (true) printf ("Hello World"). 281 00:11:54,970 --> 00:11:57,630 Eli huomaa olemme alkaneet rakentaa kirjaimellisesti palapeli 282 00:11:57,630 --> 00:11:58,480 pala ennen. 283 00:11:58,480 --> 00:12:01,310 Meillä on sama violetti lohko, mutta se on sisällä tämän 284 00:12:01,310 --> 00:12:04,880 haarukoitua Ikuisesti lohko, ja paras tapa kääntää että 285 00:12:04,880 --> 00:12:06,480 C on seuraava. 286 00:12:06,480 --> 00:12:08,130 Ei ole Ikuisesti avainsana. 287 00:12:08,130 --> 00:12:10,940 Et voi vain kirjoittaa F-O-R-E-v-E-R C. 288 00:12:10,940 --> 00:12:13,440 Joten lähin analogi on aikaa. 289 00:12:13,440 --> 00:12:17,050 >> Nyt, kun (tosi) tuntuu hieman tyhmä, koska ei arvosta 290 00:12:17,050 --> 00:12:18,700 todellinen koskaan muutu? 291 00:12:18,700 --> 00:12:19,810 Oletettavasti ei. 292 00:12:19,810 --> 00:12:22,770 Se on kuin sanoisi taas yksi, kun taas, mutta totta. 293 00:12:22,770 --> 00:12:25,430 Se on sama asia, totta on aina tapaus. 294 00:12:25,430 --> 00:12:29,860 Joten tämä silmukka todella indusoimaan millaisia ​​silmukan? 295 00:12:29,860 --> 00:12:31,210 Vain loputon silmukka, oikea. 296 00:12:31,210 --> 00:12:32,930 Ikuisesti silmukka tai Kutsuimme sitä viime viikolla, 297 00:12:32,930 --> 00:12:33,870 vain loputon silmukka. 298 00:12:33,870 --> 00:12:35,250 Joten joskus se on paha. 299 00:12:35,250 --> 00:12:37,060 Joskus se vika, joskus siksi saat 300 00:12:37,060 --> 00:12:39,340 spinning rantapallo tai tiimalasin tms.. 301 00:12:39,340 --> 00:12:41,260 Mutta tässä tapauksessa me tietoisesti, jostakin 302 00:12:41,260 --> 00:12:43,040 syystä halusi tulostaa saman uudestaan 303 00:12:43,040 --> 00:12:43,970 ja uudestaan ​​ja uudestaan. 304 00:12:43,970 --> 00:12:45,900 Tai jos, kuten kellon, haluat tehdä 305 00:12:45,900 --> 00:12:47,470 jotain uudestaan ​​ja uudestaan ​​ja uudestaan. 306 00:12:47,470 --> 00:12:49,070 Joten ääretön silmukoita voisi olla järkevää. 307 00:12:49,070 --> 00:12:53,560 Ja näin C voisimme kääntää Ikuisesti koodin. 308 00:12:53,560 --> 00:12:55,570 >> Joten nyt tämä on hieman tarkempi. 309 00:12:55,570 --> 00:12:58,880 Olimme toista 10 kertaa seuraavan lausunnon. 310 00:12:58,880 --> 00:13:02,490 Joten while (true) ei aivan toimi siellä, koska totta on 311 00:13:02,490 --> 00:13:03,590 aina totta. 312 00:13:03,590 --> 00:13:07,060 Joten jos me sen sijaan tarkastelemme C-versio, nyt syntaksin saa 313 00:13:07,060 --> 00:13:08,180 hieman arvoituksellinen. 314 00:13:08,180 --> 00:13:11,380 Mutta ollakseni rehellinen kun alkaa nähdä tämän, se kaikki saa 315 00:13:11,380 --> 00:13:12,600 melko tuttuja nopeasti. 316 00:13:12,600 --> 00:13:14,370 Joten tämä on mitä kutsutaan varten silmukka. 317 00:13:14,370 --> 00:13:17,210 For silmukka aio kertoa tietokoneen tehdä jotain 318 00:13:17,210 --> 00:13:20,710 uudestaan ​​ja uudestaan ​​ja uudestaan ​​niin kauan kuin 319 00:13:20,710 --> 00:13:21,850 nämä asiat ovat totta. 320 00:13:21,850 --> 00:13:23,370 Nyt mitä me tarkoitamme, että? 321 00:13:23,370 --> 00:13:25,470 No, siellä on kolme osaa varten silmukka, ja aiomme 322 00:13:25,470 --> 00:13:28,240 palata tämän yhteydessä todellisten 323 00:13:28,240 --> 00:13:29,100 esimerkkejä hetki. 324 00:13:29,100 --> 00:13:31,650 Joten älä huolestu, jos se ei ole aivan uppoavat kaikki kerralla. 325 00:13:31,650 --> 00:13:35,400 Mutta int i = 0 on pitkä tarina lyhyt, sanoen antaa minulle 326 00:13:35,400 --> 00:13:38,290 muuttuja on tyyppiä Integer, joten anna minulle numero 327 00:13:38,290 --> 00:13:40,890 nimeltään I ja alustaa sen 0. 328 00:13:40,890 --> 00:13:43,460 Se on antaa minulle kuin algebrallinen muuttuja x ja 329 00:13:43,460 --> 00:13:44,580 alustaa sen 0. 330 00:13:44,580 --> 00:13:46,250 Mutta tässä tapauksessa vaadimme sitä i. 331 00:13:46,250 --> 00:13:49,120 Sitten keskeltä, se kertoo i on pienempi kuin 10. 332 00:13:49,120 --> 00:13:52,150 Että puhuu tietokone toimi seuraavasti kamaa niin kauan 333 00:13:52,150 --> 00:13:53,770 koska i on pienempi kuin 10. 334 00:13:53,770 --> 00:13:55,370 Ja tietenkin se alkaa alle 10, koska 335 00:13:55,370 --> 00:13:56,550 se alkaa 0. 336 00:13:56,550 --> 00:13:59,150 Sitten lopuksi, voit ehkä arvata mitä i + + avulla. 337 00:13:59,150 --> 00:14:02,140 Se on vähän syntaksia tarkoittaa vain kasvattaa i.. 338 00:14:02,140 --> 00:14:05,270 Joten lisätään 1 i, uudestaan ​​ja uudestaan ​​ja uudestaan. 339 00:14:05,270 --> 00:14:09,260 >> Ja niin me näemme tämän silmukan, tätä syntaksia, vaan toteuttaa 340 00:14:09,260 --> 00:14:12,160 täsmälleen sama asia, rehellisesti sanottuna, Scratch oli niin 341 00:14:12,160 --> 00:14:13,250 paljon helpompi ilmaista. 342 00:14:13,250 --> 00:14:15,170 Toista 10, ja olet valmis. 343 00:14:15,170 --> 00:14:17,690 C-, ja useimmissa ohjelmointikielet, meidän on oltava 344 00:14:17,690 --> 00:14:20,190 hieman opettavainen tietokoneen ja tosiasiallisesti 345 00:14:20,190 --> 00:14:21,630 Määritä jotain tällaista. 346 00:14:21,630 --> 00:14:23,730 Mutta me palaamme tähän ja muihin syntaksi. 347 00:14:23,730 --> 00:14:24,780 >> Entä muuttujia? 348 00:14:24,780 --> 00:14:26,940 Scratch meillä oli jotain näiden oranssi lohkot, 349 00:14:26,940 --> 00:14:28,180 jos voisin julistaa muuttuja. 350 00:14:28,180 --> 00:14:30,000 Katsotaanpa mielivaltaisesti kutsua laskuri. 351 00:14:30,000 --> 00:14:31,880 Mennään alustaa sen 0, ja sitten 352 00:14:31,880 --> 00:14:33,240 Katsotaanpa ikuisesti tehdä jotain. 353 00:14:33,240 --> 00:14:35,760 Tässä tapauksessa Scratch sanon laskuri, joten 354 00:14:35,760 --> 00:14:38,230 Kissan tulee olemaan hieman puhekuplan että puhuu 355 00:14:38,230 --> 00:14:40,010 numero, joka on tämän muuttujan. 356 00:14:40,010 --> 00:14:42,460 Ja sitten meillä on muutoksen laskuria 1. 357 00:14:42,460 --> 00:14:45,760 Joten kaikki tämä on kääritty sisällä Ikuisesti lukko. 358 00:14:45,760 --> 00:14:48,960 Joten meillä on jo nyt rakennuspalikoita C 359 00:14:48,960 --> 00:14:50,040 joka kääntää tätä. 360 00:14:50,040 --> 00:14:51,650 >> Yksi tapa voisimme tehdä, että on tämä. 361 00:14:51,650 --> 00:14:53,890 Anna kokonaisluku, kutsuvat sitä laskuri. 362 00:14:53,890 --> 00:14:55,190 Alusta se 0 363 00:14:55,190 --> 00:14:56,490 ensimmäisellä rivillä siellä. 364 00:14:56,490 --> 00:14:59,390 While (true), joten olen varastamalla että ajatus vain hetken 365 00:14:59,390 --> 00:15:01,300 sitten mennä eteenpäin ja tehdä seuraavasti. 366 00:15:01,300 --> 00:15:04,880 Tulosta laskuri, ja sitten kasvattaa laskuri, 367 00:15:04,880 --> 00:15:06,930 uudestaan, ja uudestaan, ja uudestaan. 368 00:15:06,930 --> 00:15:09,380 Tai jälleen, + + tarkoittaa vain lisää 1 jotain. 369 00:15:09,380 --> 00:15:11,030 Mutta on uusi pala syntaksin täällä. 370 00:15:11,030 --> 00:15:15,730 Mitä hyppäämällä ulos kuulu meidän edellisen esimerkin? 371 00:15:15,730 --> 00:15:17,190 Kyllä, tämä% d. 372 00:15:17,190 --> 00:15:19,810 Joten voit ehkä päätellä, mitä tämä tekee, suoraan sanoen, joka perustuu 373 00:15:19,810 --> 00:15:21,410 mitä Scratch lohko tekee. 374 00:15:21,410 --> 00:15:24,510 Mutta jälleen C, meidän täytyy vain olla hieman erityistä 375 00:15:24,510 --> 00:15:25,990 kun se tulee ilmaista itseämme. 376 00:15:25,990 --> 00:15:30,560 >> So printf ("% d \ n"). 377 00:15:30,560 --> 00:15:32,320 No useimmat voimme heittää pois niin tuttuja. 378 00:15:32,320 --> 00:15:34,910 Lainaa vain tarkoittaa se merkkijono, kenoviiva n 379 00:15:34,910 --> 00:15:35,970 on vain uusi rivi. 380 00:15:35,970 --> 00:15:38,860 Joten ainoa uusi asia tässä on% d. 381 00:15:38,860 --> 00:15:40,390 Ja kaikki tämä on on paikkamerkki. 382 00:15:40,390 --> 00:15:43,510 % D on menossa tarkoittamaan desimaaliluku. 383 00:15:43,510 --> 00:15:47,820 Ja% d tarkoittaa tietokoneeseen, laittaa desimaaliluku täällä. 384 00:15:47,820 --> 00:15:49,450 No, mitä numero haluat laittaa sinne? 385 00:15:49,450 --> 00:15:52,400 No, kuten voitte ehkä päätellä, pilkun jälkeen sanomme 386 00:15:52,400 --> 00:15:55,480 laskuri, se nimi muuttujan että ilmoitettu tai 387 00:15:55,480 --> 00:15:57,260 loi pari riviä aikaisemmin. 388 00:15:57,260 --> 00:16:02,420 Joten tämä on vain C tapa liität muuttujan 389 00:16:02,420 --> 00:16:04,480 merkkijono dynaamisesti. 390 00:16:04,480 --> 00:16:07,350 Koska sitä vastoin, jos olisin sen sijaan tehnyt jotain 391 00:16:07,350 --> 00:16:12,470 Tämän printf ("laskuri"), mikä olisi tässä 392 00:16:12,470 --> 00:16:15,220 ohjelman sijaan tehdä, oletettavasti? 393 00:16:15,220 --> 00:16:17,260 Se tulee kirjaimellisesti tulostaa "laskuri". 394 00:16:17,260 --> 00:16:18,750 Mikä ei ole vaikutusta, että haluan. 395 00:16:18,750 --> 00:16:20,920 Minun täytyy korvata jollakin numeerinen arvo. 396 00:16:20,920 --> 00:16:24,340 Niin näemme, että toimii sitten, kuten printf, voi olla 397 00:16:24,340 --> 00:16:26,930 vasta yhden argumentteja, kuten 398 00:16:26,930 --> 00:16:28,150 "Hello World". 399 00:16:28,150 --> 00:16:32,050 Ne voivat ottaa lainaus lainaus päättyy pilkku, ja sitten jotkut muuttujat 400 00:16:32,050 --> 00:16:35,830 että saa kytkeä, kuten näemme edellinen merkkijono 401 00:16:35,830 --> 00:16:38,280 kautta nämä% sign paikkamerkkejä. 402 00:16:38,280 --> 00:16:39,660 >> No entä Boolen? 403 00:16:39,660 --> 00:16:42,200 Boolen olivat nämä arvot tosi tai epätosi. 404 00:16:42,200 --> 00:16:42,830 Kyllä tai ei. 405 00:16:42,830 --> 00:16:44,020 1 tai 0. 406 00:16:44,020 --> 00:16:45,190 Päälle tai pois päältä. 407 00:16:45,190 --> 00:16:47,570 Joten Scratch he näyttävät tältä, ja huomaa, että 408 00:16:47,570 --> 00:16:50,170 pohja lohko tässä on oikeastaan ​​yhdessä 409 00:16:50,170 --> 00:16:51,500 Kahden pienempiä lohkoja. 410 00:16:51,500 --> 00:16:53,610 Joten minä tavallaan vetää ja pudotti kolme palapelin palaset 411 00:16:53,610 --> 00:16:56,450 yhdessä tehdä, että enää palapelin pala on niin, että minä 412 00:16:56,450 --> 00:17:00,420 voisi välittää ajatus, että haluan x vähemmän kuin y ja 413 00:17:00,420 --> 00:17:02,540 y on pienempi kuin z. 414 00:17:02,540 --> 00:17:05,790 Ja niin voin kääntää nämä kaksi erillistä riviä seuraavasti. 415 00:17:05,790 --> 00:17:08,650 Alkuun yksi voi hyvin triviaalisti kääntää C, 416 00:17:08,650 --> 00:17:10,069 vain x 00:17:11,990 Ehkä joitakin suluissa hyvä toimenpide. 418 00:17:11,990 --> 00:17:15,520 Ja sitten C, et kirjoittaa ja kuvaamaan 419 00:17:15,520 --> 00:17:16,819 yhdessä jotain. 420 00:17:16,819 --> 00:17:19,585 Sinä sen sijaan kirjoittaa &&. 421 00:17:19,585 --> 00:17:22,849 Ja kun me lopulta nähdä, yksittäinen et-merkki sattuu 422 00:17:22,849 --> 00:17:23,880 tarkoittaa jotain erilaista. 423 00:17:23,880 --> 00:17:27,530 Joten && vain tarkoittaa ajatus JA. 424 00:17:27,530 --> 00:17:30,040 >> Joten jälleen, vaikka tämä alkaa näyttää melko monimutkaisia, 425 00:17:30,040 --> 00:17:32,560 yhtenä tarkoituksena käyttöönoton Scratch lisäksi 426 00:17:32,560 --> 00:17:34,810 vain ottaa eräänlainen hauskaa-ramppi, jossa voit tehdä 427 00:17:34,810 --> 00:17:36,590 jotain, joka on hyvin graafinen ja animoitu ja 428 00:17:36,590 --> 00:17:39,000 jaettavia ja vastaavia, on myös välittää ajatusta siitä, että 429 00:17:39,000 --> 00:17:42,010 kaikki ideat alamme sukeltaa tänään ja eteenpäin 430 00:17:42,010 --> 00:17:44,300 on kirjattu myös, että yksinkertainen 431 00:17:44,300 --> 00:17:46,850 käyttöliittymä alusta lähtien. 432 00:17:46,850 --> 00:17:47,790 Entä tämä tässä? 433 00:17:47,790 --> 00:17:48,860 >> Niin olosuhteissa. 434 00:17:48,860 --> 00:17:50,590 Joten Scratch lohkon vasemmalla siellä näyttää 435 00:17:50,590 --> 00:17:51,610 hieman monimutkaisempi. 436 00:17:51,610 --> 00:17:52,650 Mutta se on vain osa vetämällä ja 437 00:17:52,650 --> 00:17:54,140 pudottamalla tuttuja kappaleita. 438 00:17:54,140 --> 00:17:56,690 Jos x on pienempi kuin y, niin sanoa. 439 00:17:56,690 --> 00:17:59,900 If x on suurempi kuin y, niin sanoa. 440 00:17:59,900 --> 00:18:02,460 Else, voimme loogisesti olettaa se on päätellyt, että 441 00:18:02,460 --> 00:18:03,580 ne täytyy olla yhtä suuret. 442 00:18:03,580 --> 00:18:05,220 Niin sanovat että he ovat yhtä. 443 00:18:05,220 --> 00:18:07,690 Nyt C oikealla täsmälleen sama asia. 444 00:18:07,690 --> 00:18:09,730 Ja huomaa, että aaltosulkeiden tulevat olemaan 445 00:18:09,730 --> 00:18:12,190 piirre C ja muita kieliä, jotka eivät tämmöinen 446 00:18:12,190 --> 00:18:13,210 kapseloinnin. 447 00:18:13,210 --> 00:18:15,470 Aivan kuten jos lohko on tämä keltainen asia, joka on eräänlainen 448 00:18:15,470 --> 00:18:17,770 tarttumalla violetti lohkon sisälle. 449 00:18:17,770 --> 00:18:19,480 Samoin nämä olkaimet - 450 00:18:19,480 --> 00:18:20,870 Näiden aaltosulkeita - 451 00:18:20,870 --> 00:18:24,710 tarkoitus loihtia saman ajatuksen käsittää yhden tai useamman 452 00:18:24,710 --> 00:18:27,680 riviä koodia, joka on sisennetty sisällä niitä. 453 00:18:27,680 --> 00:18:31,270 Niin oikealla puolella tässä, jos x pienempi kuin y, printf 454 00:18:31,270 --> 00:18:32,270 ("X on pienempi kuin y"). 455 00:18:32,270 --> 00:18:34,980 If x on suurempi kuin y, tulostaa saman. 456 00:18:34,980 --> 00:18:38,360 Else tulostaa ne ovat yhtä. 457 00:18:38,360 --> 00:18:41,750 >> Eli lyhyesti sanottuna, siellä melko suora kartoitus tai kääntäminen 458 00:18:41,750 --> 00:18:44,720 Kielen olemme nähneet tähän mennessä, myös joitakin 459 00:18:44,720 --> 00:18:45,940 ja kehittyneempiä ominaisuuksia. 460 00:18:45,940 --> 00:18:48,680 Joten et ehkä käyttää tätä projektin, tai ehkä ei 461 00:18:48,680 --> 00:18:51,150 käyttää tätä projektia tällä viikolla. 462 00:18:51,150 --> 00:18:54,650 Mutta olemme näitä asioita kutsutaan taulukot C. Scratch- 463 00:18:54,650 --> 00:18:55,680 niitä kutsutaan luetteloita. 464 00:18:55,680 --> 00:18:59,370 Ja näimme näiden kanssa Fruitcraft RPG viime viikolla. 465 00:18:59,370 --> 00:19:01,320 Pieni sininen kaveri, joka oli kävelemässä, poimien 466 00:19:01,320 --> 00:19:03,010 kirsikat ja appelsiinit ja vastaavat. 467 00:19:03,010 --> 00:19:05,110 No Scratch, joka toteutettiin tämän oranssi 468 00:19:05,110 --> 00:19:09,000 lohko, joka sisältää sanat, tässä tapauksessa olemme kirjaimellisesti 469 00:19:09,000 --> 00:19:10,800 lisätään "oranssi" ja 470 00:19:10,800 --> 00:19:12,460 muuttuja nimeltä inventaario. 471 00:19:12,460 --> 00:19:14,910 Joten C, tämä syntaksi on menossa hieman arvoituksellisesti. 472 00:19:14,910 --> 00:19:17,250 Ja me palaamme ensi viikolla ja tehdä enemmän 473 00:19:17,250 --> 00:19:21,060 mielenkiintoisia asioita maailmassa salauksen kanssa. 474 00:19:21,060 --> 00:19:23,990 Mutta alaosassa tässä, nämä kaksi riviä olennaisesti 475 00:19:23,990 --> 00:19:27,550 kääntää mitä me teemme yhdessä Scratch tukkia siellä. 476 00:19:27,550 --> 00:19:30,120 Mutta siitä lisää tulossa. 477 00:19:30,120 --> 00:19:34,120 >> Joten laitat sen yhdessä, tässä on ohjelma C. Joten 478 00:19:34,120 --> 00:19:36,590 nopeasti erottaa toisistaan ​​joitakin paloja syntaksin täällä, mutta 479 00:19:36,590 --> 00:19:40,300 Sitten mennään todella alkaa kirjoittaa joitakin koodi, perehdyttää 480 00:19:40,300 --> 00:19:42,440 sinulle joitakin työkaluja Käytämme ja katso jos me 481 00:19:42,440 --> 00:19:45,400 voivat rakentaa nyt joitakin näistä kulmakivistä alkaen 482 00:19:45,400 --> 00:19:49,150 viime viikolla, nyt syntaktisesti in C. Joten yläosassa täällä, tämä 483 00:19:49,150 --> 00:19:51,380 on ehkä yksi kaikkein tylsää ohjelmat voisit 484 00:19:51,380 --> 00:19:53,130 kirjoita useimmissa tahansa ohjelmointikielellä. 485 00:19:53,130 --> 00:19:55,010 Mutta se on tavallaan on erityinen merkitys, koska se on 486 00:19:55,010 --> 00:19:58,120 kanoninen ohjelma että tietokoneen tiedemies kirjoittaa, kun 487 00:19:58,120 --> 00:19:59,620 opettaa joku ohjelmointikieli - 488 00:19:59,620 --> 00:20:01,230 Hello world ohjelmaa. 489 00:20:01,230 --> 00:20:05,120 >> Joten hyvin alkuun, näemme tätä käsitettä # include 490 00:20:05,120 --> 00:20:08,180 ja sitten, kulma suluissa, stdio.h. 491 00:20:08,180 --> 00:20:10,580 Aiomme palata, mutta oikeastaan ​​se 492 00:20:10,580 --> 00:20:13,770 tarkoittaa, että tiedostoa tässä maailmassa kutsutaan standardin 493 00:20:13,770 --> 00:20:17,670 I / O, vakiotulosteesi piste h, ja se on vain tekstitiedosto, joka 494 00:20:17,670 --> 00:20:19,240 joku kirjoitti vuosia sitten. 495 00:20:19,240 --> 00:20:22,550 Ja sisällä että tekstitiedoston ovat koko joukko 496 00:20:22,550 --> 00:20:25,840 toimintoja tai menetelmiä tai toimintatapoja, jotka joku muu 497 00:20:25,840 --> 00:20:28,970 kirjoitti, että olemme edunsaajia, koska me 498 00:20:28,970 --> 00:20:31,420 voi nyt käyttää kyseisen henkilön koodi. 499 00:20:31,420 --> 00:20:33,070 Toimintoja hän kirjoitti. 500 00:20:33,070 --> 00:20:36,320 Tässä tapauksessa printf ei ole jotain, että olen kirjoittanut, se on 501 00:20:36,320 --> 00:20:37,500 ei jotain CS50 kirjoitti. 502 00:20:37,500 --> 00:20:40,290 Se on jotain, joku kirjoitti vuosia sitten ja laittaa 503 00:20:40,290 --> 00:20:43,450 tiedosto nimeltä stdio.h ja sitten, kuten syrjään, laita 504 00:20:43,450 --> 00:20:45,830 toinen osa toiminnon toiseen tiedostoon. 505 00:20:45,830 --> 00:20:46,940 Mutta me sinne. 506 00:20:46,940 --> 00:20:50,070 >> Joten # include on vain meidän tapamme, vuonna 507 00:20:50,070 --> 00:20:53,110 C, anna minulle pääsyn toimintoihin, jotka joku muu kirjoitti. 508 00:20:53,110 --> 00:20:55,490 Ja tässä tapauksessa en välitä, koska haluan printf. 509 00:20:55,490 --> 00:20:57,530 Nyt saamme int main (void). 510 00:20:57,530 --> 00:21:00,160 Joten tämä on yksi näistä asioista, rehellisesti, että päivänä 0, 511 00:21:00,160 --> 00:21:02,400 aika paljon olen eräänlainen vyöhykkeen pois, koska se on vain 512 00:21:02,400 --> 00:21:03,260 ei kiinnostava 513 00:21:03,260 --> 00:21:04,780 älyllisesti, jotkut syntaksia. 514 00:21:04,780 --> 00:21:07,940 Mutta nyt tiedän, että toimii, muuten kutsutaan 515 00:21:07,940 --> 00:21:11,660 menettelyjä, tai menetelmiä, yleensä tuottavat jotain arvoa. 516 00:21:11,660 --> 00:21:12,520 He tekevät jotain. 517 00:21:12,520 --> 00:21:13,810 He keksivät vastauksen. 518 00:21:13,810 --> 00:21:15,020 Ne tuottavat tuotoksen. 519 00:21:15,020 --> 00:21:18,780 Joten int vieressä tärkein on vain meidän lyhenne tapa sanoa 520 00:21:18,780 --> 00:21:21,380 että tämä toiminto, tämä menettely on lopulta menossa 521 00:21:21,380 --> 00:21:22,650 antaa sinulle takaisin numero. 522 00:21:22,650 --> 00:21:24,370 Ja miksi se on, me tulemme takaisin. 523 00:21:24,370 --> 00:21:27,810 Tärkein on vain oletus maailmanlaajuinen standardi oletuksena 524 00:21:27,810 --> 00:21:30,990 toiminto, joka on menossa toteutettu C-ohjelma, kun 525 00:21:30,990 --> 00:21:31,860 käynnistät sen. 526 00:21:31,860 --> 00:21:34,160 Void tarkoittaa vain tätä asiaa, tärkein, ei tee mitään 527 00:21:34,160 --> 00:21:35,270 argumentteja, tässä tapauksessa. 528 00:21:35,270 --> 00:21:36,400 Joten olen ollessa erittäin selvä. 529 00:21:36,400 --> 00:21:38,160 Ei ole merkkijonoja siellä, ei ole pilkkuja. 530 00:21:38,160 --> 00:21:40,690 Void tarkoittaa mitään perusteluja to main. 531 00:21:40,690 --> 00:21:44,350 >> Nyt lopuksi onneksi kaksi viimeistä riviä ovat tuttuja. 532 00:21:44,350 --> 00:21:46,160 Sisällä aaltosulkeita meillä printf 533 00:21:46,160 --> 00:21:47,620 ja meillä on paluuta. 534 00:21:47,620 --> 00:21:50,450 Ja tuotto on sellainen valitettavaa, että meidän on 535 00:21:50,450 --> 00:21:53,510 laittaa sen sinne, koska tässä tapauksessa se ei tee kaikkea 536 00:21:53,510 --> 00:21:54,600 paljon kiinnostusta. 537 00:21:54,600 --> 00:21:58,790 Mutta tietokoneohjelma, kun toiminto palauttaa 0, 538 00:21:58,790 --> 00:22:00,610 tämä tarkoittaa kaikki on hyvin. 539 00:22:00,610 --> 00:22:01,820 Mikään meni pieleen. 540 00:22:01,820 --> 00:22:06,170 Sen sijaan, jos funktio palauttaa 1, tai negatiivinen 1, tai 541 00:22:06,170 --> 00:22:11,670 negatiivinen 1337, tai joitakin satunnaisia ​​numeroita, kuten siitä, että 542 00:22:11,670 --> 00:22:14,020 tarkoittaa yleensä sitä, että virhe todella on tapahtunut. 543 00:22:14,020 --> 00:22:16,150 Joten jos olet Macin tai PC, jos olet koskaan nähnyt 544 00:22:16,150 --> 00:22:18,590 joitakin ärsyttävää viesti, koska tietokone on kaatunut tai 545 00:22:18,590 --> 00:22:20,660 jäädytetty, ja siellä arvoituksellisesti virheilmoitus, 546 00:22:20,660 --> 00:22:23,320 ja sitten koodia, kuten järjestelmän koodi 547 00:22:23,320 --> 00:22:25,110 1,2,3,4, jokin määrä, 548 00:22:25,110 --> 00:22:29,270 että yleisesti on tarpeetonta yksityiskohtaisesti kertoa 549 00:22:29,270 --> 00:22:32,110 Useimmille meistä ihmisille, mutta se on, mitä jotkut toiminto tai jotkut 550 00:22:32,110 --> 00:22:34,890 Ohjelma on palannut, ei-nolla-arvoa. 551 00:22:34,890 --> 00:22:38,540 Ja hyöty on se, että 0 tarkoittaa, kaikki hyvin, ja 552 00:22:38,540 --> 00:22:40,470 sitten pohjimmiltaan on ääretön määrä asioita, jotka 553 00:22:40,470 --> 00:22:41,130 voi mennä pieleen. 554 00:22:41,130 --> 00:22:44,700 Minkä vuoksi he valitsivat 0 hyvän ja nollasta arvo 555 00:22:44,700 --> 00:22:46,450 huono, kuten tulemme pian nähdä. 556 00:22:46,450 --> 00:22:47,870 >> Joten mene eteenpäin ja kirjoittamaan tämän. 557 00:22:47,870 --> 00:22:51,610 Niin muistaa, että toinen päivä käytin Macin avaamaan 558 00:22:51,610 --> 00:22:53,970 pääteikkuna, ja sitten avasin teksti-ohjelman, kuten 559 00:22:53,970 --> 00:22:55,900 TeXturi, ja aloin kirjoittaa koodia. 560 00:22:55,900 --> 00:22:56,580 No se on hienoa. 561 00:22:56,580 --> 00:22:58,636 Mutta kokemus tulee olemaan erilainen Macissa tai 562 00:22:58,636 --> 00:23:01,220 Solaris-tietokoneessa, Linux-tietokone riippumatta käyttöjärjestelmä 563 00:23:01,220 --> 00:23:02,810 järjestelmä satut käyttää. 564 00:23:02,810 --> 00:23:04,970 Ja niin tietenkin me vaan käyttää jotain 565 00:23:04,970 --> 00:23:07,010 kutsutaan CS50 Appliance. 566 00:23:07,010 --> 00:23:10,420 Joten CS50 Appliance on ladattava ohjelmisto 567 00:23:10,420 --> 00:23:13,640 jonka avulla voit suorittaa käyttöjärjestelmän nimeltä Linux, 568 00:23:13,640 --> 00:23:16,810 erityisesti Fedora Linux, omalla Macin tai PC. 569 00:23:16,810 --> 00:23:20,810 Ja voit tehdä tämän lataamalla jotain kutsutaan hypervisor. 570 00:23:20,810 --> 00:23:23,100 Joten kaikki tämä dokumentoidaan Harjoitus 1. 571 00:23:23,100 --> 00:23:25,240 Ja voit ohjata kohti mitä sinun tarvitsee ladata. 572 00:23:25,240 --> 00:23:27,510 Mutta lopputulos, onko sinulla Mac tai PC, on sinun 573 00:23:27,510 --> 00:23:29,080 ladata joitakin vapaita ohjelmistoja. 574 00:23:29,080 --> 00:23:32,340 Voit sitten ladata CS50 Appliance, ja kerrot, että 575 00:23:32,340 --> 00:23:33,960 ilmainen ohjelmisto - hypervisor - 576 00:23:33,960 --> 00:23:38,080 ajaa CS50 Appliance ikkunassa tietokoneen. 577 00:23:38,080 --> 00:23:39,490 Ja mitä tapahtuu, on tämä. 578 00:23:39,490 --> 00:23:43,660 >> Olen nyt huomannut täällä, mikä näyttää olevan työpöydälle 579 00:23:43,660 --> 00:23:44,130 ympäristöön. 580 00:23:44,130 --> 00:23:46,150 Ja haluan todella kutistua tämän yhden ikkunan. 581 00:23:46,150 --> 00:23:49,640 Joten tämä on nyt minun Mac, jossa pieni ikkuna täällä, ja sisältä 582 00:23:49,640 --> 00:23:51,300 Tämän ikkunan sattuu olemaan täysin 583 00:23:51,300 --> 00:23:52,380 eri käyttöjärjestelmä. 584 00:23:52,380 --> 00:23:55,250 Itse on tämä alku menu tänne, muistuttaa 585 00:23:55,250 --> 00:23:57,990 Windows, että on koko joukko alivalikoita, mukaan lukien 586 00:23:57,990 --> 00:24:00,720 linkin CS50 tuotteeseen, Dropbox, ja vastaavat. 587 00:24:00,720 --> 00:24:03,480 Ja mitä tämä ympäristö on nyt vakiona ympäristö 588 00:24:03,480 --> 00:24:06,280 että me kaikki voimme nyt käyttää, joten ei väliä mitä 589 00:24:06,280 --> 00:24:08,960 tietokone on, mitä olet asentanut sen, mikä versio 590 00:24:08,960 --> 00:24:11,430 Mac OS tai Windows näytät, meillä kaikilla on nyt 591 00:24:11,430 --> 00:24:12,800 samassa ympäristössä. 592 00:24:12,800 --> 00:24:15,850 Ja nyt tässä ympäristössä voimme aloittaa kirjoittaminen koodia. 593 00:24:15,850 --> 00:24:18,480 >> Joten aion mennä eteenpäin ja avata ohjelma nimeltä gedit. 594 00:24:18,480 --> 00:24:21,500 Tämä on verrattavissa notepad.exe, tai 595 00:24:21,500 --> 00:24:22,790 TextEdit Macissa. 596 00:24:22,790 --> 00:24:25,390 Ja tämä on vain erittäin yksinkertaisen tekstin editointi ohjelma 597 00:24:25,390 --> 00:24:27,500 joka näyttää tältä ensi silmäyksellä. 598 00:24:27,500 --> 00:24:30,640 Nyt huipulla, minulla on valkoinen paletti, alareunassa I 599 00:24:30,640 --> 00:24:33,860 on tämä musta ikkuna jossa lukee jharvard @ laitetta. 600 00:24:33,860 --> 00:24:36,440 Ja se johtuu käyttäjätilin että valmiiksi luotuja 601 00:24:36,440 --> 00:24:38,430 kaikille on nimeltään John Harvard. 602 00:24:38,430 --> 00:24:41,490 Hänellä on kansio, johon kaikki hänen tiedostot eivät mene, ja 603 00:24:41,490 --> 00:24:43,500 tässä missä voimme aloittaa kirjoittaminen koodia. 604 00:24:43,500 --> 00:24:45,810 Joten anna minun mennä eteenpäin tässä ja zoomata vain hieman, ja olen 605 00:24:45,810 --> 00:24:51,550 teemme # include , int main (void), ja 606 00:24:51,550 --> 00:24:57,470 Sitten aion tehdä printf ("Hello World") 607 00:24:57,470 --> 00:24:59,490 , Palauttaa 0. 608 00:24:59,490 --> 00:25:01,400 Nyt tämä kaikki on aivan mustaa ja valkoista. 609 00:25:01,400 --> 00:25:03,830 >> Anna minun mennä eteenpäin ja tehdä yksi asia opettaa gedit mitä olen 610 00:25:03,830 --> 00:25:04,510 todella tekee. 611 00:25:04,510 --> 00:25:06,140 Anna minun mennä Tallenna nimellä. 612 00:25:06,140 --> 00:25:08,560 Aion valita vasemmalla puolella täällä jharvard. 613 00:25:08,560 --> 00:25:11,010 Joten jälleen, vaikka et ole koskaan käyttänyt Linux ennen, rehellisesti 614 00:25:11,010 --> 00:25:13,680 näinä päivinä, ne kaikki ovat hajauttaa osaksi olennaisesti 615 00:25:13,680 --> 00:25:14,590 samantyyppinen käyttöliittymä - 616 00:25:14,590 --> 00:25:16,030 Mac OS, Windows ja Linux. 617 00:25:16,030 --> 00:25:18,680 Joten päätin jharvard kotikansiossa täällä. 618 00:25:18,680 --> 00:25:21,120 Ja aion tallentaa tämän tiedoston hello.c. 619 00:25:21,120 --> 00:25:24,260 Joten hyvin alkuun, olen kirjoittanut hello.c, nimeäminen C 620 00:25:24,260 --> 00:25:26,520 ohjelman kanssa. C laajennus on 621 00:25:26,520 --> 00:25:27,570 mitä yleinen käytäntö. 622 00:25:27,570 --> 00:25:28,650 Ja osuin Tallenna. 623 00:25:28,650 --> 00:25:32,510 Ja nyt, mitä hienoa on, että olen tehokkaasti opettanut gedit, 624 00:25:32,510 --> 00:25:33,690 , että tämä on C-ohjelma. 625 00:25:33,690 --> 00:25:36,470 Huomaa, että minun mustaa ja valkoista tekstiä nyt värikoodattu tai 626 00:25:36,470 --> 00:25:39,330 syntaksin korostettu, mikä vain kiinnittää huomioni 627 00:25:39,330 --> 00:25:41,540 eri semanttinen ohjelman osia. 628 00:25:41,540 --> 00:25:44,260 Huipulla jäi sinne, koska minun ohjelmia saada monimutkaisempi, olen 629 00:25:44,260 --> 00:25:47,060 menossa on yhteenveto kaikista niistä asioista, olen kirjoittanut. 630 00:25:47,060 --> 00:25:48,050 Niin, että se siellä. 631 00:25:48,050 --> 00:25:52,350 Sallikaa minun nyt loitontaa ja mene alas tämän pääteikkuna. 632 00:25:52,350 --> 00:25:54,570 >> Joten tämä on ehkä uusi monille ihmisille. 633 00:25:54,570 --> 00:25:57,260 Jos et ole koskaan käyttänyt komentoriviltä ympäristön, olet koskaan 634 00:25:57,260 --> 00:26:00,020 käytetään DOS tai olet koskaan käyttänyt Linux tai olet koskaan avannut 635 00:26:00,020 --> 00:26:02,550 Mac OS pääteikkunaa siellä paljon asioita 636 00:26:02,550 --> 00:26:04,820 voisi tehdä GUI, kuten osoittaa, ja napsauttamalla, ja 637 00:26:04,820 --> 00:26:07,080 vetämällä, ja pudottamalla, ja vastaavat, mutta yleensä - 638 00:26:07,080 --> 00:26:09,360 varmasti maailman tietojenkäsittelytieteen - 639 00:26:09,360 --> 00:26:11,580 komentorivillä, jos sinulla ei ole hiirtä 640 00:26:11,580 --> 00:26:14,220 yleensä, sinulla on vain näppäimistön, on todella paljon 641 00:26:14,220 --> 00:26:17,260 tehokkaampia kuin käyttöliittymä, kun saat sopeutetaan 642 00:26:17,260 --> 00:26:18,580 eri komentoja. 643 00:26:18,580 --> 00:26:20,940 Ja sinä tavallaan vapaa itsesi tarvitse kohta ja napsauta 644 00:26:20,940 --> 00:26:21,690 kaikessa. 645 00:26:21,690 --> 00:26:23,890 Joten gedit me tavallaan on molempien maailmojen parhaat puolet. 646 00:26:23,890 --> 00:26:25,600 Voimme vetää ja pudottaa tekstiä, voimme nähdä sen 647 00:26:25,600 --> 00:26:26,840 mukava ja värikoodattu. 648 00:26:26,840 --> 00:26:29,630 Mutta kun on aika ajaa meidän ohjelmaan, käymme joskus 649 00:26:29,630 --> 00:26:31,750 vain käyttää tätä pientä ikkunaa täällä. 650 00:26:31,750 --> 00:26:33,460 >> Joten aion mennä eteenpäin ja tehdä tämän. 651 00:26:33,460 --> 00:26:36,420 Vuonna pohja musta ja valkoinen ikkuna, aion mennä eteenpäin 652 00:26:36,420 --> 00:26:37,890 ja kirjoittaa kalahtaa. 653 00:26:37,890 --> 00:26:40,130 Ja sointi on nimi kääntäjä. 654 00:26:40,130 --> 00:26:43,310 Se on ohjelma, joka muuntaa minun lähdekoodia 655 00:26:43,310 --> 00:26:48,770 tulee, niin, kohdekoodilla. 656 00:26:48,770 --> 00:26:51,270 0s ja 1s, jotka näimme lyhyesti viime viikolla. 657 00:26:51,270 --> 00:26:53,700 Recall viime viikolla, lupasimme, että olimme menossa 658 00:26:53,700 --> 00:26:55,920 menevät jotenkin näin - meidän piti olla 659 00:26:55,920 --> 00:26:57,010 jotain tällaista - 660 00:26:57,010 --> 00:26:58,700 ja tämä ei todellakaan ole jotain, että ihmisen tulee 661 00:26:58,700 --> 00:26:59,690 tehdä manuaalisesti. 662 00:26:59,690 --> 00:27:01,980 Joten sen sijaan aiomme käyttää ohjelmaa, ja että ohjelma 663 00:27:01,980 --> 00:27:03,430 Tällöin kutsutaan clang. 664 00:27:03,430 --> 00:27:06,020 Ja nimi minun ohjelma on hello.c. 665 00:27:06,020 --> 00:27:09,670 Joten jotta laatia hello.c alkaen lähdekoodia 666 00:27:09,670 --> 00:27:12,930 kohdekoodina tai 0s ja 1s, sen pitäisi riittää vain tehdä 667 00:27:12,930 --> 00:27:14,820 tämä ja paina Enter. 668 00:27:14,820 --> 00:27:16,850 >> Okei, mitään ei näytä tapahtuneen. 669 00:27:16,850 --> 00:27:20,450 Mutta tiedän nyt, tai viime viikolla, että oletusnimi 670 00:27:20,450 --> 00:27:24,920 ohjelma, kun kirjoitettu C, on typerästi kutsutaan a.out. 671 00:27:24,920 --> 00:27:26,610 Useimmat mielenkiinnoton nimi voisitte keksiä. 672 00:27:26,610 --> 00:27:28,790 On ensimmäinen kirjain, pois mitä oli 673 00:27:28,790 --> 00:27:29,960 ulos, mutta olkoon niin. 674 00:27:29,960 --> 00:27:33,570 Tämä on minun ohjelma, ja nyt piste slash, kuten tulemme näkemään, on 675 00:27:33,570 --> 00:27:36,170 oikeastaan ​​vain eräänlainen suojausominaisuus, koska 676 00:27:36,170 --> 00:27:38,250 a.out on ohjelma kirjoitin. 677 00:27:38,250 --> 00:27:39,650 Se ei tullut minun tietokone, se on 678 00:27:39,650 --> 00:27:40,790 ei Program Files. 679 00:27:40,790 --> 00:27:42,910 Se ei ole Mac OS: n Ohjelmat-kansioon. 680 00:27:42,910 --> 00:27:45,740 Minun täytyy olla erittäin selkeä tietokoneen kanssa, ja sano 681 00:27:45,740 --> 00:27:49,030 Ohjelman a.out, on nykyisessä kansiossa, 682 00:27:49,030 --> 00:27:50,260 hakemistossa. 683 00:27:50,260 --> 00:27:53,160 Ja miten te edustatte tätä ympäristössä näin 684 00:27:53,160 --> 00:27:57,070 on piste edustaa mitä kansioon olet parhaillaan sisään 685 00:27:57,070 --> 00:27:59,420 Ja niin. / Tarkoittaa vain juosta a.out 686 00:27:59,420 --> 00:28:00,530 nykyisessä kansiossa. 687 00:28:00,530 --> 00:28:04,830 Ja minä suorittaa tämän Enter, ja voila, minun ensimmäinen ohjelma. 688 00:28:04,830 --> 00:28:05,990 >> Nyt haluaisin ottaa askel taaksepäin. 689 00:28:05,990 --> 00:28:08,280 Tämä ikkuna on vähän pieni, ja ymmärtää, että pohja 690 00:28:08,280 --> 00:28:10,340 jäljellä Laitteen tässä on toinen kuvake. 691 00:28:10,340 --> 00:28:12,660 Yksi on Chrome, jonka pitäisi olla melko tuttu, vain web 692 00:28:12,660 --> 00:28:14,350 selaimen sisällä laitteen. 693 00:28:14,350 --> 00:28:16,340 Ja tämä mustavalkoinen kuvake on vain 694 00:28:16,340 --> 00:28:17,720 isompi pääteikkuna. 695 00:28:17,720 --> 00:28:19,830 Joten jos se saa hieman harmittaa tavallaan juuri 696 00:28:19,830 --> 00:28:22,270 Tässä pikku siivu ikkunan, jossa on vuorovaikutuksessa 697 00:28:22,270 --> 00:28:24,370 ohjelmia, voimme sen sijaan tehdä tätä. 698 00:28:24,370 --> 00:28:26,640 Ja nyt haluan aloittaa kirjoittamalla muutaman pian 699 00:28:26,640 --> 00:28:27,980 tunnettava komentoja. 700 00:28:27,980 --> 00:28:28,900 ls. 701 00:28:28,900 --> 00:28:31,410 Joten ls on komento listalle. 702 00:28:31,410 --> 00:28:33,900 Joten Mac OS tai Windows, olisit yleensä kaksoisnapsautat 703 00:28:33,900 --> 00:28:36,510 kansio ja sitten voila, näet kaikki eri tiedostojen 704 00:28:36,510 --> 00:28:37,210 ja kansiot. 705 00:28:37,210 --> 00:28:39,650 Vuonna komentoriviltä ympäristön, jossa voit vain kirjoittaa 706 00:28:39,650 --> 00:28:42,390 komentoja tai teksti, ls on vastaava. 707 00:28:42,390 --> 00:28:44,380 Joten näytä minulle mitä on tähän hakemistoon. 708 00:28:44,380 --> 00:28:46,540 >> Nyt siellä on nippu tavaraa täällä on niin vähän 709 00:28:46,540 --> 00:28:48,190 tuttuja ja vähän tuntemattomia. 710 00:28:48,190 --> 00:28:50,740 Mutta huomaa, että aivan kuten Windows ja Mac OS, jharvard 711 00:28:50,740 --> 00:28:52,190 on työpöydän kansioon. 712 00:28:52,190 --> 00:28:54,520 Joten kaikki kuvakkeet ovat minun työpöydälle tapahtua 713 00:28:54,520 --> 00:28:55,650 olla kyseisen kansion. 714 00:28:55,650 --> 00:28:57,250 Ei Downloads kansioon, tavaraa, että 715 00:28:57,250 --> 00:28:58,890 Chrome voi laittaa sinne. 716 00:28:58,890 --> 00:28:59,250 Dropbox. 717 00:28:59,250 --> 00:29:01,820 Joten Laitteen mukana tulee sisäänrakennettu tuki Dropbox 718 00:29:01,820 --> 00:29:04,500 niin että yli lukukauden, voit synkronoida kanssa Dropbox 719 00:29:04,500 --> 00:29:06,420 huomioon siten, että kaikki ohjelmat varmuuskopioidaan. 720 00:29:06,420 --> 00:29:08,050 He saatavilla toisessa tietokoneessa. 721 00:29:08,050 --> 00:29:09,780 Jos jotain joskus menee vikaan laitteen, voit 722 00:29:09,780 --> 00:29:11,340 helposti toipua Dropbox. 723 00:29:11,340 --> 00:29:12,940 Niin, että kansio on olemassa siitä. 724 00:29:12,940 --> 00:29:14,660 On kaksi tiedostoa, jotka tein - hello.c 725 00:29:14,660 --> 00:29:16,540 ja a.out. 726 00:29:16,540 --> 00:29:18,530 Ja sitten oikealle olemassa joitakin muita kansioita, että me 727 00:29:18,530 --> 00:29:20,710 päästä loppupuolella lukukauden, web 728 00:29:20,710 --> 00:29:21,540 ohjelmointi. 729 00:29:21,540 --> 00:29:26,160 Joten kun teen. /, A.out, Anna, että sanoo menevät 730 00:29:26,160 --> 00:29:29,460 hakemistosta olen, nykyisen hakemiston, ja suorita 731 00:29:29,460 --> 00:29:32,465 ohjelma nimeltä a.out oikeassa. 732 00:29:32,465 --> 00:29:35,810 >> Selvä, joten on kiva ja hyvä, mutta se ei ole kaikki, että 733 00:29:35,810 --> 00:29:38,550 pakottaa kirjoittamaan ohjelma nimeltä auttaa a.out. 734 00:29:38,550 --> 00:29:40,790 Joten voimme todella tehdä tämän hieman eri. 735 00:29:40,790 --> 00:29:43,980 Joten sen sijaan juuri käynnissä kalahtaa, hello.c, lisätään 736 00:29:43,980 --> 00:29:46,850 mitä kutsutaan komentorivillä. 737 00:29:46,850 --> 00:29:50,730 Joten komentorivillä tai kytkin tässä tapauksessa, on vain 738 00:29:50,730 --> 00:29:54,930 toinen sana tai lause kirjoittamalla klo kehotteeseen jälkeen 739 00:29:54,930 --> 00:29:56,290 ohjelma, jonka haluat suorittaa. 740 00:29:56,290 --> 00:29:59,970 Joten tässä tapauksessa, clang on ohjelma haluan ajaa,-O 741 00:29:59,970 --> 00:30:03,480 tarkoittaa tuotoksen tiedosto on enää kutsuta a.out. 742 00:30:03,480 --> 00:30:07,510 Output tiedosto nimeltä Hei, ja niin kokoamalla 743 00:30:07,510 --> 00:30:10,200 viimeinen sana line, hello.c. 744 00:30:10,200 --> 00:30:13,200 Eli lyhyesti sanottuna, tämä on hyvin marginaalinen parannus, jolloin 745 00:30:13,200 --> 00:30:15,850 sijasta ottaa tämän typerästi nimetty tiedosto a.out, 746 00:30:15,850 --> 00:30:21,430 Voin nyt tehdä clang-o Hei, sitten hello.c ja 747 00:30:21,430 --> 00:30:22,530 sitten paina Enter. 748 00:30:22,530 --> 00:30:25,510 Mikään ei tunnu tapahtuvan, mutta jälleen mielelläni, 0 - kun 749 00:30:25,510 --> 00:30:28,510 mikään ei tunnu tapahtuvan, että tarkoittaa mitään väärää tapahtunut - 750 00:30:28,510 --> 00:30:31,460 Tehdäänpä ls nyt Anna, ja olen todellakin nyt 751 00:30:31,460 --> 00:30:32,780 on hei ohjelman. 752 00:30:32,780 --> 00:30:38,510 Joten jos kirjoitat hei nyt komentoa ei löytynyt. 753 00:30:38,510 --> 00:30:39,440 OK,. /. 754 00:30:39,440 --> 00:30:40,220 Niin juuri oikea. 755 00:30:40,220 --> 00:30:43,170 Joten koska tämä ohjelma kirjoitin, ja se ei tullut 756 00:30:43,170 --> 00:30:45,810 tietokone,. / Hei, Enter, tarkoittaa 757 00:30:45,810 --> 00:30:47,350 Olen nyt käynnissä hei. 758 00:30:47,350 --> 00:30:48,440 >> Siinä se siellä. 759 00:30:48,440 --> 00:30:51,070 Nyt mitä me lopulta saada enemmän ja enemmän komentoriviltä 760 00:30:51,070 --> 00:30:54,110 perusteluja, jotta voisimme tehdä enemmän, mutta vain niille, 761 00:30:54,110 --> 00:30:57,760 joille tämä voisi olla vanha hattu, haluan todella mennä 762 00:30:57,760 --> 00:31:01,910 hakemistoon täällä ja vain antaa sinulle teaser miten muuten me 763 00:31:01,910 --> 00:31:05,770 voisi mennä noin täytäntöönpanoa Hello World. 764 00:31:05,770 --> 00:31:10,730 Sallikaa minun mennä tänne, ja aion avata sen. 765 00:31:10,730 --> 00:31:13,090 Joten oikeastaan, aion selittää, mitä olen tekemässä, joten 766 00:31:13,090 --> 00:31:15,610 Tämä on hyödyllistä. 767 00:31:15,610 --> 00:31:17,410 Saanen takaisin ylös. 768 00:31:17,410 --> 00:31:19,620 >> Joten olen tehnyt tätä jo pitkään. 769 00:31:19,620 --> 00:31:23,030 Joten huomaa yli oikealla olemassa pari 770 00:31:23,030 --> 00:31:26,940 luetteloissa omituisesti nimetty source1m ja source1w. 771 00:31:26,940 --> 00:31:28,830 Tämä on vain typerä yleissopimuksen käytämme. 772 00:31:28,830 --> 00:31:31,825 Lähde vain tarkoittaa lähdekoodia, 1 tarkoittaa tämä on viikolla yksi, ja 773 00:31:31,825 --> 00:31:34,000 m tarkoittaa se maanantaina ja w tarkoittaa, että on keskiviikko. 774 00:31:34,000 --> 00:31:34,900 Joten mitään arvoituksellinen siellä. 775 00:31:34,900 --> 00:31:37,830 Se on vain lyhennetty merkintätapa. 776 00:31:37,830 --> 00:31:39,860 Nämä siniset asiat ovat kansioita, muuten kutsutaan 777 00:31:39,860 --> 00:31:40,630 hakemistoja. 778 00:31:40,630 --> 00:31:43,870 Haluan mennä tuohon kansioon nyt, ja normaalin tietokoneen 779 00:31:43,870 --> 00:31:45,710 Voisin vain kaksoisnapsauttamalla kansion kuvaketta ja 780 00:31:45,710 --> 00:31:46,810 siellä kaikki minun tiedostot. 781 00:31:46,810 --> 00:31:49,270 Mutta komentoriviltä ympäristön, en voi aivan tehdä 782 00:31:49,270 --> 00:31:52,640 että, niin sen sijaan, minun vaihtaa hakemistoja käsin. 783 00:31:52,640 --> 00:31:57,900 Joten jos kirjoitat cd ja sitten source1m, Enter, huomaat, että 784 00:31:57,900 --> 00:32:01,180 Minun kehotteeseen juttu valkoinen vasemmalla, juuri muuttunut. 785 00:32:01,180 --> 00:32:03,690 Ja niin todellakin, kun se vain sanoi suluissa ja sitten 786 00:32:03,690 --> 00:32:06,450 pikku koukero, tilde merkki, että juuri tarkoitti olin 787 00:32:06,450 --> 00:32:08,800 John Harvardin kotihakemistossa, hänen My Documents- 788 00:32:08,800 --> 00:32:10,390 hänen henkilökohtaiset tiedostot. 789 00:32:10,390 --> 00:32:14,000 Mutta nyt suluissa lukee ~ / source1m. 790 00:32:14,000 --> 00:32:17,090 Tämä tarkoittaa vain sitä olen kansioon source1m 791 00:32:17,090 --> 00:32:19,160 se John Harvardin kotihakemistossa. 792 00:32:19,160 --> 00:32:22,030 Joten jos haluan nyt luetella tämän kansion, helppo 793 00:32:22,030 --> 00:32:25,300 kysymys, kirjoitan vain ls. 794 00:32:25,300 --> 00:32:28,860 Ja nyt näen kaikki tiedostot, että olen valmiiksi luotu nykypäivän 795 00:32:28,860 --> 00:32:31,020 luento, jotka kaikki, tai suurin osa, joka tapahtuu 796 00:32:31,020 --> 00:32:32,740 päättyy. c. 797 00:32:32,740 --> 00:32:36,210 >> Joten anna minun mennä eteenpäin nyt ja ajaa gedit ohjelman nimeltä 798 00:32:36,210 --> 00:32:39,140 holloway.c, joka on kirjoittanut joitakin satunnaisia ​​hakkeri 799 00:32:39,140 --> 00:32:42,920 Internetissä, joka näyttää vähän kuin tämä. 800 00:32:42,920 --> 00:32:44,880 Ja emme mene läpi tämä millään 801 00:32:44,880 --> 00:32:48,530 yksityiskohta, mutta niille mukavampaa, varsinkin, jos 802 00:32:48,530 --> 00:32:50,935 Haluatko arvata, mitä tämä ohjelma tekee täällä. 803 00:32:57,950 --> 00:32:59,990 Voit olla varma, olitpa enemmän tai vähemmän mukavaa, 804 00:32:59,990 --> 00:33:01,655 emme edes saada tällaista asiaa loppuun mennessä 805 00:33:01,655 --> 00:33:02,160 tällä lukukaudella. 806 00:33:02,160 --> 00:33:05,390 Tämä on mitä esimerkki sotkettu C kilpailu, joka 807 00:33:05,390 --> 00:33:08,390 keinoin kirjoittaa kaikkein arvoituksellinen etsivät ohjelman mahdollisesti 808 00:33:08,390 --> 00:33:10,820 voi päihittää muut fiksuja ihmisiä, jotka ovat samalla 809 00:33:10,820 --> 00:33:13,010 yrittää kirjoittaa asioita ja keuliminen, että he voivat kirjoittaa 810 00:33:13,010 --> 00:33:14,280 enemmän arvoituksellinen asioita kuin sinä. 811 00:33:14,280 --> 00:33:17,290 Joten tämä ei ole esimerkki hyvin kirjoitettu ohjelma 812 00:33:17,290 --> 00:33:21,260 näkökulmasta tyyli, tämä on esimerkki ohjelmasta, joka 813 00:33:21,260 --> 00:33:22,860 voittaa kilpailu, ihmiset yrittävät 814 00:33:22,860 --> 00:33:24,090 olla epämääräisiä ja abstrakteja. 815 00:33:24,090 --> 00:33:27,670 >> Joten jos otamme tämän asian, anna minun mennä minun pääteikkunaa 816 00:33:27,670 --> 00:33:28,110 niin sanoakseni. 817 00:33:28,110 --> 00:33:29,650 Joten tämä musta ja valkoinen ympäristön kutsutaan 818 00:33:29,650 --> 00:33:31,160 pääteikkuna yleisesti. 819 00:33:31,160 --> 00:33:32,600 Anna minun mennä eteenpäin ja kääntää sen. 820 00:33:32,600 --> 00:33:34,440 En aio käyttää kalahtaa, koska tämä ohjelma on 821 00:33:34,440 --> 00:33:36,340 vähän arvoituksellinen ja se tarvitsee eri 822 00:33:36,340 --> 00:33:38,190 kääntäjä, yksi nimeltään GCC. 823 00:33:38,190 --> 00:33:39,200 Mutta se ei sama asia. 824 00:33:39,200 --> 00:33:41,130 Se vie lähdekoodi kohdekoodin. 825 00:33:41,130 --> 00:33:43,940 Ja nyt jos juoksen a.out, että ohjelma 826 00:33:43,940 --> 00:33:46,065 Näin juuri tämä. 827 00:33:49,220 --> 00:33:51,170 Niin, että mies, joka vuonna voittivat kilpailun. 828 00:33:51,170 --> 00:33:54,020 Oli miten oli, emme ole menossa siihen suuntaan, sinänsä. 829 00:33:54,020 --> 00:33:57,400 >> Joten itse yrittää nyt erottaa toisistaan, mitä voimme tehdä 830 00:33:57,400 --> 00:33:59,540 Näiden perusrakenneosia tehdä enemmän ja enemmän 831 00:33:59,540 --> 00:34:00,590 mielenkiintoisia ohjelmia. 832 00:34:00,590 --> 00:34:02,800 Joten olemme kirjoittanut ohjelman, olemme suorita ohjelma. 833 00:34:02,800 --> 00:34:05,780 Nyt voimme todella yksinkertaistaa ja ei enää tarvitse kirjoittaa 834 00:34:05,780 --> 00:34:07,210 sana kalahtaa kehoitteeseen. 835 00:34:07,210 --> 00:34:10,710 On käynyt ilmi, meidän ohjelmat saavat enemmän arvoituksellinen, voimme tai 836 00:34:10,710 --> 00:34:14,699 monimutkaisempia vaan voimme ajaa tämän komennon. 837 00:34:14,699 --> 00:34:17,610 Joten anna minun mennä takaisin kotiini hakemistoon, niin sanotusti, haluan 838 00:34:17,610 --> 00:34:20,750 Poista - rm on poistamiskomento - Menen poistamaan 839 00:34:20,750 --> 00:34:23,060 tiedosto nimeltä a.out ja hei. 840 00:34:23,060 --> 00:34:25,489 Ja nyt huomaan komentoriviltä ympäristön, aivan kuten vuonna 841 00:34:25,489 --> 00:34:27,800 GUI, saat kehotuksen. En voi napsauttaa painiketta vaikka, I 842 00:34:27,800 --> 00:34:31,040 tarvitse kirjoittaa y = kyllä, y kyllä. 843 00:34:31,040 --> 00:34:33,460 Ja nyt jos en kirjoita ls jälleen, huomaa, että nämä vihreät 844 00:34:33,460 --> 00:34:35,469 ohjelmat - a.out ja hei - 845 00:34:35,469 --> 00:34:35,734 ovat poissa. 846 00:34:35,734 --> 00:34:37,340 Varokaa rm. 847 00:34:37,340 --> 00:34:39,739 Se voi tehdä pahoja asioita, kuten voit vetämällä 848 00:34:39,739 --> 00:34:40,810 asioita roskat. 849 00:34:40,810 --> 00:34:43,989 >> Joten nyt mennään eteenpäin - ja voisin tehdä tätä - clang-o 850 00:34:43,989 --> 00:34:45,139 Hei, hei - 851 00:34:45,139 --> 00:34:46,884 Olen jo kyllästynyt kirjoittamalla komennon. 852 00:34:46,884 --> 00:34:48,080 Vaikka olen kirjoittanut sen hiukan nopeasti. 853 00:34:48,080 --> 00:34:51,870 Jotta voimme sen sijaan tehdä tehdä hei. 854 00:34:51,870 --> 00:34:53,880 Joten tee ei kääntäjä. 855 00:34:53,880 --> 00:34:57,720 Se on vain ystävällinen ohjelma, joka tulee Linux, tässä 856 00:34:57,720 --> 00:34:59,070 tapauksessa - käyttöjärjestelmä - 857 00:34:59,070 --> 00:35:02,480 joka automatisoi laadintaprosessin ohjelmia. 858 00:35:02,480 --> 00:35:05,555 Joten sen sijaan muistaa clang-o tiedostonimi ja 859 00:35:05,555 --> 00:35:08,190 Sitten niin edelleen, varsinkin kun nuo rivit pitenevät ja 860 00:35:08,190 --> 00:35:10,110 pidempi, voin vain kirjoittaa tehdä. 861 00:35:10,110 --> 00:35:12,030 Ja tämä tulee sylkemään läjän tavaraa, että 862 00:35:12,030 --> 00:35:13,940 me lopulta nähdä tällä lukukaudella. 863 00:35:13,940 --> 00:35:17,500 Mutta huomaa nyt jos en kirjoita ls, hei on takaisin minun hakemistoon. 864 00:35:17,500 --> 00:35:19,850 Ja todellakin voin ajaa sitä. / Hello. 865 00:35:19,850 --> 00:35:23,330 Joten tee vain automatisoi käynnissä mitä oli, 866 00:35:23,330 --> 00:35:26,910 Tässä tapauksessa, joka on paljon pidempi, monimutkaisempi komento. 867 00:35:26,910 --> 00:35:29,060 Joten aiomme alkaa käyttää valmistajaa, vain koska se on paljon 868 00:35:29,060 --> 00:35:30,530 käyttäjäystävällisempi. 869 00:35:30,530 --> 00:35:32,770 >> Mutta nyt Tehdäänpä mielenkiintoisempi ohjelma 870 00:35:32,770 --> 00:35:34,650 kuin vain sanoa hei. 871 00:35:34,650 --> 00:35:38,680 Joten ohjelmiin olemme kirjoittaneet tähän mennessä siellä on tärkein. 872 00:35:38,680 --> 00:35:40,890 Se on vain oletus asia käynnistymässä kaiken pois. 873 00:35:40,890 --> 00:35:43,340 Mutta on muitakin tehtäviä siellä samoin, ja 874 00:35:43,340 --> 00:35:45,890 stdio.h on asia, näimme yläosassa meidän 875 00:35:45,890 --> 00:35:48,480 tiedosto ennen, ja se mitä kutsutaan standardin kirjastoon. 876 00:35:48,480 --> 00:35:51,300 Sisällä standardin kirjasto on koko joukko toimintoja 877 00:35:51,300 --> 00:35:53,850 että joku muu kirjoitti, ja voimme alkaa käyttää näitä 878 00:35:53,850 --> 00:35:55,050 toimintoja kirjoittaa enemmän 879 00:35:55,050 --> 00:35:56,760 mielenkiintoisia ohjelmia itse. 880 00:35:56,760 --> 00:35:58,370 >> Joten anna minun mennä takaisin laitteeseen. 881 00:35:58,370 --> 00:35:59,820 Aion sulkea tämän pääteikkuna. 882 00:35:59,820 --> 00:36:02,630 Aion sulkea asioita kirjoitti aikaisemmin, ja vain mennä 883 00:36:02,630 --> 00:36:07,350 osaksi hello.c, ja huomaa nyt voin tehdä seuraavasti. 884 00:36:07,350 --> 00:36:09,730 Moikka maailma ei ole kovin kiinnostavaa, haluaisin 885 00:36:09,730 --> 00:36:11,770 mukauttaa tämän ohjelman itselleni. 886 00:36:11,770 --> 00:36:13,440 Joten sen sijaan sanoa maailman, aion 887 00:36:13,440 --> 00:36:14,830 mennä eteenpäin ja sanoa - 888 00:36:14,830 --> 00:36:16,880 Voisin kirjoittaa David - mutta tämä todella on eräänlainen 889 00:36:16,880 --> 00:36:18,050 pohjimmiltaan sama. 890 00:36:18,050 --> 00:36:19,970 Mutta katsotaanpa kokeilla tätä paikkamerkki ajatus. 891 00:36:19,970 --> 00:36:24,460 Muistutan, että C, pikemminkin printf, meillä oli nämä 892 00:36:24,460 --> 00:36:28,110 paikkamerkkejä, ja on enemmän kuin vain% d. 893 00:36:28,110 --> 00:36:31,150 Joten% d oli nopea järki tarkistaa. 894 00:36:31,150 --> 00:36:32,310 Okei, desimaaliluku, se on siinä. 895 00:36:32,310 --> 00:36:33,860 Desimaaliluvut, siinä kaikki. 896 00:36:33,860 --> 00:36:37,755 Joten% C, koska me kohtaavat, tulee olemaan luonteeltaan. 897 00:36:37,755 --> 00:36:40,530 Laita merkki täällä, kirjain Z, 898 00:36:40,530 --> 00:36:41,600 tai välimerkkejä symboli. 899 00:36:41,600 --> 00:36:45,590 Yksikirjaimisia,% f, kukaan tiedä muista kielistä? 900 00:36:45,590 --> 00:36:47,020 Joten Liukulukuarvo. 901 00:36:47,020 --> 00:36:47,880 Reaaliluku. 902 00:36:47,880 --> 00:36:51,550 Joten ei desimaaliluku - tämä on oikeastaan ​​todellinen numeroon 903 00:36:51,550 --> 00:36:54,130 desimaalipilkun, ja jotkut numeroiden vasemmalla 904 00:36:54,130 --> 00:36:55,520 ja oikealla puolella. 905 00:36:55,520 --> 00:36:58,060 % S, merkkijono. 906 00:36:58,060 --> 00:36:59,530 Tuo aiomme nähdä melko usein. 907 00:36:59,530 --> 00:37:02,140 String taas on vain sana, lause, sarja 908 00:37:02,140 --> 00:37:03,330 yksittäisiä merkkejä. 909 00:37:03,330 --> 00:37:06,730 Ja lopuksi, LLD? 910 00:37:06,730 --> 00:37:08,210 Joten tämä on enemmän kulman tapauksessa. 911 00:37:08,210 --> 00:37:09,850 Pitkä, pitkä desimaalin. 912 00:37:09,850 --> 00:37:12,035 Joten jos haluat olla vain numero, tämä iso, 913 00:37:12,035 --> 00:37:14,160 haluavat isompi numero, olet menossa on täsmennettävä, 914 00:37:14,160 --> 00:37:16,400 tietokone, että se on tietyn kokoinen. 915 00:37:16,400 --> 00:37:17,610 >> Joten nipistää tätä hieman. 916 00:37:17,610 --> 00:37:20,610 Sen sijaan vain vaikea koodia David, saanen hieman 917 00:37:20,610 --> 00:37:22,460 dynaamisesti sanovat% s. 918 00:37:22,460 --> 00:37:25,790 Joten laita% s täällä, mikä on paikkamerkki merkkijono. 919 00:37:25,790 --> 00:37:30,500 Sitten haluan tehdä pilkku, ja sitten "David" tänne. 920 00:37:30,500 --> 00:37:32,770 Nyt tämä ei ole kovin älyllisesti kiinnostava, 921 00:37:32,770 --> 00:37:35,060 koska kaikki olen tehnyt nyt todella luoda enemmän työtä 922 00:37:35,060 --> 00:37:35,790 tietokone. 923 00:37:35,790 --> 00:37:39,660 Sen sijaan kertoa tietokone ei tällä kerralla, olen nyt 924 00:37:39,660 --> 00:37:43,760 sanomalla tehdä tämän ja aseta merkkijono täällä lopulta, pilkku, 925 00:37:43,760 --> 00:37:44,950 tässä on se merkkijono. 926 00:37:44,950 --> 00:37:47,220 Joten tämä ei ole paranemisen, mutta se on ainakin 927 00:37:47,220 --> 00:37:49,010 askel kohti entistä mielenkiintoinen ohjelma. 928 00:37:49,010 --> 00:37:51,240 Koska nyt haluan mennä eteenpäin ja tehdä tästä ikkunaa hieman 929 00:37:51,240 --> 00:37:56,850 isompi, anna minun mennä eteenpäin ja suorita make hei. 930 00:37:56,850 --> 00:38:01,340 Ja nyt,. / A.out ei toimi, miksi? 931 00:38:03,880 --> 00:38:05,570 Okei, nyt sitä kutsutaan hei. 932 00:38:05,570 --> 00:38:09,400 Joten jälleen tehdä, ja myös clang kanssa-o, nimeksi 933 00:38:09,400 --> 00:38:11,120 ohjelma olla jotain mielenkiintoista. 934 00:38:11,120 --> 00:38:13,060 Ja voilà: nyt se sanoo hei David. 935 00:38:13,060 --> 00:38:14,590 >> Selvä, vielä tyhmä ohjelma. 936 00:38:14,590 --> 00:38:18,070 Joten nyt mennään todella palata tänne ja esitellä käsite 937 00:38:18,070 --> 00:38:18,810 muuttujan. 938 00:38:18,810 --> 00:38:21,600 Eikö olisi mukavaa, jos voisin julistaa muuttuja 939 00:38:21,600 --> 00:38:23,150 joiden tyyppi on merkkijono? 940 00:38:23,150 --> 00:38:26,720 Ja muuttujan arvon tulee itse käyttäjä 941 00:38:26,720 --> 00:38:27,810 itseään. 942 00:38:27,810 --> 00:38:30,240 Joten mielivaltaisesti, aion soittaa muuttuja s, mikä on 943 00:38:30,240 --> 00:38:32,410 vain yhteinen yleissopimus kun yksi muuttuja nimeltä 944 00:38:32,410 --> 00:38:33,250 merkkijono. 945 00:38:33,250 --> 00:38:35,670 Aion tehdä yhtäläisyysmerkki, ja sitten aion soittaa 946 00:38:35,670 --> 00:38:38,030 toiminto nimeltään GetString. 947 00:38:38,030 --> 00:38:40,830 Joten GetString ei ole jotain, joka tulee rakennettu C. Se 948 00:38:40,830 --> 00:38:43,330 toiminto, joka CS50 henkilökunta kirjoitti, oikeastaan ​​vain 949 00:38:43,330 --> 00:38:45,670 Nämä pari ensimmäistä viikkoa, yksinkertaistaa prosessia 950 00:38:45,670 --> 00:38:49,450 saada käyttäjä syöttää ja saada käyttäjä syöttää muodossa 951 00:38:49,450 --> 00:38:51,960 merkkijonojen tai numeroita, ja tällaisia. 952 00:38:51,960 --> 00:38:55,520 Joten GetString on kuin printf, mutta ilmeisesti pikemminkin kuin 953 00:38:55,520 --> 00:38:58,700 tulosta se tekee mitä sen nimi sanoo, saada merkkijono. 954 00:38:58,700 --> 00:39:00,970 Mutta käyttää GetString, me aiomme pitää tehdä muutoksia 955 00:39:00,970 --> 00:39:03,180 täällä, tätä pidemmälle. 956 00:39:03,180 --> 00:39:07,170 Joten intuitiivisesti, tämä ohjelma, toivottavasti tulee jotenkin 957 00:39:07,170 --> 00:39:09,700 saada merkkijonon käyttäjä, ja sitten mitä se aikoo tehdä 958 00:39:09,700 --> 00:39:11,460 kanssa merkkijono, kutsutaan s? 959 00:39:15,060 --> 00:39:16,470 Se vain menee tulostaa sen, eikö? 960 00:39:16,470 --> 00:39:18,870 Vielä ole stimuloiva ohjelma, koska kaikki se menee 961 00:39:18,870 --> 00:39:22,160 tehdä on plug in, että arvo osaksi jossa% s 962 00:39:22,160 --> 00:39:23,750 sanoo sen pitäisi mennä. 963 00:39:23,750 --> 00:39:25,290 >> Joten ainakin nähdä tässä toiminnassa. 964 00:39:25,290 --> 00:39:27,040 Saanen tallentaa ja loitontaa. 965 00:39:27,040 --> 00:39:30,280 Nyt minun pääteikkunaan tänne, pieni siivu yksi, 966 00:39:30,280 --> 00:39:32,760 saanen eivät tee hei. 967 00:39:32,760 --> 00:39:35,160 Okei, ja ah, pirun, sain koko joukko virheitä. 968 00:39:35,160 --> 00:39:38,020 Saanen vierittää ylös, ja näemme ensin - 969 00:39:38,020 --> 00:39:40,430 joten katsotaanpa todella tehdä tämän vielä suurempi ikkuna, jotta voit 970 00:39:40,430 --> 00:39:42,110 näkee kuinka huonosti Mokasin - 971 00:39:42,110 --> 00:39:44,460 joten varmista Hei. 972 00:39:44,460 --> 00:39:46,540 Okei, se on katastrofi, eikö? 973 00:39:46,540 --> 00:39:48,740 Olen kirjoittanut kolme riviä koodia, ja 974 00:39:48,740 --> 00:39:50,070 Se on antanut minulle 12 virheitä. 975 00:39:50,070 --> 00:39:51,980 Miksi tämä? 976 00:39:51,980 --> 00:39:55,720 Joten onneksi Usein kun näet monia virheitä 977 00:39:55,720 --> 00:39:57,730 sylkee kerralla, se on oikeastaan ​​vain, koska olet 978 00:39:57,730 --> 00:39:59,760 sekoittaa tietokone täällä. 979 00:39:59,760 --> 00:40:02,330 Ja se on edelleen hämmentynyt kun se pääsee tänne. 980 00:40:02,330 --> 00:40:04,400 Ja niin se vain käynnistyy kaatumisen ja kompastelu ja 981 00:40:04,400 --> 00:40:07,310 sylkee enemmän pelottavaa tavaraa kuin todellisuudessa koskee. 982 00:40:07,310 --> 00:40:10,120 Joten yleensä aloita aina alkuun yksi. 983 00:40:10,120 --> 00:40:13,320 >> Joten hyvin alkuun kaikkein esiintymä punainen, 984 00:40:13,320 --> 00:40:14,740 virheilmoitus on tämä. 985 00:40:14,740 --> 00:40:17,750 Käytä pimeän tunnisteen merkkijonon, minä 986 00:40:17,750 --> 00:40:19,160 tarkoittaa vakiona? 987 00:40:19,160 --> 00:40:19,900 En. 988 00:40:19,900 --> 00:40:24,180 Tarkoitin merkkijono, mutta tämä johtuu myös sanajonon 989 00:40:24,180 --> 00:40:26,020 että minun pitää käyttää suullisesti todellisuudessa 990 00:40:26,020 --> 00:40:27,240 ei ole olemassa C joko. 991 00:40:27,240 --> 00:40:29,470 Se on jotain käytämme vain ensimmäisen viikon tai kahden 992 00:40:29,470 --> 00:40:34,500 täällä, mutta se on olemassa tiedosto nimeltä cs50.h. 993 00:40:34,500 --> 00:40:37,110 Joten nyt, tiedän, että on tämä muu kirjasto, joka 994 00:40:37,110 --> 00:40:39,330 Henkilökunta kirjoitti, joten se on kirjoitettu myöhemmin kuin 995 00:40:39,330 --> 00:40:40,510 stdio.h. 996 00:40:40,510 --> 00:40:45,020 Mutta sisällä cs50.h on määritelmä, synonyymi 997 00:40:45,020 --> 00:40:48,310 lajittelee, joka luo tämä sana merkkijono. 998 00:40:48,310 --> 00:40:50,890 >> Joten nyt haluan mennä takaisin minun pääteikkuna. 999 00:40:50,890 --> 00:40:53,200 Aion selvittää tämän koko sotkun by Ctrl-L. Me vain 1000 00:40:53,200 --> 00:40:55,700 pyyhi kaiken puhtaaksi ja aion mennä eteenpäin ja tehdä 1001 00:40:55,700 --> 00:40:57,860 Hei taas, Anna. 1002 00:40:57,860 --> 00:40:59,440 Joten mitä on tapahtunut nyt? 1003 00:40:59,440 --> 00:41:01,150 Nyt kaikki nämä virheet menivät pois. 1004 00:41:01,150 --> 00:41:02,230 Joten mitä olen oikeasti tehnyt? 1005 00:41:02,230 --> 00:41:05,920 Olen juuri opettanut tietokoneen merkkijono olemassa, ja se on 1006 00:41:05,920 --> 00:41:07,890 että tiedosto nimeltä cs50.h. 1007 00:41:07,890 --> 00:41:10,930 Joten lopeta valittaminen, sillä nyt tiedät mistä löytää 1008 00:41:10,930 --> 00:41:13,220 että toiminto vakuutus niin sanotusti. 1009 00:41:13,220 --> 00:41:15,200 Jos se on olemassa maailmassa. 1010 00:41:15,200 --> 00:41:18,820 >> Joten nyt aion mennä eteenpäin ja ajaa hei. 1011 00:41:18,820 --> 00:41:22,300 Tuntuu olevan loputon silmukka, mitään ei tapahdu. 1012 00:41:25,530 --> 00:41:26,870 Joten minun täytyy kirjoittaa jotain, oikealla. 1013 00:41:26,870 --> 00:41:29,650 Ensimmäinen rivi koodia minun ohjelma GetString. 1014 00:41:29,650 --> 00:41:31,750 Joten se on kirjaimellisesti odottaa minua saada merkkijono. 1015 00:41:31,750 --> 00:41:33,680 Joten siinä mielessä kyllä, se on ikuinen silmukka. 1016 00:41:33,680 --> 00:41:36,520 Ilmeisesti GetString on oletusarvoisesti että 1017 00:41:36,520 --> 00:41:37,510 kirjoitti - henkilöstö - 1018 00:41:37,510 --> 00:41:39,550 että sanoo vain odottaa ja odottaa ja odottaa ja odottaa ja odottaa, 1019 00:41:39,550 --> 00:41:42,550 kunnes käyttäjä antaa merkkijonon kirjoittamalla jotain tuumaa 1020 00:41:42,550 --> 00:41:46,000 Joten anna minun mennä eteenpäin ja kirjoita D--v - i-d, Enter. 1021 00:41:46,000 --> 00:41:47,420 Ja siinä se on, hei David. 1022 00:41:47,420 --> 00:41:50,430 >> Nyt tämä kuulostaa se vain teko? 1023 00:41:50,430 --> 00:41:52,810 Anna minun mennä eteenpäin ja kirjoita Tommy. 1024 00:41:52,810 --> 00:41:54,740 Anna, okei, tuntuu toimivan. 1025 00:41:54,740 --> 00:41:59,130 Toimii Rob, toimii Zamyla, toimii - okei. 1026 00:41:59,130 --> 00:42:01,000 Niin se menee töihin, todennäköisesti. 1027 00:42:01,000 --> 00:42:05,030 Joten se pitäisi tulostaa mitä me oikeastaan ​​antaa sille, 1028 00:42:05,030 --> 00:42:07,830 ja voimme olla hieman vaikeaa täällä. 1029 00:42:07,830 --> 00:42:12,130 Katsotaan jos teemme jotain hei. 1030 00:42:12,130 --> 00:42:18,000 Voi mennä tänne, katsotaanpa, kopioida, liittää. 1031 00:42:18,000 --> 00:42:19,950 En aio pystyä liitä että monta kertaa täällä. 1032 00:42:19,950 --> 00:42:24,410 Liitä, okei, Shift + Ctrl + V. Joten mikä voisi 1033 00:42:24,410 --> 00:42:26,970 käydä niin, että on paha täällä? 1034 00:42:26,970 --> 00:42:27,770 >> Okei, segfaults. 1035 00:42:27,770 --> 00:42:29,710 Joten jotkut teistä etukäteen taustat tietää, että 1036 00:42:29,710 --> 00:42:32,710 yleensä, jolloin tietokoneet paljon panoksia, kun he 1037 00:42:32,710 --> 00:42:36,140 luultavasti ei ole tarkoitus saada pitkiä nimiä kuten tämä - huono 1038 00:42:36,140 --> 00:42:36,740 asioita tapahtuu. 1039 00:42:36,740 --> 00:42:39,230 Itse asiassa maailmassa web, myös tämä tapahtuu melko vähän, 1040 00:42:39,230 --> 00:42:41,000 jolloin kun olet suunnittelemalla verkkosivuilla, kun olet 1041 00:42:41,000 --> 00:42:43,850 suunnittelu Facebook, sinun täytyy tehdä mielivaltaisia ​​päätöksiä up 1042 00:42:43,850 --> 00:42:45,370 edessä, kuten kuinka kauan joku 1043 00:42:45,370 --> 00:42:46,360 Facebook käyttäjätunnus olla? 1044 00:42:46,360 --> 00:42:48,050 Tai kuinka kauan jonkun etunimen? 1045 00:42:48,050 --> 00:42:50,110 Kuinka kauan jonkun puhelinnumeron olla ja vastaavat. 1046 00:42:50,110 --> 00:42:53,580 Ja jos ohjelmoijat tekevät huonoja oletuksia ohjelmat rikkoa 1047 00:42:53,580 --> 00:42:56,640 koska yrität antaa heille enemmän lähtö, enemmän panosta 1048 00:42:56,640 --> 00:42:58,330 pikemminkin kuin ne ovat muistissa. 1049 00:42:58,330 --> 00:43:01,860 Tai RAM varattu sitä, joten jos nyt osuin Enter, 1050 00:43:01,860 --> 00:43:04,640 että ohjelma todella toimi, koska olimme kirjastossa 1051 00:43:04,640 --> 00:43:06,790 ja oikeastaan ​​odotettavissa tässä tapauksessa. 1052 00:43:06,790 --> 00:43:10,900 Mutta epäilemättä tämä lukukausi, voit kirjoittaa vähintään yhden 1053 00:43:10,900 --> 00:43:13,280 ohjelma, sanovat nämä sanat. 1054 00:43:13,280 --> 00:43:16,520 Muista tämä viikon päästä, ehkä kaksi päivää nyt. 1055 00:43:16,520 --> 00:43:18,760 Segmentointi vika on huono asia. 1056 00:43:18,760 --> 00:43:21,920 Se viittaa sinun tehdä jotain, että tietokone 1057 00:43:21,920 --> 00:43:23,310 ei ennakoida. 1058 00:43:23,310 --> 00:43:25,810 Ja siinä tapauksessa, te, ohjelmoija, ei ennakoida. 1059 00:43:25,810 --> 00:43:27,720 Paljon kuin mitä tämä kasa sukkia, oli eri 1060 00:43:27,720 --> 00:43:29,520 rajatapauksissa olisimme kohdanneet. 1061 00:43:29,520 --> 00:43:32,340 Samoin ohjelmissa jos et ennakoida kuinka kauan 1062 00:43:32,340 --> 00:43:33,310 joku nimi tulee olemaan. 1063 00:43:33,310 --> 00:43:35,890 Tai mitä jos minulla on pahantahtoinen käyttäjä, ja hänen nimensä on 1064 00:43:35,890 --> 00:43:37,230 oikeastaan ​​aika lyhyt, mutta he vain yrittävät 1065 00:43:37,230 --> 00:43:37,960 sotkea minua? 1066 00:43:37,960 --> 00:43:40,490 Mitä tulee olemaan käyttäytymistä minun ohjelma? 1067 00:43:40,490 --> 00:43:43,930 No, siinä tapauksessa, jotain voisi todella kaatua. 1068 00:43:43,930 --> 00:43:44,750 >> Joten tehdään tämä. 1069 00:43:44,750 --> 00:43:46,860 90 minuutissa, tämä on hirvittävän kauan 1070 00:43:46,860 --> 00:43:47,780 tehdä tietojenkäsittelytiede. 1071 00:43:47,780 --> 00:43:49,550 Miksi emme päästä tapana ottaa viiden minuutin 1072 00:43:49,550 --> 00:43:51,520 murtaa täällä, ja kun palaamme, me sukeltaa joitakin 1073 00:43:51,520 --> 00:43:53,430 monimutkaisempia ja pakottavia ohjelmia? 1074 00:43:53,430 --> 00:43:54,680 Viisi minuuttia. 1075 00:43:56,910 --> 00:43:58,160 >> Selvä. 1076 00:44:01,138 --> 00:44:02,780 Joten kommentoida lyhyesti. 1077 00:44:02,780 --> 00:44:05,590 Olen kuullut, että vaikka tämä oli näytössä ennen, mitä 1078 00:44:05,590 --> 00:44:08,880 tuli suustani oli cs50.net/rsvp. 1079 00:44:08,880 --> 00:44:11,670 Tämä on oikea. cs50.net/lunch. 1080 00:44:11,670 --> 00:44:16,030 Joten nyt voit kokeilla RSVPing tämän osoitteessa / lounaalla. 1081 00:44:16,030 --> 00:44:16,980 Mutta tehdään tämä nyt. 1082 00:44:16,980 --> 00:44:20,150 Joten tämä on ollut erittäin nopeaa, super uutta paljon ihmiset. 1083 00:44:20,150 --> 00:44:21,560 Vanha hattu joitakin ihmisiä. 1084 00:44:21,560 --> 00:44:24,930 Joten kelata vain hetken, ja miten saimme 1085 00:44:24,930 --> 00:44:29,350 Tämän hello world lähdön hetki sitten. 1086 00:44:29,350 --> 00:44:31,780 >> Joten ensimmäinen, on tämä CS50 Appliance. 1087 00:44:31,780 --> 00:44:34,270 Jälleen ohjelmisto, ongelma asettaa 1 aikoo kertoa 1088 00:44:34,270 --> 00:44:36,610 miten ladata sitä, missä ladata sen, mitä sitten 1089 00:44:36,610 --> 00:44:37,430 ja niin edelleen. 1090 00:44:37,430 --> 00:44:39,670 Ja sitten kun noudatat näitä ohjeita, voit 1091 00:44:39,670 --> 00:44:42,840 maksimoida ikkunan, ja Mac tai PC näyttää 1092 00:44:42,840 --> 00:44:43,910 vähän jotain tällaista. 1093 00:44:43,910 --> 00:44:47,170 Musta tausta, kotikansio yläosassa, jossa kaikki 1094 00:44:47,170 --> 00:44:49,850 tiedostot menevät, roskakori vasemmassa yläkulmassa, 1095 00:44:49,850 --> 00:44:51,130 Valikon alaosassa. 1096 00:44:51,130 --> 00:44:54,010 Joten jälleen, melko samanlainen henki Mac OS tai Windows- 1097 00:44:54,010 --> 00:44:56,040 vaikka se sattuu olemaan Linux. 1098 00:44:56,040 --> 00:44:58,120 Joten mitä me seuraavaksi tehdä? 1099 00:44:58,120 --> 00:44:59,580 No, aloimme kirjoittaa ohjelmia. 1100 00:44:59,580 --> 00:45:02,260 Ja muistamme viime viikolla, että kaikki se kestää kirjoittaa 1101 00:45:02,260 --> 00:45:04,970 Ohjelma on yksinkertainen tekstieditori, 1102 00:45:04,970 --> 00:45:06,550 kuten Muistiossa tai TextEdit. 1103 00:45:06,550 --> 00:45:08,360 Suoraan sanottuna, voit jopa käyttää Microsoft Word. 1104 00:45:08,360 --> 00:45:11,170 Mutta pahoja asioita lopulta tapahtuu, koska se on hyvin 1105 00:45:11,170 --> 00:45:13,930 kovaotteinen ratkaisu ohjelman kirjoittaminen plus se will 1106 00:45:13,930 --> 00:45:15,400 tallentaa sen väärässä tiedostomuodossa. 1107 00:45:15,400 --> 00:45:18,150 Mutta se on vain tekstieditori, tekstinkäsittelyohjelma, on kaikki se 1108 00:45:18,150 --> 00:45:19,390 Tarvitaan kirjoittaa ohjelman. 1109 00:45:19,390 --> 00:45:23,420 >> Joten CS50 Appliance, voimme tehdä tämän yhdellä yksinkertaisella tavalla. 1110 00:45:23,420 --> 00:45:25,580 Voimme klikkaa kuvaketta alhaalla vasemmalla. 1111 00:45:25,580 --> 00:45:28,790 Ja vielä, ongelma asettaa 1 neuvoo tätä, ja voilà - 1112 00:45:28,790 --> 00:45:31,210 saat tämän mustavalkoinen käyttöliittymä, jossa voimme aloittaa 1113 00:45:31,210 --> 00:45:32,160 kirjoittaa koodia. 1114 00:45:32,160 --> 00:45:34,960 Joten ala kirjoittaa erittäin yksinkertainen ohjelma uudelleen. 1115 00:45:34,960 --> 00:45:38,890 Aion mennä jopa Tiedosto, Tallenna ja aion soittaa 1116 00:45:38,890 --> 00:45:42,870 Tämän sanotaan, hello2.c. 1117 00:45:42,870 --> 00:45:45,410 Ja olen vain kertoa sitä klikkaamalla jharvard, laita se 1118 00:45:45,410 --> 00:45:46,750 sen kotihakemistoon, en todellakaan välitä 1119 00:45:46,750 --> 00:45:47,980 jos tämä menee. 1120 00:45:47,980 --> 00:45:49,090 Ja sitten Tallenna. 1121 00:45:49,090 --> 00:45:50,880 Ja nyt voin aloittaa kirjallisesti oman ohjelman. 1122 00:45:50,880 --> 00:45:53,560 Ja muistan aiemmin, että minun täytyy kirjoittaa int 1123 00:45:53,560 --> 00:45:55,400 main (void). 1124 00:45:55,400 --> 00:45:57,000 Suurenna päälle vasemmalla. 1125 00:45:57,000 --> 00:46:02,670 Ja sitten haluan sanoa printf, ottaa kaksi. 1126 00:46:02,670 --> 00:46:05,690 Ja nyt rivinvaihto, tiivistä lainaus, sulje 1127 00:46:05,690 --> 00:46:07,820 sulkeisiin, puolipiste. 1128 00:46:07,820 --> 00:46:10,560 Ja sitten minä menen tänne minun pääteikkunassa se 1129 00:46:10,560 --> 00:46:12,840 upotettu gedit, vain mukavuussyistä. 1130 00:46:12,840 --> 00:46:15,200 Ja aion mennä eteenpäin ja kirjoittamaan tehdä hei, mutta ei 1131 00:46:15,200 --> 00:46:17,500 Hei yksin, hello2. 1132 00:46:17,500 --> 00:46:20,490 >> Joten minun tiedoston nimi hello2.c. My tiedosto siis 1133 00:46:20,490 --> 00:46:23,510 pitäisi kutsua hello2, tässä tapauksessa. 1134 00:46:23,510 --> 00:46:26,490 Hemmetti, mitä tein väärin? 1135 00:46:26,490 --> 00:46:29,490 Selvä, joten olen selkeästi pois linja, jos muistatte, mitä 1136 00:46:29,490 --> 00:46:31,020 aikaisemmista ohjelmista näyttää. 1137 00:46:31,020 --> 00:46:32,480 Mutta katsotaanpa jos emme kiusaa tätä toisistaan. 1138 00:46:32,480 --> 00:46:35,310 Valitettavasti useimmat ihmiset, jotka kirjoittavat ohjelmia, jotka 1139 00:46:35,310 --> 00:46:38,820 kirjoitamme ohjelmat eivät yksinkertaistaa asioita kovinkaan hyvin. 1140 00:46:38,820 --> 00:46:41,520 Joten meillä on sellainen silmäillä mitä ei aivan tee 1141 00:46:41,520 --> 00:46:44,050 aistia tänne ja katso jos voimme selvittää, mikä on vialla. 1142 00:46:44,050 --> 00:46:46,700 Aivan ensimmäinen rivi siellä sanoo epäsuorasti julistamisesta C 1143 00:46:46,700 --> 00:46:49,310 kirjaston funktion printf tyypin int. 1144 00:46:49,310 --> 00:46:51,210 OK, ymmärsin osa sitä. 1145 00:46:51,210 --> 00:46:54,570 Mutta näyttää viittaavan siihen, että käytin printf 1146 00:46:54,570 --> 00:46:55,700 väärin, jotenkin. 1147 00:46:55,700 --> 00:46:56,930 Ja mitä järkeä on väärin? 1148 00:46:56,930 --> 00:46:59,970 En vain opettaa tietokoneen se on tiedoston 1149 00:46:59,970 --> 00:47:01,420 kutsutaan stdio.h. 1150 00:47:01,420 --> 00:47:04,120 Nyt minun on vain juuri muistaa nyt, että printf on 1151 00:47:04,120 --> 00:47:06,540 vuonna stdio.h, ja todellakin siellä tulee olla muita 1152 00:47:06,540 --> 00:47:08,900 toimii saman tiedoston me tottua. 1153 00:47:08,900 --> 00:47:12,490 >> Joten nyt haluan mennä eteenpäin ja paina Ctrl-L vain selvää, että 1154 00:47:12,490 --> 00:47:16,050 pois, uusinta tee hello2, ja voila. 1155 00:47:16,050 --> 00:47:19,490 Ja tämä komento uudelleen, monimutkaisempi kuin me kerromme varten 1156 00:47:19,490 --> 00:47:20,520 nykypäivän tarkoituksiin. 1157 00:47:20,520 --> 00:47:23,570 Mutta se ei suorita kalahtaa, ja sointi vie lähdekoodia ja 1158 00:47:23,570 --> 00:47:24,870 sylkee 0s ja 1s. 1159 00:47:24,870 --> 00:47:28,610 Ja ne 0s ja 1s tässä tapauksessa kutsutaan mitä? 1160 00:47:28,610 --> 00:47:29,470 Okei, kohdekoodilla. 1161 00:47:29,470 --> 00:47:32,210 Ja tiedosto he ovat kutsutaan, niin, 1162 00:47:32,210 --> 00:47:33,820 hello2, tässä tapauksessa. 1163 00:47:33,820 --> 00:47:37,040 Koska minun tekstitiedosto oli hello2.c, Enter. 1164 00:47:37,040 --> 00:47:39,820 Ja nyt olen ottaa kaksi huutomerkki, huutomerkki 1165 00:47:39,820 --> 00:47:41,880 piste, huutomerkki. 1166 00:47:41,880 --> 00:47:45,430 Selvä, joten meillä on nyt mahdollisuus saada jouset, 1167 00:47:45,430 --> 00:47:46,280 ilmeisesti. 1168 00:47:46,280 --> 00:47:48,190 No, mitä muuta voimme saada käyttäjiltä? 1169 00:47:48,190 --> 00:47:51,010 >> Hyvin CS50 kirjastossa, siellä on muita toimintoja, jotka 1170 00:47:51,010 --> 00:47:53,300 menossa yksinkertaistaa elämäämme näinä ensimmäisinä päivinä. 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 No, katsotaanpa nyppiä pois helpoin näistä ensimmäinen. 1174 00:47:59,550 --> 00:48:01,430 GetString kirjaimellisesti tekee sen. 1175 00:48:01,430 --> 00:48:04,210 Se vain istuu siellä odottamassa käyttäjä kirjoittaa jotain, 1176 00:48:04,210 --> 00:48:07,170 ja heti kun kirjoitat jotain ja Enter, se 1177 00:48:07,170 --> 00:48:08,860 tekee jotain tämän arvon. 1178 00:48:08,860 --> 00:48:11,700 Mennään takaisin että esimerkiksi nähdä, mitä 1179 00:48:11,700 --> 00:48:12,950 GetString teki. 1180 00:48:12,950 --> 00:48:17,445 Anna minun mennä eteenpäin ja avata vuonna gedit, hello.c ja muistuttaa 1181 00:48:17,445 --> 00:48:20,590 että juuri ennen taukoa, tämä on mihin jäimme. 1182 00:48:20,590 --> 00:48:23,240 >> Joten nyt kiusaa tällä toisistaan ​​hieman tarkemmin. 1183 00:48:23,240 --> 00:48:27,190 Joten rivillä 6, siellä on kaksi asiaa 1184 00:48:27,190 --> 00:48:28,450 tällä hetkellä tapahtuu. 1185 00:48:28,450 --> 00:48:32,630 Yhtäläisyysmerkki on erottaa alkupuoliskolla ja toinen puoli. 1186 00:48:32,630 --> 00:48:34,670 Joten vasemmalla puolella yhtäläisyysmerkki, olemme 1187 00:48:34,670 --> 00:48:35,580 sanomalla merkkijono s. 1188 00:48:35,580 --> 00:48:37,580 Ja sitten, aivan Maallikon termein, mikä on merkkijono s 1189 00:48:37,580 --> 00:48:41,040 teet, luulet? 1190 00:48:41,040 --> 00:48:42,990 Se luo mitä? 1191 00:48:42,990 --> 00:48:44,930 Joten se luo merkkijono nimeltä s. 1192 00:48:44,930 --> 00:48:46,370 Nyt mitä se oikeastaan ​​tarkoittaa? 1193 00:48:46,370 --> 00:48:51,540 No, se on varata tilaa merkkijonon nimeltä s. 1194 00:48:51,540 --> 00:48:52,490 Se ei ole aivan oikeassa. 1195 00:48:52,490 --> 00:48:53,120 Mitä tämä tekee? 1196 00:48:53,120 --> 00:48:55,400 No tietokoneita, kuten tiedätte, on kiintolevyt, siitähän 1197 00:48:55,400 --> 00:48:56,300 tiedostot tallennetaan. 1198 00:48:56,300 --> 00:48:59,100 Tietokoneet ovat RAM, ja se jos ohjelmat on ladattu 1199 00:48:59,100 --> 00:49:00,240 kun ne ovat käytössä. 1200 00:49:00,240 --> 00:49:02,470 Joten kun kaksoisnapsauttamalla kuvaketta ja Microsoft Word avaa 1201 00:49:02,470 --> 00:49:06,380 ylös, Microsoft Word on käynnissä, niin sanotusti, RAM, joka on 1202 00:49:06,380 --> 00:49:08,160 elektronisen tietokoneen osa. 1203 00:49:08,160 --> 00:49:10,660 Ei fyysinen, mekaaninen osa, joka on spinning, jossa 1204 00:49:10,660 --> 00:49:12,640 data tallennetaan yleensä pitkällä aikavälillä. 1205 00:49:12,640 --> 00:49:15,810 Joten merkkijono s on melko paljon kertoo tietokoneen antaa minulle 1206 00:49:15,810 --> 00:49:18,150 tarpeeksi keskusmuistia mahtuu merkkijono. 1207 00:49:18,150 --> 00:49:20,450 Nyt se on vähän liian yksinkertaistava, koska 1208 00:49:20,450 --> 00:49:22,300 kuinka suuri on merkkijono aiotaan? 1209 00:49:22,300 --> 00:49:24,410 No emme oikeastaan ​​tiedä vielä, joten lähiviikkoina 1210 00:49:24,410 --> 00:49:27,290 me oikeastaan ​​vetää kerros, joka on merkkijono ja 1211 00:49:27,290 --> 00:49:28,510 me kerromme mitä se todella on. 1212 00:49:28,510 --> 00:49:31,050 String, nyt on vain mukava yksinkertaistamista maailmamme. 1213 00:49:31,050 --> 00:49:35,700 Mutta merkkijono s julistaa merkkijono nimeltä s, nyt. 1214 00:49:35,700 --> 00:49:36,520 Julistaa merkkijono. 1215 00:49:36,520 --> 00:49:39,310 Se pidättää joitakin tilaa RAM merkkijono käyttäjä on 1216 00:49:39,310 --> 00:49:40,150 noin kirjoittaa. 1217 00:49:40,150 --> 00:49:41,840 >> Nyt katsokaamme oikeaan yhtäläisyysmerkin. 1218 00:49:41,840 --> 00:49:44,110 Niin se sanoo GetString (). 1219 00:49:44,110 --> 00:49:45,070 Ja pieni järki tarkistaa. 1220 00:49:45,070 --> 00:49:47,940 Se, että ei ole mitään sisällä suluissa 1221 00:49:47,940 --> 00:49:50,810 merkitsee entä GetString? 1222 00:49:50,810 --> 00:49:52,180 Siinä ei argumentteja. 1223 00:49:52,180 --> 00:49:55,290 Eli et voi vaikuttaa sen käyttäytymiseen millään tavalla. 1224 00:49:55,290 --> 00:49:58,940 Joka kerta kun käyttää sitä, se saa merkkijono ja se on siinä. 1225 00:49:58,940 --> 00:50:02,210 Sen sijaan, printf, toivottavasti sen käyttäytyminen ei 1226 00:50:02,210 --> 00:50:03,010 muuttaa joka kerta. 1227 00:50:03,010 --> 00:50:05,230 Muuten, se on melko hyödytön tulostusta, jos 1228 00:50:05,230 --> 00:50:06,480 se ei sama asia. 1229 00:50:06,480 --> 00:50:07,970 Jos se tulostuu aina David tai jotain 1230 00:50:07,970 --> 00:50:09,500 mielivaltainen koko ajan. 1231 00:50:09,500 --> 00:50:11,540 Joten printf järkevää olla argumentti. 1232 00:50:11,540 --> 00:50:14,240 GetString ei todellakaan tarvitse argumentti, koska halusin 1233 00:50:14,240 --> 00:50:16,700 saada merkkijonon käyttäjä ja se on käyttäjä, joka menee 1234 00:50:16,700 --> 00:50:19,580 toimittaa dynaamisuutta kirjoittamalla eri kirjaimia 1235 00:50:19,580 --> 00:50:20,850 joka kerta näppäimistöllä. 1236 00:50:20,850 --> 00:50:23,140 >> Joten mitä GetString eivät lopulta? 1237 00:50:23,140 --> 00:50:25,080 Ajattele sitä tällä pieni musta laatikko. 1238 00:50:25,080 --> 00:50:29,340 Ja tämä musta laatikko ei ota syöttää, mutta kun lyö 1239 00:50:29,340 --> 00:50:33,240 , se sylkee merkkijono, jonka käyttäjä on kirjoittanut tuumaa 1240 00:50:33,240 --> 00:50:36,660 Ja että siellä on yhtäläisyysmerkki siellä tarkoittaa toteuttaa 1241 00:50:36,660 --> 00:50:39,890 mitä sylkemään oikealla ja säilytä se sisällä 1242 00:50:39,890 --> 00:50:41,390 mitä vasemmalla. 1243 00:50:41,390 --> 00:50:43,470 Joten yhtäläisyysmerkki täällä, se tosiasiassa ei tarkoita 1244 00:50:43,470 --> 00:50:46,490 tasa-arvo, se pikemminkin teknisesti tarkoittaa tehtävän. 1245 00:50:46,490 --> 00:50:49,330 Ole arvo oikealla, ja laita se 1246 00:50:49,330 --> 00:50:51,050 muuttuja vasemmalla. 1247 00:50:51,050 --> 00:50:52,820 Niin, että kaikki mitä siellä tapahtuu. 1248 00:50:52,820 --> 00:50:55,640 >> Nyt linja 7, me soittaa printf. 1249 00:50:55,640 --> 00:50:58,170 Joten printf toivottavasti on tulossa hieman tylsää nyt. 1250 00:50:58,170 --> 00:50:59,530 Joten tulostaa muotoillun merkkijono. 1251 00:50:59,530 --> 00:51:00,440 Mitä merkkijono? 1252 00:51:00,440 --> 00:51:05,460 Tulosta ", 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 Selvä, joten mitä haluan plug-in% s? 1255 00:51:10,470 --> 00:51:12,960 Kirjaimellisesti, mitä tallennetaan s. 1256 00:51:12,960 --> 00:51:15,570 Eli tässä tapauksessa pieni järki tarkistaa, kuinka monta argumenttia ei 1257 00:51:15,570 --> 00:51:16,820 printf kestää? 1258 00:51:19,860 --> 00:51:21,110 Okei, olen kuullut erään. 1259 00:51:23,840 --> 00:51:26,330 Kuulin taas yhdeksi. 1260 00:51:26,330 --> 00:51:27,730 Kaksi, kuulin kaksi. 1261 00:51:27,730 --> 00:51:29,920 Ja miten noin kolme? 1262 00:51:29,920 --> 00:51:30,450 Okei, kolme? 1263 00:51:30,450 --> 00:51:30,930 Erinomainen. 1264 00:51:30,930 --> 00:51:33,170 Kolme mahdollista vastausta, vain yksi niistä on oikea. 1265 00:51:33,170 --> 00:51:36,390 Joten väitteet jälleen vaikuttaa käyttäytymiseen funktion. 1266 00:51:36,390 --> 00:51:39,380 Aikaisemmin printf ei vain ottaa yksi argumentti. 1267 00:51:39,380 --> 00:51:42,260 "Hello World" oli yhden argumentin. 1268 00:51:42,260 --> 00:51:45,190 Kuitenkin nyt, huomaa jos pilkku on. 1269 00:51:45,190 --> 00:51:49,600 Tämä pilkku on ulkopuolella lainaus / lainaus päättyy, mikä tarkoittaa 1270 00:51:49,600 --> 00:51:52,170 hei printf, tässä tulee toinen argumentti. 1271 00:51:52,170 --> 00:51:54,240 >> Joten pilkkuja useimmissa ohjelmointikielissä 1272 00:51:54,240 --> 00:51:57,300 Erota argumentteja. 1273 00:51:57,300 --> 00:51:59,600 Joten vastaus tähän ei todellakaan ole yksi, koska 1274 00:51:59,600 --> 00:52:00,390 on tämä pilkku. 1275 00:52:00,390 --> 00:52:03,680 Niin vähän, printf on ilmeisesti ottamalla kaksi 1276 00:52:03,680 --> 00:52:04,940 väitteet tällä kertaa. 1277 00:52:04,940 --> 00:52:07,050 Mutta mahdollisuus temppu kysymys tässä on, mitä 1278 00:52:07,050 --> 00:52:07,990 tästä pilkku? 1279 00:52:07,990 --> 00:52:11,260 Tarkoittaako tämä sitä, että on olemassa oikeastaan ​​kolme argumentteja? 1280 00:52:11,260 --> 00:52:13,820 Tämä, tämä, ja tämä. 1281 00:52:13,820 --> 00:52:18,820 Joten ei, koska se pilkku on sisällä lainauksia, jotka 1282 00:52:18,820 --> 00:52:20,890 tarkoittaa se on oikeastaan ​​vain esteettinen Englanti. 1283 00:52:20,890 --> 00:52:23,180 Sillä ei ole mitään tekemistä määrän 1284 00:52:23,180 --> 00:52:24,890 argumentteja tässä ohjelmassa. 1285 00:52:24,890 --> 00:52:27,670 Joten tämä pilkku on ulkopuolella lainausmerkkeihin. 1286 00:52:27,670 --> 00:52:28,850 Ja palaa sitten 0. 1287 00:52:28,850 --> 00:52:30,980 Nyt mennään vain eräänlainen ottaa tämä yksi uskossa 1288 00:52:30,980 --> 00:52:34,460 tänään, ja juuri tietää, että kun toiminnot tehdään täytäntöönpanovaltion 1289 00:52:34,460 --> 00:52:37,950 koodiriviä, ne tulee yleensä palauttaa jotain arvoa. 1290 00:52:37,950 --> 00:52:42,010 Tässä tapauksessa vain koska tärkein on palautettava int- 1291 00:52:42,010 --> 00:52:44,320 se on vain tapa kieli C toimii. 1292 00:52:44,320 --> 00:52:47,040 >> Joten koska mitään meni pieleen, tuntuu tämä ohjelman 1293 00:52:47,040 --> 00:52:49,960 hienoa, olen vain kova koodattu vastineeksi 0. 1294 00:52:49,960 --> 00:52:52,980 Mutta toisin, ja aion kirjoittaa tähän välikoodissa 1295 00:52:52,980 --> 00:52:55,020 nyt, aivan kuten Joosef teki, kun teimme sukka 1296 00:52:55,020 --> 00:52:56,220 Esimerkiksi viime viikolla. 1297 00:52:56,220 --> 00:53:00,440 Jos jotain meni pieleen - tämä ei ole varsinainen koodi - meni 1298 00:53:00,440 --> 00:53:06,570 väärin, palaa, sanotaanko, 1. 1299 00:53:06,570 --> 00:53:08,770 Else return 0. 1300 00:53:08,770 --> 00:53:10,070 Joten tämä on, jos menemme tähän. 1301 00:53:10,070 --> 00:53:12,090 Tämä ei ole varsinainen C-koodia, vain pseudokoodilla. 1302 00:53:12,090 --> 00:53:14,010 Mutta näin voit palata 1303 00:53:14,010 --> 00:53:15,580 erilaisia ​​mahdollisia arvoja. 1304 00:53:15,580 --> 00:53:19,520 Mutta nyt olen vain mennä eteenpäin ja palata 0. 1305 00:53:19,520 --> 00:53:24,410 Selvä, kysyttävää tähän mennessä on syntaksi, toiminnallisuus, 1306 00:53:24,410 --> 00:53:25,000 tai vastaavaa? 1307 00:53:25,000 --> 00:53:26,280 Niin, takaisin. 1308 00:53:26,280 --> 00:53:27,530 >> YLEISÖ: [kuulumattomissa] 1309 00:53:30,510 --> 00:53:32,210 DAVID MALAN: Voitko puhua hieman kovempaa? 1310 00:53:32,210 --> 00:53:34,325 Miksi tämä ohjelma return 0, ja? 1311 00:53:34,325 --> 00:53:35,575 YLEISÖ: [kuulumattomissa] 1312 00:53:39,910 --> 00:53:43,450 DAVID MALAN: Sepä koska sain laiska, anteeksi. 1313 00:53:43,450 --> 00:53:48,290 Ei hyvä akateeminen vastausta, palaa 0. 1314 00:53:48,290 --> 00:53:52,690 Voin tavallaan pelastaa tämän sanomalla teknisesti C, jos tärkeimmät 1315 00:53:52,690 --> 00:53:55,900 ei nimenomaisesti palauta arvo, 0 palautetaan 1316 00:53:55,900 --> 00:53:57,730 automaattisesti. 1317 00:53:57,730 --> 00:54:00,290 Mikä on totta, en vain peittelyyn. 1318 00:54:00,290 --> 00:54:03,270 Mutta minun olisi pitänyt tehdä sitä tällä tavalla. 1319 00:54:03,270 --> 00:54:05,250 Ei mielenkiintoista takeaway kuin muu kuin minun virhe. 1320 00:54:05,250 --> 00:54:06,170 Niin? 1321 00:54:06,170 --> 00:54:08,470 >> YLEISÖ: Yleensä kun kirjoitat mitätön, se tarkoittaa, että olet 1322 00:54:08,470 --> 00:54:10,770 eivät palaa jotain. 1323 00:54:10,770 --> 00:54:11,420 DAVID MALAN: Oikea. 1324 00:54:11,420 --> 00:54:15,800 Jos sen sijaan voit määrittää ennen nimen toiminto, 1325 00:54:15,800 --> 00:54:18,590 Esimerkiksi täällä, mitätön, niin funktio 1326 00:54:18,590 --> 00:54:20,480 ei palauta mitään. 1327 00:54:20,480 --> 00:54:25,210 Ja siksi haluaisin vain sanoa, paluu tai ei mitään, 1328 00:54:25,210 --> 00:54:26,730 ja se olisi johdonmukainen. 1329 00:54:26,730 --> 00:54:27,750 Ja Palaamme tähän. 1330 00:54:27,750 --> 00:54:31,030 Ja vain FYI, yksi saaliiden oppimisvaikeuksista 1331 00:54:31,030 --> 00:54:33,450 ohjelmointi maailmassa, joka on satoja kirjoja ja 1332 00:54:33,450 --> 00:54:36,180 satoja sivustoja siellä on tulet aina 1333 00:54:36,180 --> 00:54:38,220 Katso eri syntaksin eri kirjoista 1334 00:54:38,220 --> 00:54:40,220 eri ihmiset. 1335 00:54:40,220 --> 00:54:42,100 Toteuta me teemme parhaamme kohdissa ja luentoja olla 1336 00:54:42,100 --> 00:54:42,960 johdonmukainen. 1337 00:54:42,960 --> 00:54:46,660 Mutta joskus näet ristiriitaisia ​​syntaksi. 1338 00:54:46,660 --> 00:54:48,540 Joten jos olet epävarma, kysy. 1339 00:54:48,540 --> 00:54:51,100 Ja yleisesti, me hoidamme luentoihin ja osioita 1340 00:54:51,100 --> 00:54:53,710 melkein aina esittää sen oikealla tavalla. 1341 00:54:53,710 --> 00:54:56,070 Ja minä sanon melkein aina, koska esillä olevassa asiassa. 1342 00:54:56,070 --> 00:54:56,860 Muita kysymyksiä? 1343 00:54:56,860 --> 00:55:01,590 >> YLEISÖ: Onko% s ulkopuolella olevia laitetta? 1344 00:55:01,590 --> 00:55:03,710 DAVID MALAN: Onko% s olemassa ulkopuolella laitteen? 1345 00:55:03,710 --> 00:55:04,180 Kyllä. 1346 00:55:04,180 --> 00:55:07,760 Joten% s on tekemistä sen kanssa C. Se, että käytämme sitä 1347 00:55:07,760 --> 00:55:10,290 Laitteen pohjimmiltaan ole mitään tekemistä 1348 00:55:10,290 --> 00:55:12,080 piirteet kielen käytämme. 1349 00:55:12,080 --> 00:55:15,990 Todellakin, viime viikolla, kun käytimme minun Mac, kirjoitin 1350 00:55:15,990 --> 00:55:17,160 C-koodin Macin. 1351 00:55:17,160 --> 00:55:20,020 Olisin voinut käyttää% s Macin, ja voit käyttää sitä 1352 00:55:20,020 --> 00:55:22,400 Windows-tietokoneen, jos asennat kääntäjä, kuten 1353 00:55:22,400 --> 00:55:24,070 Visual Studio Microsoft. 1354 00:55:24,070 --> 00:55:24,990 Joten% s. 1355 00:55:24,990 --> 00:55:27,860 Kaikki me teemme sisällä ikkunan tänään on 1356 00:55:27,860 --> 00:55:31,140 tehdä C. Ja pohjimmiltaan mitään tekemistä 1357 00:55:31,140 --> 00:55:33,450 käyttöjärjestelmän osalta. 1358 00:55:33,450 --> 00:55:35,900 Sen sijaan, musta ja valkoinen pääteikkuna - kun 1359 00:55:35,900 --> 00:55:40,160 Olen kirjoittamalla asioita, kuten ls, ja RM, sekä cd - 1360 00:55:40,160 --> 00:55:42,020 että on tekemistä käyttöjärjestelmän ja 1361 00:55:42,020 --> 00:55:43,562 navigointia. 1362 00:55:43,562 --> 00:55:44,546 Joo. 1363 00:55:44,546 --> 00:55:46,520 YLEISÖ: Tarkoitin kirjasto, CS50 kirjastoon. 1364 00:55:46,520 --> 00:55:49,960 DAVID MALAN: Okei, joten jos tarkoitat avainsanan merkkijono, joka 1365 00:55:49,960 --> 00:55:52,460 olemassa vain CS50 kirjastossa, oikea. 1366 00:55:52,460 --> 00:55:55,350 Tämä ei ole C itsessään, ja todellakin pari 1367 00:55:55,350 --> 00:55:58,220 viikon me heittää pois CS50 kirjasto ja käynnistä 1368 00:55:58,220 --> 00:56:02,290 tekee asioita tyhjästä itseämme, niin sanotusti. 1369 00:56:02,290 --> 00:56:02,940 Muita kysymyksiä? 1370 00:56:02,940 --> 00:56:04,577 Joo. 1371 00:56:04,577 --> 00:56:05,827 >> YLEISÖ: [kuulumattomissa] 1372 00:56:09,470 --> 00:56:10,160 DAVID MALAN: Hyvä kysymys. 1373 00:56:10,160 --> 00:56:11,720 Ovatko komennot kirjainkoko? 1374 00:56:11,720 --> 00:56:13,710 Ja haluaisin tehdä ero tässä. 1375 00:56:13,710 --> 00:56:15,840 Joten komennot ovat yleensä asioita me kirjoittamaan 1376 00:56:15,840 --> 00:56:17,940 alaosassa ikkunan pääteikkuna. 1377 00:56:17,940 --> 00:56:21,770 Mitään täällä olisi lausuntoja tai C-koodia. 1378 00:56:21,770 --> 00:56:24,490 Mutta molemmissa tapauksissa vastaus on sama, kyllä. 1379 00:56:24,490 --> 00:56:27,800 Molemmat ympäristöt, C-koodi yläreunassa ja 1380 00:56:27,800 --> 00:56:29,910 käyttöjärjestelmän komentorivin at 1381 00:56:29,910 --> 00:56:31,440 pohja, kirjainkoko. 1382 00:56:31,440 --> 00:56:33,830 Joten sinun on hyödynnettävä GetString isolla G, 1383 00:56:33,830 --> 00:56:37,050 Pääoman S. Sinun täytyy kirjoittaa printf kaikilla pienillä. 1384 00:56:37,050 --> 00:56:39,520 Sinun on kirjoitettava ls kaikilla pienillä. 1385 00:56:39,520 --> 00:56:43,260 Joten lähes kaikissa tilanteissa tämä lukukausi, tapaus, vuonna 1386 00:56:43,260 --> 00:56:44,820 Itse asiassa, asia. 1387 00:56:44,820 --> 00:56:46,148 Kyllä. 1388 00:56:46,148 --> 00:56:47,398 >> YLEISÖ: [kuulumattomissa] 1389 00:56:54,770 --> 00:56:56,480 DAVID MALAN: Ah, niin okei, mitä jos olisimme tiedosto 1390 00:56:56,480 --> 00:56:57,840 kutsutaan hello.d. 1391 00:56:57,840 --> 00:57:00,090 Joten se kääntyy pois D on ohjelmointikieli. 1392 00:57:00,090 --> 00:57:02,790 Ja niin joissakin tapauksissa, voisimme todella kirjoittaa ohjelman 1393 00:57:02,790 --> 00:57:06,190 tiedoston ja on se koottu, että muoti. 1394 00:57:06,190 --> 00:57:09,090 Voimme, ja itse asiassa, Lyhyt vastaus on, en tiedä. 1395 00:57:09,090 --> 00:57:10,440 Joten aiomme tehdä tämän. 1396 00:57:10,440 --> 00:57:13,040 Anna minun mennä eteenpäin ja luoda uuden tiedoston. 1397 00:57:13,040 --> 00:57:15,580 Ja spin täällä, rehellisesti yleensä on aina epäilystä 1398 00:57:15,580 --> 00:57:18,130 Tämän lukukauden, ja sinulla on laitteen tai tietokoneen 1399 00:57:18,130 --> 00:57:20,030 avata, mennä eteenpäin ja kokeilla jotain. 1400 00:57:20,030 --> 00:57:23,740 Joten aion tallentaa tiedoston nimeltä hello.d. 1401 00:57:23,740 --> 00:57:25,010 Tallentaa tämän. 1402 00:57:25,010 --> 00:57:29,070 Ja aion ajaa tekemään hei Enter. 1403 00:57:29,070 --> 00:57:31,660 Tuntui päätellä että C oli todennäköisempää 1404 00:57:31,660 --> 00:57:35,920 kuin d, tässä tapauksessa. 1405 00:57:35,920 --> 00:57:38,046 Muut kysymykset. 1406 00:57:38,046 --> 00:57:40,456 Joo. 1407 00:57:40,456 --> 00:57:41,706 >> YLEISÖ: [kuulumattomissa] 1408 00:57:48,170 --> 00:57:49,837 DAVID MALAN: Okei, sano että kerran. 1409 00:57:49,837 --> 00:57:51,087 YLEISÖ: [kuulumattomissa] 1410 00:58:04,250 --> 00:58:05,780 DAVID MALAN: Miten edetä diagnosointiin että tai 1411 00:58:05,780 --> 00:58:06,380 vianetsintä, että? 1412 00:58:06,380 --> 00:58:08,800 Joten todennäköisesti, koska ne ovat eri kielellä, 1413 00:58:08,800 --> 00:58:10,280 todennäköisesti saisit täysin 1414 00:58:10,280 --> 00:58:11,580 eri ohjelmaa ulos. 1415 00:58:11,580 --> 00:58:14,140 Saisit täysin eri virheilmoituksia. 1416 00:58:14,140 --> 00:58:16,750 Ja myös aivan kannalta suunnittelu, se olisi luultavasti olisi 1417 00:58:16,750 --> 00:58:19,140 huono suunnittelu päätös voidaan kirjoittaa kaksi erilaista 1418 00:58:19,140 --> 00:58:21,510 kielellä lähes samannimistä tiedostoa, vuonna 1419 00:58:21,510 --> 00:58:23,000 täsmälleen samassa hakemistossa käyttäen 1420 00:58:23,000 --> 00:58:24,550 automaattinen työkalu, kuten tekevät. 1421 00:58:24,550 --> 00:58:27,750 Voin siis myös työntää takaisin ja sanoa 15 vuotta näin, 1422 00:58:27,750 --> 00:58:29,190 koskaan tehnyt samaa virhettä. 1423 00:58:29,190 --> 00:58:30,030 Voisi tapahtua. 1424 00:58:30,030 --> 00:58:31,190 Mutta on aivan eri, luulen, 1425 00:58:31,190 --> 00:58:33,180 logistiset puolustuksemme paikallaan. 1426 00:58:33,180 --> 00:58:35,440 Plus virheilmoituksia aiheutuisi, että olisi 1427 00:58:35,440 --> 00:58:37,260 lopulta paljastaa mikä ongelma on. 1428 00:58:37,260 --> 00:58:39,120 Mutta mahdollinen kulma tapaus. 1429 00:58:39,120 --> 00:58:41,730 >> Selvä, joten katsotaanpa käyttöön vain pari muuta 1430 00:58:41,730 --> 00:58:45,600 ominaisuuksia täällä nyt, joten voimme alkaa rakentaa entistä 1431 00:58:45,600 --> 00:58:47,140 ja monimutkaisempi ohjelma. 1432 00:58:47,140 --> 00:58:49,000 Joten ensinnäkin, matematiikka. 1433 00:58:49,000 --> 00:58:51,520 Joten matematiikka esimerkit ovat vain eräänlainen helppo ensimmäisellä viikolla. 1434 00:58:51,520 --> 00:58:53,560 Tämä ei tarkoita sitä, että kaikki ohjelmointi on noin 1435 00:58:53,560 --> 00:58:54,390 matematiikka. 1436 00:58:54,390 --> 00:58:57,890 Varmasti ymmärtäminen eri ominaisuuksia 1437 00:58:57,890 --> 00:58:59,610 matematiikka, algebra erityisesti, on 1438 00:58:59,610 --> 00:59:00,330 aivan asiaa täällä. 1439 00:59:00,330 --> 00:59:03,010 Korkeamman tason CS luokkiin, lineaarinen algebra, 1440 00:59:03,010 --> 00:59:03,920 hammaskiveä, ja vastaavat. 1441 00:59:03,920 --> 00:59:06,500 Mutta tosiasia useimmat mitä me teemme tämän lukukauden vähentää ei 1442 00:59:06,500 --> 00:59:09,230 matematiikasta, eikä varsinkaan aritmeettinen, sinänsä, mutta todella 1443 00:59:09,230 --> 00:59:11,570 vain logiikan ja huolellisen ajattelun. 1444 00:59:11,570 --> 00:59:14,310 Ja niin tämä yhteys, että tietojenkäsittelytiede on pitkään ollut, 1445 00:59:14,310 --> 00:59:16,570 erityisesti lukion, matematiikan, on 1446 00:59:16,570 --> 00:59:17,370 hieman harhaanjohtava. 1447 00:59:17,370 --> 00:59:20,090 Koska useimmat ohjelmat me kirjoittaa, todella ovat 1448 00:59:20,090 --> 00:59:23,290 tavallaan korkeamman tason ja keskittyä ongelmien ratkaisemiseen, 1449 00:59:23,290 --> 00:59:26,410 varma, ehkä käyttää joitakin yhteen-ja vähennyslaskua, ja eri 1450 00:59:26,410 --> 00:59:28,650 matemaattisia kaavoja tai vastaava, 1451 00:59:28,650 --> 00:59:30,860 mutta loppujen lopuksi se on ajattelemisesta eikä 1452 00:59:30,860 --> 00:59:33,240 juuri toteuttamisessa mitä olet ehkä tehnyt kuin TI 1453 00:59:33,240 --> 00:59:35,050 laskin lukiossa. 1454 00:59:35,050 --> 00:59:38,410 >> Niin, että sanoi, katsotaanpa nyt tehdä jotain näiden 1455 00:59:38,410 --> 00:59:40,980 matemaattisia operaattoreita, jotka eivät ole niin että voimme matka 1456 00:59:40,980 --> 00:59:43,950 yli joitakin taustalla näkökohtien ohjelmointi, tai 1457 00:59:43,950 --> 00:59:48,930 Tällöin C. Joten olemassa, koska CS50 kirjasto ehdotti, 1458 00:59:48,930 --> 00:59:51,520 ja tänään olemme vain käyttämällä GetString - ja hetken 1459 00:59:51,520 --> 00:59:52,940 ehkä yksi muu toiminto - 1460 00:59:52,940 --> 00:59:55,380 mutta on olemassa erilaisia ​​datatyyppejä tietokoneessa. 1461 00:59:55,380 --> 00:59:58,550 Lopussa päivän, tietokoneet vain tietää 0s ja 1s. 1462 00:59:58,550 --> 01:00:01,880 Mutta muistuttaa, että viime viikolla puhuimme binary-järjestelmän 1463 01:00:01,880 --> 01:00:05,000 in edustavat numeroita, kuten numero 0, ja 1, ja 2, 1464 01:00:05,000 --> 01:00:07,480 aina on jopa 8, kuten Naten video. 1465 01:00:07,480 --> 01:00:08,840 Ja sitten voimme luottaa paljon enemmän kuin me 1466 01:00:08,840 --> 01:00:10,000 teki lavalla täällä. 1467 01:00:10,000 --> 01:00:15,660 Mutta jos haluat edustaa paitsi numeroita vaan kirjaimia, 1468 01:00:15,660 --> 01:00:18,240 me, ihmiset, on keksiä jokin mielivaltainen 1469 01:00:18,240 --> 01:00:21,180 yleissopimusten, jolloin jos päivän päätteeksi kaikki minun tietokone 1470 01:00:21,180 --> 01:00:24,260 on on kyky ilmaista 0s ja 1s, hyvin meidän on parasta 1471 01:00:24,260 --> 01:00:27,990 aloittaa standardoinnista malleja 0s ja 1s jotka edustavat 1472 01:00:27,990 --> 01:00:28,800 eri asioita. 1473 01:00:28,800 --> 01:00:32,370 Kuvio 0s ja 1s joka edustaa kirjain. 1474 01:00:32,370 --> 01:00:34,840 Malleja 0s ja 1s jotka edustavat kirjain z. 1475 01:00:34,840 --> 01:00:37,600 Malleja 0s ja 1s jotka edustavat väri sininen tai 1476 01:00:37,600 --> 01:00:38,600 punainen, tai vastaavaa. 1477 01:00:38,600 --> 01:00:42,360 Meidän täytyy käyttää kaikkia näitä 0s ja 1s ilmaista itseämme 1478 01:00:42,360 --> 01:00:45,140 eri yhteyksissä, eri tavoilla, jotka eivät ole 1479 01:00:45,140 --> 01:00:46,470 välttämättä numeerinen. 1480 01:00:46,470 --> 01:00:51,150 >> Joten kannalta edustuksen, C on eri tietotyypit, 1481 01:00:51,150 --> 01:00:52,550 ja olemme nähneet näistä toistaiseksi. 1482 01:00:52,550 --> 01:00:54,940 Näimme int, ja huomaa, mitä ei näytössä 1483 01:00:54,940 --> 01:00:56,140 nyt on merkkijono. 1484 01:00:56,140 --> 01:00:58,550 Merkkijono ei itse asiassa olemassa C. Jälleen, se 1485 01:00:58,550 --> 01:01:00,610 yksinkertaistaminen olemme esittelee ensimmäistä 1486 01:01:00,610 --> 01:01:01,570 pari viikkoa. 1487 01:01:01,570 --> 01:01:03,770 Nieriä on yksilöllinen. 1488 01:01:03,770 --> 01:01:07,050 Float on reaaliluku, jossa desimaalipilkku ja numerot 1489 01:01:07,050 --> 01:01:09,066 vasemmalle ja oikealle puolelle. 1490 01:01:09,066 --> 01:01:16,040 Kaksinkertainen mitä niille selän ennen taustalla? 1491 01:01:16,040 --> 01:01:19,720 Joten kaksinkertainen kaksinkertainen jotain. 1492 01:01:19,720 --> 01:01:21,240 Lisää kaksi kertaa niin paljon tarkkuutta. 1493 01:01:21,240 --> 01:01:22,440 Mitä tämä tarkoittaa? 1494 01:01:22,440 --> 01:01:26,090 Niinpä kaikissa näissä tapauksissa maailma on sellainen standardoitu 1495 01:01:26,090 --> 01:01:27,960 kuinka monta bittiä käytetään esittämään 1496 01:01:27,960 --> 01:01:29,160 kukin näistä asioista. 1497 01:01:29,160 --> 01:01:31,590 Joten jos olet katsonut Naten ASCII video jo osa 1498 01:01:31,590 --> 01:01:36,170 of PSET 0 tai myöhemmin tällä viikolla tulet, luultavasti tiedätte 1499 01:01:36,170 --> 01:01:37,450 että ASCII - 1500 01:01:37,450 --> 01:01:38,610 merkki edustustot - 1501 01:01:38,610 --> 01:01:40,670 käyttää kuinka monta bittiä? 1502 01:01:40,670 --> 01:01:43,410 Ja saatat jopa muistaa meidän demon viime viikolla, kuinka 1503 01:01:43,410 --> 01:01:45,500 monet ihmiset olivat lavalla. 1504 01:01:45,500 --> 01:01:46,840 Joten 7 tai 8, tyypillisesti. 1505 01:01:46,840 --> 01:01:49,230 Joten yleensä 8, ja siellä on jotain kutsutaan laajennettu 1506 01:01:49,230 --> 01:01:51,240 ASCII, joka käyttää kaikki 8 bittiä, sen sijaan, että 7. 1507 01:01:51,240 --> 01:01:54,710 Mutta yleensä, puhumme toimivalta 2, joten tässä tapauksessa 8. 1508 01:01:54,710 --> 01:01:58,900 Joten nieriää ohjelmointikieli on yleensä 8 bittiä. 1509 01:01:58,900 --> 01:02:02,550 Joten int on yleensä 32 bittiä. 1510 01:02:02,550 --> 01:02:04,810 Float on yleensä 32 bittiä. 1511 01:02:04,810 --> 01:02:08,060 Kaksinkertainen on yleensä 64 bittiä. 1512 01:02:08,060 --> 01:02:08,870 Ja mitä se tarkoittaa? 1513 01:02:08,870 --> 01:02:11,500 Se tarkoittaa, että voit edustaa suurempia numeroita, tai jos kyseessä 1514 01:02:11,500 --> 01:02:15,490 reaalilukujen, voit olla paljon enemmän jälkeiset numerot 1515 01:02:15,490 --> 01:02:16,240 desimaalin tarkkuudella. 1516 01:02:16,240 --> 01:02:18,980 Paljon enemmän tarkkuutta, tässä tapauksessa. 1517 01:02:18,980 --> 01:02:21,780 Nyt pitkä pitkä on valitettavasti nimetty. 1518 01:02:21,780 --> 01:02:24,340 Joten on int, joka on 32 bittiä. 1519 01:02:24,340 --> 01:02:29,800 On pitkä, joka on, nope, 32 bittiä. 1520 01:02:29,800 --> 01:02:32,610 Ja pitkä pitkä, joka on 64 bittiä. 1521 01:02:32,610 --> 01:02:34,830 Kuitenkin jotkut näistä ovat tilannekohtaisia, se riippuu 1522 01:02:34,830 --> 01:02:36,190 millainen tietokone sinulla on. 1523 01:02:36,190 --> 01:02:40,510 Eli yleisesti, me täsmentää kotitehtäviä tai tietokilpailu kun 1524 01:02:40,510 --> 01:02:41,180 se todella on väliä. 1525 01:02:41,180 --> 01:02:43,080 Mutta kohta on olemassa kaikki nämä erilaiset 1526 01:02:43,080 --> 01:02:44,250 esityksiä täällä. 1527 01:02:44,250 --> 01:02:45,950 >> Joten todella sukeltaa ohjelmaan. 1528 01:02:45,950 --> 01:02:48,300 Sen sijaan kirjoittaa tämä tyhjästä, anna minun mennä eteenpäin 1529 01:02:48,300 --> 01:02:50,940 ja avata nykypäivän lähdekoodista - jotka kaikki on 1530 01:02:50,940 --> 01:02:54,980 Online - jos haluat korjailla noin verkossa, tai tuotto 1531 01:02:54,980 --> 01:02:57,120 Keskiviikkona laitteen tietokoneeseen, ohjeet 1532 01:02:57,120 --> 01:02:59,160 joiden yhdistää kurssin kotisivulla. 1533 01:02:59,160 --> 01:03:00,830 Tässä erittäin yksinkertainen ohjelma. 1534 01:03:00,830 --> 01:03:02,520 Mutta se sai hieman jotain uutta huipulla että 1535 01:03:02,520 --> 01:03:03,650 meillä ei ollut ennen. 1536 01:03:03,650 --> 01:03:05,800 Paljon sinistä riviä tekstiä. 1537 01:03:05,800 --> 01:03:08,410 Joten nämä siniset viivat edustavat kommentteja. 1538 01:03:08,410 --> 01:03:10,620 Joten se on melko käyttökelpoinen ohjelman pystyä kirjoittamaan 1539 01:03:10,620 --> 01:03:13,160 joitakin huomautuksia itsellesi tai työtovereiden tai ystävien tai 1540 01:03:13,160 --> 01:03:15,700 opetus miehet, jotka tavallaan kuvailla mikä on meneillään 1541 01:03:15,700 --> 01:03:18,500 Tämän tiedoston, mutta ei ole mitään tekemistä C-koodia itse. 1542 01:03:18,500 --> 01:03:20,860 Mitään tekemistä ohjelman toiminnallisesti, se on vain 1543 01:03:20,860 --> 01:03:21,760 estetiikka. 1544 01:03:21,760 --> 01:03:24,580 Joten miten teet tämän C on sinulle yleensä aloitat 1545 01:03:24,580 --> 01:03:29,860 huomautuksia / *, ja lopetat huomautuksia 1546 01:03:29,860 --> 01:03:31,270 * /. 1547 01:03:31,270 --> 01:03:34,140 Ja jos olet todella peräaukon ja kiinnitän lajitella kuvia, 1548 01:03:34,140 --> 01:03:35,870 sitten haluat laittaa paljon tähtiä, sinä tekisit 1549 01:03:35,870 --> 01:03:36,970 pieni laatikko, kuten tämä. 1550 01:03:36,970 --> 01:03:37,990 Mutta mikään, että asiat. 1551 01:03:37,990 --> 01:03:40,230 Ainoa asia, että asiat on ensimmäinen 1552 01:03:40,230 --> 01:03:41,620 ja viimeinen. 1553 01:03:41,620 --> 01:03:43,820 Tämä on mitä kutsutaan monirivinen kommentti. 1554 01:03:43,820 --> 01:03:46,610 Ja se on vain ihmisen yleissopimusta usein tähdet ja laatikko 1555 01:03:46,610 --> 01:03:48,420 asioita, kuten tämä, jos sinulla on paljon vapaa-aikaa. 1556 01:03:48,420 --> 01:03:51,550 >> Joten kun olet kirjoitettu joitakin huomautuksia, yleensä tule 1557 01:03:51,550 --> 01:03:53,160 todellinen guts ohjelman. 1558 01:03:53,160 --> 01:03:55,630 Tässä on meidän tuttu # include . 1559 01:03:55,630 --> 01:04:00,410 Ja vain nopea, tämä on tarpeen tai ei tarpeen? 1560 01:04:00,410 --> 01:04:02,860 YLEISÖ: tarpeen. 1561 01:04:02,860 --> 01:04:04,390 DAVID MALAN: Joten se oikeastaan ​​ole tarpeen. 1562 01:04:04,390 --> 01:04:07,070 Miksi, vaikka se ei ole välttämätöntä? 1563 01:04:07,070 --> 01:04:08,170 Joten ei printf. 1564 01:04:08,170 --> 01:04:08,510 Todellakin. 1565 01:04:08,510 --> 01:04:10,470 Kaikki me teemme tässä ohjelmassa on matematiikka. 1566 01:04:10,470 --> 01:04:11,640 Voin siis todellakin poistaa se. 1567 01:04:11,640 --> 01:04:14,330 Joten sinun ei aina tarvitse sisältää mitään 1568 01:04:14,330 --> 01:04:15,420 alkuun ohjelman. 1569 01:04:15,420 --> 01:04:17,020 >> Joten yksinkertaistaa tätä hieman. 1570 01:04:17,020 --> 01:04:18,650 Ja nyt huomaa, mitä tämä ohjelma tekee. 1571 01:04:18,650 --> 01:04:19,920 Ei paljon kiinnostusta. 1572 01:04:19,920 --> 01:04:21,410 int x = 1. 1573 01:04:21,410 --> 01:04:22,550 No, mitä tämä tekee? 1574 01:04:22,550 --> 01:04:25,130 No, muistelen henkinen malli ennen. 1575 01:04:25,130 --> 01:04:27,500 Vasemmalla puolella tätä ilmaisua tekee mitä? 1576 01:04:31,440 --> 01:04:32,830 Luo tilaa kokonaisluku. 1577 01:04:32,830 --> 01:04:33,930 Joten kuinka paljon tilaa? 1578 01:04:33,930 --> 01:04:36,980 No, meillä sattuu tiedämme nyt, että se on 32 bittiä. 1579 01:04:36,980 --> 01:04:40,070 Aiemmin merkkijono oli teknisesti 32 bittiä, mutta 1580 01:04:40,070 --> 01:04:40,950 siitä, että tulevaisuudessa. 1581 01:04:40,950 --> 01:04:42,240 Mutta int on 32 bittiä. 1582 01:04:42,240 --> 01:04:45,590 Joten tämä ilme vasemmalla täällä, int x vain sanoo hei 1583 01:04:45,590 --> 01:04:48,490 käyttöjärjestelmä, anna minulle 32 bittiä RAM - 1584 01:04:48,490 --> 01:04:50,450 muuten kutsutaan 4 tavua RAM - 1585 01:04:50,450 --> 01:04:53,930 niin että voin laittaa kokonaisluku tuossa tilassa. 1586 01:04:53,930 --> 01:04:55,330 Mitä kokonaisluku sinä haluat laittaa? 1587 01:04:55,330 --> 01:04:56,640 No, vain numero 1. 1588 01:04:56,640 --> 01:04:59,530 int y saa 2, ei täsmälleen sama asia, vaikka 1589 01:04:59,530 --> 01:05:02,160 numero on suurempi, mitä sen suuruus. 1590 01:05:02,160 --> 01:05:04,790 Määrä itsessään on edelleen vain 32 bittiä. 1591 01:05:04,790 --> 01:05:06,520 Se on vain malli bittien on erilainen 1592 01:05:06,520 --> 01:05:08,260 edustaa 1 vs. 2. 1593 01:05:08,260 --> 01:05:11,980 int z sanoo nyt anna minulle toinen 32 bittiä, kutsuvat sitä z ja aseta 1594 01:05:11,980 --> 01:05:14,210 summattu 1 ja 2 siellä. 1595 01:05:14,210 --> 01:05:18,050 Niin, että nyt z on oletettavasti tallentamiseksi arvon 3, 1596 01:05:18,050 --> 01:05:19,360 ja palata sitten 0. 1597 01:05:19,360 --> 01:05:23,020 >> Nyt tämä ohjelma, se tee mitään kiinnostavaa? 1598 01:05:23,020 --> 01:05:26,170 Joten se todellisuudessa ei tee mitään mielenkiintoista, joka 1599 01:05:26,170 --> 01:05:28,450 merkityksessä, sillä miksi? Se tekee joitakin matematiikka. 1600 01:05:28,450 --> 01:05:30,590 Mutta se ei palaa vastausta, oikea. 1601 01:05:30,590 --> 01:05:31,790 Se palaa 0. 1602 01:05:31,790 --> 01:05:33,440 Se ei tulosta vastausta. 1603 01:05:33,440 --> 01:05:35,760 Joten tämä ohjelma on pohjimmiltaan arvoton, koska se 1604 01:05:35,760 --> 01:05:36,350 seisoo nyt. 1605 01:05:36,350 --> 01:05:37,220 Se tekee töitä. 1606 01:05:37,220 --> 01:05:39,530 Se vie jonkin määrän sekuntia tai mikrosekuntia, jotta 1607 01:05:39,530 --> 01:05:41,510 ajaa, mutta se ei oikeastaan ​​tee mitään 1608 01:05:41,510 --> 01:05:42,770 käyttökelpoisia ihmisen. 1609 01:05:42,770 --> 01:05:46,810 >> Joten oikeastaan ​​nyt avata math2, missä nyt olen todella 1610 01:05:46,810 --> 01:05:48,250 tulostaa tuloksen. 1611 01:05:48,250 --> 01:05:51,260 Joten tämäkin voidaan päätellä meidän aiempien esimerkkien. 1612 01:05:51,260 --> 01:05:54,320 Jos haluan tehdä muutamia yksinkertaisia ​​matematiikka, int x = 1, y 1613 01:05:54,320 --> 01:05:56,820 = 2. z on 1 plus 2 nyt. 1614 01:05:56,820 --> 01:05:59,240 Mitä tämä tulee tulostaa ilmeisesti? 1615 01:05:59,240 --> 01:06:00,120 Vain 3. 1616 01:06:00,120 --> 01:06:01,590 Niin nopeasti järki tarkistaa. 1617 01:06:01,590 --> 01:06:03,830 Saanen siirtyä tähän hakemistoon. 1618 01:06:03,830 --> 01:06:06,480 Joten cd source1m. 1619 01:06:06,480 --> 01:06:09,370 Anna minun mennä eteenpäin ja kirjoita tehdä math2. 1620 01:06:09,370 --> 01:06:11,510 Ei virheilmoituksia tuli ulos, niin haluan juosta - 1621 01:06:11,510 --> 01:06:14,800 ei a.out--haluan juosta math2. Enter. 1622 01:06:14,800 --> 01:06:16,750 Ja todellakin, se tulostetaan 3. 1623 01:06:16,750 --> 01:06:18,460 No katsotaanpa katsomaan muunnelmaa. 1624 01:06:18,460 --> 01:06:23,870 Vuonna math3.c, meillä on nyt tämä esimerkki tästä. 1625 01:06:23,870 --> 01:06:26,540 >> Joten tämä on tavallaan mielenkiintoista. 1626 01:06:26,540 --> 01:06:32,000 Eli tässä yksi täällä, vastaus tulee saada 1 jaettuna 10, 1627 01:06:32,000 --> 01:06:33,910 ja huomaat olen ilmoittanut sen float. 1628 01:06:33,910 --> 01:06:35,200 Miksi haluan sen olevan float? 1629 01:06:35,200 --> 01:06:36,110 No, se on murto. 1630 01:06:36,110 --> 01:06:37,140 Se tulee olemaan todellinen määrä. 1631 01:06:37,140 --> 01:06:40,970 Joten se tulee olemaan 0,1, toivottavasti - 10%, tässä tapauksessa. 1632 01:06:40,970 --> 01:06:42,610 Ja mitä minä sitten haluat tulostaa? 1633 01:06:42,610 --> 01:06:43,440 No, tämä vastaus. 1634 01:06:43,440 --> 01:06:44,760 No, kammata nämä toisistaan ​​ensin. 1635 01:06:44,760 --> 01:06:47,020 Joten vasemmalla puolella, julistaa 1636 01:06:47,020 --> 01:06:49,410 kellua, kutsuvat sitä vastaa. 1637 01:06:49,410 --> 01:06:52,280 Oikealla puolella, ei 1 jaettuna 10 ja esittää, että 1638 01:06:52,280 --> 01:06:54,370 answer sisällä muuttuja. 1639 01:06:54,370 --> 01:06:56,410 Nyt, tämä rivi näyttää hieman arvoituksellisesti. 1640 01:06:56,410 --> 01:06:59,440 Mutta huomaa joitakin tuttuja piirteitä. % Tarkoittaa tässä tulee 1641 01:06:59,440 --> 01:07:00,490 paikkamerkki. 1642 01:07:00,490 --> 01:07:03,230 F tarkoittaa tässä Liukulukuarvo, vain todellinen 1643 01:07:03,230 --> 01:07:05,490 numero, jotain desimaalipilkun. 1644 01:07:05,490 --> 01:07:07,330 0,2 tarkoittaa mitä? 1645 01:07:07,330 --> 01:07:10,740 Jokainen tietää aiempaa kokemusta? 1646 01:07:10,740 --> 01:07:12,010 Kahden desimaalin tarkkuudella. 1647 01:07:12,010 --> 01:07:14,050 Joten emme ole nähnyt tämän ennenkin, mutta se on vain tapa 1648 01:07:14,050 --> 01:07:16,360 käyttäessään hieman valvoa printf ja 1649 01:07:16,360 --> 01:07:20,840 sanonta älä anna minulle 30 pistettä desimaalipilkun jälkeen, 1650 01:07:20,840 --> 01:07:22,490 vaan anna minulle vain 2. 1651 01:07:22,490 --> 01:07:23,960 >> Ja sitten mennään eteenpäin ja ajaa tätä. 1652 01:07:23,960 --> 01:07:30,160 Joten tee matematiikka 3, ja nyt haluan juosta matematiikka 3, Enter. 1653 01:07:30,160 --> 01:07:34,630 Ja se ei ole oikein. 1654 01:07:34,630 --> 01:07:37,390 Olemme ilmeisesti kohdanneet ensimmäinen aito bugi. 1655 01:07:37,390 --> 01:07:39,400 No, ehkä olen vain ole etsimässä tarpeeksi lähelle. 1656 01:07:39,400 --> 01:07:41,960 Joten anna minun mennä tänne, ja haluan laittaa 20 desimaalin 1657 01:07:41,960 --> 01:07:43,300 kohta paikoin. 1658 01:07:43,300 --> 01:07:47,950 Ja haluan koota tämän, varmista math3, ajaa. 1659 01:07:47,950 --> 01:07:50,960 Melko varmasti 1 jaettuna 10 ei 0. 1660 01:07:50,960 --> 01:07:54,270 Joten mitä on tekeillä? 1661 01:07:54,270 --> 01:07:56,740 No okei, joten oikeastaan ​​se ei ole tekemistä tämän kanssa. 1662 01:07:56,740 --> 01:07:57,600 Se on hyvä ajatus. 1663 01:07:57,600 --> 01:07:59,140 Tämä on oikeastaan ​​vain sattuma 1664 01:07:59,140 --> 01:08:00,220 että teemme tätä. 1665 01:08:00,220 --> 01:08:02,010 Mutta vain todistaa, että tämä ei ole sitä, minä 1666 01:08:02,010 --> 01:08:03,160 palata jotain random. 1667 01:08:03,160 --> 01:08:05,160 Älä tee tätä kotona, koska se on vain väärin. 1668 01:08:05,160 --> 01:08:08,000 Mutta tee math3, anna minun ajaa se. 1669 01:08:08,000 --> 01:08:10,690 Joten ei ole mitään tekemistä sen kanssa, mitä olen palaamassa, on vain tehtävä 1670 01:08:10,690 --> 01:08:11,940 mitä olen tulostus. 1671 01:08:11,940 --> 01:08:14,150 Mutta kuulin sen tänne. 1672 01:08:14,150 --> 01:08:15,270 Mitä? 1673 01:08:15,270 --> 01:08:17,524 YLEISÖ: Joten meidän täytyy kirjoittaa numerot 1674 01:08:17,524 --> 01:08:19,680 divisioonan - 1675 01:08:19,680 --> 01:08:20,319 >> DAVID MALAN: Okei hyvä. 1676 01:08:20,319 --> 01:08:22,810 Joten meidän täytyy kirjoittaa numeroita osallistuvien 1677 01:08:22,810 --> 01:08:25,979 jako täällä liukuluvuiksi itse. 1678 01:08:25,979 --> 01:08:29,359 Joten ongelma tässä kuin ennen: C, jossa on paljon 1679 01:08:29,359 --> 01:08:31,819 kieliä, on eri tietotyyppejä. 1680 01:08:31,819 --> 01:08:34,600 Ja ne tietotyyppejä, esimerkiksi nämä täällä. 1681 01:08:34,600 --> 01:08:37,430 Ja tietotyyppejä kysymys tässä, kun tyypin 1 ja sitten 1682 01:08:37,430 --> 01:08:40,870 Tyyppi 10, ovat luultavasti mitä tietotyyppejä? 1683 01:08:40,870 --> 01:08:42,170 Joten se on luultavasti int, eikö? 1684 01:08:42,170 --> 01:08:44,149 Se ei todellakaan ole float koska ei ole mitään desimaalin 1685 01:08:44,149 --> 01:08:45,460 piste tai mitään sellaista. 1686 01:08:45,460 --> 01:08:48,270 Siis todella, olen int jaettu int. 1687 01:08:48,270 --> 01:08:52,160 >> Niin mielenkiintoinen asia matematiikka ja tietokone on, että 1688 01:08:52,160 --> 01:08:54,840 Jos teet jakolaskuja kokonaisluvuilla - 1689 01:08:54,840 --> 01:08:57,310 1 jaettuna 10, kyllä ​​on 0,1. 1690 01:08:57,310 --> 01:09:01,420 Kuitenkin, kun olet jakamalla kokonaisluku, jonka kokonaisluku, 1691 01:09:01,420 --> 01:09:06,859 vastaus on myös oltava kokonaisluku vain siksi, nyt. 1692 01:09:06,859 --> 01:09:08,630 Ja mitä vaikutuksia silloin? 1693 01:09:08,630 --> 01:09:13,640 No, jos vastaus on 1 jaettuna 10 vastaa 0,1, mikä 1694 01:09:13,640 --> 01:09:15,680 tietokone tulee tehdä, on minulla ei ole aavistustakaan, miten 1695 01:09:15,680 --> 01:09:19,270 edustavat 0,1, koska se on Liukulukuarvo, ei 1696 01:09:19,270 --> 01:09:21,910 kokonaisluku, se tulee katkaista kaiken jälkeen 1697 01:09:21,910 --> 01:09:27,470 desimaalipilkun ja juuri näyttää 0 alussa. 1698 01:09:27,470 --> 01:09:29,540 Ja siitä, että se tulostetaan kuin liukuluku 1699 01:09:29,540 --> 01:09:31,200 arvoa, se on vain esteettinen juttu. 1700 01:09:31,200 --> 01:09:34,279 Tämä johtuu siitä olen pakottaa tietokone tulostaa tätä 1701 01:09:34,279 --> 01:09:35,229 Liukulukuarvo. 1702 01:09:35,229 --> 01:09:37,720 Ja todellakin olen ilmoittanut sen float, mutta matematiikka on 1703 01:09:37,720 --> 01:09:39,010 tapahtuu täällä. 1704 01:09:39,010 --> 01:09:41,859 >> Haluan siis todella korjata tämän yhdessä melko helposti. 1705 01:09:41,859 --> 01:09:45,250 Miksi en vain tee 10,0 ja 1,0, vaikka 1706 01:09:45,250 --> 01:09:47,609 Teknisesti voisin saada pois vain tekemässä yksi niistä. 1707 01:09:47,609 --> 01:09:50,630 Nyt haluan mennä eteenpäin ja tehdä math3. 1708 01:09:50,630 --> 01:09:56,350 Anna minun mennä eteenpäin ja nyt ajaa math3, Enter. 1709 01:09:56,350 --> 01:09:57,500 Ja nyt, voi pojat. 1710 01:09:57,500 --> 01:10:00,050 Nyt meillä on uusi ongelma kokonaan. 1711 01:10:00,050 --> 01:10:05,600 Joten parempi, oikea, olemme lähempänä 0,1, mutta mikä on selvästi 1712 01:10:05,600 --> 01:10:06,240 pielessä? 1713 01:10:06,240 --> 01:10:08,260 Ellemme valehdellut teille vuosia, eikö? 1714 01:10:08,260 --> 01:10:13,660 1 jaettuna 10 ei oikeastaan ​​ole aivan 0,1, niin mitä 1715 01:10:13,660 --> 01:10:14,700 todella tekeillä? 1716 01:10:14,700 --> 01:10:16,420 No voit sellainen syy tällä loogisesti. 1717 01:10:16,420 --> 01:10:19,200 Jos tietokoneessa on vain rajallinen määrä muistia alkaa 1718 01:10:19,200 --> 01:10:23,530 kanssa, ja jopa tietokone vain käyttää 32 bittiä 1719 01:10:23,530 --> 01:10:26,200 Liukulukuarvo, on aivan selvää, että 1720 01:10:26,200 --> 01:10:29,870 äärellinen määrä bittejä, 32 tässä tapauksessa, kyllä, voit 1721 01:10:29,870 --> 01:10:31,050 edustavat paljon tavaraa. 1722 01:10:31,050 --> 01:10:33,220 Se oikeastaan ​​on neljä miljardia erilaista arvot voidaan 1723 01:10:33,220 --> 01:10:38,040 edustettuina 32 bittiä, 2 32, mutta se on silti rajallinen. 1724 01:10:38,040 --> 01:10:40,730 Eli ongelma on olemassa ääretön määrä todellisia 1725 01:10:40,730 --> 01:10:41,370 numeroita, oikea. 1726 01:10:41,370 --> 01:10:43,560 Jos annat minulle reaaliluku, voin aina löytää sinulle yhden 1727 01:10:43,560 --> 01:10:46,080 hieman isompi, hieman vähemmän, vain hieman säätämistä 1728 01:10:46,080 --> 01:10:47,970 numerot ovat desimaalipilkun jälkeen. 1729 01:10:47,970 --> 01:10:50,870 Joten jos sinulla ei ole ääretön määrä bittejä, te 1730 01:10:50,870 --> 01:10:52,940 voi mitenkään edustaa ääretön 1731 01:10:52,940 --> 01:10:54,800 määrä reaalilukuja. 1732 01:10:54,800 --> 01:10:58,090 >> Joten on tämä luontainen epätarkkuus tietokoneissa, ja 1733 01:10:58,090 --> 01:11:00,930 Tämän saa kompastua koko ajan jopa yksinkertaisin 1734 01:11:00,930 --> 01:11:02,260 ohjelmia kuten tämä. 1735 01:11:02,260 --> 01:11:05,640 Mutta myös joitakin hyvin reaalimaailman ongelmia. 1736 01:11:05,640 --> 01:11:07,790 Itse otetaanpa hetki vain vilkaista 1737 01:11:07,790 --> 01:11:09,530 jotain, joka todella tapahtui todellisuudessa. 1738 01:11:09,530 --> 01:11:11,620 Me katsella vain pari ensimmäistä minuuttia, ja sitten 1739 01:11:11,620 --> 01:11:13,270 Lähetämme linkin verkossa. 1740 01:11:13,270 --> 01:11:16,700 Mutta tämä on osoitus juuri voi mennä pieleen, melko 1741 01:11:16,700 --> 01:11:19,680 rehellisesti, erittäin traagisella tavalla, kun nämä asiat eivät ole 1742 01:11:19,680 --> 01:11:23,870 arvostaa tai vain me ihmiset tekevät virheitä, kun se tulee 1743 01:11:23,870 --> 01:11:26,792 tällaisia ​​täytäntöönpanon yksityiskohdista nykyaikaisissa tietokoneissa. 1744 01:11:26,792 --> 01:11:27,284 >> [VIDEO PLAYING] 1745 01:11:27,284 --> 01:11:30,730 -Palaamme nyt engineering katastrofien moderneja ihmeitä. 1746 01:11:30,730 --> 01:11:32,200 Tietokoneet. 1747 01:11:32,200 --> 01:11:34,920 Olemme kaikki tulevat hyväksymään usein turhauttavaa ongelmia 1748 01:11:34,920 --> 01:11:36,750 jotka menevät heidän kanssaan. 1749 01:11:36,750 --> 01:11:40,690 Bugs, viruksia ja ohjelmistot glitches ovat pieniä hintoja 1750 01:11:40,690 --> 01:11:42,550 maksaa mukavuutta. 1751 01:11:42,550 --> 01:11:45,170 Mutta korkean teknologian ja nopean sotilaallisen ja avaruus 1752 01:11:45,170 --> 01:11:48,450 ohjelmasovelluksia, pienin ongelma voi olla 1753 01:11:48,450 --> 01:11:52,220 suurennettu osaksi katastrofi. 1754 01:11:52,220 --> 01:11:56,780 Kesäkuun 4. päivänä 1996 tutkijat valmis käynnistämään miehittämätön 1755 01:11:56,780 --> 01:11:58,430 Ariane 5 raketti. 1756 01:11:58,430 --> 01:12:00,750 Se kantoi tieteellisiä satelliitteja suunniteltu 1757 01:12:00,750 --> 01:12:03,580 määrittämään täsmällisesti, miten maan magneettikenttä 1758 01:12:03,580 --> 01:12:06,900 vuorovaikutuksessa aurinkotuulien. 1759 01:12:06,900 --> 01:12:10,330 Raketti rakennettiin Euroopan avaruusjärjestön ja 1760 01:12:10,330 --> 01:12:13,450 nostetaan pois sen laitoksen rannikolla Ranskan Guyanassa. 1761 01:12:13,450 --> 01:12:16,970 >> -Noin noin 37 sekunnin kuluttua lennon, he ensin 1762 01:12:16,970 --> 01:12:19,700 huomasi jotain oli vialla, että suuttimet ovat 1763 01:12:19,700 --> 01:12:21,590 kääntyvä tavalla ne todella pitäisi. 1764 01:12:21,590 --> 01:12:25,020 Noin 40 sekunnin kuluttua lennon selvästi ajoneuvon 1765 01:12:25,020 --> 01:12:27,340 oli pulassa, ja silloin he tekivät päätöksen 1766 01:12:27,340 --> 01:12:28,136 tuhota sen. 1767 01:12:28,136 --> 01:12:31,450 Valikoima turvallisuusvastuuhenkilölle valtava sisua painetaan 1768 01:12:31,450 --> 01:12:34,160 painike, räjäytti raketti ennen kuin se voi tulla 1769 01:12:34,160 --> 01:12:37,470 vaarantaa yleisen turvallisuuden. 1770 01:12:37,470 --> 01:12:40,750 >> -Tämä oli neitsytmatkalla Ariane 5, ja sen 1771 01:12:40,750 --> 01:12:43,990 tuho tapahtui, koska virhe upotettu 1772 01:12:43,990 --> 01:12:45,480 raketti ohjelmisto. 1773 01:12:45,480 --> 01:12:47,660 >> -Ongelma Ariane oli, että oli numero, joka 1774 01:12:47,660 --> 01:12:51,245 vaatii 64 bittiä ilmaista, ja he halusivat muuttaa sitä 1775 01:12:51,245 --> 01:12:53,010 on 16-bittinen numero. 1776 01:12:53,010 --> 01:12:54,900 Ne olettaa, että määrä ei koskaan 1777 01:12:54,900 --> 01:12:56,280 olemaan erittäin suuri, 1778 01:12:56,280 --> 01:12:59,920 että useimmat näistä numeroa 64 bittinen numero oli 0s. 1779 01:12:59,920 --> 01:13:01,860 He olivat väärässä. 1780 01:13:01,860 --> 01:13:04,550 >> -Kyvyttömyys yhden ohjelmiston hyväksymään 1781 01:13:04,550 --> 01:13:07,730 Tällainen numero, joka generoidaan toinen oli juureen 1782 01:13:07,730 --> 01:13:08,930 epäonnistumisen. 1783 01:13:08,930 --> 01:13:11,490 Ohjelmistokehitys oli tullut erittäin kalliiksi osa 1784 01:13:11,490 --> 01:13:13,280 uutta teknologiaa. 1785 01:13:13,280 --> 01:13:16,530 Ariane 4 raketti ollut hyvin onnistunut. 1786 01:13:16,530 --> 01:13:19,100 Niin paljon ohjelmiston luotu sitä käytettiin myös 1787 01:13:19,100 --> 01:13:21,050 Ariane-5. 1788 01:13:21,050 --> 01:13:25,530 >> -Perusongelma oli, että Ariane 5 oli nopeampi, 1789 01:13:25,530 --> 01:13:27,280 kiihtyi nopeammin. 1790 01:13:27,280 --> 01:13:30,590 Ja ohjelmistoa ei ollut osuus siitä. 1791 01:13:30,590 --> 01:13:33,060 >> -Tuhoaminen raketti oli valtava taloudellinen 1792 01:13:33,060 --> 01:13:37,670 katastrofi, kaikki johtuu minuutin ohjelmiston virhe. 1793 01:13:37,670 --> 01:13:40,750 Mutta tämä ei ollut ensimmäinen kerta tietojen muuntaminen ongelmat olivat 1794 01:13:40,750 --> 01:13:43,680 vaivannut modernin ohjusteknologia. 1795 01:13:43,680 --> 01:13:44,390 >> DAVID MALAN: Jätämme asian tähän. 1796 01:13:44,390 --> 01:13:46,870 Mutta tämä on osoitus miten soveltaa myös joitakin 1797 01:13:46,870 --> 01:13:48,750 Näiden alin taso yksityiskohtia että olemme alkaneet 1798 01:13:48,750 --> 01:13:50,040 tutkia tänään. 1799 01:13:50,040 --> 01:13:52,510 Joten vaikka saat hieman häiritsee ehkä joidenkin 1800 01:13:52,510 --> 01:13:55,240 syntaksi ja arcaneness täällä, ymmärtää, että yli 1801 01:13:55,240 --> 01:13:57,690 aikavälillä me keskitytään vain siihen, miten sovelletaan tällä on 1802 01:13:57,690 --> 01:13:59,530 maailmoista kaukana CS. 1803 01:13:59,530 --> 01:14:00,780 Tulemme näkemään sinut keskiviikkona.