1 00:00:00,000 --> 00:00:12,510 2 00:00:12,510 --> 00:00:13,870 >> ROB: Selvä. 3 00:00:13,870 --> 00:00:16,770 Tervetuloa ensimmäisen osan. 4 00:00:16,770 --> 00:00:17,480 Olen Rob. 5 00:00:17,480 --> 00:00:18,806 >> JOSEPH: Olen Joseph. 6 00:00:18,806 --> 00:00:21,540 >> ROB: Joten me sukeltaa suoraan sisään 7 00:00:21,540 --> 00:00:23,420 Ensimmäinen asia puhua on Appliance. 8 00:00:23,420 --> 00:00:27,150 Joten toivottavasti suurin osa teistä on Latasin sen jo. 9 00:00:27,150 --> 00:00:37,180 Mutta voit nähdä ohjeet klo cs50.net/appliance. 10 00:00:37,180 --> 00:00:38,430 Voi luoja, nyt olen itsetietoinen. 11 00:00:38,430 --> 00:00:44,590 12 00:00:44,590 --> 00:00:45,430 Olen edelleen kuulla sen. 13 00:00:45,430 --> 00:00:47,232 >> JOSEPH: Vau, se kuulostaa se on eksyksissä. 14 00:00:47,232 --> 00:00:52,460 >> ROB: Joten jotkut ihmiset ovat käyneet ongelmia sen kanssa, joten älä odota 15 00:00:52,460 --> 00:00:54,940 viime hetken ongelman asetettu yrittää ratkaista Laitteiden ja 16 00:00:54,940 --> 00:00:56,320 selville, että se ei toimi. 17 00:00:56,320 --> 00:00:59,010 >> JOSEPH: Ja jos jotain ei tapahdu ja tarvitset apua, voit mennä 18 00:00:59,010 --> 00:01:03,390 cs50.net/discussion jossa on foorumi, jossa voit 19 00:01:03,390 --> 00:01:04,110 voi lähettää kysymyksiä. 20 00:01:04,110 --> 00:01:06,655 Ja me saamme heidät lopulta. 21 00:01:06,655 --> 00:01:07,490 >> ROB: Selvä. 22 00:01:07,490 --> 00:01:12,180 Joten tämä on mitä Appliance näyttää. 23 00:01:12,180 --> 00:01:15,480 Taaskin se on vain täysin erillinen käyttöjärjestelmä käynnissä sisällä 24 00:01:15,480 --> 00:01:19,440 mitä käyttöjärjestelmä sinulla ovat käynnissä kannettavan tietokoneen. 25 00:01:19,440 --> 00:01:24,450 Ja tärkein asioita sinun käyttää ovat gedit. 26 00:01:24,450 --> 00:01:28,050 Joten toivottavasti tämä on jo tullut tuttu sivusto. 27 00:01:28,050 --> 00:01:29,470 Terminaali. 28 00:01:29,470 --> 00:01:31,890 >> Ja voit myös käyttää Chrome sisällä Appliance. 29 00:01:31,890 --> 00:01:33,860 On ollut pari ihmistä jotka ovat ilmoittaneet internet 30 00:01:33,860 --> 00:01:35,390 toimi Appliance. 31 00:01:35,390 --> 00:01:38,090 Ja jotkut heistä ovat vain olettaa että ei ole tarkoitus olla 32 00:01:38,090 --> 00:01:39,190 internet Appliance. 33 00:01:39,190 --> 00:01:40,750 Mutta kyllä, siellä on tarkoitus olla internet. 34 00:01:40,750 --> 00:01:44,000 35 00:01:44,000 --> 00:01:46,410 >> Minä sanon sen nyt, mutta se ei tarkoita mitään. 36 00:01:46,410 --> 00:01:50,680 Jos internet ei toimi, tämä on mitä sinulla on tapana tarvitset 37 00:01:50,680 --> 00:01:52,180 ajaa korjata sen. 38 00:01:52,180 --> 00:01:55,602 Jos sinulla on internet kysymyksiä, älä muistaa se, vain lähettää sen 39 00:01:55,602 --> 00:01:57,560 Keskustele, ja me sanomme, ajelu että. 40 00:01:57,560 --> 00:02:00,420 Mutta internet pitäisi toimia. 41 00:02:00,420 --> 00:02:06,650 >> Joten ainoa asia - joo, ei mitään muuten on todella merkitystä. 42 00:02:06,650 --> 00:02:08,979 Mutta halusin vain huomauttaa, että - 43 00:02:08,979 --> 00:02:13,290 nähdä tässä oikeassa alakulmassa. 44 00:02:13,290 --> 00:02:16,530 Joten jokaisen laitteet olisi on IP-osoite. 45 00:02:16,530 --> 00:02:22,350 Ja myöhemmin lukukauden, tämä IP osoite tulee enemmän merkityksellisiä 46 00:02:22,350 --> 00:02:27,230 olet työskennellyt web p-set, koska voit käyttää 47 00:02:27,230 --> 00:02:32,310 sivuilla olet työskennellyt teidän paikalliset Chrome käyttämällä tätä osoitetta. 48 00:02:32,310 --> 00:02:35,400 >> Mutta mitä haluan käyttää IP-osoitetta varten - ja sinun ei tarvitse tehdä tätä, olen 49 00:02:35,400 --> 00:02:37,460 haluavat vain huomauttaa asiasta - 50 00:02:37,460 --> 00:02:39,540 on täällä. 51 00:02:39,540 --> 00:02:42,910 Joten tämä on pääteikkunassa Mac, tämä ei ole 52 00:02:42,910 --> 00:02:44,580 Laite ollenkaan. 53 00:02:44,580 --> 00:02:47,190 Ja voit etsiä mitä Tämä komento tekee. 54 00:02:47,190 --> 00:02:51,855 Mutta aion SSH suoraan minun Appliance. 55 00:02:51,855 --> 00:02:53,410 En tiedä mikä IP on. 56 00:02:53,410 --> 00:02:54,300 >> JOSEPH: 168 - 57 00:02:54,300 --> 00:02:56,080 >> 168.224.1.0. 58 00:02:56,080 --> 00:02:59,950 >> ROB: Joten kun olen tehnyt tämän, kirjaudu sisään 59 00:02:59,950 --> 00:03:05,450 Nyt, periaatteessa, tämä on sama kuin pääteikkunaan sisällä Appliance. 60 00:03:05,450 --> 00:03:10,280 Joten olen aika paljon koskaan todella toiminut sisällä itse laitteesta. 61 00:03:10,280 --> 00:03:12,550 Olen vain aina on pyörittävä taustalla minimoidaan 62 00:03:12,550 --> 00:03:15,890 ja SSHed siihen. 63 00:03:15,890 --> 00:03:24,270 >> Ongelma tässä on se, et aio pystyä käyttämään gedit helposti 64 00:03:24,270 --> 00:03:25,600 suoraan tästä. 65 00:03:25,600 --> 00:03:31,500 Mutta jos haluat olla todellinen jäähtyä hakkeri, sinun pitäisi tottua 66 00:03:31,500 --> 00:03:34,220 komentorivin tekstieditori muutenkin. 67 00:03:34,220 --> 00:03:39,620 Joten Vim ja Emacs ja Nano, kaikki nämä ovat erilaisia ​​vaihtoehtoja. 68 00:03:39,620 --> 00:03:41,560 Nano on yleensä helpoin. 69 00:03:41,560 --> 00:03:45,006 Ja mielestäni se ei ole syntaksin korostus. 70 00:03:45,006 --> 00:03:47,620 Voi ei, se täysin ei. 71 00:03:47,620 --> 00:03:49,870 Joten voit käyttää Nano, koska että yksi on melko helppoa. 72 00:03:49,870 --> 00:03:52,000 >> Näet kaikki nämä komennot alareunassa. 73 00:03:52,000 --> 00:03:54,750 Tämä pieni porkkana symboli. 74 00:03:54,750 --> 00:03:57,620 Jos et ole nähnyt sitä ennen, sinun luultavasti nähdä se paljon nyt. 75 00:03:57,620 --> 00:04:02,350 Se yleensä tarkoittaa tarkastusta porkkana, kuten alhaalta vasemmalta näppäimistön 76 00:04:02,350 --> 00:04:04,130 ohjausmerkki. 77 00:04:04,130 --> 00:04:07,260 Joten tässä se kertoo minut tänne - 78 00:04:07,260 --> 00:04:08,710 Voi, se on ei katkaista, jos en zoomata sisään 79 00:04:08,710 --> 00:04:11,040 Joten Ohjaus, X on, miten Aion poistua. 80 00:04:11,040 --> 00:04:14,710 Ja se sanoo voin lyödä Y Kyllä, säästö, N: o 81 00:04:14,710 --> 00:04:17,190 Niin, että Nano. 82 00:04:17,190 --> 00:04:22,860 >> Vim ja Emacs yleensä hieman monimutkainen ja ylivoimainen. 83 00:04:22,860 --> 00:04:28,840 Mutta voit saada tottunut siihen, ja sitten tulet rakastamaan sitä. 84 00:04:28,840 --> 00:04:30,590 Joten se siitä. 85 00:04:30,590 --> 00:04:31,720 >> JOSEPH: Ei tarvitse tehdä sitä. 86 00:04:31,720 --> 00:04:31,840 >> ROB: Joo. 87 00:04:31,840 --> 00:04:37,510 Voit vapaasti käyttää gedit varten Loput lukukauden. 88 00:04:37,510 --> 00:04:40,630 Joten mitään laitetta liittyviin kysymyksiin? 89 00:04:40,630 --> 00:04:42,820 Vai onko sinulla mitään ajatuksia mitä muuta on puhuttu noin 90 00:04:42,820 --> 00:04:43,610 laitetta? 91 00:04:43,610 --> 00:04:43,996 Kyllä. 92 00:04:43,996 --> 00:04:47,720 >> SPEAKER 1: Kun SSHed omalle asia, oli salasana Crimson? 93 00:04:47,720 --> 00:04:48,390 >> ROB: Joo. 94 00:04:48,390 --> 00:04:50,170 Salasanan aika paljon kaikkea vuonna Appliance on menossa 95 00:04:50,170 --> 00:04:52,473 olla Crimson. 96 00:04:52,473 --> 00:04:56,517 >> SPEAKER 2: Asenna kuin oikea IDE laitteeseen, se toimii? 97 00:04:56,517 --> 00:04:59,200 98 00:04:59,200 --> 00:05:07,290 >> ROB: Kuvittelen Eclipse ei ole Fedora-versio, jolloin, kyllä, 99 00:05:07,290 --> 00:05:08,420 voit tehdä sen. 100 00:05:08,420 --> 00:05:10,875 Se ei todennäköisesti ole todella sen arvoista. 101 00:05:10,875 --> 00:05:11,742 >> Kaiutin 2: OK. 102 00:05:11,742 --> 00:05:15,924 Joten se on luultavasti helpompaa, jos halusin käyttää Eclipse, vain käyttää natiivi ja 103 00:05:15,924 --> 00:05:17,646 sitten ladata - 104 00:05:17,646 --> 00:05:21,090 >> ROB: Voi, että on myös luultavasti helpompaa. 105 00:05:21,090 --> 00:05:24,046 Mutta voit saada sen toimimaan sisällä Appliance. 106 00:05:24,046 --> 00:05:27,740 >> JOSEPH: Ja kamera, kysymys oli, voit asentaa toisen 107 00:05:27,740 --> 00:05:29,490 IDE sisällä Appliance? 108 00:05:29,490 --> 00:05:31,520 >> ROB: Eclipse on esimerkki IDE. 109 00:05:31,520 --> 00:05:34,800 110 00:05:34,800 --> 00:05:36,050 Muita Appliance kysymyksiä? 111 00:05:36,050 --> 00:05:38,250 112 00:05:38,250 --> 00:05:38,680 Selvä. 113 00:05:38,680 --> 00:05:44,920 >> Joten me siirrymme nyt komentoriviltä käyttöliittymä liittyviä asioita, joten CLI. 114 00:05:44,920 --> 00:05:47,990 Ja vielä, olen juuri menossa töihin tässä, koska se on identtinen 115 00:05:47,990 --> 00:05:52,780 työskentelevät pääteikkunaan sisällä Appliance. 116 00:05:52,780 --> 00:05:54,160 Miten se fontti näköinen? 117 00:05:54,160 --> 00:05:55,970 Onko se tarpeeksi iso? 118 00:05:55,970 --> 00:05:57,000 Selvä. 119 00:05:57,000 --> 00:06:02,480 >> Niin on olemassa paljon komentoja, sinun pitäisi saada melko käytetään 120 00:06:02,480 --> 00:06:04,490 koko lukukauden. 121 00:06:04,490 --> 00:06:09,480 Iso two navigointiin ovat ls, lista tiedostot tähän hakemistoon, ja 122 00:06:09,480 --> 00:06:11,380 cd, niin siirtyä hakemistoon. 123 00:06:11,380 --> 00:06:18,390 Joten en voi vaihtaa työpöydän ja sitten hyvin yleinen malli on cd 124 00:06:18,390 --> 00:06:22,550 hakemisto ja heti ls Mitä hakemistosta. 125 00:06:22,550 --> 00:06:25,540 >> Ihmiset myös joskus eivät ymmärrä että Tab valmistumisaika on asia. 126 00:06:25,540 --> 00:06:28,370 Joten kuten cd, vh, ja sitten osuin Tab. 127 00:06:28,370 --> 00:06:30,790 En juuri koskaan kirjoittamiseen koko juttu. 128 00:06:30,790 --> 00:06:32,920 Ja sitten jos pidän lyömällä Tab uudelleen, se tulee automaattisesti 129 00:06:32,920 --> 00:06:33,670 aloittaa listalle minulle. 130 00:06:33,670 --> 00:06:37,000 Joten voin cd vhosts, paikallinen isäntä. 131 00:06:37,000 --> 00:06:39,880 Ja juuri menossa - 132 00:06:39,880 --> 00:06:43,380 jos et ole kuullut termin ennen, hakemisto on vain yksi sana 133 00:06:43,380 --> 00:06:45,170 kansion. 134 00:06:45,170 --> 00:06:49,930 Joten nyt jos näet - 135 00:06:49,930 --> 00:06:51,810 katsotaanpa tuo että huipulle. 136 00:06:51,810 --> 00:06:55,380 >> Joten nyt jos näet suluissa, voit näen pikku tilde, slash, vhost, 137 00:06:55,380 --> 00:06:56,810 slash, paikallinen isäntä. 138 00:06:56,810 --> 00:07:00,040 Niin tilde, joka viittaa kotiini hakemistoon. 139 00:07:00,040 --> 00:07:03,090 Se on hakemistossa olet vuonna, kun SSH sisään 140 00:07:03,090 --> 00:07:05,660 Se on hakemisto olet, kun avaat päätteen. 141 00:07:05,660 --> 00:07:08,650 Se on silloin, kun alkaa. 142 00:07:08,650 --> 00:07:13,110 Ja niin olen sisällä minun kotihakemiston, ja olen sisällä vhost 143 00:07:13,110 --> 00:07:14,475 hakemiston sisällä minun kotihakemiston. 144 00:07:14,475 --> 00:07:19,670 Ja sitten olen sisällä paikallisia isäntä hakemiston sisällä että. 145 00:07:19,670 --> 00:07:23,740 >> Joten jotkut muita hyödyllisiä asioita cd - 146 00:07:23,740 --> 00:07:29,220 tai hyvin yleisesti, joten piste aina viittaa nykyiseen hakemistoon. 147 00:07:29,220 --> 00:07:31,130 Cd, piste on melko arvoton komennon. 148 00:07:31,130 --> 00:07:35,150 Mutta se on muuttumassa hakemistossa. 149 00:07:35,150 --> 00:07:38,230 Enemmän hyötyä yksi kannalta CD on piste, piste, joka on 150 00:07:38,230 --> 00:07:40,220 vain mennä ylös yhden hakemiston. 151 00:07:40,220 --> 00:07:43,360 >> Ja huomaa, että nämä - 152 00:07:43,360 --> 00:07:48,610 Haluan sanoa aliaksia, mutta nämä symboleja, piste, ja piste, piste, nämä työt 153 00:07:48,610 --> 00:07:51,740 melko paljon mitään komentoa olet aiotaan ajatellut käynnissä. 154 00:07:51,740 --> 00:07:55,370 Niin kuin cd on luultavasti missä olet käyttävät eniten, mutta nämä eivät ole 155 00:07:55,370 --> 00:07:56,780 asioita, jotka vain cd ymmärtää. 156 00:07:56,780 --> 00:07:59,980 Se on aika paljon jotain koko komentoriviltä ymmärtää. 157 00:07:59,980 --> 00:08:01,932 Paljon ohjelmia ymmärtää dot ja piste, piste. 158 00:08:01,932 --> 00:08:04,830 159 00:08:04,830 --> 00:08:09,090 >> Joten muita hyödyllisiä niistä - cd, viiva. 160 00:08:09,090 --> 00:08:13,460 Niin, että aikoo tuoda minut hakemistojen että olin tuumaa 161 00:08:13,460 --> 00:08:15,980 Joten joskus teen jotain, Voi, olen työskennellyt täällä. 162 00:08:15,980 --> 00:08:21,110 Ja näen jokin virhe jotain, ja Menen tutkimaan sen siirtymällä 163 00:08:21,110 --> 00:08:24,020 joitakin satunnaisia ​​hakemistoon jonnekin. 164 00:08:24,020 --> 00:08:25,260 Ja en tiedä, jos se will haluan sinne. 165 00:08:25,260 --> 00:08:25,720 Se. 166 00:08:25,720 --> 00:08:27,615 Niin sitten teen mitä haluan tähän hakemistoon. 167 00:08:27,615 --> 00:08:28,950 Blaa, blaa, blaa, blaa, blaa. 168 00:08:28,950 --> 00:08:31,770 Ja olin kuin, okei, haluan mennä takaisin sinne missä olin. 169 00:08:31,770 --> 00:08:34,490 cd, viiva, ja se tuo minulle takaisin. 170 00:08:34,490 --> 00:08:39,970 >> Joten aion heittää paljon Näiden sinua tänään. 171 00:08:39,970 --> 00:08:43,730 En odota sinun muistaa ne kaikki. 172 00:08:43,730 --> 00:08:46,170 Se on tavallaan vain tietää että ne ovat olemassa. 173 00:08:46,170 --> 00:08:48,690 Ja sitten myöhemmin, kun et pidä, hmm, haluan mennä takaisin 174 00:08:48,690 --> 00:08:51,870 hakemiston, että olin juuri, oh, odota, jotain, joka on olemassa. 175 00:08:51,870 --> 00:08:53,980 Sinun ei tarvitse vain kirjoittaa koko hakemistosta uudelleen. 176 00:08:53,980 --> 00:08:56,090 >> JOSEPH: Ja lopulta voit vain käyttää niitä uudestaan ​​ja uudestaan, ja 177 00:08:56,090 --> 00:08:57,830 siitä tulee lihasmuistia. 178 00:08:57,830 --> 00:09:00,090 >> ROB: Joo. 179 00:09:00,090 --> 00:09:02,930 Joten miten aiemmin sanoin, että tilde on kotihakemistosi. 180 00:09:02,930 --> 00:09:04,820 Joten voin cd, tilde. 181 00:09:04,820 --> 00:09:07,280 Mutta en edes tarvitse tehdä, että jos minä vain - 182 00:09:07,280 --> 00:09:09,760 Menen takaisin hakemistoon, jolloin se ei ole turhaa esimerkki. 183 00:09:09,760 --> 00:09:14,560 Mutta jos en vain cd, joka on myös sama kuin, mene minun kotihakemistoon. 184 00:09:14,560 --> 00:09:18,380 185 00:09:18,380 --> 00:09:19,880 En Command, K. 186 00:09:19,880 --> 00:09:24,015 >> JOSEPH: Voit myös kirjoittaa selkeitä, sana, ja se pitäisi poistaa se. 187 00:09:24,015 --> 00:09:28,650 >> ROB: Ja mielestäni myös valvoa, L myös tekee sen. 188 00:09:28,650 --> 00:09:29,690 Niin monin eri tavoin. 189 00:09:29,690 --> 00:09:34,070 Mielestäni on olemassa joitakin eroja, joissa selkeä ja valvonta, L tulee vain 190 00:09:34,070 --> 00:09:37,280 todella työntää sen ylä-ja Voin silti vierittää takaisin. 191 00:09:37,280 --> 00:09:40,580 Komento, K kirjaimellisesti tuhoaa kaiken, ja sinä 192 00:09:40,580 --> 00:09:42,960 ei voi vierittää takaisin ylös. 193 00:09:42,960 --> 00:09:45,530 Ainakin, se on miten se toimii iTerm2. 194 00:09:45,530 --> 00:09:48,690 En tiedä, miten muut asiat - 195 00:09:48,690 --> 00:09:49,360 oh. 196 00:09:49,360 --> 00:09:55,450 >> Kanssa SSHing, joten jos olet Windows, olet menossa tarvitse ladata PuTTY 197 00:09:55,450 --> 00:10:02,360 jotta SSH koska Windows ei on kuin sisäänrakennettu SSH työkalu. 198 00:10:02,360 --> 00:10:06,150 Alkaen Macit, voit vain SSH suoraan alkaen terminaali-ikkuna. 199 00:10:06,150 --> 00:10:08,755 200 00:10:08,755 --> 00:10:09,690 OK. 201 00:10:09,690 --> 00:10:11,840 Kysymyksiä? 202 00:10:11,840 --> 00:10:19,260 >> LS, joten jotain tottua useimmat näistä komennoista on - 203 00:10:19,260 --> 00:10:20,060 No, minä vain tehdä yksi. 204 00:10:20,060 --> 00:10:21,310 Ls, ajatusviiva, l. 205 00:10:21,310 --> 00:10:26,330 Joten viiva, l on mitä aiomme soittaa lipun ls. 206 00:10:26,330 --> 00:10:30,770 Ja paljon näitä komentoja on hännät että voit siirtää niitä. 207 00:10:30,770 --> 00:10:35,020 Joten tässä tapauksessa, ajatusviiva, l on lippu joka kertoo se antaa minulle täyden 208 00:10:35,020 --> 00:10:37,850 kaikki tiedot näistä tiedostoista. 209 00:10:37,850 --> 00:10:44,790 >> Näemme tässä, että kassa oli muutettu 30. heinäkuuta kello 12:54. 210 00:10:44,790 --> 00:10:47,160 Lataukset on muokattu 6. syyskuuta. 211 00:10:47,160 --> 00:10:52,350 Nämä ovat nykyisen koon ja tavua näistä hakemistoista. 212 00:10:52,350 --> 00:10:54,412 Sinun ei tarvitse ymmärtää kaikki tämä. 213 00:10:54,412 --> 00:11:00,380 >> Tätä kamaa vasemmalla, nämä drwx n, että tulee paljon asiaa 214 00:11:00,380 --> 00:11:02,290 myöhemmin, kun täytyy käsitellä - 215 00:11:02,290 --> 00:11:05,900 että on tekemistä, jolla on käyttöoikeudet tarkastella näitä tiedostoja. 216 00:11:05,900 --> 00:11:09,880 Joten jos et ole ainoa käyttäjä tässä tietokoneessa, sinun pitäisi pystyä 217 00:11:09,880 --> 00:11:13,345 sanoa, OK, minun pitäisi olla vain yksi saa katsoa tätä tiedostoa tai olen 218 00:11:13,345 --> 00:11:14,870 aio sallia kaikille tarkastella tämän tiedoston. 219 00:11:14,870 --> 00:11:17,710 Joten joku muu minun tietokone katsoa tämän tiedoston. 220 00:11:17,710 --> 00:11:22,190 221 00:11:22,190 --> 00:11:25,600 En edes tiedä, mitä tämä - Mitä tämä tekee? 222 00:11:25,600 --> 00:11:26,840 >> JOSEPH: En ole aivan varma, oikeastaan. 223 00:11:26,840 --> 00:11:27,705 >> ROB: Ei aavistustakaan. 224 00:11:27,705 --> 00:11:30,530 >> JOSEPH: Mutta jos et tiedä, on hyödyllinen komento, jota voit käyttää 225 00:11:30,530 --> 00:11:31,680 kertoa teille, mitä antovälineet. 226 00:11:31,680 --> 00:11:33,780 Ja jos kirjoitat mies ennen komennon - 227 00:11:33,780 --> 00:11:35,000 joten M--N. ROB: Man. 228 00:11:35,000 --> 00:11:37,690 Joten mies on toinen joka on erittäin hyödyllinen. 229 00:11:37,690 --> 00:11:39,540 Ja mies, ls. 230 00:11:39,540 --> 00:11:47,320 Joten mies sivuja, ne ovat molemmat komentoja että aiot käyttää 231 00:11:47,320 --> 00:11:50,330 komentoriville, ja heillä on myös toiminnot, jotka ovat merkityksellisiä 232 00:11:50,330 --> 00:11:52,530 C. Voit siis ihminen - 233 00:11:52,530 --> 00:11:53,720 ja ohitin 3. 234 00:11:53,720 --> 00:11:57,410 Mutta ihminen 3 printf aikoo tuoda ylös C-versio printf. 235 00:11:57,410 --> 00:12:01,030 Mutta jos en vain mies printf, tämä on menossa esiin komennon printf 236 00:12:01,030 --> 00:12:03,540 että tapahtuu komentoriviltä. 237 00:12:03,540 --> 00:12:05,730 >> Joten mies, ls. 238 00:12:05,730 --> 00:12:09,030 Man-sivuja voi olla melko ylivoimainen. 239 00:12:09,030 --> 00:12:12,770 Täällä, vaikka näet tämän listalle Kaikkien näiden lippujen että ls 240 00:12:12,770 --> 00:12:14,300 ymmärtää. 241 00:12:14,300 --> 00:12:17,876 Joten jos menemme viiva, L, ja - 242 00:12:17,876 --> 00:12:19,300 Olen juuri menossa heittää tämän sinulle. 243 00:12:19,300 --> 00:12:23,050 Mutta jotta etsiä, haluatko ensin osuma kysymys 244 00:12:23,050 --> 00:12:24,780 merkki tai slash-painiketta. 245 00:12:24,780 --> 00:12:26,040 Niin slash. 246 00:12:26,040 --> 00:12:29,000 >> Ja sitten voin etsiä sillä mitä haluan. 247 00:12:29,000 --> 00:12:33,780 Joten aion leikata Dash, l. 248 00:12:33,780 --> 00:12:35,110 Ja siinä se oli. 249 00:12:35,110 --> 00:12:37,450 Käytä siis pitkiä luettelumuotoa. 250 00:12:37,450 --> 00:12:40,060 Se ei auta minua selvittää, mitä että tietyn sarakkeen tarkoitti, mutta minä 251 00:12:40,060 --> 00:12:44,480 olettaa jossain täällä se selittää, että. 252 00:12:44,480 --> 00:12:48,740 Joten käytä mies sivuilta mitään komentoa että et heti ymmärrä. 253 00:12:48,740 --> 00:12:51,080 >> Olen melko varma, voit jopa mies, mies. 254 00:12:51,080 --> 00:12:53,070 Rajapinta verkossa lähdeteokset. 255 00:12:53,070 --> 00:12:57,700 256 00:12:57,700 --> 00:13:03,570 Oh, yksi viimeisin joka on ehkä hieman Merkitystä on ls, ajatusviiva,. 257 00:13:03,570 --> 00:13:08,490 Joten huomaa, jos en vain ls, Saan nämä viisi tiedostoa. 258 00:13:08,490 --> 00:13:11,480 Jos teen ls, viiva, minä saada paljon enemmän tiedostoja. 259 00:13:11,480 --> 00:13:15,350 Joten asia yhteistä kaikkien näiden uusia tiedostoja on piste etukäteen. 260 00:13:15,350 --> 00:13:21,220 >> Joten yleissopimus on, että tiedosto, joka alkaa piste on piilotettu. 261 00:13:21,220 --> 00:13:25,300 Joten et halua nähdä, että tiedoston, voit eivät halua olla se sotku 262 00:13:25,300 --> 00:13:26,750 hakemistoon listalle. 263 00:13:26,750 --> 00:13:30,020 Vasta kun olet nimenomaisesti pyytää, kunnossa, ls, ajatusviiva,, näytä minulle. 264 00:13:30,020 --> 00:13:32,830 Sanoista kaikki tiedostot, lukien kätketyilläni. 265 00:13:32,830 --> 00:13:37,260 266 00:13:37,260 --> 00:13:39,270 Joten jotkut muut komennot. 267 00:13:39,270 --> 00:13:41,323 Voi, kysymyksiä siinä vaiheessa? 268 00:13:41,323 --> 00:13:41,746 Kyllä. 269 00:13:41,746 --> 00:13:45,914 >> SPEAKER 3: Kun teet ls, , mikä on piste, piste? 270 00:13:45,914 --> 00:13:46,870 >> ROB: Oh. 271 00:13:46,870 --> 00:13:48,780 Joten tämä on mitä puhuin. 272 00:13:48,780 --> 00:13:50,890 Se on sama asia, jossa Voin kuten CD, piste, piste. 273 00:13:50,890 --> 00:13:56,790 Joten teknisesti, piste ja piste, piste ovat tiedostoja, jotka ovat olemassa jokaisessa 274 00:13:56,790 --> 00:14:03,620 hakemistoon, jossa piste-tiedosto viittaa nykyiseen hakemistoon. 275 00:14:03,620 --> 00:14:06,930 Jos siis cd, piste, olen juuri menossa pysyä hakemistoon. 276 00:14:06,930 --> 00:14:10,870 Ja piste, piste viittaa aina edelliseen hakemistoon yhtä tasoa ylempänä. 277 00:14:10,870 --> 00:14:18,200 Joten jos menen lokit ja ls, ajatusviiva, ai, Nähdään piste, piste. cd piste, piste 278 00:14:18,200 --> 00:14:20,390 pääsenkin edelliseen hakemistoon. 279 00:14:20,390 --> 00:14:24,530 280 00:14:24,530 --> 00:14:25,780 Joo. 281 00:14:25,780 --> 00:14:27,160 282 00:14:27,160 --> 00:14:28,110 OK. 283 00:14:28,110 --> 00:14:33,070 >> Joten toinen aika tärkeä komento on rm. 284 00:14:33,070 --> 00:14:35,650 Niin, että mitä aiomme käyttää poistaa. 285 00:14:35,650 --> 00:14:38,100 Ja haluaisin todella tehdä uuden komento ensin. 286 00:14:38,100 --> 00:14:39,610 Niin mkdir. 287 00:14:39,610 --> 00:14:42,770 Mkdir on, miten voit luoda hakemistoja. 288 00:14:42,770 --> 00:14:47,530 Ja minä luomme väliaikaiseen hakemistoon ja mene tuohon väliaikaiseen hakemistoon. 289 00:14:47,530 --> 00:14:49,590 Ja odotetusti, se on tyhjä. 290 00:14:49,590 --> 00:14:53,680 Mutta jos minä ls, ajatusviiva,, minulla on vielä piste ja piste, piste, koska piste viittaa 291 00:14:53,680 --> 00:14:54,480 nykyinen hakemisto. 292 00:14:54,480 --> 00:14:56,170 Ja piste, piste viittaa edelliseen hakemistoon. 293 00:14:56,170 --> 00:14:58,700 Ja ne on aina olemassa riippumatta hakemiston olet tuumaa 294 00:14:58,700 --> 00:15:01,910 295 00:15:01,910 --> 00:15:09,010 >> Ja tämä on täysin tarpeeton komennon, mutta kosketus. 296 00:15:09,010 --> 00:15:11,880 Olen vain käyttää sitä, koska se on helppo tapa luoda tiedostoja. 297 00:15:11,880 --> 00:15:16,180 Joten kosketa, kosketa b, koskettamalla c on vain aikoo luoda kolme tiedostoa kutsutaan, 298 00:15:16,180 --> 00:15:17,845 b ja c, jotka ovat täysin tyhjä. 299 00:15:17,845 --> 00:15:20,450 300 00:15:20,450 --> 00:15:24,980 Joten kohta minua luomaan kuin Ensimmäinen paikka on juuri niin, että rm on 301 00:15:24,980 --> 00:15:26,250 miten voimme poistaa ne. 302 00:15:26,250 --> 00:15:27,850 Joten rm,. 303 00:15:27,850 --> 00:15:30,960 Se tulee kysyä minulta, poista tavallinen tyhjä tiedosto? 304 00:15:30,960 --> 00:15:33,170 Ja sitten minä sanon kyllä. 305 00:15:33,170 --> 00:15:39,090 >> Joten jos tiedän varmasti, että haluan poistaa tiedoston ilman on 306 00:15:39,090 --> 00:15:44,500 pyydettäessä poistaa tavallinen tyhjä tiedosto?, sitten rm, ajatusviiva, f tulee olemaan 307 00:15:44,500 --> 00:15:48,230 lippu, joka sanoo, pakottaa poistaa eikä jopa kehotukset minulle, oi, oletko 308 00:15:48,230 --> 00:15:49,710 varma, että haluat poistaa tiedoston? 309 00:15:49,710 --> 00:15:50,810 Kyllä, olen varma. 310 00:15:50,810 --> 00:15:56,050 Joten rm, ajatusviiva, FB vain tee se kysymättä. 311 00:15:56,050 --> 00:15:57,950 >> Joten tehdä joitakin enemmän hakemistoja. 312 00:15:57,950 --> 00:16:03,670 mkdir, TMP2, cd, TMP2, kosketa, kosketa b. 313 00:16:03,670 --> 00:16:04,300 OK. 314 00:16:04,300 --> 00:16:08,180 Joten nyt haluan poistaa TMP2 kuin hakemistoon. 315 00:16:08,180 --> 00:16:10,316 Joten rm TMP2. 316 00:16:10,316 --> 00:16:12,920 Et voi poistaa TMP2, se on hakemistossa. 317 00:16:12,920 --> 00:16:21,370 Joten kysymys on, että rm ei heti työtä hakemistoja. 318 00:16:21,370 --> 00:16:26,530 Se on tarkoitettu vain tiedostoja, kuten ei-hakemiston tiedostoja. 319 00:16:26,530 --> 00:16:30,800 >> Ja niin mitä voimme tehdä tässä rm, ajatusviiva, r. 320 00:16:30,800 --> 00:16:35,160 Joka edustaa rekursiivisesti, jotka voivat ei merkitse teille mitään vielä. 321 00:16:35,160 --> 00:16:38,280 Mutta kun saat rekursio, se tulee merkitä enemmän. 322 00:16:38,280 --> 00:16:43,540 Joten rm, viiva, r, TMP2 on menossa rekursiivisesti, menee siihen hakemistoon. 323 00:16:43,540 --> 00:16:45,540 Joten ajautua hakemistoon TMP2? 324 00:16:45,540 --> 00:16:47,330 Kyllä, mennään tuohon. 325 00:16:47,330 --> 00:16:49,360 Haluammeko poistaa TMP2 /? 326 00:16:49,360 --> 00:16:49,745 Kyllä. 327 00:16:49,745 --> 00:16:51,830 Haluammeko poistaa TMP2 / b? 328 00:16:51,830 --> 00:16:52,840 Kyllä. 329 00:16:52,840 --> 00:16:55,170 Nyt haluamme poistaa hakemisto TMP2? 330 00:16:55,170 --> 00:16:56,040 Kyllä. 331 00:16:56,040 --> 00:16:58,410 Ja nyt hakemistossa ja kaiken sisällä 332 00:16:58,410 --> 00:16:59,660 siitä on poistettu. 333 00:16:59,660 --> 00:17:02,850 334 00:17:02,850 --> 00:17:07,250 >> On teknisesti komento rmdir että voit poistaa 335 00:17:07,250 --> 00:17:11,670 hakemistoja, mutta se toimii vain on tyhjät hakemistot muutenkin. 336 00:17:11,670 --> 00:17:14,109 Ja nähdä, että haluan vain do mkdir, TMP2 uudelleen. 337 00:17:14,109 --> 00:17:15,940 TMP2, kosketa. 338 00:17:15,940 --> 00:17:16,800 OK. 339 00:17:16,800 --> 00:17:22,770 Joten jos yritän poistaa dirtmp2, se tulee sanoa, hakemisto ei ole tyhjä. 340 00:17:22,770 --> 00:17:29,540 Joten olen aika paljon koskaan käytä remove dir komento joka tapauksessa, koska rm, ajatusviiva, 341 00:17:29,540 --> 00:17:35,140 r työskentelee tyhjät hakemistot ja ei-tyhjät hakemistot. 342 00:17:35,140 --> 00:17:37,760 >> Ja myös, jos en halua joutua käydä läpi, että koko prosessi 343 00:17:37,760 --> 00:17:40,720 ajautumasta hakemistoon ja poistamalla kunkin yksittäisen tiedoston, rm, 344 00:17:40,720 --> 00:17:44,190 ajatusviiva, rf, TMP2. 345 00:17:44,190 --> 00:17:45,670 Ja nyt se on mennyt. 346 00:17:45,670 --> 00:17:51,220 >> Olla varovainen noin on rm, ajatusviiva, rf. 347 00:17:51,220 --> 00:17:53,660 Ja se pelottaa minua edes kirjoittaa sitä, koska jos olen vahingossa 348 00:17:53,660 --> 00:17:55,090 paina Enter tai jotain. 349 00:17:55,090 --> 00:18:02,735 Joten rm, ajatusviiva, rf, tilde olisi ilman kehotukset minua, f ei kehota 350 00:18:02,735 --> 00:18:05,670 Minulle se poistaa automaattisesti minun koko kotihakemiston ja 351 00:18:05,670 --> 00:18:06,780 kaiken sen. 352 00:18:06,780 --> 00:18:11,460 Joten saatat ajatella, että on typerää tehdä. 353 00:18:11,460 --> 00:18:12,830 Ja hyvin, se on. 354 00:18:12,830 --> 00:18:18,600 >> Mutta se voi tapahtua hyvin helposti Onnettomuuden jos vaikkapa haluaisin poistaa 355 00:18:18,600 --> 00:18:21,640 minun slash, vhost hakemistoon. 356 00:18:21,640 --> 00:18:26,610 Ja vain nopeasti kirjoittamalla, Olen vahingossa tehdä tämän. 357 00:18:26,610 --> 00:18:31,880 Joka poistaa rekursiivisesti sekä minun kotihakemiston ja vhost hakemisto 358 00:18:31,880 --> 00:18:35,450 Tässä tietyssä hakemistossa, että vain sattuu ole olemassa juuri nyt. 359 00:18:35,450 --> 00:18:39,520 Mutta tämä voi silti poistaa minun koko kotihakemiston. 360 00:18:39,520 --> 00:18:43,090 Ainakin ei tarvinnut f, se olisi saanut minut ensin. 361 00:18:43,090 --> 00:18:45,670 Ja olisin kuten, oh, no, minä eivät halua tehdä sitä. 362 00:18:45,670 --> 00:18:50,570 Mutta ihmiset, slash, mukaan lukien minua on taipumus päästä 363 00:18:50,570 --> 00:18:53,090 tapana aina rf-Ing. 364 00:18:53,090 --> 00:18:58,713 Jopa tavallisten tiedostojen että voin vain rm, c, minulla on tapana vain rm, ajatusviiva, rf, c. 365 00:18:58,713 --> 00:19:01,330 Vain olla varovainen, kun olet rf-Ing. 366 00:19:01,330 --> 00:19:03,160 >> SPEAKER 4: Mitä C tehdä? 367 00:19:03,160 --> 00:19:11,570 >> ROB: C puhun, että C-tiedosto tämän hakemiston, että rm, c. 368 00:19:11,570 --> 00:19:15,730 >> JOSEPH: Ja enemmän vaarallisesti, jos käytät tähti, se viittaa kaiken 369 00:19:15,730 --> 00:19:16,450 hakemistoon. 370 00:19:16,450 --> 00:19:20,040 Niin mitä yleensä on tapana tehdä on minä mennä hakemistoon ja haluan 371 00:19:20,040 --> 00:19:21,510 poistaa kaikki tiedostot sinne. 372 00:19:21,510 --> 00:19:23,640 Joten rm, ajatusviiva, rf, tähti. 373 00:19:23,640 --> 00:19:25,700 >> ROB: Joo. 374 00:19:25,700 --> 00:19:26,780 Rm, ajatusviiva, rf, tähti. 375 00:19:26,780 --> 00:19:29,530 >> JOSEPH: Ja jos et ole varovainen mitä hakemistoon olet - 376 00:19:29,530 --> 00:19:33,340 En ollut temp, mutta olin vahingossa kotini hakemistoon, 377 00:19:33,340 --> 00:19:35,450 sitten minä poistaa kaiken kotini hakemistossa. 378 00:19:35,450 --> 00:19:39,095 Ja olen itse tehnyt, että ennen, ja Mielestäni olet tehnyt tätä ennen tai 379 00:19:39,095 --> 00:19:40,640 Jay on tehnyt sitä aiemmin. 380 00:19:40,640 --> 00:19:42,480 >> ROB: Olen vahingossa poistanut - 381 00:19:42,480 --> 00:19:44,480 joten unohda, että komento vähän. 382 00:19:44,480 --> 00:19:45,800 >> JOSEPH: Ei hauskaa. 383 00:19:45,800 --> 00:19:52,650 >> ROB: Joten slash bin hakemisto on nippu binääritiedostot jos siellä tulee 384 00:19:52,650 --> 00:19:54,840 tunnettava välineisiin, kuten kalahtaa. 385 00:19:54,840 --> 00:20:00,740 No, clang ja periaatteessa kaikki nämä asioita, joita olen käynnissä komennon 386 00:20:00,740 --> 00:20:02,060 line kuuluvat tähän slash bin hakemistoon. 387 00:20:02,060 --> 00:20:03,090 >> JOSEPH: Like ls on täällä. 388 00:20:03,090 --> 00:20:06,285 >> ROB: Niin piste, slash, ls olisi listata tähän hakemistoon. 389 00:20:06,285 --> 00:20:08,120 >> JOSEPH: Rm on myös tähän hakemistoon. 390 00:20:08,120 --> 00:20:12,770 >> ROB: Olen vahingossa rm, rf-ed bin, joka poisti mitään komentoa voisin 391 00:20:12,770 --> 00:20:14,380 mahdollisesti koskaan halua. 392 00:20:14,380 --> 00:20:18,085 Joka sitten vain asentaa uusi Appliance tässä vaiheessa. 393 00:20:18,085 --> 00:20:20,170 >> JOSEPH: Ole siis varovainen, kun käytät tätä komentoa. 394 00:20:20,170 --> 00:20:21,120 >> Yleisö: [kuultavissa]? 395 00:20:21,120 --> 00:20:22,640 >> ROB: Kyllä. 396 00:20:22,640 --> 00:20:24,135 Se on myös paha tapa päästä. 397 00:20:24,135 --> 00:20:27,920 398 00:20:27,920 --> 00:20:30,170 Jos huomaat, olen nyt - 399 00:20:30,170 --> 00:20:33,580 hyvin, et voi huomata, mutta minun zoom-in ehkä voi. 400 00:20:33,580 --> 00:20:35,360 Joten olen nyt root @ laitetta. 401 00:20:35,360 --> 00:20:39,790 Joten jharvard on käyttäjän haluamme voit aina käyttää. 402 00:20:39,790 --> 00:20:43,820 Root on käyttäjä, jolla on lupa tehdä yhtään mitään. 403 00:20:43,820 --> 00:20:50,260 >> Joten huomaa, kun olen jharvard, jos yritän cd - 404 00:20:50,260 --> 00:20:52,461 mitä hakemiston, joka? 405 00:20:52,461 --> 00:20:53,980 Oh, juuri on hyvä esimerkki. 406 00:20:53,980 --> 00:20:54,950 Joten cd, root. 407 00:20:54,950 --> 00:20:56,030 Lupa hylätty. 408 00:20:56,030 --> 00:21:00,060 Koska jos katsomme tämä sivusto - 409 00:21:00,060 --> 00:21:02,410 ja uudelleen, sinun ei tarvitse täysin ymmärrä tätä. 410 00:21:02,410 --> 00:21:09,210 Mutta nämä kolme viivaa sanovat jotka eivät anna mitään muuta 411 00:21:09,210 --> 00:21:11,120 Käyttäjä tähän hakemistoon. 412 00:21:11,120 --> 00:21:14,540 Ja hakemisto sattuu omistaa käyttäjän root. 413 00:21:14,540 --> 00:21:20,310 >> Niin, että olen jharvard eikä joka ei ole juuri on päästetty 414 00:21:20,310 --> 00:21:23,490 tähän hakemistoon, se tarkoittaa, että olen aikoo saada lupa evätään, kun 415 00:21:23,490 --> 00:21:25,160 yrittää cd siihen. 416 00:21:25,160 --> 00:21:31,370 Joten kun olen root, minulla on lupa tee yhtään mitään, mukaan lukien 417 00:21:31,370 --> 00:21:34,660 poistaa tärkeistä tiedostoista laitteeseen ja 418 00:21:34,660 --> 00:21:36,640 tuhota koko juttu. 419 00:21:36,640 --> 00:21:41,240 >> Joten se on huono tapa päästä vain vaeltelee ympäri 420 00:21:41,240 --> 00:21:43,650 käyttöjärjestelmän pääkäyttäjänä. 421 00:21:43,650 --> 00:21:46,520 Teen sen silti. 422 00:21:46,520 --> 00:21:48,710 Kysymyksiä? 423 00:21:48,710 --> 00:21:52,230 Ja minä poistua root, pysyä jharvard. 424 00:21:52,230 --> 00:21:54,510 OK. 425 00:21:54,510 --> 00:21:55,820 >> Osuvampia komentoja. 426 00:21:55,820 --> 00:22:03,975 Niin menee takaisin meidän temp, mv komento tarkoittaa liikkua. 427 00:22:03,975 --> 00:22:05,450 Voit liikkua. 428 00:22:05,450 --> 00:22:07,610 Nyt haluamme kutsua sitä b, niin nyt sitä kutsutaan b. 429 00:22:07,610 --> 00:22:10,650 Tai ehkä haluamme siirtää b yhden hakemiston. 430 00:22:10,650 --> 00:22:12,730 Joten nyt tämän hakemiston tyhjä. 431 00:22:12,730 --> 00:22:15,410 Menen takaisin kotiini hakemistoon, ja näemme, että b on täällä, koska 432 00:22:15,410 --> 00:22:19,230 kotihakemiston oli yhden hakemiston ylös hakemiston, b oli ollut tuumaa 433 00:22:19,230 --> 00:22:24,710 434 00:22:24,710 --> 00:22:26,580 >> Mukana on myös cp. 435 00:22:26,580 --> 00:22:33,210 Joten cp on kopioida Super osio, dot, tekstiä. 436 00:22:33,210 --> 00:22:35,750 Voin soittaa se s, piste, tekstiä. 437 00:22:35,750 --> 00:22:39,780 Nyt meillä on sekä Super-osiossa dot, tekstiä, ja s, piste, tekstiä. 438 00:22:39,780 --> 00:22:41,340 Tämä toimii myös hakemistoja. 439 00:22:41,340 --> 00:22:44,040 440 00:22:44,040 --> 00:22:46,560 I rf-ed yhden tiedoston. 441 00:22:46,560 --> 00:22:48,200 Joten cp - 442 00:22:48,200 --> 00:22:51,710 No, ensin yritetään cp, TMP, TMP2. 443 00:22:51,710 --> 00:22:53,220 Joten suljettaessa tmp. 444 00:22:53,220 --> 00:22:57,440 Niin samankaltaisia ​​rm, oletustoiminnan on toimi hakemistoja. 445 00:22:57,440 --> 00:23:01,570 >> Ja vielä, samanlainen RM, oletus käyttäytyminen - No, saada sen toimimaan 446 00:23:01,570 --> 00:23:04,230 hakemistoja on, viiva-r pois. 447 00:23:04,230 --> 00:23:09,240 Joten kopioi rekursiivisesti temp hakemiston TMP2. 448 00:23:09,240 --> 00:23:13,700 Ja nyt meillä on sekä TMP ja TMP2, ja että ei ole niin hyödyllistä, sillä tmp 449 00:23:13,700 --> 00:23:16,814 oli tyhjä ylipäätään. 450 00:23:16,814 --> 00:23:18,660 TMP2. 451 00:23:18,660 --> 00:23:22,680 >> Nyt kopioi TMP osaksi TMP2. 452 00:23:22,680 --> 00:23:27,900 Ja me näemme, että TMP2 on myös tiedosto , koska hakemisto ja 453 00:23:27,900 --> 00:23:32,220 kaiken sisällä kyseisen hakemiston kopioitu. 454 00:23:32,220 --> 00:23:36,000 Ja se voi olla hieman apua jos esimerkiksi olet työskennellyt 455 00:23:36,000 --> 00:23:38,860 ongelmakäytöstä asettaa yhden - 456 00:23:38,860 --> 00:23:41,320 tai oikeastaan ​​myöhemmin ongelma sarjat ovat sitäkin tärkeämpää, koska siellä 457 00:23:41,320 --> 00:23:43,660 on koko joukko tiedostoja ja asioita. 458 00:23:43,660 --> 00:23:47,010 >> Mutta haluat vain, kohta kohdalta Toinen, et pidä, okei, olen 459 00:23:47,010 --> 00:23:50,210 aikoo yrittää jotain erilaista. 460 00:23:50,210 --> 00:23:57,860 Haluan vain kopioida minun koko pset1 hakemiston pset1 varmuuskopio niin, että jos 461 00:23:57,860 --> 00:24:01,490 Olen päätyä ruuvaamalla asioita, voin mennä takaisin minun varmuuskopio hakemistoon. 462 00:24:01,490 --> 00:24:07,340 On toimivia keinoja versiointi varmuuskopioiden koodia, mutta 463 00:24:07,340 --> 00:24:10,610 tämä on aina nopea tapa vain tehdä että sinulla on kopio jostain 464 00:24:10,610 --> 00:24:11,860 että olet aikeissa muuttaa. 465 00:24:11,860 --> 00:24:16,974 466 00:24:16,974 --> 00:24:27,090 >> Joten kaiku on myös kertaluonteinen komento Tällainen sillily vain tulosta 467 00:24:27,090 --> 00:24:31,540 komentoriviltä mitä halusit yhtyä. 468 00:24:31,540 --> 00:24:32,680 Niin kaiku hi. 469 00:24:32,680 --> 00:24:35,420 Me vain tulostaa hi. 470 00:24:35,420 --> 00:24:38,030 Echo hello world. 471 00:24:38,030 --> 00:24:39,800 Me tulostaa hello world. 472 00:24:39,800 --> 00:24:44,350 Joka tulee käyttöön, kun Aloita yhdistämällä komentoja. 473 00:24:44,350 --> 00:24:48,300 >> Ja vielä, älä odota sinun täysin ymmärtää tätä vielä, mutta se on 474 00:24:48,300 --> 00:24:49,910 jotain nähdä. 475 00:24:49,910 --> 00:24:52,470 Ja sitten jos olet Googling esimerkkejä tai huomaat haluat tehdä 476 00:24:52,470 --> 00:24:55,030 jotain, se voi olla hyödyllistä. 477 00:24:55,030 --> 00:24:59,020 Joten, kuten esimerkiksi niin ls, ajatusviiva, l. 478 00:24:59,020 --> 00:25:01,160 Joten tässä näen tuotos LS, ajatusviiva, l. 479 00:25:01,160 --> 00:25:06,560 Ja minä sanon, OK, haluan tallentaa, että tiedostoon. 480 00:25:06,560 --> 00:25:11,620 Kaikki tämän tuotoksen tänne, haluan laittaa erilliseen tiedostoon. 481 00:25:11,620 --> 00:25:16,080 >> Joten tämä pieni suurempi kuin-merkki on mitä aiomme soittaa. 482 00:25:16,080 --> 00:25:18,570 Olemme suuntaamalla tuloste tiedostoon. 483 00:25:18,570 --> 00:25:21,680 Kutsukaamme tiedosto blah, koska se on mitä minulla on tapana aina soittaa sitä. 484 00:25:21,680 --> 00:25:26,430 Joten nyt näemme meillä tiedostoon blah täällä. 485 00:25:26,430 --> 00:25:30,270 Ja jos avaan sen, nähdään se täsmälleen lähdön komento 486 00:25:30,270 --> 00:25:31,990 että minä vain juoksin. 487 00:25:31,990 --> 00:25:36,020 Ja samoin voit - 488 00:25:36,020 --> 00:25:41,260 jos tämä oli tuloste tiedostoon, tämä on saada palautetta tiedostosta. 489 00:25:41,260 --> 00:25:45,790 490 00:25:45,790 --> 00:25:47,050 Mikä on komento, joka I - 491 00:25:47,050 --> 00:25:49,620 >> JOSEPH: Mielestäni voit käyttää vähemmän tai enemmän, luultavasti. 492 00:25:49,620 --> 00:25:53,031 >> ROB: Mutta entä vain vähemmän blah? 493 00:25:53,031 --> 00:25:53,930 En tiedä. 494 00:25:53,930 --> 00:25:57,870 Jos olet tullut tähän skenaarioon, kuten siellä psets, että se on hyödyllistä. 495 00:25:57,870 --> 00:25:59,950 >> JOSEPH: Voit putki sen kaiku. 496 00:25:59,950 --> 00:26:02,920 Putki tiedosto kaiun nähdä sen. 497 00:26:02,920 --> 00:26:04,060 >> ROB: Se on putki. 498 00:26:04,060 --> 00:26:04,860 >> JOSEPH: Anteeksi. 499 00:26:04,860 --> 00:26:06,190 >> ROB: Selvä. 500 00:26:06,190 --> 00:26:12,720 Joten tämä on tuloste tiedostoon. 501 00:26:12,720 --> 00:26:18,700 Tämä on saada tekstin tiedosto ja se luovuttaa ohjelmaa. 502 00:26:18,700 --> 00:26:20,560 Ja voit myös nähdä tämä kaveri. 503 00:26:20,560 --> 00:26:24,410 Joten tämä on tavallaan tekee molempia yhtä aikaa. 504 00:26:24,410 --> 00:26:28,310 Ja todella, minä esitellä kaksi uutta komennot vain hyödyntää sitä. 505 00:26:28,310 --> 00:26:33,060 >> Historia on kätevä komento, joka on vain menossa tulostaa listaus 506 00:26:33,060 --> 00:26:34,940 mitä olen koskaan ajaa komentoriviltä. 507 00:26:34,940 --> 00:26:38,290 Joten tässä näemme kaiken, minulla on ollut käynnissä koko tämän ajan. 508 00:26:38,290 --> 00:26:39,540 Paljon ls: n. 509 00:26:39,540 --> 00:26:41,570 510 00:26:41,570 --> 00:26:48,470 >> Ja toinen hyödyllinen komento on grep että sen tarkoituksena on etsiä yli 511 00:26:48,470 --> 00:26:52,060 tekstiksi etsivät malleja, hyvin, etsii mitä 512 00:26:52,060 --> 00:26:53,310 haluavat sitä etsimään. 513 00:26:53,310 --> 00:26:59,770 Ja niin kätevä käyttää tässä vaikkapa Haluamme tarttua historiaa. 514 00:26:59,770 --> 00:27:03,860 Ja haluan etsiä komentoja jossa olen - mitä 515 00:27:03,860 --> 00:27:05,000 hyödyllinen etsiä? 516 00:27:05,000 --> 00:27:06,898 >> JOSEPH: [kuultavissa]? 517 00:27:06,898 --> 00:27:09,710 >> ROB: Tai sanotaan nyt etsiä kaikki koskettaa, jostain syystä. 518 00:27:09,710 --> 00:27:13,850 Joten tämä on mitä se näyttää. 519 00:27:13,850 --> 00:27:15,560 Ja sinun ei tarvitse kokonaan Ymmärrän sen. 520 00:27:15,560 --> 00:27:20,570 Mutta ajatus on täällä, historia antaa saman tuotoksen se teki tästä 521 00:27:20,570 --> 00:27:25,030 jos se tulostaa koko historia kaikesta mitä olen koskaan ajaa. 522 00:27:25,030 --> 00:27:27,030 Olemme sitten ohimennen, että - 523 00:27:27,030 --> 00:27:30,230 joten sen sijaan tulostaa sen näytön, haluamme välittää että 524 00:27:30,230 --> 00:27:34,640 komennon grep joka etsii kaikki esiintymät sanan touch. 525 00:27:34,640 --> 00:27:40,280 >> Ja niin käyttämällä tätä yhdistelmää työkaluja historiaa ja grep, näen, OK, 526 00:27:40,280 --> 00:27:44,820 tässä on kaikki komennot koskaan näkemäni juosta, ja tässä on hieman yhteinen. 527 00:27:44,820 --> 00:27:45,510 Olemme alareunassa. 528 00:27:45,510 --> 00:27:47,930 Ja se on myös antaa minulle komento Minä vain juoksin, että oli 529 00:27:47,930 --> 00:27:51,240 sana kosketa sitä. 530 00:27:51,240 --> 00:27:58,500 Mutta putki on melko hyödyllinen asia yhdistämistä useita ohjelmia. 531 00:27:58,500 --> 00:28:04,670 Ja oikeastaan ​​se on oikotie laverrella minulle lähtö historia tiedostoon blaa, ja 532 00:28:04,670 --> 00:28:10,190 haluan grep käyttää tiedostoa blah sillä mitä haluan etsiä yli. 533 00:28:10,190 --> 00:28:13,460 Joten putki on vain oikotie näiden kahden komentoja. 534 00:28:13,460 --> 00:28:13,950 Kyllä. 535 00:28:13,950 --> 00:28:15,306 >> SPEAKER 4: [kuultavissa]? 536 00:28:15,306 --> 00:28:16,556 >> ROB: Kyllä. 537 00:28:16,556 --> 00:28:20,142 538 00:28:20,142 --> 00:28:21,110 Mikä on - 539 00:28:21,110 --> 00:28:21,858 Oh. 540 00:28:21,858 --> 00:28:24,820 Kokeillaan. 541 00:28:24,820 --> 00:28:29,170 Joten kissa, koira, kala. 542 00:28:29,170 --> 00:28:33,770 Joten haluan grep. 543 00:28:33,770 --> 00:28:37,680 Dash, r, taas tulee olemaan rekursiivisesti, joten haluan laskeutua alas 544 00:28:37,680 --> 00:28:38,870 kaikki hakemistot. 545 00:28:38,870 --> 00:28:43,210 Haluan rekursiivisesti grep kaikille - ja haluaisin tilapäisesti saada 546 00:28:43,210 --> 00:28:44,460 tämä pois tieltä. 547 00:28:44,460 --> 00:28:48,650 548 00:28:48,650 --> 00:28:50,740 Ignore me. 549 00:28:50,740 --> 00:28:51,360 OK. 550 00:28:51,360 --> 00:28:56,740 >> Joten haluan tilapäisesti grep varten kaikki esiintymät sanan kalaa. 551 00:28:56,740 --> 00:29:00,510 Ja niin tässä mitä olen tekemässä on grepping rekursiivisesti sanan kala. 552 00:29:00,510 --> 00:29:05,410 Ja tähti tarkoittaa kaikkien näiden tiedostoja tähän hakemistoon. 553 00:29:05,410 --> 00:29:08,930 Ja niin se antoi minulle Käyttö estetty, koska se ei saa lukea, että 554 00:29:08,930 --> 00:29:10,060 tietyn tiedoston. 555 00:29:10,060 --> 00:29:14,040 Mutta se löytyy kalaa tiedoston, testi. 556 00:29:14,040 --> 00:29:18,450 >> Voisin myös sanoa, erityisesti, olen vain haluavat näyttää tiedoston blaa, vuonna 557 00:29:18,450 --> 00:29:19,580 jolloin se ei löydä mitään. 558 00:29:19,580 --> 00:29:20,990 En vain halua katsoa tiedoston, testi. 559 00:29:20,990 --> 00:29:22,240 Se löytää kaloja. 560 00:29:22,240 --> 00:29:25,980 561 00:29:25,980 --> 00:29:29,260 Se on melko hyödyllinen komento tietää yleensä. 562 00:29:29,260 --> 00:29:31,640 On joitakin vaihtoehtoja grep että pitäisi olla enemmän 563 00:29:31,640 --> 00:29:36,780 ohjelmoija ystävällinen, mutta minulla on tapana vielä turvautua grep. 564 00:29:36,780 --> 00:29:38,030 Kysymyksiä? 565 00:29:38,030 --> 00:29:39,965 566 00:29:39,965 --> 00:29:40,919 OK. 567 00:29:40,919 --> 00:29:42,520 >> Onko olemassa muita komentoja? 568 00:29:42,520 --> 00:29:45,270 Oh. 569 00:29:45,270 --> 00:29:48,370 Vain kertaluonteinen joka olen aina löytää olla hauskaa laske. 570 00:29:48,370 --> 00:29:55,610 Joten huomaa kun olen tämän ihanan koko näytön tilassa, minulla ei ole kuin alkuun 571 00:29:55,610 --> 00:29:56,720 työkalurivi tai mitään. 572 00:29:56,720 --> 00:29:59,530 So Cal vain antaa minulle mukava pieni kalenteri, joka on oikeassa 573 00:29:59,530 --> 00:30:02,380 nyt katkaista, oletan. 574 00:30:02,380 --> 00:30:04,770 Mutta kiva pikku komento. 575 00:30:04,770 --> 00:30:06,540 >> JOSEPH: On [kuultavissa]. 576 00:30:06,540 --> 00:30:09,170 Muita komentoja, että saatat olla nähnyt kuuluvat kalahtaa ja tehdä. 577 00:30:09,170 --> 00:30:11,180 Menemme niiden yli tarkemmin myöhemmin. 578 00:30:11,180 --> 00:30:13,400 Mutta jos olet työskennellyt PSET, sinun pitäisi olla 579 00:30:13,400 --> 00:30:15,160 perehtyneiden. 580 00:30:15,160 --> 00:30:16,640 >> ROB: Selvä. 581 00:30:16,640 --> 00:30:18,520 Kysymyksiä komentoriviltä asioita? 582 00:30:18,520 --> 00:30:22,450 583 00:30:22,450 --> 00:30:23,260 Selvä. 584 00:30:23,260 --> 00:30:27,416 Joten siirtyä joissakin C-liittyviä juttuja. 585 00:30:27,416 --> 00:30:28,666 Muuttujia matematiikka. 586 00:30:28,666 --> 00:30:39,078 587 00:30:39,078 --> 00:30:40,060 OK. 588 00:30:40,060 --> 00:30:45,230 Joten aivan kuten meillä oli matematiikka Scratch, voit myös käyttää matematiikkaa C. 589 00:30:45,230 --> 00:30:49,270 >> Ennen kuin pääsemme, että kokonaan, niin muuttujia. 590 00:30:49,270 --> 00:30:53,920 Muista, että aina kun julistaa muuttuja kuten int x tai float y, sinun 591 00:30:53,920 --> 00:30:56,710 on annettava se tyyppi ennen muuttujan nimi. 592 00:30:56,710 --> 00:31:03,020 Joten tyypit olemme nähneet tähän mennessä ovat int, float, double, pitkään pitkään, jonka minä 593 00:31:03,020 --> 00:31:06,150 eivät oikeastaan ​​tiedä, jos olemme Nähdään, että tähän asti. 594 00:31:06,150 --> 00:31:07,700 >> On joitakin muita vaatimuksia. 595 00:31:07,700 --> 00:31:09,990 Olemme ks. merkkiä. 596 00:31:09,990 --> 00:31:13,920 On lyhyt, joka on kuin se on vastakohta pitkä pitkä, jos se on 597 00:31:13,920 --> 00:31:16,650 pienempi kuin kokonaisluku. 598 00:31:16,650 --> 00:31:18,580 Olemme myös nähneet merkkijono. 599 00:31:18,580 --> 00:31:23,070 Joten mikä on erikoista merkkijono? 600 00:31:23,070 --> 00:31:25,350 Miksi haluaisin sanoa, että se ei aivan kuten int? 601 00:31:25,350 --> 00:31:27,030 >> SPEAKER 4: Se ei todellisuudessa ole olemassa. 602 00:31:27,030 --> 00:31:27,990 >> ROB: Joo. 603 00:31:27,990 --> 00:31:31,820 Joten ainoa syy meillä on merkkijono johtuu siitä, kun teet 604 00:31:31,820 --> 00:31:33,215 hash, kuuluu cs50.h. 605 00:31:33,215 --> 00:31:36,530 606 00:31:36,530 --> 00:31:42,670 Ja näemme esimerkkejä tästä myöhemmin - Voi, että ei käsittele kovin hyvin - 607 00:31:42,670 --> 00:31:46,160 jossa cs50.h tekee jotain tapaan tyyppi 608 00:31:46,160 --> 00:31:49,230 def, char tähden, merkkijono. 609 00:31:49,230 --> 00:31:53,280 >> Ja niin se on sanoa, että emme edes tietää, mitä merkkiä tähti on vielä. 610 00:31:53,280 --> 00:31:56,770 Mutta tämä sanoo haluamme merkkijono. 611 00:31:56,770 --> 00:32:00,250 Jokainen paikka olet käyttänyt merkkijono, voit olisi voitu käyttää char tähden, 612 00:32:00,250 --> 00:32:04,670 joka itse asiassa on tyyppi, joka olemassa C-kielellä. 613 00:32:04,670 --> 00:32:06,680 Mutta me saamme sen. 614 00:32:06,680 --> 00:32:07,860 Niin, ja se menee takaisin. 615 00:32:07,860 --> 00:32:10,170 Siisti. 616 00:32:10,170 --> 00:32:15,370 >> Niin sama juttu bool jossa tosi ja epätosi. 617 00:32:15,370 --> 00:32:22,510 Että ei oikeastaan ​​sisäänrakennettu tyyppi C. Sen sijaan se on vain, että tämä on 618 00:32:22,510 --> 00:32:23,740 arvo nolla? 619 00:32:23,740 --> 00:32:26,200 Sitten me vain harkita epätodeksi. 620 00:32:26,200 --> 00:32:27,350 Onko tällä arvoa - 621 00:32:27,350 --> 00:32:30,530 No, ei tämä ole arvo, joka ei ole nolla? 622 00:32:30,530 --> 00:32:32,200 Sitten harkitsemme sen olevan totta. 623 00:32:32,200 --> 00:32:35,940 Joten yksi on totta, kaksi on totta, mitään nonzero on totta. 624 00:32:35,940 --> 00:32:38,710 625 00:32:38,710 --> 00:32:42,790 Joten ne ovat ne. 626 00:32:42,790 --> 00:32:47,624 Kysymyksiä julistaa muuttujia ja muuttujatyyppejä ja kaikki? 627 00:32:47,624 --> 00:32:48,100 Joo. 628 00:32:48,100 --> 00:32:52,384 >> SPEAKER 4: Pitkillä pitkä, kirja, se sanoi sen piti olla pitkään pitkään int. 629 00:32:52,384 --> 00:32:54,288 Mutta vain pitkään pitkään toimii? 630 00:32:54,288 --> 00:32:58,210 631 00:32:58,210 --> 00:33:01,470 >> ROB: Joten nämä tyyppi määritteet. 632 00:33:01,470 --> 00:33:04,170 Joten int x. 633 00:33:04,170 --> 00:33:07,710 Joten voimme myös sanoa unsigned int x. 634 00:33:07,710 --> 00:33:09,640 Voimme sanoa lyhyt int x. 635 00:33:09,640 --> 00:33:12,570 Voimme sanoa pitkään pitkään int x. 636 00:33:12,570 --> 00:33:17,250 Mutta aika paljon mitään näistä asioista I juuri sanoi, unsigned int, short int, 637 00:33:17,250 --> 00:33:21,480 pitkä pitkä int, voit päästä eroon int ja se vain olettaa 638 00:33:21,480 --> 00:33:22,510 että tarkoitit int. 639 00:33:22,510 --> 00:33:26,045 Joten allekirjoittamaton x, mikä tarkoittaa vain sitä - 640 00:33:26,045 --> 00:33:29,400 osaat normaalisti int, voit sanoa x on yhtä kuin negatiivinen 3? 641 00:33:29,400 --> 00:33:31,636 Kanssa unsigned int, et voi. 642 00:33:31,636 --> 00:33:34,480 >> JOSEPH: Ja taas, kameralle, kysymys oli, mitä eroa 643 00:33:34,480 --> 00:33:37,796 välillä pitkään pitkään int ja vain pitkä pitkä? 644 00:33:37,796 --> 00:33:38,410 >> ROB: Joo. 645 00:33:38,410 --> 00:33:42,850 Joten en juuri koskaan kirjoittaa pitkä pitkä int. 646 00:33:42,850 --> 00:33:44,100 Aion kirjoittaa pitkään pitkään. 647 00:33:44,100 --> 00:33:47,770 648 00:33:47,770 --> 00:33:50,636 >> JOSEPH: Kaikki kysymykset? 649 00:33:50,636 --> 00:33:51,886 >> ROB: OK. 650 00:33:51,886 --> 00:33:56,180 651 00:33:56,180 --> 00:34:02,390 Niin typerä pikku muistutus siitä, että miten me julistamme muuttujan ja alustaa 652 00:34:02,390 --> 00:34:04,450 muuttuja ja julistaa toisen muuttujan ja alustaa 653 00:34:04,450 --> 00:34:05,870 se kaikki yhdellä kertaa. 654 00:34:05,870 --> 00:34:09,370 Joten ilmoitus muuttujan ja alustus muuttuja ei ole 655 00:34:09,370 --> 00:34:11,120 to mutta voi olla samalla linjalla. 656 00:34:11,120 --> 00:34:15,409 657 00:34:15,409 --> 00:34:20,060 >> Joten meillä on Vakiomatematiikkakirjasto toimijoiden että olet tottunut - 658 00:34:20,060 --> 00:34:22,199 plus, miinus, jakaa, kertaa. 659 00:34:22,199 --> 00:34:24,389 Mukana on myös modulo, jonka näemme. 660 00:34:24,389 --> 00:34:29,060 Ei ole ainakaan C, sisäänrakennettu tehon 661 00:34:29,060 --> 00:34:31,765 potenssiinkorotus Järjestelmäkohdistin operaattori. 662 00:34:31,765 --> 00:34:33,770 No, on caret operaattori, mutta se ei ole valtaa. 663 00:34:33,770 --> 00:34:34,239 >> JOSEPH: Mutta se ei ole potenssiinkorotusta, Kyllä. 664 00:34:34,239 --> 00:34:36,210 >> ROB: Älä käytä caret olettaa, että se tarkoittaa 665 00:34:36,210 --> 00:34:39,980 kuten potenssiin tai mitä tahansa. 666 00:34:39,980 --> 00:34:42,289 Joten joitakin asioita pitää välitä siitä jako. 667 00:34:42,289 --> 00:34:46,282 668 00:34:46,282 --> 00:34:48,880 Minä takaan. 669 00:34:48,880 --> 00:34:51,315 Joten julisti Alusta vastaus. 670 00:34:51,315 --> 00:34:54,670 Joten me sanomme float vastaus vastaa 1 jaettuna 10. 671 00:34:54,670 --> 00:34:57,500 Tulosta vastaus kahden desimaalin tarkkuudella. 672 00:34:57,500 --> 00:35:02,180 >> Ja tämä on sellainen asia, että olen olisi ihminen printf selvittää, että 673 00:35:02,180 --> 00:35:05,110 mitä hittoa%, piste, 2F tarkoittaa? 674 00:35:05,110 --> 00:35:07,930 Ja se tarkoittaa vain sitä, hyvin, välittämättä 0.2. 675 00:35:07,930 --> 00:35:10,420 Ja%, f on mitä käytämme tulostaa kellua. 676 00:35:10,420 --> 00:35:15,370 0.2 sanoo, tekstiä, että float kahden desimaalin tarkkuudella. 677 00:35:15,370 --> 00:35:19,600 Joten tämä ohjelma on bugi, ja saatat olen nähnyt tämän ennenkin joissakin 678 00:35:19,600 --> 00:35:20,870 ennen CS kurssi. 679 00:35:20,870 --> 00:35:22,170 Mutta mikä on että vika? 680 00:35:22,170 --> 00:35:23,050 >> Kaiutin 5: Zero. 681 00:35:23,050 --> 00:35:24,130 >> ROB: Joo. 682 00:35:24,130 --> 00:35:29,630 Joten kun sanomme, vastaus on yhtä kuin 1 jaettuna 10, haluamme 683 00:35:29,630 --> 00:35:31,610 vastaus on 0,1. 684 00:35:31,610 --> 00:35:37,450 Mutta 1 jaettuna 10, 1 on kokonaisluku, 10 on kokonaisluku. 685 00:35:37,450 --> 00:35:41,060 Ja niin kun me teemme kokonaisluku jaettuna kokonaisluku, aiomme saada takaisin 686 00:35:41,060 --> 00:35:42,190 kokonaisluku. 687 00:35:42,190 --> 00:35:43,660 Joten 1 jaettuna 10 on 0,1. 688 00:35:43,660 --> 00:35:46,760 >> Koska se tarvitsee antaa meille kokonaisluku, se on juuri menossa heittää pois, että 689 00:35:46,760 --> 00:35:49,410 desimaalin tarkkuudella ja sanoa, että Vastaus on 0. 690 00:35:49,410 --> 00:35:55,314 Ja niin kun me painamme vastata täällä, se tulee tulostaa 0.00. 691 00:35:55,314 --> 00:35:58,430 >> JOSEPH: Ja aivan kuten huomata, se todella heittää pois, mitä on sen jälkeen 692 00:35:58,430 --> 00:35:59,390 desimaalin tarkkuudella. 693 00:35:59,390 --> 00:36:03,180 Joten jos sen sijaan ollut 6 jaettuna 10, saatat ajatella, että se antaisi sinulle 694 00:36:03,180 --> 00:36:05,200 0,6 ja niin voisitte pyöristää ylöspäin 1. 695 00:36:05,200 --> 00:36:10,520 Mutta todellisuudessa, mitä tapahtuu, kun se tyyppi tehtävät on, että se putoaa, mikä on 696 00:36:10,520 --> 00:36:11,470 desimaalipilkun jälkeen. 697 00:36:11,470 --> 00:36:13,020 Joten 0,6 ei tullut 0. 698 00:36:13,020 --> 00:36:13,370 >> ROB: Joo. 699 00:36:13,370 --> 00:36:15,160 Ja me sanomme katkaista siitä. 700 00:36:15,160 --> 00:36:21,760 Joten jos heität int, desimaalin katkaistaan. 701 00:36:21,760 --> 00:36:23,980 Joten korjaus, että - on olemassa oikeastaan ​​kaksi. 702 00:36:23,980 --> 00:36:27,890 Ja aion tehdä sitä toista, koska tämä on paljon helpompaa korjata. 703 00:36:27,890 --> 00:36:32,670 >> Joten yksi korjaus on käyttää kellukkeet jako. 704 00:36:32,670 --> 00:36:34,720 Ja todella, sinun tarvitsee vain tehdä yksi heistä float. 705 00:36:34,720 --> 00:36:37,400 Mutta se on hieman selkeämpi vain jotta molemmat kelluu. 706 00:36:37,400 --> 00:36:41,170 Joten 1,0 jaettuna 10.0 on jakamalla kaksi kelluu. 707 00:36:41,170 --> 00:36:43,970 Joten vastaus on lopulta float, ja niin tulet 708 00:36:43,970 --> 00:36:48,050 oikein tulosta 0,10 täällä. 709 00:36:48,050 --> 00:36:52,220 >> Jotain, joka ei toimi niin hyvin siitä on hyvin, varmasti, se oli helppoa 710 00:36:52,220 --> 00:36:56,240 tarpeeksi muuntaa 1 float tekemällä 1.0. 711 00:36:56,240 --> 00:37:02,180 Mutta mitä jos sen sijaan meillä oli kahden kokonaisluvun kuten int x on yhtä kuin 1 ja int y 712 00:37:02,180 --> 00:37:05,660 vastaa 10, ja sitten halusimme to do x jaettuna y? 713 00:37:05,660 --> 00:37:10,420 Joten se ei ole helppoa vain tehdä x.0 tai jotain. 714 00:37:10,420 --> 00:37:12,790 >> Joten korjauksen, joka on valu. 715 00:37:12,790 --> 00:37:19,780 Joten valu on tapa C muuntaa yhdestä muuttujan tyypistä toiseen. 716 00:37:19,780 --> 00:37:22,320 Joten tässä, 1 on kokonaisluku. 717 00:37:22,320 --> 00:37:27,050 Ja laittamalla tämän juoksun edessä se, olemme valu 1 kellua. 718 00:37:27,050 --> 00:37:30,350 Ja niin tämä muuntaa 1 1.0. 719 00:37:30,350 --> 00:37:33,380 Ja tämä muuntaa 10 10.0. 720 00:37:33,380 --> 00:37:36,790 >> Ja sitten asiat käyttäytyvät samalla tavalla edellisen version me vain näytti 721 00:37:36,790 --> 00:37:42,190 missä, kuten odotettua, saamme 0,10 ja se tulee tulostaa sen. 722 00:37:42,190 --> 00:37:44,120 Ja voimme tehdä tämän kanssa muuttujia, liian. 723 00:37:44,120 --> 00:37:47,376 Voimme siis sanoa, float x jaettuna float y. 724 00:37:47,376 --> 00:37:48,626 >> JOSEPH: Kaikki kysymykset? 725 00:37:48,626 --> 00:37:54,182 726 00:37:54,182 --> 00:38:00,090 >> ROB: Eli aivan kuten säännöllinen matematiikkaa, meillä on operaattori edelle. 727 00:38:00,090 --> 00:38:06,960 Joten matematiikka luokka, olet todennäköisesti kutsua sitä järjestystä toimintaa. 728 00:38:06,960 --> 00:38:09,890 Täällä virallinen termi on operaattori edelle. 729 00:38:09,890 --> 00:38:15,230 Mutta operaattori edelle, tai suurin operaattorit, on kuten odottaa. 730 00:38:15,230 --> 00:38:22,660 >> Joten aivan kuten matematiikka, 2 kertaa 10 on aiotaan ryhmitellä tarkemmin kuin 731 00:38:22,660 --> 00:38:25,410 Tämän 10 jaettuna 2 ja sitten 2. 732 00:38:25,410 --> 00:38:29,745 Järjestys toiminnan, se tekee 2 kertaa 10, 10 jaettuna 2 ja sitten 733 00:38:29,745 --> 00:38:32,720 se tulee tehdä 20 plus 5 plus 2. 734 00:38:32,720 --> 00:38:37,020 Joten se on odotetusti, ja voit käyttää suluissa ryhmään ilmaisuja. 735 00:38:37,020 --> 00:38:41,063 Et voi käyttää hakasulkeissa ryhmään ilmaisuja. 736 00:38:41,063 --> 00:38:41,544 Joo? 737 00:38:41,544 --> 00:38:43,468 >> SPEAKER 5: Voisitko itse vain mennä takaisin yhden sekunnin? 738 00:38:43,468 --> 00:38:47,316 Voitko heittää int on merkkijono? 739 00:38:47,316 --> 00:38:53,330 >> ROB: Joten C, voit heittää mitään haluat mitä haluat. 740 00:38:53,330 --> 00:38:55,600 Tämä ei tarkoita että se on hyvä asia tehdä. 741 00:38:55,600 --> 00:38:59,760 Joten kun heität int on merkkijono, joka tarkoittaa - 742 00:38:59,760 --> 00:39:03,240 ja saamme tähän paljon perusteellisemmin - 743 00:39:03,240 --> 00:39:03,720 >> JOSEPH: Paljon myöhemmin. 744 00:39:03,720 --> 00:39:06,840 >> ROB: En halua sanoa paljon myöhemmin, joten yritin muuttaa lauseen. 745 00:39:06,840 --> 00:39:13,370 Pääsemme sitä enemmän perusteellisesti myöhemmin, jos todella, kun olet 746 00:39:13,370 --> 00:39:14,810 merkkijonomuuttujaksi - 747 00:39:14,810 --> 00:39:17,160 joten merkkijono voi olla mielivaltaisesti pitkä, eikö? 748 00:39:17,160 --> 00:39:21,850 Ja olemme todenneet, että int on neljä tavua ja pitkään pitkään on kahdeksan 749 00:39:21,850 --> 00:39:23,620 tavua ja float on neljä tavua. 750 00:39:23,620 --> 00:39:29,520 Joten merkkijono, kuten int, on vain tietty määrä tavuja siihen. 751 00:39:29,520 --> 00:39:31,800 Ja se tulee olemaan neljä tavua. 752 00:39:31,800 --> 00:39:34,750 >> Mutta merkkijono voi olla melko mielivaltaisesti pitkä, eikö? 753 00:39:34,750 --> 00:39:40,190 Joten hello world jo, jos se on 10 merkkiä tai mitä tahansa, joka on jo 754 00:39:40,190 --> 00:39:42,670 olemaan yli 4 tavua En voi mahtua merkkijono. 755 00:39:42,670 --> 00:39:51,140 Ja niin miten jousille todella toimivat on se, että ne ovat silloin muistissa, että jono 756 00:39:51,140 --> 00:39:52,380 häntä pidetään. 757 00:39:52,380 --> 00:39:57,290 >> Ja niin tänne, kun sanon merkkijono x vastaa hello world, sisällä x on 758 00:39:57,290 --> 00:40:01,840 vain sanomalla, oh, hello world tallennetaan juuri tässä nimenomaisessa paikassa muistiin. 759 00:40:01,840 --> 00:40:07,060 Joten jos yritämme heittää kokonaisluvun merkkijono, sitten yritämme tulkita 760 00:40:07,060 --> 00:40:10,500 joitakin satunnaisia ​​osa muistia jonona. 761 00:40:10,500 --> 00:40:14,465 Ja että lähes aina rikkoo asioita. 762 00:40:14,465 --> 00:40:17,040 >> JOSEPH: Mutta jos se hämmentää te, me voidaan kattaa se 763 00:40:17,040 --> 00:40:17,550 syvällisemmin myöhemmin. 764 00:40:17,550 --> 00:40:17,850 >> ROB: Joo. 765 00:40:17,850 --> 00:40:20,540 Tämä on, jos olet menossa päästä viitteitä. 766 00:40:20,540 --> 00:40:25,485 Ja se on merkittävä kimpale kahden viikon kurssin. 767 00:40:25,485 --> 00:40:28,275 >> SPEAKER 6: Toimiiko se esineet muilla kielillä tai ei oikeastaan? 768 00:40:28,275 --> 00:40:34,050 >> ROB: Eli muilla kielillä, esineet olisivat edustettuina käyttäen osoittimia. 769 00:40:34,050 --> 00:40:37,070 770 00:40:37,070 --> 00:40:38,793 Se ei ole sama asia, vaikka. 771 00:40:38,793 --> 00:40:42,110 772 00:40:42,110 --> 00:40:42,910 Mitään ajatuksia? 773 00:40:42,910 --> 00:40:43,760 >> JOSEPH: Ei. 774 00:40:43,760 --> 00:40:44,185 Ei ajatuksia. 775 00:40:44,185 --> 00:40:44,980 >> ROB: OK. 776 00:40:44,980 --> 00:40:46,994 >> JOSEPH: Seuraava. 777 00:40:46,994 --> 00:40:48,255 >> ROB: Menkää kanssa. 778 00:40:48,255 --> 00:40:48,670 Selvä. 779 00:40:48,670 --> 00:40:51,120 Niin modulo. 780 00:40:51,120 --> 00:40:53,900 Aivan kuten meillä on plus, miinus, jakaa ja lisääntykää. 781 00:40:53,900 --> 00:40:56,720 Joten modulo on yksi saatat ei ole ennen nähnyt. 782 00:40:56,720 --> 00:40:59,540 Ja se vain kertoo, antaa minulle loput. 783 00:40:59,540 --> 00:41:02,850 Joten 55% 10. 784 00:41:02,850 --> 00:41:06,840 Loput tekee 55 jaettuna 10 olisi 5. 785 00:41:06,840 --> 00:41:09,630 Joten 55% 10 on 5. 786 00:41:09,630 --> 00:41:12,260 Ja 3% 5 olisi 3. 787 00:41:12,260 --> 00:41:14,180 8% 8 on 0. 788 00:41:14,180 --> 00:41:15,903 16% 15 on 1. 789 00:41:15,903 --> 00:41:20,670 >> JOSEPH: Yksi asia huomata tämän, Myös se ei välttämättä toimi odotetulla tavalla 790 00:41:20,670 --> 00:41:22,700 jos käytät negatiivinen luku. 791 00:41:22,700 --> 00:41:26,215 Niin negatiivinen 5% 4, jotkut ihmiset Voisi ajatella, että on - 792 00:41:26,215 --> 00:41:28,890 793 00:41:28,890 --> 00:41:33,808 mitä ajattelet negatiivisia 5% 4 olisi? 794 00:41:33,808 --> 00:41:34,792 >> Kaiutin 5: One. 795 00:41:34,792 --> 00:41:37,920 >> JOSEPH: Joten jotkut ihmiset sanovat yhtä, jotkut sanovat kielteistä. 796 00:41:37,920 --> 00:41:38,450 Mutta mitä - 797 00:41:38,450 --> 00:41:40,820 >> ROB: En edes ole sanoi yksi niistä. 798 00:41:40,820 --> 00:41:42,370 >> JOSEPH: Kaksi, sorry. 799 00:41:42,370 --> 00:41:43,240 Jotkut ihmiset sanovat - 800 00:41:43,240 --> 00:41:43,450 >> ROB: Kolme. 801 00:41:43,450 --> 00:41:43,800 >> JOSEPH: Kolme? 802 00:41:43,800 --> 00:41:44,890 >> ROB: Negatiivinen - 803 00:41:44,890 --> 00:41:45,950 mikä oli - kielteinen viisi - 804 00:41:45,950 --> 00:41:47,100 >> JOSEPH: Kolme, kolme, kolme. 805 00:41:47,100 --> 00:41:48,450 Anteeksi. 806 00:41:48,450 --> 00:41:51,910 Koska modulo, yleensä, kun olet nähnyt sitä muualla, se yleensä tarkoittaa 807 00:41:51,910 --> 00:41:54,000 palata positiivinen luku, eikö? 808 00:41:54,000 --> 00:42:01,160 >> ROB: Joten kun sanomme matematiikasta,% 10: n, he yleensä haluavat antaa sinulle - 809 00:42:01,160 --> 00:42:05,980 jos me mod 10, niin odotamme saat väliltä 0 ja 9. 810 00:42:05,980 --> 00:42:09,860 Täällä, että ei pidä paikkaansa, että olet saavat negatiivisia lukuja palasi. 811 00:42:09,860 --> 00:42:15,898 >> JOSEPH: niin negatiivinen 5% 4 olisi negatiivinen 1. 812 00:42:15,898 --> 00:42:19,325 >> ROB: Mutta se on harvinaista, että olet mod-ta negatiiviset luvut aluksi. 813 00:42:19,325 --> 00:42:25,490 814 00:42:25,490 --> 00:42:25,970 Ohita tämä. 815 00:42:25,970 --> 00:42:27,314 >> JOSEPH: Joo. 816 00:42:27,314 --> 00:42:29,420 >> ROB: Meh. 817 00:42:29,420 --> 00:42:29,990 OK. 818 00:42:29,990 --> 00:42:36,400 Niin yksi asia huomauttaa noin kellukkeet on se vaarallinen käyttäytyminen, 819 00:42:36,400 --> 00:42:39,850 mutta kellukkeet eivät ole tarkkoja edustus. 820 00:42:39,850 --> 00:42:46,190 Niin menee takaisin tavua uudelleen, muista että int on aina neljä tavua ja 821 00:42:46,190 --> 00:42:47,830 float on aina neljä tavua. 822 00:42:47,830 --> 00:42:51,340 Joten Lucasin esimerkki on melko hyvä. 823 00:42:51,340 --> 00:42:55,730 >> Niin ajattele 1 jaettuna 3. 824 00:42:55,730 --> 00:42:57,800 Niin 0,3333333. 825 00:42:57,800 --> 00:43:03,540 Jos minulla on vain 32 bittiä, miten Olen tallentaa 0,33333 tarkalleen? 826 00:43:03,540 --> 00:43:07,250 Ja ehkä jostain syystä, sanot, kaikki hyvin, hyvin, haluan vain sanoa, 827 00:43:07,250 --> 00:43:13,210 että tässä nimenomaisessa 1011001, katsotaanpa vain sanoa, että olisi 0,333333. 828 00:43:13,210 --> 00:43:16,960 No, sinulla on vain rajallinen määrä nämä bittiä, joten on mahdotonta 829 00:43:16,960 --> 00:43:22,550 edustavat jokainen liukulukuoperaatioita arvo annetaan vain 32 bittiä. 830 00:43:22,550 --> 00:43:25,580 >> No, se on mahdotonta edusta mitään Liukulukuarvo antanut ääretön - 831 00:43:25,580 --> 00:43:28,480 hyvin, koska tahansa äärellinen määrä bittejä. 832 00:43:28,480 --> 00:43:38,265 Joten kysymys on hyvin, kun meillä oli tapana tulostaa kahden desimaalin tarkkuudella, 833 00:43:38,265 --> 00:43:42,000 meillä ei oikein saada vastauksen 0,10. 834 00:43:42,000 --> 00:43:47,510 Mutta alla huppu, se on todella varastoidaan niin lähellä kuin mahdollista 835 00:43:47,510 --> 00:43:51,790 0,10 kuin bitit voivat edustaa. 836 00:43:51,790 --> 00:43:53,200 Onko tämä seuraavan dian? 837 00:43:53,200 --> 00:43:53,830 Vai ei? 838 00:43:53,830 --> 00:43:54,660 >> JOSEPH: Joo, se on niin. 839 00:43:54,660 --> 00:43:55,750 >> ROB: Blegh, blegh. 840 00:43:55,750 --> 00:43:57,760 >> JOSEPH: Joo, voit vain vedä muistiinpanoja hieman. 841 00:43:57,760 --> 00:43:59,700 >> ROB: Olen juuri menossa zoomata vuonna viimeisenä siitä. 842 00:43:59,700 --> 00:44:00,950 Jestas, se on [kuultavissa]. 843 00:44:00,950 --> 00:44:06,089 844 00:44:06,089 --> 00:44:08,300 Niin että numero. 845 00:44:08,300 --> 00:44:12,300 Juuri tulostetaan jos me suorittaa kyseisen ohjelman. 846 00:44:12,300 --> 00:44:20,340 Ja huomaa, että se ei oikeastaan ​​iso juttu jos me vain huolehtimasta kuten 847 00:44:20,340 --> 00:44:21,920 viisikymmentäkahdeksan yli kaksi desimaalin tarkkuudella. 848 00:44:21,920 --> 00:44:26,700 Kuten me vain alunperin painettu 0,10, ja siksi näimme mitään vikaa. 849 00:44:26,700 --> 00:44:31,380 Mutta kun alamme päästä tarkka, tarkka määrä, että se on 850 00:44:31,380 --> 00:44:35,660 edustaa, näemme, että se ei voi täsmälleen edustavat 0,1. 851 00:44:35,660 --> 00:44:40,900 >> Ja osa ongelmaa täällä on kuin, kunnossa, että on hienoa, mutta, no, 852 00:44:40,900 --> 00:44:46,120 Ensimmäinen, mitä jos yritimme tehdä, Vastaus on sama kuin vastaa 0,1? 853 00:44:46,120 --> 00:44:49,200 Onko se aio palata totta vai tarua? 854 00:44:49,200 --> 00:44:51,850 Ja niin se on vaikea sanoa. 855 00:44:51,850 --> 00:44:53,330 Mielestäni se todella voisi palata totta. 856 00:44:53,330 --> 00:44:55,265 Will se ensin - 857 00:44:55,265 --> 00:44:56,180 En tiedä. 858 00:44:56,180 --> 00:45:00,090 Vastaus on, kun aloitat tekemisissä kanssa Desimaaliluvut olet aika 859 00:45:00,090 --> 00:45:05,150 paljon ei pitäisi käyttää tasa koska tämä epätarkkuus. 860 00:45:05,150 --> 00:45:09,470 >> Ja kaikki tiedätte, se on sadasosa desimaalin tarkkuudella, että 861 00:45:09,470 --> 00:45:13,670 liukuluku ei pystynyt käsitellään oikein. 862 00:45:13,670 --> 00:45:18,180 Ja niin tasa-arvo vain onnistu edes vaikka numero - jos olisit ollut 863 00:45:18,180 --> 00:45:24,450 käyttäen tarkkoja lukuja, numeroita olisi on täsmälleen sama. 864 00:45:24,450 --> 00:45:27,790 Se on aikana, kuten 50 laskelmat käyttäen näitä kelluvia 865 00:45:27,790 --> 00:45:30,270 pistearvot, virhe voi rakentaa ylös ja ylös ja ylös, ja 866 00:45:30,270 --> 00:45:31,125 kaikki menee pieleen. 867 00:45:31,125 --> 00:45:33,870 >> JOSEPH: Ja on ollut todella tunnetuimpia esimerkkejä, että näin tapahtuu. 868 00:45:33,870 --> 00:45:37,190 Kuten NASA insinöörit ovat saaneet tämän väärin, aiheuttaen raketteja räjähtää 869 00:45:37,190 --> 00:45:38,665 ilma, kun ne on käynnistetty. 870 00:45:38,665 --> 00:45:41,490 Ja paljon asioita, kuten että. 871 00:45:41,490 --> 00:45:41,956 Niin joo. 872 00:45:41,956 --> 00:45:45,218 >> SPEAKER 6: Kun sanot 0,3 f, se katkaista loput? 873 00:45:45,218 --> 00:45:46,468 Vai onko se pyöristää ylöspäin tai alaspäin? 874 00:45:46,468 --> 00:45:48,800 875 00:45:48,800 --> 00:45:50,200 >> ROB: Voiko printf sen ympärille? 876 00:45:50,200 --> 00:45:52,180 >> JOSEPH: Mielestäni printf typistetyn. 877 00:45:52,180 --> 00:45:52,640 >> ROB: OK. 878 00:45:52,640 --> 00:45:59,890 Voimme siis samalla mennä päinvastaiseen suuntaan Täälläkö, tässä tapauksessa 879 00:45:59,890 --> 00:46:03,320 lähinnä se saattaa aiheuttaa 0,1 oli tämän numeron kanssa. 880 00:46:03,320 --> 00:46:06,820 Lähin se saattaa pystyä edustavat 0,2 on päinvastainen 881 00:46:06,820 --> 00:46:11,420 suuntaan, 0,199999996356 tai jotain. 882 00:46:11,420 --> 00:46:17,480 Jos siis meni tähän suuntaan on asioita, niin printf 0,3 f palaisi 883 00:46:17,480 --> 00:46:20,866 1,99 sijaan 2,00. 884 00:46:20,866 --> 00:46:22,960 >> JOSEPH: Ja en ole täysin varma siitä. 885 00:46:22,960 --> 00:46:25,430 Haluat ehkä kirjoittaa pieni, vähän ohjelmaa vain tarkistaa, että. 886 00:46:25,430 --> 00:46:29,370 >> ROB: Vaikka, mitä olemme varmoja, että jos yritit heittää, että 887 00:46:29,370 --> 00:46:33,660 int, ja valu int on menossa aiheuttaa sen katkaista desimaalin, jos 888 00:46:33,660 --> 00:46:38,140 yrität heittää 1.9999999 int, saat 1. 889 00:46:38,140 --> 00:46:41,440 Ja niin sinun pitäisi yleensä käyttää kierros toiminto matemaattisen kirjaston. 890 00:46:41,440 --> 00:46:44,190 891 00:46:44,190 --> 00:46:45,440 Kysymyksiä? 892 00:46:45,440 --> 00:46:47,660 893 00:46:47,660 --> 00:46:48,982 OK. 894 00:46:48,982 --> 00:46:54,000 >> JOSEPH: Joten siirrymme edellytyksin ja loogisia ilmaisuja. 895 00:46:54,000 --> 00:46:58,120 Joten olet nähnyt näitä ennen. 896 00:46:58,120 --> 00:47:07,420 Ja oikeastaan ​​haluan varmistaa minun Tietokoneen oikeassa muodossa täältä. 897 00:47:07,420 --> 00:47:08,670 Tilaa. 898 00:47:08,670 --> 00:47:10,630 899 00:47:10,630 --> 00:47:13,870 Sorry, aiomme tarvitse käsitellä hieman kanssa sulku reunoilla. 900 00:47:13,870 --> 00:47:15,830 >> Mutta joo, te olette nähneet tämä ennen Scratch. 901 00:47:15,830 --> 00:47:19,930 Joten tämä täällä on lauseke jota käytetään 902 00:47:19,930 --> 00:47:21,250 ehdon. 903 00:47:21,250 --> 00:47:23,930 Joten vastaus on suurempi kuin nolla kertoa tosi tai epätosi. 904 00:47:23,930 --> 00:47:26,530 Ja nämä ovat todella tärkeitä, koska ne antaa meille mahdollisuuden esitellä 905 00:47:26,530 --> 00:47:28,670 logiikkaa meidän koodi. 906 00:47:28,670 --> 00:47:32,820 >> Niinpä esimerkiksi, tämä on ohjelma kirjoitettu Scratch, joka kysyy käyttäjältä 907 00:47:32,820 --> 00:47:36,980 varten kokonaisluku ja kertoo heille siitä kokonaisluku, että he antoivat sinulle oli 908 00:47:36,980 --> 00:47:38,690 positiivinen tai negatiivinen luku. 909 00:47:38,690 --> 00:47:42,980 Ja muuntaminen täällä nähdä on ensin tulostaa julkilausuman, 910 00:47:42,980 --> 00:47:43,870 antaa minulle kokonaisluku. 911 00:47:43,870 --> 00:47:45,980 Ja sitten kysyä heiltä kokonaisluku. 912 00:47:45,980 --> 00:47:49,870 >> Ja sitten käytät ehdollinen logiikka yli tästä tarkistaa onko numero 913 00:47:49,870 --> 00:47:52,030 oli itse asiassa suurempi kuin nolla tai ei. 914 00:47:52,030 --> 00:47:58,960 Joten tässä meillä on Boolen lauseke sisällä ehdollisen Jos selvitys. 915 00:47:58,960 --> 00:48:00,660 Onko kysyttävää? 916 00:48:00,660 --> 00:48:03,030 Onko kysyttävää siitä? 917 00:48:03,030 --> 00:48:03,950 OK. 918 00:48:03,950 --> 00:48:06,140 >> Joten siellä on enemmän kuin vain suurempi kuin, tietenkin. 919 00:48:06,140 --> 00:48:10,385 Voit rakentaa Boolen käyttää suurimman monenlaisia ​​asioita 920 00:48:10,385 --> 00:48:11,150 ajattelisi matematiikasta. 921 00:48:11,150 --> 00:48:12,370 Niin yli. 922 00:48:12,370 --> 00:48:13,740 Että pitäisi olla alle. 923 00:48:13,740 --> 00:48:14,990 Anteeksi. 924 00:48:14,990 --> 00:48:18,520 925 00:48:18,520 --> 00:48:19,760 Ja välit. 926 00:48:19,760 --> 00:48:22,971 >> ROB: Jumala varjelkoon jätät sen. 927 00:48:22,971 --> 00:48:23,620 >> JOSEPH: Selvä. 928 00:48:23,620 --> 00:48:25,950 Joten suurempi kuin, pienempi kuin, suurempi kuin tai yhtä suuri kuin, yhtä 929 00:48:25,950 --> 00:48:27,070 kuin tai yhtä suuri kuin. 930 00:48:27,070 --> 00:48:31,980 Käytämme kaksinkertainen tasavertaisten tarkistaa tasa-arvo, koska yksittäisten vastaa keinoin 931 00:48:31,980 --> 00:48:32,810 tehtävän, eikö? 932 00:48:32,810 --> 00:48:33,140 Kyllä. 933 00:48:33,140 --> 00:48:37,130 Ja sitten voimme myös ei vastaa by käyttämällä huutomerkki, tasavertaisina. 934 00:48:37,130 --> 00:48:41,530 >> Ja tämä huutomerkki symboli voi myös laajennettava siten, että jos haluat 935 00:48:41,530 --> 00:48:44,050 Kääntele minkäänlaista Boolen lauseke, voit tehdä sen. 936 00:48:44,050 --> 00:48:48,530 Joten tämä on tosi vain, jos vastaus on vähemmän 937 00:48:48,530 --> 00:48:51,240 tai yhtä suuri kuin nolla. 938 00:48:51,240 --> 00:48:53,950 Kaikki kysymykset siitä? 939 00:48:53,950 --> 00:48:55,180 OK. 940 00:48:55,180 --> 00:48:58,840 >> Joten voit myös yhdistää nämä ilmaisuja käyttäen loogisia AND ja 941 00:48:58,840 --> 00:48:59,790 looginen Tai. 942 00:48:59,790 --> 00:49:03,530 Joten tämä on vain ja symboli, jonka pitäisi olla Shift, 7. 943 00:49:03,530 --> 00:49:07,720 Ja tämä on putki symboli, joka on ei pienet kirjaimet L. Se on yksi 944 00:49:07,720 --> 00:49:09,440 että oikeus yläpuolella Enter-näppäintä. 945 00:49:09,440 --> 00:49:12,870 Joten käytät kahta näistä symboloivan looginen ja looginen Or. 946 00:49:12,870 --> 00:49:18,180 >> Joten tämä toimii vain return true, jos vastaus on yksi, kaksi, kolme tai neljä. 947 00:49:18,180 --> 00:49:23,030 Ja tämä vain palauttaa true, jos vastaus on kuin että kummallakin puolella. 948 00:49:23,030 --> 00:49:26,190 Joten se ei ole yksi, kaksi, kolme tai neljä. 949 00:49:26,190 --> 00:49:28,385 Ja miten käyttäisit että ilmaisun - 950 00:49:28,385 --> 00:49:29,990 >> ROB: Tai nolla tai viisi. 951 00:49:29,990 --> 00:49:32,200 >> JOSEPH: Zero tai viisi. 952 00:49:32,200 --> 00:49:32,380 Anteeksi. 953 00:49:32,380 --> 00:49:33,320 Kyllä, kyllä, kyllä. 954 00:49:33,320 --> 00:49:34,180 OK. 955 00:49:34,180 --> 00:49:38,980 Ja tänne nyt samalla tavalla kuin käyttäisivät kyseistä ilmaisua, pienempi 956 00:49:38,980 --> 00:49:42,000 ilmaisun puolelle Jos ehdollisen lausunnossaan, voit myös käyttää sitä 957 00:49:42,000 --> 00:49:47,800 samalla tavalla vain asettamalla sen sisällä sulkeiden Jos julkilausuman. 958 00:49:47,800 --> 00:49:54,020 Joten tämä printf vain välähdä, jos vastaus on yksi, kaksi, kolme tai neljä. 959 00:49:54,020 --> 00:49:56,002 Kaikki kysymykset yhdistämisestä lausekkeet? 960 00:49:56,002 --> 00:50:00,450 961 00:50:00,450 --> 00:50:04,240 >> Joten on toinen ehdollinen konstruktio kutsumme Jos / Else. 962 00:50:04,240 --> 00:50:08,120 Joten periaatteessa tämä nyt tarkoittaa, OK, jos jotain halusin tarkistaa ei ollut 963 00:50:08,120 --> 00:50:11,600 totta, niin mene Else ja suorittaa että muita toimia. 964 00:50:11,600 --> 00:50:15,570 Joten tässä tapauksessa, kysyin käyttäjältä kokonaisluku. 965 00:50:15,570 --> 00:50:17,790 On kokonaisluku on suurempi kuin nolla? 966 00:50:17,790 --> 00:50:18,310 Kyllä? 967 00:50:18,310 --> 00:50:20,100 No, sitten ne poimitaan positiivinen luku. 968 00:50:20,100 --> 00:50:22,320 Jos ei, niin sen on oltava ollut negatiivinen tai nolla. 969 00:50:22,320 --> 00:50:27,530 Joten otit negatiivinen luku tai tässä tapauksessa nolla. 970 00:50:27,530 --> 00:50:29,235 Kyllä. 971 00:50:29,235 --> 00:50:30,485 Tai nolla. 972 00:50:30,485 --> 00:50:36,320 973 00:50:36,320 --> 00:50:39,300 >> Ja sitten meillä on myös Jos / Else, Jos ja Else. 974 00:50:39,300 --> 00:50:45,640 Joten tämä antaa meidän suorittaa sarjan asiat vain, jos ensimmäiset epäonnistua. 975 00:50:45,640 --> 00:50:49,540 Joten tässä tapauksessa, nyt teet viimeisin nostat nolla. 976 00:50:49,540 --> 00:50:53,080 Joten jos he eivät poimitaan myönteinen eikä negatiivinen luku, niin ne on 977 00:50:53,080 --> 00:50:53,640 on poimittu nolla. 978 00:50:53,640 --> 00:50:56,720 Niin se vain menee alas ketjun näin. 979 00:50:56,720 --> 00:50:59,960 >> Joten esimerkki siitä, miten Jos eroaa - 980 00:50:59,960 --> 00:51:02,590 Jos / Else eroaa vain sekvenssi Ifs. 981 00:51:02,590 --> 00:51:07,680 Ja tämä on yleinen kysymys, että ihmiset kysyvät on, hyvin, jos saat kuin 982 00:51:07,680 --> 00:51:11,265 95 CS50, mitä tämä ohjelma kertoo sinulle? 983 00:51:11,265 --> 00:51:12,600 >> SPEAKER 5: Sinulla A. 984 00:51:12,600 --> 00:51:13,490 >> JOSEPH: Kyllä. 985 00:51:13,490 --> 00:51:14,960 Sinulla joka ikinen yksi niistä oikealle. 986 00:51:14,960 --> 00:51:17,130 Sait, sait B, sinua sai C ja D, eikö? 987 00:51:17,130 --> 00:51:19,770 Joten kaikki nämä valmiiksi arvioidut järjestyksessä. 988 00:51:19,770 --> 00:51:23,570 Joten vaikka 95 on suurempi kuin 90, se on Myös yli 80, se on myös 989 00:51:23,570 --> 00:51:25,790 suurempi kuin 70, ja se on Myös yli 60. 990 00:51:25,790 --> 00:51:27,620 Joten olet saanut kaikki nämä laadut. 991 00:51:27,620 --> 00:51:31,630 Ja oletan olisit vain haluavat A. 992 00:51:31,630 --> 00:51:34,060 >> Tapa korjata että on korvata joilla Else / Ifin. 993 00:51:34,060 --> 00:51:37,540 Joten tässä tilanteessa, se näkee, että 95 on on suurempi kuin 90, ja sitten se 994 00:51:37,540 --> 00:51:38,885 ei arvioida loput lausunnoista. 995 00:51:38,885 --> 00:51:41,900 996 00:51:41,900 --> 00:51:43,150 Kaikki kysymykset siitä? 997 00:51:43,150 --> 00:51:48,580 998 00:51:48,580 --> 00:51:52,470 >> Joten on toinen ehdollinen tavallaan rakenne, joka meillä on täällä joka meillä 999 00:51:52,470 --> 00:51:53,390 soita kytkin selvitys. 1000 00:51:53,390 --> 00:51:57,390 Joten tämä mahdollistaa periaatteessa tarkistaa mitä arvoa numeron laitat 1001 00:51:57,390 --> 00:51:59,000 osaksi kytkin selvitys on. 1002 00:51:59,000 --> 00:52:03,200 Joten tässä tilanteessa, olemme kytkentä n:, ja me sanomme, oh, jos n on 1003 00:52:03,200 --> 00:52:04,710 yksi, tulosta sitten tämä toteamus. 1004 00:52:04,710 --> 00:52:07,910 Ja sitten tauko, mikä tarkoittaa exit pois kytkin selvitys. 1005 00:52:07,910 --> 00:52:12,670 >> Jos se ei ollut yksi, niin, no, vain lopulta tarkistaa kaikki nämä asiat. 1006 00:52:12,670 --> 00:52:16,280 Ja niin se tarkistaa, jos se on yksi tai kaksi tai kolme, ja se tulostaa sen mukaisesti. 1007 00:52:16,280 --> 00:52:19,780 Ja mitä tämä oletus avainsanan tänne keino on, jos he eivät anna mitään 1008 00:52:19,780 --> 00:52:21,690 näistä, sano kelpaa. 1009 00:52:21,690 --> 00:52:25,910 Joten sanokaamme pyydän n ja käyttäjä antaa minulle neljä. 1010 00:52:25,910 --> 00:52:29,470 No, se vastaa mitään näistä tapauksista, niin se tulostaa mitä on 1011 00:52:29,470 --> 00:52:30,540 oletus osassa. 1012 00:52:30,540 --> 00:52:31,180 Kyllä, kysymys? 1013 00:52:31,180 --> 00:52:32,614 >> SPEAKER 5: Voitko käyttää Boolen ilmauksia sijaan 1014 00:52:32,614 --> 00:52:33,570 yksi, kaksi tai kolme? 1015 00:52:33,570 --> 00:52:36,940 >> JOSEPH: Joten kysymys on voit käyttää Boolen yhden sijaan, 1016 00:52:36,940 --> 00:52:37,940 kaksi ja kolme? 1017 00:52:37,940 --> 00:52:40,520 Ja C, uskon sinua voi tehdä sitä. 1018 00:52:40,520 --> 00:52:44,320 Mutta muilla kielillä, joita ehkä kohtaavat lopussa 1019 00:52:44,320 --> 00:52:46,460 lukukauden kuten JavaScript, voit. 1020 00:52:46,460 --> 00:52:50,050 No, olisit laskea ensin että arvo ja sitten käyttää sitä 1021 00:52:50,050 --> 00:52:50,650 kytkin selvitys. 1022 00:52:50,650 --> 00:52:50,930 Joo? 1023 00:52:50,930 --> 00:52:54,760 >> ROB: Eli osa hyöty kytkin lausunnot on ajatella, jos teit tämän 1024 00:52:54,760 --> 00:52:58,680 koska Jos / Else, niin kuin jos n = yhtä tai mitä tahansa. 1025 00:52:58,680 --> 00:53:00,300 Else / Jos n on yhtä kuin kaksi riippumatta. 1026 00:53:00,300 --> 00:53:01,960 Else / Jos n on yhtä kuin kolme. 1027 00:53:01,960 --> 00:53:05,930 Joten miten ohjelma suoritettiin se olisi peräkkäin mennä alas, että lista 1028 00:53:05,930 --> 00:53:07,500 ja katso, on n yksi? 1029 00:53:07,500 --> 00:53:08,040 Ehei. 1030 00:53:08,040 --> 00:53:09,070 On n kaksi? 1031 00:53:09,070 --> 00:53:09,490 Ehei. 1032 00:53:09,490 --> 00:53:10,940 On n kolme? 1033 00:53:10,940 --> 00:53:11,710 Joo. 1034 00:53:11,710 --> 00:53:12,610 Tee tämä. 1035 00:53:12,610 --> 00:53:15,270 >> Ottaa huomioon, että kytkimellä lausuntoja, se on todella pystyy kokoamaan sen olevan 1036 00:53:15,270 --> 00:53:16,360 todella nopeasti. 1037 00:53:16,360 --> 00:53:19,550 Ja heti kun se sanoo kytkimellä, se sanoo, okei, n on kaksi, olen 1038 00:53:19,550 --> 00:53:23,060 heti menossa hypätä missä Minun on tarkoitus aloittaa täytäntöönpanosta. 1039 00:53:23,060 --> 00:53:26,080 En aio ensin tarkistettava, on n yksi, on n kaksi? 1040 00:53:26,080 --> 00:53:28,860 Se voi heti alkaa tehdä mitä sen pitäisi tehdä. 1041 00:53:28,860 --> 00:53:33,830 >> Ja sen vuoksi, se ei voi ottaa Boolen ehdot. 1042 00:53:33,830 --> 00:53:36,480 Tai muuten se pitäisi tehdä peräkkäinen, kuten, okei, on n 1043 00:53:36,480 --> 00:53:37,820 suurempi kuin nolla? 1044 00:53:37,820 --> 00:53:41,140 Else on n suurempi kuin 10 tai jotain. 1045 00:53:41,140 --> 00:53:44,780 >> JOSEPH: Tässä tapauksessa, jos käytit Jos / Else, Ifin, niin kytkin olisi 1046 00:53:44,780 --> 00:53:47,792 ajaa noin kolme kertaa nopeammin Jos / Else, Jos. 1047 00:53:47,792 --> 00:53:53,060 1048 00:53:53,060 --> 00:53:56,040 Voimme järjestää kytkin tällaisissa siten, että emme riko 1049 00:53:56,040 --> 00:53:57,520 jokaisen tapauksista. 1050 00:53:57,520 --> 00:54:00,960 Joten tässä tapauksessa, olen osiointi numeroita, jotka me valitsemme yhdeksi ja 1051 00:54:00,960 --> 00:54:04,250 nämä kaksi käsitettä ole korkea numeroita ja Kolme niistä paljon. 1052 00:54:04,250 --> 00:54:08,290 >> Joten tässä tapauksessa, jos n on yksi tai kaksi, se osuu asian ja sitten se 1053 00:54:08,290 --> 00:54:10,640 kuuluvat läpi, koska ei ole taukoa. 1054 00:54:10,640 --> 00:54:11,610 Ja se päätyy tänne. 1055 00:54:11,610 --> 00:54:15,360 Jos siis valita yksi, se tekee printf ja sitten tauko niin, että mikään 1056 00:54:15,360 --> 00:54:17,610 tämä toteutetaan. 1057 00:54:17,610 --> 00:54:21,870 Ja tietenkin, jos ne tulevat kolmessa tai jotain muuta, niin se ohittaa 1058 00:54:21,870 --> 00:54:25,320 nämä ja mennä sinne, ja se tulee suorittaa sijaan 1059 00:54:25,320 --> 00:54:27,490 vastaava linja. 1060 00:54:27,490 --> 00:54:29,390 Onko kysyttävää siitä? 1061 00:54:29,390 --> 00:54:29,780 Kyllä? 1062 00:54:29,780 --> 00:54:32,642 >> SPEAKER 4: Menisitkö virhe, jos oli tauko tapauksessa yksi, mutta se 1063 00:54:32,642 --> 00:54:34,550 ei ole jotain sitä tehdä? 1064 00:54:34,550 --> 00:54:37,820 >> JOSEPH: Joten kysymys on hakisitko virheen, jos sinulla on katkos 1065 00:54:37,820 --> 00:54:39,730 Jos yksi mutta ei ole mitään tekemistä? 1066 00:54:39,730 --> 00:54:41,520 Ja vastaus on ei. 1067 00:54:41,520 --> 00:54:43,172 Et itse saada virheen. 1068 00:54:43,172 --> 00:54:44,590 Joo, mm hmm. 1069 00:54:44,590 --> 00:54:54,540 >> Niin tavallaan vähän muutoksia täällä, Aion laittaa printf täällä. 1070 00:54:54,540 --> 00:54:55,790 Oho. 1071 00:54:55,790 --> 00:55:00,994 1072 00:55:00,994 --> 00:55:04,880 Joten mitä tämä tulostaa, jos Laitoin yksi syötteenä? 1073 00:55:04,880 --> 00:55:07,530 1074 00:55:07,530 --> 00:55:07,770 Joo. 1075 00:55:07,770 --> 00:55:10,360 Se kertoisi teille, että se ei ottanut suuri määrä kahdesti, eikö? 1076 00:55:10,360 --> 00:55:13,500 Koska se osuisi että ensimmäinen tapaus, Se ei saa hajota, ja se kuuluisi 1077 00:55:13,500 --> 00:55:15,730 läpi toisessa tapauksessa. 1078 00:55:15,730 --> 00:55:16,950 Kaikki kysymykset siitä? 1079 00:55:16,950 --> 00:55:18,280 >> ROB: Oliko sinulla muita kysymyksiä? 1080 00:55:18,280 --> 00:55:20,840 >> JOSEPH: OK, jäähtyä. 1081 00:55:20,840 --> 00:55:22,400 Selvä. 1082 00:55:22,400 --> 00:55:25,780 Joten siellä on jotain muuta kutsumme ternäärinen toimija, joka on pohjimmiltaan 1083 00:55:25,780 --> 00:55:29,010 varajäsenen syntaksin tekemään Jos ja sitten Else. 1084 00:55:29,010 --> 00:55:30,470 Ja sen avulla voit tehdä kaiken yhdellä rivillä. 1085 00:55:30,470 --> 00:55:34,110 Joten tässä nimenomaisessa ohjelmassa Pyydän käyttäjän n. 1086 00:55:34,110 --> 00:55:37,190 Ja jos n on suurempi kuin 100, kerron heitä ne poimitaan paljon. 1087 00:55:37,190 --> 00:55:39,560 Muuta en kerro että he poimittu vähäinen määrä. 1088 00:55:39,560 --> 00:55:43,030 >> Joten voimme käyttää tätä todella pitkä syntaksin, string, S, ja sitten tarkistaa, jos n on 1089 00:55:43,030 --> 00:55:45,260 yli 100 ja liittää sen mukaisesti. 1090 00:55:45,260 --> 00:55:49,450 Mutta voimme tehdä tästä paljon tiiviimmäksi käyttämällä tätä kolmen komponentin operaattori syntaksin 1091 00:55:49,450 --> 00:55:52,090 joka liittyy kysymys merkki ja paksusuolen. 1092 00:55:52,090 --> 00:55:55,070 Joten kysymysmerkki on olennaisesti kysyy kysymyksen, eikö? 1093 00:55:55,070 --> 00:55:56,625 >> ROB: Ehkä zoomata tätä. 1094 00:55:56,625 --> 00:55:57,372 >> JOSEPH: Kyllä. 1095 00:55:57,372 --> 00:56:00,210 Hyvä pointti. 1096 00:56:00,210 --> 00:56:02,550 Joten tämä on kolmen komponentin operaattori. 1097 00:56:02,550 --> 00:56:06,100 Haluan ensin kysyä, on n yli 100? 1098 00:56:06,100 --> 00:56:09,770 Jos se on, niin en suorita ensin osa ennen paksusuolen. 1099 00:56:09,770 --> 00:56:13,360 Jos se ei ole, niin en suorita Toisessa osassa kaksoispisteen jälkeen. 1100 00:56:13,360 --> 00:56:16,640 Joten, jos n on suurempi kuin 100, niin se poimii korkea ja puts 1101 00:56:16,640 --> 00:56:18,360 että osaksi merkkijono s. 1102 00:56:18,360 --> 00:56:22,170 Jos n on pienempi kuin 100, se poimii matala ja sitten tuo sen osaksi merkkijono s. 1103 00:56:22,170 --> 00:56:30,186 Jotta tiivistyy tämä iso kimpale alas vain, että yksi rivi. 1104 00:56:30,186 --> 00:56:32,010 >> SPEAKER 5: Onko tuo suosittu? 1105 00:56:32,010 --> 00:56:36,070 >> JOSEPH: Kyllä, se on varsin suosittu asioita, jos oleellisesti haluat 1106 00:56:36,070 --> 00:56:38,700 tehdään harjoitustyö perustuu jonkinlainen kunnossa. 1107 00:56:38,700 --> 00:56:43,110 Ja tässä tapauksessa, yritimme määrittää arvon merkkijonon s. 1108 00:56:43,110 --> 00:56:44,840 Se ei ole niin - 1109 00:56:44,840 --> 00:56:47,670 Luulen En todellakaan halua muissa tapauksissa sen. 1110 00:56:47,670 --> 00:56:49,390 Mutta se on erityisen hyödyllinen tähän tehtävään. 1111 00:56:49,390 --> 00:56:54,490 >> ROB: Se on melko yleinen malli jos sinulla on muuttuja, joka 1112 00:56:54,490 --> 00:56:58,200 aiot sanoa, jos jotain, asettaa tämä muuttuja yksi arvo, muuten, aseta 1113 00:56:58,200 --> 00:56:59,810 tämä muuttuja toiseen arvoon. 1114 00:56:59,810 --> 00:57:03,360 Ja se on skenaario jos käyttää kolmen komponentin. 1115 00:57:03,360 --> 00:57:05,220 >> JOSEPH: Ja säästät paljon linjat, eikö? 1116 00:57:05,220 --> 00:57:08,090 Ja se vain tekee koodin luultavasti hieman luettavampi. 1117 00:57:08,090 --> 00:57:08,635 Kyllä, kysymys? 1118 00:57:08,635 --> 00:57:12,384 >> SPEAKER 6: For ternäärinen, voisitko mennä, string s tasavertaisten s, kysymysmerkki? 1119 00:57:12,384 --> 00:57:15,280 Ja sitten voisi olla vaikkapa viisi eri vaihtoehtoa. 1120 00:57:15,280 --> 00:57:18,310 Ja riippuen siitä, mitä määrä n oli, valitsisit yksi niistä? 1121 00:57:18,310 --> 00:57:22,210 >> JOSEPH: Joten kysymys on, onko tavallaan syntaksin jossa voit tehdä merkkijono 1122 00:57:22,210 --> 00:57:25,910 s vastaa n, ja sitten on enemmän kuin kaksi vaihtoehtoja sen jälkeen kysymysmerkin? 1123 00:57:25,910 --> 00:57:29,740 Ja yksinkertainen vastaus on ei, siellä ei ole todella hyvä tapa tehdä se, ellei 1124 00:57:29,740 --> 00:57:33,850 Haluatko pesä useita ternäärisen operaattorit sisällä toisistaan. 1125 00:57:33,850 --> 00:57:38,050 >> Voisit tehdä kuten n yli 100, kysymysmerkki, ja sitten toinen 1126 00:57:38,050 --> 00:57:41,850 ternäärinen operaattori n yli 50, kysymysmerkki, ja pesä niin. 1127 00:57:41,850 --> 00:57:45,240 Mutta siinä tilanteessa, koodi on saada sellainen lukukelvoton ja sotkuinen, 1128 00:57:45,240 --> 00:57:47,920 ja se voisi olla parempi vain mennä Jos / muu selvitys tässä vaiheessa. 1129 00:57:47,920 --> 00:57:54,530 >> ROB: Ja myös, kuten Sivuhuomautuksena, PHP virheellisesti toteuttaa kolmen komponentin 1130 00:57:54,530 --> 00:57:58,053 operaattori siten, että sisäkkäisiä ternaries ei edes toimi niin kuin pitäisi. 1131 00:57:58,053 --> 00:57:58,840 >> JOSEPH: Joo. 1132 00:57:58,840 --> 00:58:01,170 Joten se saa vähän sekava, varsinkin kun menet 1133 00:58:01,170 --> 00:58:02,145 eri kielille. 1134 00:58:02,145 --> 00:58:04,810 >> ROB: Se on hämmentävää riitä, että kielet ovat väärässä siitä. 1135 00:58:04,810 --> 00:58:08,030 1136 00:58:08,030 --> 00:58:11,510 >> JOSEPH: Joten oikeastaan, vain selventää, ei jokainen tietää mitä se 1137 00:58:11,510 --> 00:58:13,900 % S tekee täällä? 1138 00:58:13,900 --> 00:58:15,650 Kaikki kysymykset siitä? 1139 00:58:15,650 --> 00:58:19,760 Oletan vain kameran,% s pohjimmiltaan antaa meidän laittaa paikkamerkkinä 1140 00:58:19,760 --> 00:58:20,790 merkkijonoa. 1141 00:58:20,790 --> 00:58:23,920 Ja sitten lopussa, me määrittää, että muuttuja haluamme panna tähän 1142 00:58:23,920 --> 00:58:25,500 paikka haltija on s. 1143 00:58:25,500 --> 00:58:27,730 Joten periaatteessa vie s ja se laittaa sen tänne. 1144 00:58:27,730 --> 00:58:32,130 Ja sitten se tulostaa, nostit korkea tai otit pieni määrä. 1145 00:58:32,130 --> 00:58:33,770 OK. 1146 00:58:33,770 --> 00:58:36,970 >> Joten silmukoita avulla voit tehdä asioita liikkein, eikö? 1147 00:58:36,970 --> 00:58:40,300 Saatat törmännyt tämän Scratch muodossa Ikuisesti silmukoita 1148 00:58:40,300 --> 00:58:45,650 tai toista kunnes tai Repeat erityisesti useita kertoja. 1149 00:58:45,650 --> 00:58:47,540 Miksi tämä hyvä meille? 1150 00:58:47,540 --> 00:58:51,500 No, C, sanokaamme meillä on tämä laulu täytäntöön Scratch että 1151 00:58:51,500 --> 00:58:53,450 laulaa, tämä on laulu joka ei koskaan lopu. 1152 00:58:53,450 --> 00:58:55,710 Se vain jatkuu ja jatkuu ja ikuisesti ja ikuisesti. 1153 00:58:55,710 --> 00:58:59,395 No, et voi oikeastaan ​​tehdä ohjelman , jolla on ääretön määrä printf 1154 00:58:59,395 --> 00:59:00,850 lausuntoja sen, eikö? 1155 00:59:00,850 --> 00:59:04,900 >> Joten tässä nimenomaisessa tilanteessa yksi tapa että voisit tehdä tätä työtä ja 1156 00:59:04,900 --> 00:59:09,330 jotta se tulostaa ikuisesti on sen sijaan käyttää while-silmukka. 1157 00:59:09,330 --> 00:59:13,640 Joten Vaikka silmukka tulee suorittaa mitä kehossa kahden olkaimet, että 1158 00:59:13,640 --> 00:59:17,250 kuuluu se perustuu siihen, mitä ehto on. 1159 00:59:17,250 --> 00:59:21,170 Joten tässä esimerkissä aiemmin, jos haluamme tulostaa tätä ikuisesti, mitä 1160 00:59:21,170 --> 00:59:23,590 ehkä me teemme? 1161 00:59:23,590 --> 00:59:25,190 No, varmasti, eikö? 1162 00:59:25,190 --> 00:59:32,290 >> Joten tällainen yhdistää ajatus Joidenkin Boolen lauseke 1163 00:59:32,290 --> 00:59:33,610 yhdessä silmukka. 1164 00:59:33,610 --> 00:59:35,780 Ja olemme oppineet Boolen ilmaisuja aiemmin. 1165 00:59:35,780 --> 00:59:39,650 Joten aina kunnossa sisältä ja että vaikka pitää paikkansa, tämän silmukan 1166 00:59:39,650 --> 00:59:41,480 tulee suorittaa ja jatkuu ja jatkuu. 1167 00:59:41,480 --> 00:59:44,640 Ja tässä tapauksessa, jos me vain toimittamaan totta, tämä aiheuttaa äärettömän 1168 00:59:44,640 --> 00:59:49,310 silmukka joka tulostaa kappaleen ja ja koska halusimme ennen ilman 1169 00:59:49,310 --> 00:59:52,410 ottaa ohjelma, joka on ääretön määrä printf lausuntoja, mikä on 1170 00:59:52,410 --> 00:59:55,220 ei ole mahdollista. 1171 00:59:55,220 --> 00:59:57,810 >> Niin enemmän pakottavan, vaikka, voit käyttää tätä 1172 00:59:57,810 --> 00:59:59,710 muuttuja ja kunnossa. 1173 00:59:59,710 --> 01:00:04,420 Joten sanokaamme haluamme toistaa lause, täysin loopy, 10 kertaa. 1174 01:00:04,420 --> 01:00:08,380 Niin mitä voit tehdä Vaikka silmukka on voit ensin alustaa laskuri 1175 01:00:08,380 --> 01:00:10,860 muuttuja ulkopuolella Vaikka silmukka 10. 1176 01:00:10,860 --> 01:00:14,360 Ja sitten periaatteessa, joka kerta mennä läpi while-silmukka, voit tulostaa 1177 01:00:14,360 --> 01:00:19,090 lausekkeella ja sitten pienennät laskinmuuttuja kunnes lopussa, 1178 01:00:19,090 --> 01:00:23,020 jossain vaiheessa, kun vähennämme I tarpeeksi kertaa, 1 alkaen I riittävän monta kertaa - 1179 01:00:23,020 --> 01:00:27,290 ja vain selventää, olen minus minus tarkoittaa I on I miinus 1. 1180 01:00:27,290 --> 01:00:31,280 >> Se pohjimmiltaan tuo minä alas kohta jossa kerran osuin nolla, 1181 01:00:31,280 --> 01:00:35,260 ehto ei ole enää totta ja joten se poistuu ulos silmukan. 1182 01:00:35,260 --> 01:00:37,045 Niin täysin Loopy tulostaa vain 10 kertaa. 1183 01:00:37,045 --> 01:00:39,550 1184 01:00:39,550 --> 01:00:41,080 Kysyttävää Vaikka silmukka? 1185 01:00:41,080 --> 01:00:44,580 1186 01:00:44,580 --> 01:00:46,790 OK. 1187 01:00:46,790 --> 01:00:50,550 >> Joten siellä on tapa, jolla voimme tehdä mitä me juuri teki enemmän ytimekkäästi kanssa 1188 01:00:50,550 --> 01:00:51,715 mitä me kutsumme For silmukka. 1189 01:00:51,715 --> 01:00:55,750 Joten For-silmukan koostuu Alustuksen kunnossa, ja 1190 01:00:55,750 --> 01:00:58,950 päivitys, aivan kuten meillä oli ennen Tässä Vaikka silmukka. 1191 01:00:58,950 --> 01:00:59,890 Joten katsotaanpa katsomaan. 1192 01:00:59,890 --> 01:01:02,900 Tässä Vaikka silmukka, meillä oli Alustuksen jälkeen meillä oli 1193 01:01:02,900 --> 01:01:04,260 edellytyksellä, että pyysimme. 1194 01:01:04,260 --> 01:01:06,450 Ja sitten meillä oli päivitys askel yläreunassa. 1195 01:01:06,450 --> 01:01:10,060 >> Kanssa käytettäessä loop, tämä käytännössä tapahtuu nämä kolme asiaa ja tiivistyy se 1196 01:01:10,060 --> 01:01:11,370 alas yhden rivin. 1197 01:01:11,370 --> 01:01:15,130 Joten ensimmäinen asia, että se tekee Varten silmukka on alustuksen. 1198 01:01:15,130 --> 01:01:19,090 Ja sitten teet puolipiste ja sitten teet kunnossa, mikä on minä 1199 01:01:19,090 --> 01:01:22,200 suurempi kuin nolla menee tuolla, ja sitten päivitys askel. 1200 01:01:22,200 --> 01:01:26,470 Joten tämä saa suorittaa Aivan lopussa silmukan rungon. 1201 01:01:26,470 --> 01:01:28,790 Joten nämä kaksi ohjelmaa ovat olennaisesti vastaava. 1202 01:01:28,790 --> 01:01:31,960 1203 01:01:31,960 --> 01:01:33,870 >> Kaikki kysymykset? 1204 01:01:33,870 --> 01:01:37,000 Joten mikä on yksi ero Näiden kahden? 1205 01:01:37,000 --> 01:01:38,000 Voiko joku huomauttaa asiasta? 1206 01:01:38,000 --> 01:01:40,480 Se saattaa olla hieman hiuksenhieno. 1207 01:01:40,480 --> 01:01:41,930 Se on vain hyvin pieni ero. 1208 01:01:41,930 --> 01:01:42,330 Kyllä? 1209 01:01:42,330 --> 01:01:49,008 >> SPEAKER 5: Et voi käyttää I muuttujan ulkopuolelle For silmukan 1210 01:01:49,008 --> 01:01:49,962 [Äänetön]? 1211 01:01:49,962 --> 01:01:50,900 >> JOSEPH: Aivan. 1212 01:01:50,900 --> 01:01:53,550 Joten tämä on jotain me saamme myöhemmin nimeltään kiikaritähtäimellä. 1213 01:01:53,550 --> 01:01:56,610 Mutta pohjimmiltaan tämä int i elämää ulkopuolella tämän Vaikka silmukka. 1214 01:01:56,610 --> 01:01:59,800 Joten kun tämä kun silmukka tehdään täytäntöönpanosta, minä voi käyttää I myöhemmin 1215 01:01:59,800 --> 01:02:00,880 kyseisessä ohjelmassa. 1216 01:02:00,880 --> 01:02:05,430 >> Ottaa huomioon, että tämä on loop, tämä int I on scoped sisäosat For silmukka. 1217 01:02:05,430 --> 01:02:10,240 Ja koska se on sisällä tämän osan For-silmukka, joka alkaa 1218 01:02:10,240 --> 01:02:13,200 klo suluissa ja päät kihara ahdin tuolla. 1219 01:02:13,200 --> 01:02:16,120 Kaikki, mikä on julistettu sisällä täällä ei voi käyttää ulkona. 1220 01:02:16,120 --> 01:02:20,420 Joten jos yritän käyttää I ulkopuolella, se tulee Kerro minulle, pimeän symboli. 1221 01:02:20,420 --> 01:02:22,420 Ja olennaisesti, en pystyä käyttämään sitä. 1222 01:02:22,420 --> 01:02:28,460 >> ROB: Ja hyvin, 10 vuotta sitten, vuonna kirjaimellisesti kaikissa tapauksissa, aaltosulkeita ovat 1223 01:02:28,460 --> 01:02:31,140 mitä käytetään määrittämään Muuttujan laajuus. 1224 01:02:31,140 --> 01:02:37,240 Joten siellä, int I on 10 julistetaan sisäosat 1225 01:02:37,240 --> 01:02:38,520 joukko aaltosulkeita. 1226 01:02:38,520 --> 01:02:42,530 Ja niin niin niin kauan kuin yrität käyttää I ennen tätä kihara ahdin, se on hieno. 1227 01:02:42,530 --> 01:02:47,090 1228 01:02:47,090 --> 01:02:51,460 Saatat nähdä kun kirjoitat tehdä, voit katso viiva, viiva, std, vastaa, C99. 1229 01:02:51,460 --> 01:02:57,100 >> Tämä on siis uudempi versio C, että GCC on toteuttanut joka myös antaa 1230 01:02:57,100 --> 01:02:58,740 Tämä pikakuvake. 1231 01:02:58,740 --> 01:03:03,505 Joten tämä käytetään ei sallitaan C. Ja voit nähdä, miksi, koska tämä int 1232 01:03:03,505 --> 01:03:07,600 I on ulkopuolella tämän kihara ahdin mutta se on silti katsota 1233 01:03:07,600 --> 01:03:09,750 laajuus näistä aaltosulkeita. 1234 01:03:09,750 --> 01:03:14,120 Mutta tämä on erittäin kätevä juttu, ja niin se on hyvä laajennus. 1235 01:03:14,120 --> 01:03:15,370 >> JOSEPH: Kaikki kysymykset? 1236 01:03:15,370 --> 01:03:17,550 1237 01:03:17,550 --> 01:03:19,260 OK. 1238 01:03:19,260 --> 01:03:22,820 Joten mitä enemmän hyötyä on, että joskus Haluatko tavallaan dynaamisuutta 1239 01:03:22,820 --> 01:03:23,410 silmukka, eikö? 1240 01:03:23,410 --> 01:03:26,350 Et halua vain välttämättä tulostaa täysin Loopy koko ajan, voit 1241 01:03:26,350 --> 01:03:28,650 haluat laskea alas 10 tai jotain. 1242 01:03:28,650 --> 01:03:32,010 Ja niin voit käyttää laskinmuuttuja sisällä että silmukan samoin. 1243 01:03:32,010 --> 01:03:35,530 Ja tässä tapauksessa, tämä ohjelma vain laskee alas 10 myöten. 1244 01:03:35,530 --> 01:03:39,260 Ja mitä se ei tulosta? 1245 01:03:39,260 --> 01:03:42,790 Se ei tulosta nolla, oikeassa, sillä kun - 1246 01:03:42,790 --> 01:03:45,460 Kyllä, se ei myöskään tulosta 11. 1247 01:03:45,460 --> 01:03:49,200 >> Joten se ei tulosta nolla, sillä kun I on nolla, muistakaa, se arvioi 1248 01:03:49,200 --> 01:03:52,170 kunnossa ennen kuin se menee suorittaa silmukan runko. 1249 01:03:52,170 --> 01:03:56,820 Ja kun on nolla, tämä on väärä, niin se ei tulostaa laskee alas 1250 01:03:56,820 --> 01:04:00,200 nolla, se vain tulostaa laskenta alas 10 kaikki alas 1. 1251 01:04:00,200 --> 01:04:03,420 Jos me todella halusimme sen tulostaa nolla, silloin meillä olisi laittaa yhtäläisyysmerkkiä 1252 01:04:03,420 --> 01:04:04,750 tämän jälkeen suurempi kuin-merkki. 1253 01:04:04,750 --> 01:04:09,400 1254 01:04:09,400 --> 01:04:10,130 OK. 1255 01:04:10,130 --> 01:04:16,410 >> Joten yksi tapa tehdä input validointi, joka on kun pyytää käyttäjää tekemään 1256 01:04:16,410 --> 01:04:18,620 jotain, haluat varmistaa, että ne seurata ohjeita, on käyttää 1257 01:04:18,620 --> 01:04:19,400 Vaikka silmukka, eikö? 1258 01:04:19,400 --> 01:04:22,990 Joten tässä tapauksessa, pyydän positiivisen numero ja sitten aion 1259 01:04:22,990 --> 01:04:23,810 odottaa syötteitä. 1260 01:04:23,810 --> 01:04:28,210 >> Ja sitten olen tarkistanut Vaikka tulo on pienempi kuin nolla, pitää kysyä niitä. 1261 01:04:28,210 --> 01:04:32,100 Niin kauan kuin he antavat minulle numero että ei ole positiivinen, pitää kysyä, 1262 01:04:32,100 --> 01:04:33,600 Kyselen, pitää kysyä. 1263 01:04:33,600 --> 01:04:35,860 Mutta mikä on hiukan outo tästä? 1264 01:04:35,860 --> 01:04:38,570 Tai mitä ei tunnu optimaalinen noin Tämän rakenteen täällä? 1265 01:04:38,570 --> 01:04:44,282 1266 01:04:44,282 --> 01:04:44,758 Kukaan? 1267 01:04:44,758 --> 01:04:45,234 Kyllä? 1268 01:04:45,234 --> 01:04:47,614 >> SPEAKER 6: Olet toistamalla opetusta kahdesti. 1269 01:04:47,614 --> 01:04:48,100 >> JOSEPH: Oikea. 1270 01:04:48,100 --> 01:04:50,090 Joten meillä on kaksi printf lausuntoja täällä, eikö? 1271 01:04:50,090 --> 01:04:53,440 Joten siellä on tapa, jolla voimme saada tämä vain alas joka tekisi meidän 1272 01:04:53,440 --> 01:04:57,170 koodi helpompi lukea ja hieman enemmän puhtaita. 1273 01:04:57,170 --> 01:05:00,180 Ja sitten meillä ei tarvitse on saada kaksi kertaa samoin. 1274 01:05:00,180 --> 01:05:03,740 Ja yksi tapa voit tehdä tämä on käyttämällä Do-while-silmukka. 1275 01:05:03,740 --> 01:05:07,670 >> Ja Do-while-silmukka on pohjimmiltaan eri muodossa Vaikka silmukan, jossa 1276 01:05:07,670 --> 01:05:11,460 mitä on sisällä aaltosulkeiden saa toteutetaan vähintään kerran. 1277 01:05:11,460 --> 01:05:14,840 Joten täällä, julistan, int input ulkopuolella ensin. 1278 01:05:14,840 --> 01:05:18,100 Ja sitten minä vain sanoa, tehdä tämän opetusta samalla tulo 1279 01:05:18,100 --> 01:05:19,140 on pienempi kuin nolla. 1280 01:05:19,140 --> 01:05:20,530 Joten se osuu tehdä ensin. 1281 01:05:20,530 --> 01:05:24,190 Se tulee aina suorittaa tämän ainakin kerran, niin se kysyy aina käyttäjän 1282 01:05:24,190 --> 01:05:25,960 Syöttö ainakin kerran. 1283 01:05:25,960 --> 01:05:29,390 Ja sitten se arvioi, että tulo, ja se menee ympyrää. 1284 01:05:29,390 --> 01:05:30,135 Kyllä, kysymys? 1285 01:05:30,135 --> 01:05:32,602 >> SPEAKER 6: Onko olemassa tapa tehdä se [Äänetön] tyyppejä, kuten jos sanot, 1286 01:05:32,602 --> 01:05:34,268 GetString, ja joku [äänetön] 1287 01:05:34,268 --> 01:05:35,220 on olemassa tapa [kuultavissa] 1288 01:05:35,220 --> 01:05:40,060 >> JOSEPH: Joten kysymys on, onko tapa tehdä input validointi, jos käyttäjä 1289 01:05:40,060 --> 01:05:41,850 ei laita oikeaan Muuttujan tyyppi? 1290 01:05:41,850 --> 01:05:44,460 Joten jos pyydämme int ja ne antaa meille merkkijonon sijaan. 1291 01:05:44,460 --> 01:05:49,110 Ja toimintoja, joita toteutamme sinulle, GetInt, getString kaikissa 1292 01:05:49,110 --> 01:05:52,680 ne toiminnot, he itse asiassa jo tehdä tällaista perustyyppiä tulo 1293 01:05:52,680 --> 01:05:54,120 validointi konepellin alle. 1294 01:05:54,120 --> 01:05:57,390 Joten jos käytät toimintoja, jotka me antoi sinulle, sinun ei todellakaan tarvitse. 1295 01:05:57,390 --> 01:06:01,380 >> Mutta jos haluat näyttää enemmän, miten voit itse tehdä sen, voit katsoa 1296 01:06:01,380 --> 01:06:03,360 konepellin alla on tiedoston I/O-- 1297 01:06:03,360 --> 01:06:07,990 ei tiedosto, vakio I / O-toimintoja kuten lukeminen vakiosyötteestä ja 1298 01:06:07,990 --> 01:06:08,580 vakiotulosteen. 1299 01:06:08,580 --> 01:06:10,630 Ja voit saada paremman käsityksen miten voisit tehdä sen. 1300 01:06:10,630 --> 01:06:13,670 >> ROB: Yksi asia on kuitenkin nimenomaan kanssa esimerkiksi sinulle 1301 01:06:13,670 --> 01:06:17,070 sanoi, odotat merkkijono ja astun int. 1302 01:06:17,070 --> 01:06:20,110 Miten kertoa eroa välillä tahallaan haluavat 1303 01:06:20,110 --> 01:06:23,130 string 123 vs. haluavat int 123? 1304 01:06:23,130 --> 01:06:29,230 Joten merkkijono, se on aika paljon ei ole validointi, se on vain mitä he 1305 01:06:29,230 --> 01:06:31,600 Annettu voit tulkitsee jonona. 1306 01:06:31,600 --> 01:06:35,790 >> Int on helpompaa, koska ei ole väliä input otat käyttäjältä, olet 1307 01:06:35,790 --> 01:06:37,470 aina kun merkkijono. 1308 01:06:37,470 --> 01:06:40,650 Ja niin, että merkkijono voit sitten tarkistaa, ovat kaikki nämä 1309 01:06:40,650 --> 01:06:44,218 todella numerona? 1310 01:06:44,218 --> 01:06:45,170 >> JOSEPH: OK. 1311 01:06:45,170 --> 01:06:46,420 Kysyttävää Do-while-silmukka? 1312 01:06:46,420 --> 01:06:49,170 >> ROB: Niin, ja tämä on myös - 1313 01:06:49,170 --> 01:06:55,130 menee takaisin soveltamisalaan, hieman yhteisestä virhe yrittää käyttää joitakin paikallisia 1314 01:06:55,130 --> 01:06:59,540 muuttujan tämän Do-While silmukan sisällä tämän ehdon. 1315 01:06:59,540 --> 01:07:02,850 Ja todella, jos me vain heitti tämän ja sanoi, int tulo vastaa 1316 01:07:02,850 --> 01:07:06,990 GetInt, niin kääntäjä huuda meille, koska tulo ei ole olemassa 1317 01:07:06,990 --> 01:07:08,900 ulkopuolella soveltamisalan Näiden aaltosulkeita. 1318 01:07:08,900 --> 01:07:10,792 >> JOSEPH: Ja siksi me Tarvitsen tätä kokoonpanolla täällä. 1319 01:07:10,792 --> 01:07:13,620 1320 01:07:13,620 --> 01:07:14,630 OK. 1321 01:07:14,630 --> 01:07:17,530 Joten voit myös murtautua ulos loop aikaisin, jos haluat. 1322 01:07:17,530 --> 01:07:21,240 Joten tämä on erilainen tapa täytäntöön, mitä me juuri toteutettu. 1323 01:07:21,240 --> 01:07:24,340 Ja sen sijaan käyttää kunnossa Suluissa, käytämme 1324 01:07:24,340 --> 01:07:26,920 Jos ilmoitus rungon sisältä ja Do-while-silmukka. 1325 01:07:26,920 --> 01:07:30,000 >> Ja periaatteessa, kun tulo on vihdoin suurempi kuin nolla, me 1326 01:07:30,000 --> 01:07:31,000 murtautumaan ulos silmukan. 1327 01:07:31,000 --> 01:07:33,420 Ja niin me menemme kaikki alas tänne. 1328 01:07:33,420 --> 01:07:37,920 Ja voit nähdä, että tämä olisi todennäköisesti edullinen tässä 1329 01:07:37,920 --> 01:07:39,870 skenaario, koska se on vähän bittinen puhtaampaa ja hieman 1330 01:07:39,870 --> 01:07:41,380 hieman helpompaa lukea. 1331 01:07:41,380 --> 01:07:45,210 Tämä, te tavallaan on ylimääräistä linjat siinä. 1332 01:07:45,210 --> 01:07:47,890 Se on vain vähän rumempi, Luulen, tavallaan. 1333 01:07:47,890 --> 01:07:48,530 Kyllä, kysymys? 1334 01:07:48,530 --> 01:07:52,178 >> SPEAKER 4: murtaa vain saada sinut pois yhdet olkaimet? 1335 01:07:52,178 --> 01:07:53,080 >> JOSEPH: Oikea. 1336 01:07:53,080 --> 01:07:58,100 Joten kysymys on murtaa vain sinut pois yksi silmukka? 1337 01:07:58,100 --> 01:07:59,280 Ja vastaus on kyllä. 1338 01:07:59,280 --> 01:08:04,290 Joten jos olet sisäkkäistä silmukkaa varten Esimerkiksi, jos minulla on int I on 0 1339 01:08:04,290 --> 01:08:09,040 10 päivään ja sitten int J on yhtä kuin 0 10 päivään, jos rikon ulos sisemmän 1340 01:08:09,040 --> 01:08:12,310 silmukka, aion silti mennä ja ulomman silmukan. 1341 01:08:12,310 --> 01:08:15,760 Joten se pitää suorittaa toiminnan ulkopuolella. 1342 01:08:15,760 --> 01:08:17,640 Kaikki kysymykset siitä? 1343 01:08:17,640 --> 01:08:18,000 Kyllä? 1344 01:08:18,000 --> 01:08:21,760 >> SPEAKER 5: Mutta tauko toimii vain kihara henkselit, ei muita 1345 01:08:21,760 --> 01:08:22,230 lausuntoja? 1346 01:08:22,230 --> 01:08:22,700 [Äänetön] 1347 01:08:22,700 --> 01:08:27,620 >> JOSEPH: Joten kysymys on murtuu ainoa tehtävä silmukoita vastakohtana 1348 01:08:27,620 --> 01:08:29,014 muita lausuntoja, kuten Jos? 1349 01:08:29,014 --> 01:08:32,950 Ja kyllä, näin on, koska rikot ulos silmukan, oikea, 1350 01:08:32,950 --> 01:08:33,630 tavallaan. 1351 01:08:33,630 --> 01:08:37,215 >> ROB: Valtaosassa tapauksia se on tämä on eräänlainen Jos jotain, 1352 01:08:37,215 --> 01:08:37,660 sitten tauko. 1353 01:08:37,660 --> 01:08:41,580 Joten sinun ei tarvitse rikkoa soveltaa Jos tämä on se kiertää. 1354 01:08:41,580 --> 01:08:45,250 Ja myös, tämä ei ole paljon silmukan, mutta muista, että kytkimet ovat myös 1355 01:08:45,250 --> 01:08:46,340 puhjennut tauot. 1356 01:08:46,340 --> 01:08:48,390 Näimme taukoja käytössä kytkimillä ennen. 1357 01:08:48,390 --> 01:08:52,189 >> JOSEPH: Ja voit myös käyttää niitä vuonna Vaikka silmukat ja silmukat. 1358 01:08:52,189 --> 01:08:54,560 Kaikki kysymykset? 1359 01:08:54,560 --> 01:08:55,830 OK. 1360 01:08:55,830 --> 01:08:57,779 Joten ensi up on toimintoja. 1361 01:08:57,779 --> 01:09:01,500 Joten olet saattanut käyttää yhtä näistä BYOB blokkeja Scratch projektin. 1362 01:09:01,500 --> 01:09:04,569 Ja tämä periaatteessa mahdollistaa voit määrittää joukko 1363 01:09:04,569 --> 01:09:05,680 ohjeita on noudatettava. 1364 01:09:05,680 --> 01:09:09,569 >> Ja mitä minä tarkoitan, että on mietitäänpä takaisin matematiikka, oikealle, algebra. 1365 01:09:09,569 --> 01:09:13,370 Sinulla on mitä me kutsumme funktio x, Joissakin muuttuja, ja sanokaamme tämä 1366 01:09:13,370 --> 01:09:16,080 funktio on f x on yhtä kuin x plus 5. 1367 01:09:16,080 --> 01:09:20,410 Joten voit ajatella F x, koska tämä musta laatikko, joka kestää 15 ja sitten 1368 01:09:20,410 --> 01:09:22,590 tuottaa 20. 1369 01:09:22,590 --> 01:09:26,630 >> Joten yleisemmin, toiminto on jotain, joka vie jonkin tulot ja 1370 01:09:26,630 --> 01:09:27,880 sitten tuottaa joitakin tuotoksia. 1371 01:09:27,880 --> 01:09:31,920 1372 01:09:31,920 --> 01:09:32,960 Ja miksi toimintoja hyvää? 1373 01:09:32,960 --> 01:09:35,189 Ne ovat hyvä useita syitä. 1374 01:09:35,189 --> 01:09:40,470 Joten ei joku halua ottaa puukottaa mitä organisaatio tarkoittaa? 1375 01:09:40,470 --> 01:09:42,630 Mitä, miksi toiminnot ovat hyödyllisiä? 1376 01:09:42,630 --> 01:09:43,090 Kyllä? 1377 01:09:43,090 --> 01:09:44,735 >> SPEAKER 4: Se tekee koodi luettavampi. 1378 01:09:44,735 --> 01:09:45,399 >> JOSEPH: Oikea. 1379 01:09:45,399 --> 01:09:47,670 Joten yksi niistä asioista on se tekee koodi luettavampi, eikö? 1380 01:09:47,670 --> 01:09:53,710 Sen sijaan, kuten int x on yhtä kuin x kertaa x kertaa x, voin olla kuution x, 1381 01:09:53,710 --> 01:09:57,190 joka on luettavampi ja enemmän ymmärrettävää lukija. 1382 01:09:57,190 --> 01:10:01,150 >> Organisaatio on myös niiden pilkkominen koodi hallittaviksi 1383 01:10:01,150 --> 01:10:05,610 osia, joten sen sijaan että yrittäisivät pantava tämä kaikki yhdessä pitkä jakso 1384 01:10:05,610 --> 01:10:09,070 main, voit tavallaan jakaa sitä osaksi kuten, OK, nyt kirjoittaa funktio 1385 01:10:09,070 --> 01:10:11,910 Cube jotain, nyt kirjoittaa toimiakseen neliö jotain. 1386 01:10:11,910 --> 01:10:15,950 Näin voit jakaa sen pieniksi, pikku osia, jotka voit ratkaista 1387 01:10:15,950 --> 01:10:18,944 toisin kuin yrittää puuttua iso ongelma kaikki kerralla. 1388 01:10:18,944 --> 01:10:21,806 >> ROB: Tai edes pieni, vähän osia, jotka sinä ja kumppani voi puuttua. 1389 01:10:21,806 --> 01:10:22,283 >> JOSEPH: Joo. 1390 01:10:22,283 --> 01:10:23,855 >> ROB: Joten sen sijaan molempien Yritätkö istuttaa yhden 1391 01:10:23,855 --> 01:10:27,170 toimiakseen samanaikaisesti. 1392 01:10:27,170 --> 01:10:28,800 >> JOSEPH: Yksinkertaistaminen. 1393 01:10:28,800 --> 01:10:30,050 Kukaan halua ottaa arvata? 1394 01:10:30,050 --> 01:10:33,080 1395 01:10:33,080 --> 01:10:33,410 Kyllä? 1396 01:10:33,410 --> 01:10:34,675 >> SPEAKER 5: Lisää toistoa. 1397 01:10:34,675 --> 01:10:35,260 >> JOSEPH: Oikea. 1398 01:10:35,260 --> 01:10:39,210 Niin yksi asia, että voit tehdä yksinkertaistaminen on, että se on eräänlainen on 1399 01:10:39,210 --> 01:10:42,520 samaan tapaan kuin uudelleen käytettävyys on, että kun minä kirjoitan datakuutiofunktioiden, voin 1400 01:10:42,520 --> 01:10:45,410 vain käyttää sitä uudestaan ​​ja uudestaan ​​ja uudestaan jälleen minun ohjelma kirjoittamisen sijaan 1401 01:10:45,410 --> 01:10:49,610 x kertaa x kertaa x yli ja uudestaan ​​ja uudestaan. 1402 01:10:49,610 --> 01:10:52,980 Ja yksinkertaistaminen tässä myös juuri tarkoittaa se tekee koodin eräänlainen 1403 01:10:52,980 --> 01:10:55,900 helpompi debug kun jaat tämä ylös toimintoja. 1404 01:10:55,900 --> 01:10:58,250 Koska silloin voit paikallistaa missä ongelmat tavallaan ovat. 1405 01:10:58,250 --> 01:11:00,910 1406 01:11:00,910 --> 01:11:02,160 Kaikki kysymykset? 1407 01:11:02,160 --> 01:11:04,200 1408 01:11:04,200 --> 01:11:06,540 >> Joten toinen ajatus on abstraktio, eikö? 1409 01:11:06,540 --> 01:11:07,390 Musta ruutu. 1410 01:11:07,390 --> 01:11:11,360 Kuten tiedät mitä GetInt tekee saada palautetta käyttäjä? 1411 01:11:11,360 --> 01:11:12,510 Emme ole kertonut sinulle, eikö? 1412 01:11:12,510 --> 01:11:15,670 Kaikki olemme kertoneet teille on GetInt ei mitä se sanoo se tekee. 1413 01:11:15,670 --> 01:11:18,440 Joten vaikka emme kertoa miten se toimii, saat silti tietää. 1414 01:11:18,440 --> 01:11:21,670 >> Joten tässä tapauksessa, tämä on nelinkertaistaa toiminto, joka tekee 1415 01:11:21,670 --> 01:11:24,520 eri asioita tuloon tuottaa tuotos. 1416 01:11:24,520 --> 01:11:28,050 Ja voit nelinkertaistaa numero kertomalla se neljä. 1417 01:11:28,050 --> 01:11:30,790 Tai voit kutsumme bittinen siirtää sen kahdella. 1418 01:11:30,790 --> 01:11:32,960 Ja me kattaa tämän hieman myöhemmin. 1419 01:11:32,960 --> 01:11:36,570 Ja ei tarvitse tietää, miten tämä toiminto itse asiassa toimii niin kauan kuin se 1420 01:11:36,570 --> 01:11:37,640 toimii kuten. 1421 01:11:37,640 --> 01:11:40,740 >> Joten konepellin alle, voisin olla kuten, palata tulo kertaa 1422 01:11:40,740 --> 01:11:41,690 Kahdeksan jaettuna kahdella. 1423 01:11:41,690 --> 01:11:42,510 Ja et tiedä, eikö? 1424 01:11:42,510 --> 01:11:44,970 Kaikki mitä sinun tarvitsee tietää on se mitä se sanoo. 1425 01:11:44,970 --> 01:11:48,070 Niin, että hyödyllinen asia noin abstraktio. 1426 01:11:48,070 --> 01:11:52,910 >> Ja toinen asia on tavallaan tämä ajatus hakeutumaan koodin yhteen 1427 01:11:52,910 --> 01:11:54,280 tiettyyn osaan. 1428 01:11:54,280 --> 01:11:57,450 Joten jos sinulla on ongelma, et täytyy mennä ympäri koodi yrittää 1429 01:11:57,450 --> 01:11:58,730 korjata missä ongelma oli. 1430 01:11:58,730 --> 01:12:00,990 Joten tässä tapauksessa, olen toteuttanut kuutio väärässä. 1431 01:12:00,990 --> 01:12:02,820 Luulin kuutio on kertomalla kolmella. 1432 01:12:02,820 --> 01:12:05,760 >> Joten tässä tapauksessa, tämä on yksi ohjelma että juuri on kertomalla kolmella 1433 01:12:05,760 --> 01:12:06,750 kaikkialla. 1434 01:12:06,750 --> 01:12:10,910 Ja siellä on toinen ohjelma, joka on osavarmuusluvuilla kuutio ulos toiminnon. 1435 01:12:10,910 --> 01:12:14,040 Ja nyt jos haluan korjata virheeni täällä, minun täytyy korjata jokainen viiva 1436 01:12:14,040 --> 01:12:15,620 koodia tässä ohjelmassa. 1437 01:12:15,620 --> 01:12:19,190 Kun taas toisaalta, jos käytän toiminto, en vain tarvitse vaihtaa 1438 01:12:19,190 --> 01:12:20,650 mikä oli vikana yhdessä paikassa. 1439 01:12:20,650 --> 01:12:25,330 1440 01:12:25,330 --> 01:12:28,730 >> Joten tietotekniikassa, me soita tulot ja lähdöt. 1441 01:12:28,730 --> 01:12:31,640 Tuloa kutsutaan parametrit tai argumentteja, ja lähdöt ovat nimeltään 1442 01:12:31,640 --> 01:12:32,950 palauttaa arvoja. 1443 01:12:32,950 --> 01:12:39,000 Ja näemme, miten tämä auttaa meitä järjestä Define toiminnon toisella. 1444 01:12:39,000 --> 01:12:41,430 Joten tämä on funktion määritelmän varten Cubing. 1445 01:12:41,430 --> 01:12:45,110 Joten se vie tulo, ja sitten se palaa että numero kertaa 1446 01:12:45,110 --> 01:12:47,020 itse kolme kertaa. 1447 01:12:47,020 --> 01:12:48,020 Joten jakaa järjestelmä. 1448 01:12:48,020 --> 01:12:53,090 >> Joten meillä on toiminto header, joka koostuu ensisijaisesti kolme asiaa. 1449 01:12:53,090 --> 01:12:56,050 Joten meillä on parametreja, jotka ovat, kuten aiemmin sanoin, 1450 01:12:56,050 --> 01:12:57,680 panoksina tätä toimintoa. 1451 01:12:57,680 --> 01:12:59,300 Ja sitten annamme funktion nimi. 1452 01:12:59,300 --> 01:13:00,740 Tässä tapauksessa sitä kutsutaan kuutio. 1453 01:13:00,740 --> 01:13:03,860 Ja sitten me määritellä, mitä tyyppiä tuoton arvo on. 1454 01:13:03,860 --> 01:13:06,760 >> Joten tässä tapauksessa, minun datakuutiofunktioiden vie kokonaisluku, ja se on myös 1455 01:13:06,760 --> 01:13:07,890 palauttaa kokonaisluvun. 1456 01:13:07,890 --> 01:13:11,510 Joten jos kuljen kaksi, kaksi on kokonaisluku, se palaa kahdeksan minulle, joka 1457 01:13:11,510 --> 01:13:13,250 on kokonaisluku. 1458 01:13:13,250 --> 01:13:15,420 Joten palata tyypin nimi parametrit. 1459 01:13:15,420 --> 01:13:16,670 Kysymyksiä siitä? 1460 01:13:16,670 --> 01:13:19,440 1461 01:13:19,440 --> 01:13:24,230 >> Ja sitten palauttaa arvo on todella määritelty lopussa sanomalla paluu 1462 01:13:24,230 --> 01:13:27,540 ja palaavat sitten mitä tahansa sisältää paluuarvo. 1463 01:13:27,540 --> 01:13:30,940 Joten tässä tapauksessa, jos laitamme kaiken yhdessä, toiminto vie 1464 01:13:30,940 --> 01:13:35,100 parametrit, sitä kutsutaan jotain, ja se palauttaa jotain, joka on tyyppiä 1465 01:13:35,100 --> 01:13:36,350 että sanomme sen piti olla. 1466 01:13:36,350 --> 01:13:39,830 1467 01:13:39,830 --> 01:13:41,080 Kaikki kysymykset? 1468 01:13:41,080 --> 01:13:43,710 1469 01:13:43,710 --> 01:13:45,080 >> Miten siis käyttää toimintoa? 1470 01:13:45,080 --> 01:13:49,230 No, me kirjoittaa toiminto ja sitten käytämme sitä meidän ohjelmaan, eikö? 1471 01:13:49,230 --> 01:13:51,565 Niin pyysin sen kuution, ja sitten voin käyttää kuutio. 1472 01:13:51,565 --> 01:13:54,200 >> Mutta mikä on tärkeää huomata, on järjestyksessä asioita. 1473 01:13:54,200 --> 01:13:58,100 Jos minulla on kuution alla tärkein, se on menossa törmätä kuutio. 1474 01:13:58,100 --> 01:14:00,360 Ja tässä vaiheessa, ei ole mitään kutsutaan kuutio ohjelmaan, ja se on 1475 01:14:00,360 --> 01:14:02,550 juuri menossa olla, minulla on Ei aavistustakaan, mitä kuutio on. 1476 01:14:02,550 --> 01:14:05,060 >> Niin se kertoo, implisiittinen ilmoitus toiminto. 1477 01:14:05,060 --> 01:14:06,690 Se on virhe, joka näkyy. 1478 01:14:06,690 --> 01:14:10,230 Ja niin tässä tapauksessa kuutio on alle tärkein, joten se ei tule 1479 01:14:10,230 --> 01:14:12,006 tietää siitä. 1480 01:14:12,006 --> 01:14:14,724 >> SPEAKER 5: Joten tärkein on yleensä viimeksi määriteltyä? 1481 01:14:14,724 --> 01:14:17,290 >> JOSEPH: Joten kysymys on, on tärkein yleensä viimeinen 1482 01:14:17,290 --> 01:14:18,170 asia, että haluat määrittää? 1483 01:14:18,170 --> 01:14:19,730 Ja ei. 1484 01:14:19,730 --> 01:14:22,280 Se johtuu siitä, että yleensä haluavat main olla huipulla, eikö? 1485 01:14:22,280 --> 01:14:24,640 Koska se on ensimmäinen asia, sinun haluavat ohjelmoija avaamista 1486 01:14:24,640 --> 01:14:25,640 ohjelman nähdä. 1487 01:14:25,640 --> 01:14:29,950 Ja niin miten voimme ratkaista tämän kysymyksen me haluavat main olla huipulla, mutta 1488 01:14:29,950 --> 01:14:33,750 toimintoja, joita haluamme, haluamme heidän olla alle main vielä pystyä käyttämään 1489 01:14:33,750 --> 01:14:34,930 ne sisällä tärkein? 1490 01:14:34,930 --> 01:14:36,870 >> No, käytämme mitä kutsumme funktion prototyyppi. 1491 01:14:36,870 --> 01:14:40,830 Joten mikä funktio prototyyppi olennaisesti on se ensin kestää mitä 1492 01:14:40,830 --> 01:14:45,060 allekirjoitusta tai toiminnon otsikko mitä haluamme toteuttaa alas 1493 01:14:45,060 --> 01:14:47,420 täällä, ja laitamme sen alkuun ohjelman. 1494 01:14:47,420 --> 01:14:51,400 >> Joten tässä tapauksessa, sanomme, että hyvin, myöhemmin ohjelmaamme, aiomme 1495 01:14:51,400 --> 01:14:55,010 luvata toteuttaa tämän toiminto nimeltään int kuutio, jossa otetaan 1496 01:14:55,010 --> 01:14:56,260 kokonaisluku-tulo. 1497 01:14:56,260 --> 01:15:00,870 Joten nyt, koska se on edellä main, Tärkein, se aikoo sanoa, oh, hyvin, 1498 01:15:00,870 --> 01:15:03,910 myöhemmin ohjelmassa, joka tulee olemaan siellä niin voin viitata siihen, niin minä 1499 01:15:03,910 --> 01:15:05,230 vain antaa sen mennä läpi nyt. 1500 01:15:05,230 --> 01:15:07,660 >> Ja sitten alaosassa, toteutamme kuutio. 1501 01:15:07,660 --> 01:15:11,180 Ja sitten tärkein sanoa vain sen, No, se on jonkinlaisia ​​yhteyksiä 1502 01:15:11,180 --> 01:15:12,250 nämä kaksi merkkiä toisiinsa. 1503 01:15:12,250 --> 01:15:14,320 Ja me kattaa, mitä se tarkoittaa myöhemmin. 1504 01:15:14,320 --> 01:15:17,090 Ja niin se tulee tietää, että tämä on datakuutiofunktioiden että se pitäisi käyttää. 1505 01:15:17,090 --> 01:15:19,630 1506 01:15:19,630 --> 01:15:23,383 >> ROB: [kuultavissa] noin haluavat Tärkein alareunassa tai 1507 01:15:23,383 --> 01:15:24,880 top, olen nähnyt molemmat. 1508 01:15:24,880 --> 01:15:28,630 On asioita, jotka vain haluavat laittaa tärkeimmät alareunassa. 1509 01:15:28,630 --> 01:15:32,520 Mutta kun hanke saa erityisen iso, yleensä tärkein on 1510 01:15:32,520 --> 01:15:34,290 tiedostoon aivan oma. 1511 01:15:34,290 --> 01:15:38,170 Ja siinä vaiheessa, kuten int kuutio linja olisi - 1512 01:15:38,170 --> 01:15:42,460 sisällä stdio.h olemassa joukko linjat noin vain int 1513 01:15:42,460 --> 01:15:44,010 kuutio int tulo linja. 1514 01:15:44,010 --> 01:15:50,170 >> Ja niin nuo prototyypit ovat asioita, yleensä laittaa otsikkoon tiedostoja kello 1515 01:15:50,170 --> 01:15:52,140 Jolloin sillä ei ole väliä. 1516 01:15:52,140 --> 01:15:54,700 No, sillä ei ole väliä. 1517 01:15:54,700 --> 01:15:56,070 Nämä aina mennä yläreunassa. 1518 01:15:56,070 --> 01:15:59,490 Ja jos tärkein ei ole tiedosto aivan oma, sinun ei tarvitse huolehtia laskemisesta 1519 01:15:59,490 --> 01:16:02,360 itsenäinen tehtävä prototyyppejä tiedostossa. 1520 01:16:02,360 --> 01:16:05,370 >> JOSEPH: Ja me saamme että hieman Hieman myöhemmin, kun Rob alkaa puhua 1521 01:16:05,370 --> 01:16:06,380 noin kokoamisessa. 1522 01:16:06,380 --> 01:16:09,480 Ja niin siellä on myös ero käydäänkö parametreihin ja argumentti. 1523 01:16:09,480 --> 01:16:12,500 Ja parametri on juuri me kutsumme näitä panoksia, kun 1524 01:16:12,500 --> 01:16:13,820 me määrittelemme funktio. 1525 01:16:13,820 --> 01:16:16,950 Ja me kutsumme sitä väitettä, kun me oikeastaan ​​siihen johdetaan toiminto. 1526 01:16:16,950 --> 01:16:19,600 >> Joten tässä tapauksessa, tämä on parametri, kuten olemme sanoneet aiemmin. 1527 01:16:19,600 --> 01:16:24,130 Ja kun me todella käyttää sitä tuolla, kuutio x, niin x itsessään on 1528 01:16:24,130 --> 01:16:25,910 mitä kutsumme argumentti toiminnon kuutio. 1529 01:16:25,910 --> 01:16:28,150 >> ROB: Joten parametri väitteet ovat - 1530 01:16:28,150 --> 01:16:33,270 on tämä ero, hyvin sekava synonyymeinä. 1531 01:16:33,270 --> 01:16:37,090 Tässä vaiheessa minulle, se on kuin yksi nuo sanat, että kun näen sen ulos 1532 01:16:37,090 --> 01:16:41,190 villi, en voi auttaa, mutta heti onko ne käyttävät sitä 1533 01:16:41,190 --> 01:16:44,120 oikeassa asiayhteydessä, koska Ero on hiuksenhieno riitä, että vain 1534 01:16:44,120 --> 01:16:45,500 jokainen pyrkii - 1535 01:16:45,500 --> 01:16:48,530 Olen melkein aina sanoa argumentti riippumatta siitä, mitä tarkoitan. 1536 01:16:48,530 --> 01:16:51,230 1537 01:16:51,230 --> 01:16:54,630 >> JOSEPH: Ja toiminnot ovat myös hyödyllisiä mitä me kutsumme sivuvaikutuksia. 1538 01:16:54,630 --> 01:16:59,230 Joten toiminto ei voi ryhtyä tuloa, ja se voi myös tuottaa mitään lähtöjä. 1539 01:16:59,230 --> 01:17:03,280 Joten tässä tapauksessa, olen määritellään aliohjelma, joka ei ole 1540 01:17:03,280 --> 01:17:03,970 palata arvo. 1541 01:17:03,970 --> 01:17:07,730 Ja jotta täsmennetään, että käytämme mitä me kutsumme mitätön tänne. 1542 01:17:07,730 --> 01:17:10,890 Ja niin sivuvaikutus tätä toimintoa on, että se vain tulostaa tavaraa 1543 01:17:10,890 --> 01:17:11,920 ulos sivulle. 1544 01:17:11,920 --> 01:17:13,840 Se ei oikeastaan ​​tehdä mitään tuloa, ja se ei 1545 01:17:13,840 --> 01:17:15,360 todella tuota lähdöt. 1546 01:17:15,360 --> 01:17:18,230 >> Mutta tämä voisi olla hyödyllinen siinä mielessä jos haluat, esimerkiksi debug 1547 01:17:18,230 --> 01:17:21,530 jotain ohjelmaa, jos haluat kirjoittaa pienen aliohjelman 1548 01:17:21,530 --> 01:17:25,160 tulostaa, sanotaanko, sisältö muistia tai jotain. 1549 01:17:25,160 --> 01:17:29,800 Ja niin nämä haittavaikutukset ovat joskus hyödyllistä kontekstin ulkopuolella 1550 01:17:29,800 --> 01:17:33,010 vain haluavat tulot ja lähdöt. 1551 01:17:33,010 --> 01:17:34,260 Kaikki kysymykset? 1552 01:17:34,260 --> 01:17:37,270 1553 01:17:37,270 --> 01:17:44,240 >> Ja lopettamaan tässä segmentissä Mitä tämä ohjelma tekee? 1554 01:17:44,240 --> 01:17:47,420 Annan teille pari sekuntia lukea sen läpi. 1555 01:17:47,420 --> 01:17:52,720 1556 01:17:52,720 --> 01:17:56,880 Klo hyvin perustasolla, mitä haluamme sanoa, että se swapit x ja y, eikö? 1557 01:17:56,880 --> 01:18:00,090 >> Joten kuinka moni teistä todella ajattelevat tämä vaihtaa x ja y? 1558 01:18:00,090 --> 01:18:02,160 Nosta kätesi. 1559 01:18:02,160 --> 01:18:02,760 Ei kukaan. 1560 01:18:02,760 --> 01:18:03,070 OK. 1561 01:18:03,070 --> 01:18:06,720 Joka ajattelee, että se ei vaihda x ja y? 1562 01:18:06,720 --> 01:18:09,120 Ja summa, joka oli ei koko huoneen. 1563 01:18:09,120 --> 01:18:10,440 Niin jotkut ihmiset eivät ole varmoja. 1564 01:18:10,440 --> 01:18:10,920 OK. 1565 01:18:10,920 --> 01:18:11,630 Se on kohtuullinen. 1566 01:18:11,630 --> 01:18:16,450 >> Joten mennään läpi mitä tapahtuu, kun voit itse soittaa toiminnot ensin 1567 01:18:16,450 --> 01:18:18,320 Voidaksemme vastata tähän kysymykseen. 1568 01:18:18,320 --> 01:18:21,430 Joten tämä on mitä muistia tavallaan näyttää. 1569 01:18:21,430 --> 01:18:23,860 Tämä on tavallaan kuin yksinkertaistettu malli mitä muistia näyttää, kun 1570 01:18:23,860 --> 01:18:24,800 käynnistät ohjelman. 1571 01:18:24,800 --> 01:18:27,270 Joten siellä on jotain kutsutaan pinon tänne ja 1572 01:18:27,270 --> 01:18:28,330 jotain kutsutaan kasaan. 1573 01:18:28,330 --> 01:18:30,950 Ja nämä kasvavat kohti keskellä muistia. 1574 01:18:30,950 --> 01:18:33,860 >> Joten tässä tapauksessa, kun soitat toiminto, se 1575 01:18:33,860 --> 01:18:35,680 saa laittaa pinoon. 1576 01:18:35,680 --> 01:18:38,900 Ja sitten mitä sisältyy, että toiminto pysyy mitä kutsumme että 1577 01:18:38,900 --> 01:18:40,550 toiminnon pinokehyksen. 1578 01:18:40,550 --> 01:18:44,500 Ja siten saada mukava visualisointi Tämän let's - esimerkiksi meillä oli 1579 01:18:44,500 --> 01:18:45,960 Ohjelman tärkein aikaisemmin. 1580 01:18:45,960 --> 01:18:47,820 Ja sisältä tärkeimmät, soitimme kuutio. 1581 01:18:47,820 --> 01:18:50,650 Joten tärkein ensin mennä pinoon runko, koska se on ensimmäinen funktio 1582 01:18:50,650 --> 01:18:51,640 sitä kutsutaan. 1583 01:18:51,640 --> 01:18:55,740 >> Ja sitten kun kuutio on nimeltään sisällä Tärkein, se saa laittaa päälle tärkeimmistä 1584 01:18:55,740 --> 01:18:57,790 sisällä muistia. 1585 01:18:57,790 --> 01:19:02,090 Joten mitä huomaat on, että kuutio on oma parametrit ja sen 1586 01:19:02,090 --> 01:19:02,950 omat paikalliset. 1587 01:19:02,950 --> 01:19:06,720 Joten kun todella välittää jotain toiminto, parametrit, että se 1588 01:19:06,720 --> 01:19:09,910 saa ovat kopioita mitä oli hyväksyttiin päässä tärkeimmistä. 1589 01:19:09,910 --> 01:19:14,140 >> Ja tavallaan selittää tätä, nyt kävellä läpi ohjelman. 1590 01:19:14,140 --> 01:19:16,960 Joten meillä on pino, tämä on vain osapinkan. 1591 01:19:16,960 --> 01:19:21,240 Ja mitä teemme on ensin alustaa x ja y yksi ja kaksi. 1592 01:19:21,240 --> 01:19:22,400 Joten meillä on nämä vähän laatikoita. 1593 01:19:22,400 --> 01:19:25,310 He istuvat tärkein poistoilmapiipun runko pinoon. 1594 01:19:25,310 --> 01:19:26,580 Ne sisältävät yksi ja kaksi. 1595 01:19:26,580 --> 01:19:28,820 >> Nyt kutsumme swap. 1596 01:19:28,820 --> 01:19:33,940 Mitä tapahtuu, on ohitamme x ja y osaksi swap, ja swap luo omat kopiot 1597 01:19:33,940 --> 01:19:36,520 käytetyistä muuttujista käyttää sisällä sen pinokehyksen. 1598 01:19:36,520 --> 01:19:39,920 Joten nyt siellä, meillä on, joka sisältämään arvoon x oli, ja b, 1599 01:19:39,920 --> 01:19:41,620 joka sisältää arvon, että y oli. 1600 01:19:41,620 --> 01:19:42,670 Joten yksi, kaksi. 1601 01:19:42,670 --> 01:19:47,130 >> Ja huomaat, että tämä on erillinen alkaen x ja y sisällä tärkein. 1602 01:19:47,130 --> 01:19:51,390 Joten me nyt luoda väliaikainen muuttuja sisältää. 1603 01:19:51,390 --> 01:19:56,100 Asetimme yhtä kuin bo, joten se muuttuu yhdestä kahteen. 1604 01:19:56,100 --> 01:19:59,340 Ja sitten asetimme b yhtä temp, joka on yksi. 1605 01:19:59,340 --> 01:20:01,640 >> Ja niin nyt me poistumiseen Tämän toiminnon. 1606 01:20:01,640 --> 01:20:04,310 1607 01:20:04,310 --> 01:20:07,410 Kun poistut ulos toiminnon, pinokehyksen saa piipahti pinosta. 1608 01:20:07,410 --> 01:20:08,270 Me kutsumme sitä työntää. 1609 01:20:08,270 --> 01:20:12,750 Painat pinokehyksen pinoon ja pop jos pinosta. 1610 01:20:12,750 --> 01:20:16,080 Ja niin mitä tapahtuu, on kaikki, oli, että pinokehyksen tavallaan vain 1611 01:20:16,080 --> 01:20:17,280 menee liekkeihin. 1612 01:20:17,280 --> 01:20:19,180 Ja niin, että ei ole enää olemassa. 1613 01:20:19,180 --> 01:20:20,470 >> Mutta mitä me huomaa? 1614 01:20:20,470 --> 01:20:23,690 Emme koskaan oikeastaan ​​muuttunut arvot x ja y, eikö? 1615 01:20:23,690 --> 01:20:26,530 Joten ne jäi paikallisten to main. 1616 01:20:26,530 --> 01:20:29,900 Ja viemällä asioita swap, me oikeastaan ​​koskaan muuttunut näitä arvoja. 1617 01:20:29,900 --> 01:20:31,260 Ja mitä me kutsumme tätä? 1618 01:20:31,260 --> 01:20:33,040 Kutsumme tätä ohi arvoa. 1619 01:20:33,040 --> 01:20:36,860 >> Joten C, kun siirtää asiat oikeisiin toimintoja, se kulkee niitä arvon ja 1620 01:20:36,860 --> 01:20:40,160 tekee kopion niitä toiminto käyttää. 1621 01:20:40,160 --> 01:20:43,980 Ja me oppia jotain kutsutaan ohimennen viitataan myöhemmin, mutta se on 1622 01:20:43,980 --> 01:20:45,390 Näin voit ratkaista tämän ongelman. 1623 01:20:45,390 --> 01:20:47,080 Mutta emme ole huolissasi että vasta myöhemmin. 1624 01:20:47,080 --> 01:20:52,200 >> ROB: Ja itse asiassa, että termi, ohimennen viittaamalla, joten C ei ole edes 1625 01:20:52,200 --> 01:20:54,270 ohi viitataan. 1626 01:20:54,270 --> 01:20:56,760 C yksinomaan on ohi arvo. 1627 01:20:56,760 --> 01:20:59,630 Ei ole väliä mitä teet, olet aina kulkee kopio jostain. 1628 01:20:59,630 --> 01:21:03,395 Se on vain, että, kuten minä tavallaan mainittujen että ennen viitteitä 1629 01:21:03,395 --> 01:21:07,690 ja että merkkijono on oikeastaan ​​vain neljä tavut osoittaa jonnekin muistiin. 1630 01:21:07,690 --> 01:21:11,890 >> No, jos minulla on tämä merkkijono ja se on kertoo minulle, että on, jos merkkijono - 1631 01:21:11,890 --> 01:21:15,470 No, jos minulla on tämä osoitin tähän laita muistiin, niin voin välittää 1632 01:21:15,470 --> 01:21:19,160 kopio, että osoitin toiminnon kohdalle ja että toiminto vielä tiedä missä 1633 01:21:19,160 --> 01:21:19,780 muistia se on. 1634 01:21:19,780 --> 01:21:22,950 Joten molemmat osoittimet osoittavat samaan paikkaan muistissa, ja 1635 01:21:22,950 --> 01:21:26,460 se miten aiomme pystyä muuttaa asioita pidemmälle 1636 01:21:26,460 --> 01:21:29,852 nykyinen pinokehyksen. 1637 01:21:29,852 --> 01:21:31,040 >> JOSEPH: Haluatko tehdä kokoamiseen? 1638 01:21:31,040 --> 01:21:31,820 >> ROB: Ei, se on 05:30. 1639 01:21:31,820 --> 01:21:32,910 >> JOSEPH: OK. 1640 01:21:32,910 --> 01:21:35,040 Se on 5:30. 1641 01:21:35,040 --> 01:21:35,360 OK. 1642 01:21:35,360 --> 01:21:39,280 Joten pystymme kattamaan kokoamiseen Oletan Seuraavassa osassa tai jakso 1643 01:21:39,280 --> 01:21:42,795 Leader tässä vaiheessa. 1644 01:21:42,795 --> 01:21:43,272 Ja - 1645 01:21:43,272 --> 01:21:44,630 >> ROB: Kaikki kysymykset? 1646 01:21:44,630 --> 01:21:46,760 >> JOSEPH: Kaikki kysymykset? 1647 01:21:46,760 --> 01:21:47,150 Kyllä? 1648 01:21:47,150 --> 01:21:52,469 >> SPEAKER 5: käyttäminen merkkijonoja CS50 tahansa toimintoja, joita haluamme käyttää 1649 01:21:52,469 --> 01:21:53,880 niille, että tulee olemaan kuten C toimintoja. 1650 01:21:53,880 --> 01:21:59,050 CS50 ei ole mennyt sisään ja tehnyt mitään ylimääräistä. 1651 01:21:59,050 --> 01:22:01,850 >> ROB: Oikea. 1652 01:22:01,850 --> 01:22:08,155 Jokin C kuten [kuultavissa], et käyttäisi näitä meidän jousille. 1653 01:22:08,155 --> 01:22:12,400 >> JOSEPH: Ja viimeinen asia, jonka haluan mainita, että meillä on stilisointioppaan 1654 01:22:12,400 --> 01:22:13,130 tämän luokan. 1655 01:22:13,130 --> 01:22:13,360 >> ROB: Joo. 1656 01:22:13,360 --> 01:22:15,270 >> JOSEPH: Joten jos olet kotoisin ohjelma taustalla ennen, et 1657 01:22:15,270 --> 01:22:17,750 saattaa olla tiettyjä sopimuksia, kun olet kirjoittamassa koodia kuin laittaisi 1658 01:22:17,750 --> 01:22:20,950 henkselit samalle riville tai erityisesti tapoja sisennys 1659 01:22:20,950 --> 01:22:22,240 tai nimeämällä muuttujat. 1660 01:22:22,240 --> 01:22:26,870 Tässä luokassa, haluamme seurata tiettyä tyyliä opas vain siksi, 1661 01:22:26,870 --> 01:22:31,100 No, jos menet ulos ja töihin teollisuus, aiot odotettavissa 1662 01:22:31,100 --> 01:22:34,780 seurata tyyli opas yritys, jolla menet. 1663 01:22:34,780 --> 01:22:38,040 >> Kuten esimerkiksi Facebook luulen on omanlaisensa nimeäminen 1664 01:22:38,040 --> 01:22:38,760 yleissopimus. 1665 01:22:38,760 --> 01:22:42,570 Ja siellä on eroja kameli kotelo muuttujat ja aivan kuten 1666 01:22:42,570 --> 01:22:44,610 erottamalla ne alleviivausmerkein. 1667 01:22:44,610 --> 01:22:52,170 Ja myös, mielestäni tärkeintä, kuten esimerkiksi sisennykset, eikö? 1668 01:22:52,170 --> 01:22:56,440 >> Emme aaltosulkeita aloittaa missä ehto on, ja ne 1669 01:22:56,440 --> 01:22:57,730 ovat seuraavalla rivillä. 1670 01:22:57,730 --> 01:23:01,230 Ja me myös laittaa aaltosulkeita vuonna vaikka se on vain yksi rivi. 1671 01:23:01,230 --> 01:23:06,100 Ja paljon kertaa, on olemassa keinoja tehdä se jossa voit jättää näitä henkselit 1672 01:23:06,100 --> 01:23:08,380 pois, jos se on vain yksi rivi alle Jos julkilausuman. 1673 01:23:08,380 --> 01:23:12,070 Mutta tässä luokassa, haluamme seurata tiettyä tyyliä opas vain niin saat 1674 01:23:12,070 --> 01:23:13,550 käytetään, että sellainen asia. 1675 01:23:13,550 --> 01:23:16,410 >> ROB: Joo, ja tyyli 50 on menossa täytäntöön tämän tyylin oppaan, ja olemme 1676 01:23:16,410 --> 01:23:18,080 aio käyttää Style 50 palkkaluokkaan koodi. 1677 01:23:18,080 --> 01:23:25,150 Niin se helpottaa asioita meille ja toivottavasti ei pitäisi tehdä asioita, jotka 1678 01:23:25,150 --> 01:23:30,120 paljon pahempi sinulle antanut standardoitu tyyli ei pitäisi olla, että 1679 01:23:30,120 --> 01:23:31,460 epärealistinen. 1680 01:23:31,460 --> 01:23:36,000 >> JOSEPH: Ja lopuksi, löytää tyyli siirtymällä osoitteeseen manual.cs50.net/style. 1681 01:23:36,000 --> 01:23:37,725 Ja joo. 1682 01:23:37,725 --> 01:23:40,575 >> SPEAKER 4: Aiotko valvoa mitään merkkiä riville? 1683 01:23:40,575 --> 01:23:42,480 >> ROB: Kyllä. 1684 01:23:42,480 --> 01:23:45,405 >> JOSEPH: Anteeksi, kaverit. 1685 01:23:45,405 --> 01:23:47,680 >> ROB: Se on kuin yksi ainoita. 1686 01:23:47,680 --> 01:23:50,420 Tässä vaiheessa olen OK kanssa 120. 1687 01:23:50,420 --> 01:23:52,460 Olen ok sanomalla 120 merkkiä riville. 1688 01:23:52,460 --> 01:23:53,830 Ymmärrän, että on joitakin raja. 1689 01:23:53,830 --> 01:23:57,130 Mielestäni 80 on niin pieni, mutta me noudattamisen valvomisessa. 1690 01:23:57,130 --> 01:24:00,260 >> JOSEPH: Henkilökohtaisesti uskon kanssa C, 80 merkkiä on OK. 1691 01:24:00,260 --> 01:24:04,160 Kun alkaa saada muille kielet kuten JavaScript ja PHP, ei 1692 01:24:04,160 --> 01:24:08,860 niin järkevää vain rajoittaa se 80 merkkiä. 1693 01:24:08,860 --> 01:24:09,260 OK. 1694 01:24:09,260 --> 01:24:12,780 No, se oli super-osiosta. 1695 01:24:12,780 --> 01:24:14,750 Haluaako joku karkkia? 1696 01:24:14,750 --> 01:24:16,000 >> SPEAKER 4: Kyllä. 1697 01:24:16,000 --> 01:24:18,667