1 00:00:00,000 --> 00:00:05,830 2 00:00:05,830 --> 00:00:08,650 >> JASON Hirschhorna: Dobrodošli CS50 oddelek, vsi. 3 00:00:08,650 --> 00:00:11,430 Moje ime je Jason Hirschhorn. 4 00:00:11,430 --> 00:00:15,850 Jaz sem veliko tvoje TF, ampak veliko Ljudje bodo, upajmo, se nam bo pridružil 5 00:00:15,850 --> 00:00:20,420 spletu, podaljški študenti ali dijaki poskušam odmisliti oddelku, če so 6 00:00:20,420 --> 00:00:22,830 zgrešile svoj razdelek, ki tedensko ali Samo dohitijo, če bi želeli 7 00:00:22,830 --> 00:00:24,510 pregledati nekaj materiala. 8 00:00:24,510 --> 00:00:30,060 >> Tako kot na učni načrt, kar vse o ste prebrali, popraviti? 9 00:00:30,060 --> 00:00:31,390 Vidim veliko glavo pokima. 10 00:00:31,390 --> 00:00:34,220 Oddelki vam z možnostmi raziskati tečaj je 11 00:00:34,220 --> 00:00:37,420 Material v bolj intimno okolje kot tudi potopite v 12 00:00:37,420 --> 00:00:38,810 praktične dejavnosti. 13 00:00:38,810 --> 00:00:41,230 >> Tako da je v bistvu tisto, kar smo da se delaš vsak teden. 14 00:00:41,230 --> 00:00:45,090 Mi smo šli skozi to, kar imamo ugotovljeno, da je najbolj pomembno, 15 00:00:45,090 --> 00:00:49,170 teme, zajete v predavanju, in tisti, verjetno tudi najbolj koristen in 16 00:00:49,170 --> 00:00:52,780 najverjetneje prišel na problematičnih sklopov in kvizi, in v vaš kodiranje 17 00:00:52,780 --> 00:00:53,970 življenje zunaj CS50. 18 00:00:53,970 --> 00:00:57,260 Tako da smo šli v te teme, o njih razpravlja, iti nad njimi, 19 00:00:57,260 --> 00:01:00,660 odgovoriti na vsa vprašanja fantje imajo, in potem bomo narediti veliko 20 00:01:00,660 --> 00:01:02,250 Težave praksa v kodiranja. 21 00:01:02,250 --> 00:01:04,239 >> Ste vsi prinesel prenosnih računalnikov, kar je fantastično. 22 00:01:04,239 --> 00:01:05,710 To je računalništvo razred. 23 00:01:05,710 --> 00:01:10,070 Vendar pa je veliko vaj delamo, vam ne bo treba vaše prenosne računalnike. 24 00:01:10,070 --> 00:01:11,720 Lahko jih naredite na list papirja. 25 00:01:11,720 --> 00:01:13,580 To je, kako boste jih narediti na kvizi. 26 00:01:13,580 --> 00:01:16,450 In res, to je odličen način, da res veš, da si, kako to storiti 27 00:01:16,450 --> 00:01:19,720 kaj če nimate Preverite od 50 do zanašati na ali Poskrbite, da se zanesejo na, pripoveduje 28 00:01:19,720 --> 00:01:20,620 ste naredili nobene napake. 29 00:01:20,620 --> 00:01:25,670 >> Torej, ste dobrodošli, da kode na Naprava ali run.cs50.net, ki je 30 00:01:25,670 --> 00:01:29,770 drugo orodje, ki vam omogoča, da kodo spletu, ampak tudi jaz bi priporočal, če 31 00:01:29,770 --> 00:01:32,280 niste poskusili, z rjuho papirja in poskuša te prakse 32 00:01:32,280 --> 00:01:33,640 Težave na list papirja. 33 00:01:33,640 --> 00:01:35,330 Ker še enkrat, da je na koncu kaj boš, da je 34 00:01:35,330 --> 00:01:37,430 morali narediti na kvizi. 35 00:01:37,430 --> 00:01:44,080 >> Torej začnimo z našimi Dnevni red za danes. 36 00:01:44,080 --> 00:01:47,710 Mi smo šli čez nekaj norm za naš oddelek, nato pa se bomo potapljati 37 00:01:47,710 --> 00:01:51,180 v polja, funkcije in ukazne vrstice Argumenti, ki je tisto, kar vi 38 00:01:51,180 --> 00:01:56,200 so zajeti v preteklem tednu v predavanju in potem Ponedeljek, in kaj boste kritje 39 00:01:56,200 --> 00:01:57,330 več jutri. 40 00:01:57,330 --> 00:01:59,060 In potem na koncu, bomo govoriti o pset2. 41 00:01:59,060 --> 00:02:03,640 Če bi lahko dobil dvigom rok, če ni pogledala na problem niz dveh 42 00:02:03,640 --> 00:02:04,890 specifikacijo. 43 00:02:04,890 --> 00:02:07,060 44 00:02:07,060 --> 00:02:08,120 Bomo rekli vsi. 45 00:02:08,120 --> 00:02:09,419 Fantastično. 46 00:02:09,419 --> 00:02:12,070 >> O tem bomo govorili problemskih sklopov v bit, ampak če ste prebrali problem niz 47 00:02:12,070 --> 00:02:14,340 specifikacija, ki je vse, kar morate storiti. 48 00:02:14,340 --> 00:02:18,370 Če ste prebrali, da preden ste prišli do Razred in oddelek v torek, boste 49 00:02:18,370 --> 00:02:19,220 je velik položaj. 50 00:02:19,220 --> 00:02:21,680 Lahko gremo skozi problem set, kar je tisto, kar bomo 51 00:02:21,680 --> 00:02:22,090 narediti konec. 52 00:02:22,090 --> 00:02:23,500 Mi smo šli skozi logika, poskrbite, da 53 00:02:23,500 --> 00:02:24,710 so vsi na isti strani. 54 00:02:24,710 --> 00:02:28,650 >> Želim si, da bi lahko zapustil torek občutek zelo udobno s tem, kar 55 00:02:28,650 --> 00:02:31,560 potrebno narediti za ta teden problem set, in če ne, bom z veseljem 56 00:02:31,560 --> 00:02:33,050 ostanejo po in delo z vami. 57 00:02:33,050 --> 00:02:36,850 Ampak to je ena stvar, ki jo moraš narediti, ampak mislim, da bi bilo res pametno, 58 00:02:36,850 --> 00:02:40,500 samo za branje problem niz specifikacija, ki jo razreda v torek, 59 00:02:40,500 --> 00:02:42,640 ki zveni Veliko vama je. 60 00:02:42,640 --> 00:02:45,810 >> Začel bom z dnevnim redom, vsak razred tako da boste vedeli, kam gremo. 61 00:02:45,810 --> 00:02:49,520 To je tudi koristno za ljudi, ki gledajo na spletu, saj vsak odsek 62 00:02:49,520 --> 00:02:53,540 je barvno kodirane, tako da, če hočeš priti nazaj in samo gledal 10 minut prej 63 00:02:53,540 --> 00:02:56,950 od celotnega 90-minutnem delu, si Lahko samo pojdi v kodirani oddelku barve 64 00:02:56,950 --> 00:02:57,890 in pogled na ta del. 65 00:02:57,890 --> 00:03:01,510 Tako sem jih poskušala razbiti v lepo modulov, ki vam bo omogočilo, da - 66 00:03:01,510 --> 00:03:03,960 če želite, da pridejo nazaj in pregledati, ali drugi študentje, ki so pravkar 67 00:03:03,960 --> 00:03:05,350 gledal oddelek za pregled - 68 00:03:05,350 --> 00:03:08,130 da bi našli posebno stvar, ki so biti pozorni na 69 00:03:08,130 --> 00:03:10,480 in izvedeli več o tem. 70 00:03:10,480 --> 00:03:11,390 Sladko. 71 00:03:11,390 --> 00:03:12,180 >> Norme. 72 00:03:12,180 --> 00:03:13,680 Jaz sem vodja FOP na kampusu. 73 00:03:13,680 --> 00:03:14,900 Ne vem, če je kdo naredil FOP. 74 00:03:14,900 --> 00:03:16,280 Je kdo naredil FOP? 75 00:03:16,280 --> 00:03:17,100 Ena oseba storila FOP. 76 00:03:17,100 --> 00:03:18,430 Dve osebi naredil FOP. 77 00:03:18,430 --> 00:03:19,250 Super. 78 00:03:19,250 --> 00:03:22,360 Torej FOP je prvo leto na prostem Usmerjenosti program. 79 00:03:22,360 --> 00:03:27,240 Peljemo novincev v gozd in se najbolj čarobna izkušnje 80 00:03:27,240 --> 00:03:28,830 njihovo življenje, kajne? 81 00:03:28,830 --> 00:03:29,220 Ja. 82 00:03:29,220 --> 00:03:30,080 Zvoki o pravici. 83 00:03:30,080 --> 00:03:36,360 >> Tako sem si želela, da začnemo prvi oddelek za razpravljanje nekaj norm 84 00:03:36,360 --> 00:03:38,860 za razred in naš odnos ker mislim, 85 00:03:38,860 --> 00:03:40,010 oni so zelo pomembni. 86 00:03:40,010 --> 00:03:43,630 Najprej in predvsem, kot tiste, ki ste so bile moje oddelek prejel in 87 00:03:43,630 --> 00:03:47,150 se je razpravljalo v tem, da e-pošta, ljubim te. 88 00:03:47,150 --> 00:03:48,130 To je moj najljubši del leta. 89 00:03:48,130 --> 00:03:49,100 Bil sem tako razburjen. 90 00:03:49,100 --> 00:03:50,040 Tukaj sem že ure in ure danes. 91 00:03:50,040 --> 00:03:54,560 Nisem zapustil stavbo, razen iti jesti, ker ljubim CS50 poglavje, sem 92 00:03:54,560 --> 00:03:58,620 ljubezen poučevanje, rad delam z vami. 93 00:03:58,620 --> 00:04:02,000 >> Ena mojih največjih prioritet, če ne moj prioriteta številka ena, ne le za 94 00:04:02,000 --> 00:04:05,130 ta razred, vendar tudi moja druga razredi in extracurriculars, je 95 00:04:05,130 --> 00:04:09,350 podporo vaju in vama pomagal, in po svojih najboljših močeh, da se prepričajte, da ste 96 00:04:09,350 --> 00:04:13,780 Fantje imajo čudovito, zabavno, produktivno, privlačne, zanimive 97 00:04:13,780 --> 00:04:15,250 izkušnje v tem razredu. 98 00:04:15,250 --> 00:04:16,190 To je tisto, kar sem zavezan. 99 00:04:16,190 --> 00:04:17,959 Zato imam rad, da to storijo. 100 00:04:17,959 --> 00:04:20,190 To je moja številka ena stvar, podporo vaju. 101 00:04:20,190 --> 00:04:25,110 Če imate kakršna koli vprašanja o predavanju Problem set, oddelek, 102 00:04:25,110 --> 00:04:28,830 življenje, tudi če želim govoriti o življenje, vas prosimo, da stik. 103 00:04:28,830 --> 00:04:31,210 >> Imate mojo številko mobilnega telefona, Imate mojo e-pošto 104 00:04:31,210 --> 00:04:32,910 naslov, imate mojo GChat. 105 00:04:32,910 --> 00:04:37,540 Lahko me kontaktirate na kateri koli ali vse tisti, kadarkoli, vendar verjetno ne bo dobil 106 00:04:37,540 --> 00:04:38,720 Odziv kadarkoli. 107 00:04:38,720 --> 00:04:41,020 Sem poskusil in se vrnem v roku 24 ur. 108 00:04:41,020 --> 00:04:44,760 Pogosto bo v 20 minut ali 24 minut. 109 00:04:44,760 --> 00:04:46,110 Moral bi rekel, da je da je vzporedno. 110 00:04:46,110 --> 00:04:48,840 Ampak boste dobili odgovor precej hitro. 111 00:04:48,840 --> 00:04:54,220 >> Če mi Besedilo uro pred Problem set je zaradi te bom miren 112 00:04:54,220 --> 00:04:57,660 navzdol in to globoko dihanje vaje s tabo, ampak če še niste začeli, 113 00:04:57,660 --> 00:05:00,270 ste verjetno ne bo do konca, in Ne morem vam pomagati tam 114 00:05:00,270 --> 00:05:01,710 čeprav bom poskusil moje najbolje. 115 00:05:01,710 --> 00:05:03,920 Tako da bom naredil vse, kar je Lahko, da vam pomagajo. 116 00:05:03,920 --> 00:05:07,980 Prosim, vas prosimo, da bi dosegla ali je v oddelku spet na govorilne ure 117 00:05:07,980 --> 00:05:09,150 če me boste videli, ali celo zunaj. 118 00:05:09,150 --> 00:05:11,800 Vesel sem, da se vzpostavi časa za izpolnitev in delo s težavami 119 00:05:11,800 --> 00:05:14,410 z ali gredo čez materiala. 120 00:05:14,410 --> 00:05:15,990 Tako, da je številka ena, podpora. 121 00:05:15,990 --> 00:05:17,940 Storil bom vse, kar bom Lahko, da vam pomagajo. 122 00:05:17,940 --> 00:05:21,520 >> Številka dve je na zasedanju v sredini. 123 00:05:21,520 --> 00:05:24,760 Toliko, kot bi rad, da sem ni vsemogočen in vsemogočen ali 124 00:05:24,760 --> 00:05:28,410 vsevedna, tako da ne vem vsega čas, če kaj delam postaja 125 00:05:28,410 --> 00:05:33,410 čez, če se tako učim Tema vam pomaga naučiti, ali če ste 126 00:05:33,410 --> 00:05:36,120 so zmedeni na to temo, vendar ne dvignite roko ali me vprašajte 127 00:05:36,120 --> 00:05:37,390 ali mi pošljite email. 128 00:05:37,390 --> 00:05:42,150 Ali celo, če ste, še enkrat, so zmedeni o nečem, o problemu nizu. 129 00:05:42,150 --> 00:05:44,240 Če ne boste dosegli, da me, Ne morem vedeti, da zagotovo. 130 00:05:44,240 --> 00:05:46,950 Jaz bom po svojih najboljših močeh, da preverite v na vi, da bo vse 131 00:05:46,950 --> 00:05:51,170 gre dobro, poskušajo naučiti stvari na način, , ki bo ugodno za večino 132 00:05:51,170 --> 00:05:54,910 vaši učni stili, če pa je kaj lahko storim, da mi sporočite. 133 00:05:54,910 --> 00:05:58,520 >> V teh okvirih, če hočeš nekaj pomoči s problemom set, sem bolj 134 00:05:58,520 --> 00:05:59,700 kot z veseljem pomagali s problemom nizu. 135 00:05:59,700 --> 00:06:02,300 Bomo narediti veliko da proti drugi 136 00:06:02,300 --> 00:06:03,460 polovica tega oddelka. 137 00:06:03,460 --> 00:06:06,040 Ampak, če še niste prebrali problema postavlja varnostno in niste gledal sprehod 138 00:06:06,040 --> 00:06:09,310 skozi in je ni gledal v kratkih hlačah in pričakoval sem, da te nauči 139 00:06:09,310 --> 00:06:13,260 vse, kar je snemal spletu ali ki jih lahko najdete na CS50 140 00:06:13,260 --> 00:06:16,720 Študija, ki ni ravno pošteno mi ali drugih vaših vrstnikov. 141 00:06:16,720 --> 00:06:20,440 142 00:06:20,440 --> 00:06:25,730 >> Zato vas prosimo, sem bolj kot z veseljem pomagali ti, ampak vidva dobila, da se dobiva v 143 00:06:25,730 --> 00:06:27,230 srednja. 144 00:06:27,230 --> 00:06:30,100 Imamo ton virov za vam na voljo na CS50. 145 00:06:30,100 --> 00:06:31,230 Sem omenil nekatere od njih. 146 00:06:31,230 --> 00:06:32,960 Prosimo, da izkoristijo njih. 147 00:06:32,960 --> 00:06:35,140 Če ste zmedeni, da sem več kot zadovoljen vam pomaga razložiti 148 00:06:35,140 --> 00:06:39,290 drug način, vendar pa to ni pošteno, če študenti pokažejo ob uradnih urah, 149 00:06:39,290 --> 00:06:42,530 še niso začeli ničesar, in to je Četrtek zvečer in oni pričakujejo 150 00:06:42,530 --> 00:06:45,880 TF, da jih sprehod skozi vsak stvar za problem določiti zaradi 151 00:06:45,880 --> 00:06:47,140 opoldne naslednji dan. 152 00:06:47,140 --> 00:06:48,300 Smiselna? 153 00:06:48,300 --> 00:06:50,890 Spet nam sestane na sredini. 154 00:06:50,890 --> 00:06:53,230 >> In končno, visoka pričakovanja. 155 00:06:53,230 --> 00:06:58,010 Jaz bom biti razvrščanje vsi, ki je V mojem oddelku, ali vaš zadetkov 156 00:06:58,010 --> 00:06:59,020 problem sklopov. 157 00:06:59,020 --> 00:07:01,240 Niste šli nazaj problem nastavite nič ali ena še. 158 00:07:01,240 --> 00:07:02,250 Žal o tem. 159 00:07:02,250 --> 00:07:04,970 Potrebovali smo nekaj časa, da dokončno poravnati poglavji, in zdaj 160 00:07:04,970 --> 00:07:05,560 lahko začnemo razvrstitev. 161 00:07:05,560 --> 00:07:09,560 >> Jih bom priti nazaj k tebi v najkrajšem možnem času. 162 00:07:09,560 --> 00:07:11,890 To so nekateri od mojih advisees tam. 163 00:07:11,890 --> 00:07:14,150 Jih bom priti nazaj k tebi v najkrajšem možnem času. 164 00:07:14,150 --> 00:07:18,046 In problem niz dveh, bomo na urnik in bomo začeli jih dobili 165 00:07:18,046 --> 00:07:20,440 za vas zelo hitro po ste jih spremenili noter 166 00:07:20,440 --> 00:07:24,130 >> Ko prideš tvoj problem nastaviti nazaj, boste dobili rezultate, kot jih poznamo iz 167 00:07:24,130 --> 00:07:28,150 branje predmetnik - pravilnost, oblikovanje, obseg in stil rezultati. 168 00:07:28,150 --> 00:07:29,760 Boste dobili tudi pripombe. 169 00:07:29,760 --> 00:07:32,160 Pripombe, ki so bolj pomembne od rezultatov. 170 00:07:32,160 --> 00:07:33,780 Mislim, da je varno reči, da. 171 00:07:33,780 --> 00:07:37,930 >> Točke so samo številka od enega do pet. 172 00:07:37,930 --> 00:07:38,930 Težko je brati v teh. 173 00:07:38,930 --> 00:07:40,720 Težko je izboljšal od tistih. 174 00:07:40,720 --> 00:07:44,460 Vendar bo komentarji poudariti posebne Stvari si naredil dobro ali območja 175 00:07:44,460 --> 00:07:48,360 lahko izboljšajo in vam dal nekaj Ideje za prihodnost ali alternativnih 176 00:07:48,360 --> 00:07:49,160 načine početje stvari. 177 00:07:49,160 --> 00:07:52,270 >> Torej, prosim, prosim, prosim preberite skozi komentarje. 178 00:07:52,270 --> 00:07:54,190 Dal sem veliko časa v te pripombe. 179 00:07:54,190 --> 00:07:57,190 Prosimo, da preberete njih in ne samo pomaknite navzdol na dno 180 00:07:57,190 --> 00:08:01,890 PDF, poglej za svoj rezultat, ali pa pojdite na spletu in najti svoj rezultat, nato pa ignorirati 181 00:08:01,890 --> 00:08:02,800 pripombe. 182 00:08:02,800 --> 00:08:03,910 To ni, kako ste bo bolje. 183 00:08:03,910 --> 00:08:06,550 To ni, kako boste povečali vaše rezultate na koncu, tik 184 00:08:06,550 --> 00:08:07,340 ga je videti na rezultatih. 185 00:08:07,340 --> 00:08:08,760 Prosim, poglejte na te pripombe. 186 00:08:08,760 --> 00:08:13,240 >> In vzdolž visokih pričakovanj, še enkrat, kot sem rekel, 187 00:08:13,240 --> 00:08:14,260 mogoče doseči od ena do pet. 188 00:08:14,260 --> 00:08:17,120 Dvojke, trojke in štiric so Velika večina ocen 189 00:08:17,120 --> 00:08:17,940 boste dobili. 190 00:08:17,940 --> 00:08:20,180 Ones in petke sta res redki. 191 00:08:20,180 --> 00:08:21,720 Vedno je stvari lahko storimo bolje. 192 00:08:21,720 --> 00:08:23,490 Kadarkoli sem kodo programa, obstaja Vedno nekaj, kar sem 193 00:08:23,490 --> 00:08:24,800 bi lahko naredil bolje. 194 00:08:24,800 --> 00:08:28,740 >> Torej, namesto rek dobiš pet ves čas na vse in ni 195 00:08:28,740 --> 00:08:31,960 vse popolno, jaz ne mislim vsak od nas resnično verjamem, da smo - ali 196 00:08:31,960 --> 00:08:34,830 upam, da ne bomo storili vse izpopolniti ves čas. 197 00:08:34,830 --> 00:08:37,010 Zato ne bodite zaskrbljeni, če ni dobil pet. 198 00:08:37,010 --> 00:08:40,470 Pet ne preslikati na, štiri ne map mirno B, trije pa 199 00:08:40,470 --> 00:08:42,950 ne Zemljevid mirno C. To ni kako so rezultati dela. 200 00:08:42,950 --> 00:08:48,140 >> Tako kot je David povedal že večkrat, na Konec semestra je vse svoje ocene in 201 00:08:48,140 --> 00:08:53,390 vhod od mene, tvoj TF, pridejo skupaj in določitev končne ocene za vas. 202 00:08:53,390 --> 00:08:56,760 Ampak spet, to ni pet, , Štiri, B, in tako naprej. 203 00:08:56,760 --> 00:09:01,150 Torej bom imajo visoka pričakovanja Za vidva. 204 00:09:01,150 --> 00:09:03,670 Grem pričakujejo dober problem garniture in jaz bom dal 205 00:09:03,670 --> 00:09:05,010 vam povratna informacija kot taka. 206 00:09:05,010 --> 00:09:07,430 In to ne bo pomenilo, da ste bo dobil slabšo oceno. 207 00:09:07,430 --> 00:09:09,760 Ti so razvrščeni glede na vaš napredek iz tedna 208 00:09:09,760 --> 00:09:11,260 nič do konca Seveda je. 209 00:09:11,260 --> 00:09:17,190 >> In končno, glede na visoko Pričakovanja v razredu, Obožujem, ko 210 00:09:17,190 --> 00:09:18,460 sodelujejo ljudje. 211 00:09:18,460 --> 00:09:23,180 Razumem, nekateri ljudje počutijo bolj ali manj udoben sodelujejo. 212 00:09:23,180 --> 00:09:26,050 Drugi ljudje, ki sodelujejo ne z dvigom svoje roke in 213 00:09:26,050 --> 00:09:27,320 govoril ves čas. 214 00:09:27,320 --> 00:09:30,570 Toda v tem razredu se bodo delaš veliko manjših težav, veliko 215 00:09:30,570 --> 00:09:33,770 mini vprašanj, in nato nekaj večja kodiranje težave. 216 00:09:33,770 --> 00:09:36,760 Torej vsekakor delati te vaje iz ko smo jih na vašem računalniku ali na 217 00:09:36,760 --> 00:09:37,900 list papirja. 218 00:09:37,900 --> 00:09:40,933 >> Ampak jaz vam bom dal tudi nekaj časa, preden kdo kdaj mora odgovoriti na nekatera 219 00:09:40,933 --> 00:09:42,220 izmed vprašanj, prosim. 220 00:09:42,220 --> 00:09:44,930 Zato, ker vam bom dal nekaj časa, da razmišljati o tem, saj bomo 221 00:09:44,930 --> 00:09:49,380 delati stvari partnerji včasih, Bom pričakujejo vsi 222 00:09:49,380 --> 00:09:52,150 se nekoliko ukvarjajo. 223 00:09:52,150 --> 00:09:56,030 In zaradi pomanjkanja boljšega izraza, obstaja Verjetno bo hladno kliče, ki 224 00:09:56,030 --> 00:09:59,045 , kjer bodo vsi imeli priložnost razmišljati o odgovoru, in nato 225 00:09:59,045 --> 00:10:01,150 Poklical bom na vas, in nato boste rekli odgovor. 226 00:10:01,150 --> 00:10:05,200 >> Ne skrbi, ali bo strah glede tega. 227 00:10:05,200 --> 00:10:08,610 Jaz sem to storil v preteklosti in smo ugotovili da je veliko bolj uspešni, 228 00:10:08,610 --> 00:10:11,810 preberete tudi izobraževalno raziskave na to, da ugotoviti, ali je bila 229 00:10:11,810 --> 00:10:12,640 dobra taktika. 230 00:10:12,640 --> 00:10:15,790 To je zelo koristno, še posebej, če imajo dijaki čas za razmislek 231 00:10:15,790 --> 00:10:20,070 odgovori in jih ne bo samo pridi ven in reči pravico off kij. 232 00:10:20,070 --> 00:10:22,620 Ampak, če se ne počutite udobno odgovor, sem tudi zelo dobra 233 00:10:22,620 --> 00:10:25,370 zaznavanje, da ven, in mi ne bo si dal na kraju samem, zlasti na 234 00:10:25,370 --> 00:10:28,240 Kamera, čeprav nobena ste na kameri sedaj. 235 00:10:28,240 --> 00:10:32,250 >> Torej, to so norme, ki jih imam. 236 00:10:32,250 --> 00:10:34,670 Še ena stvar, po vzoru izpolniti v sredini. 237 00:10:34,670 --> 00:10:36,490 Bom vam fantje veliko povratnih informacij. 238 00:10:36,490 --> 00:10:38,310 Prosim, daj mi povratnih informacij, kot dobro. 239 00:10:38,310 --> 00:10:46,190 Tukaj je spletna stran, sayat.me/cs50. 240 00:10:46,190 --> 00:10:48,380 Tako da je iskren povratne informacije. 241 00:10:48,380 --> 00:10:50,730 Če želite, da ga dajo v oddelku, Sem dobil email, ko se to zgodi. 242 00:10:50,730 --> 00:10:53,820 Bomo odmor v malo, zato bom gledati skozi povratne takrat. 243 00:10:53,820 --> 00:10:55,970 Če boste kdaj imeli kakršne koli povratne informacije, prosim, daj mi tam. 244 00:10:55,970 --> 00:11:01,380 >> Če mi daš povratne informacije o Q, ki je čudovito, ampak to je vodilo 245 00:11:01,380 --> 00:11:02,570 da vam na koncu. 246 00:11:02,570 --> 00:11:05,690 Ampak da se bo ob koncu semestra, tako Jaz ne bodo mogli vzeti vse te 247 00:11:05,690 --> 00:11:08,620 povratne informacije in jo spremeniti v poučevanju vidva bolje. 248 00:11:08,620 --> 00:11:11,020 Zato vas prosimo, če imate povratnih informacij, daj mi jo. 249 00:11:11,020 --> 00:11:12,010 Ljubim povratne informacije. 250 00:11:12,010 --> 00:11:14,490 Nazaj na FOP, smo dobili povratne informacije ves čas. 251 00:11:14,490 --> 00:11:18,610 >> Mi lahko pluse, dobre stvari, delt, stvari lahko izboljšamo. 252 00:11:18,610 --> 00:11:20,600 Lahko pripombe na moje obleke. 253 00:11:20,600 --> 00:11:24,170 Da ne bo tako koristno, ampak si dobrodošli, da komentira vse in 254 00:11:24,170 --> 00:11:24,570 vse. 255 00:11:24,570 --> 00:11:26,280 Prosim, prosim, dajte mi povratne informacije. 256 00:11:26,280 --> 00:11:28,740 Cenim to veliko in ga pomeni mi veliko. 257 00:11:28,740 --> 00:11:31,760 258 00:11:31,760 --> 00:11:33,280 >> Ena bolj norma, zabava. 259 00:11:33,280 --> 00:11:34,530 Bomo imeli veliko zabave. 260 00:11:34,530 --> 00:11:36,930 Upajmo, da v tem času, boste imajo veliko zabave. 261 00:11:36,930 --> 00:11:38,780 Morali bomo sladkarije na oddelku. 262 00:11:38,780 --> 00:11:40,040 Bomo imeli glasbo. 263 00:11:40,040 --> 00:11:45,510 Mi se bo, upajmo, spoznavanje enega še nekoliko dobro, zato želim 264 00:11:45,510 --> 00:11:47,690 da je to zabavno, ukvarjanja izkušnje. 265 00:11:47,690 --> 00:11:50,890 >> Vem, da ste nekateri zaspal predavanja ste imeli že danes, 266 00:11:50,890 --> 00:11:53,750 tako da upam, da ne bo se zgodi zdaj. 267 00:11:53,750 --> 00:11:55,960 In če se to dogaja, samo ne smrči, saj da bi lahko 268 00:11:55,960 --> 00:11:57,580 se ujeli na kamero. 269 00:11:57,580 --> 00:11:58,770 Sladko. 270 00:11:58,770 --> 00:12:04,020 Vsa vprašanja, pripombe ali skrbi preden sem premakniti na karkoli smo jih 271 00:12:04,020 --> 00:12:05,270 govorili? 272 00:12:05,270 --> 00:12:08,620 273 00:12:08,620 --> 00:12:11,350 Super. 274 00:12:11,350 --> 00:12:14,830 >> Tako smo šli v prvih nizi. 275 00:12:14,830 --> 00:12:17,140 To je, kako si narediti niz. 276 00:12:17,140 --> 00:12:18,410 To smo že videli prej. 277 00:12:18,410 --> 00:12:21,830 Imate podatkovni tip, imate Ime in potem imate velikosti. 278 00:12:21,830 --> 00:12:24,430 Tukaj sem ustvariti dveh polj. 279 00:12:24,430 --> 00:12:30,360 Prvi je niz znakov in ima 26 mest. 280 00:12:30,360 --> 00:12:33,790 Drugi je niz Ocene in ima tri 281 00:12:33,790 --> 00:12:35,390 prostori za tri cela števila. 282 00:12:35,390 --> 00:12:35,827 Ja? 283 00:12:35,827 --> 00:12:38,200 >> ŠTUDENT: Ali so vse te diapozitive Na voljo nekje za nas? 284 00:12:38,200 --> 00:12:38,850 >> JASON Hirschhorna: Veliko vprašanje. 285 00:12:38,850 --> 00:12:40,650 Vprašanje je, so vsi ti zdrsne na voljo? 286 00:12:40,650 --> 00:12:40,920 Da. 287 00:12:40,920 --> 00:12:43,420 Vse te stekelc bodo na voljo in v prihodnosti, bom jih pošljete 288 00:12:43,420 --> 00:12:44,640 ste pred oddelku. 289 00:12:44,640 --> 00:12:47,340 Toda danes, ker je to prva teden smo imeli pozno začetek. 290 00:12:47,340 --> 00:12:49,675 Torej ponavadi, boste dobili te strani, ampak bodo na voljo na spletu in 291 00:12:49,675 --> 00:12:52,420 Jaz jih bom po elektronski pošti takoj po pouku. 292 00:12:52,420 --> 00:12:54,140 Še kakšno vprašanje? 293 00:12:54,140 --> 00:13:01,330 >> Torej še enkrat, nizi so škatle, zaradi pomanjkanja boljša beseda, ki imajo več 294 00:13:01,330 --> 00:13:06,420 Elementi eno vrsto podatkov, in oni ena poleg druge v pomnilniku. 295 00:13:06,420 --> 00:13:11,370 Zato še enkrat, to je, kako si lahko da dve vrsti nizi. 296 00:13:11,370 --> 00:13:15,090 >> Torej, ko ste naredili niz z da je prva linija - int ocene, nosilec 297 00:13:15,090 --> 00:13:17,430 tri, zaklepaj - vi želeli, da ga zažene. 298 00:13:17,430 --> 00:13:19,050 Si želite, da bi nekatere vrednote tam. 299 00:13:19,050 --> 00:13:24,660 In to je, kako si dal nekaj vrednosti v tam, samo izbiro Indice in 300 00:13:24,660 --> 00:13:25,670 pisanje številko. 301 00:13:25,670 --> 00:13:27,130 Narišimo ta na krovu. 302 00:13:27,130 --> 00:13:28,270 Vsi lahko videli? 303 00:13:28,270 --> 00:13:29,030 Vsakdo lahko vidi. 304 00:13:29,030 --> 00:13:30,790 Sladko. 305 00:13:30,790 --> 00:13:36,550 >> Tako, da se bo moja matrika se imenuje Scores. 306 00:13:36,550 --> 00:13:37,730 Kot lahko vidite, da je velikost tri. 307 00:13:37,730 --> 00:13:39,210 Obstajajo tri polja notri. 308 00:13:39,210 --> 00:13:43,120 Vsak od njih lahko fit, kar vrsta podatkovnega tipa? 309 00:13:43,120 --> 00:13:43,790 >> ŠTUDENT: Integer. 310 00:13:43,790 --> 00:13:45,250 >> JASON Hirschhorna: celo v tem. 311 00:13:45,250 --> 00:13:48,790 Pisali smo int rezultate, in prva beseda je vrsta podatkov, ki se dogaja, da 312 00:13:48,790 --> 00:13:50,910 pojdi na poljih v tej matriki. 313 00:13:50,910 --> 00:13:52,160 Tako da sem lahko fit tri. 314 00:13:52,160 --> 00:13:54,880 315 00:13:54,880 --> 00:13:57,000 Zakaj imam nič gor tam na ladji? 316 00:13:57,000 --> 00:13:59,240 Zakaj je torej rezultat nič enak 1? 317 00:13:59,240 --> 00:14:02,090 318 00:14:02,090 --> 00:14:03,180 Spominjaš me na vaše ime. 319 00:14:03,180 --> 00:14:03,470 >> ŠTUDENT: Kurt. 320 00:14:03,470 --> 00:14:04,070 >> JASON Hirschhorna: Kurt. 321 00:14:04,070 --> 00:14:04,480 >> ŠTUDENT: Da. 322 00:14:04,480 --> 00:14:04,920 >> JASON Hirschhorna: Zakaj? 323 00:14:04,920 --> 00:14:07,230 >> ŠTUDENT: Ker prvi indeks nič, bomo začeli štetje nič. 324 00:14:07,230 --> 00:14:08,480 >> JASON Hirschhorna: Tako smo začeli Računam na ničli. 325 00:14:08,480 --> 00:14:09,580 Točno tako. 326 00:14:09,580 --> 00:14:12,340 To je zmedeno del in volja izlet si gor, še posebej, če ste 327 00:14:12,340 --> 00:14:14,900 poskuša Ponovil skozi polja, ki smo jo bom v nekaj. 328 00:14:14,900 --> 00:14:15,980 Mi začnemo na nič. 329 00:14:15,980 --> 00:14:19,170 Torej, če želim, da se sklicuje na prvi škatla, to ni ena škatla. 330 00:14:19,170 --> 00:14:22,290 Žal, to polje nič. 331 00:14:22,290 --> 00:14:26,460 Drugi je škatla ena, in to tako, tretji je škatla dva. 332 00:14:26,460 --> 00:14:28,700 >> Kaj polju tri? 333 00:14:28,700 --> 00:14:30,670 Kje je škatla tri? 334 00:14:30,670 --> 00:14:34,750 Ali pa, če želim narediti rezultate, nosilec tri, zaklepaj, kaj je to? 335 00:14:34,750 --> 00:14:37,650 336 00:14:37,650 --> 00:14:39,760 Torej ste rekli null znak. 337 00:14:39,760 --> 00:14:41,600 Vse druge misli? 338 00:14:41,600 --> 00:14:44,590 Kaj je ocena nosilec treh nosilec? 339 00:14:44,590 --> 00:14:48,045 >> Študent: To v resnici ne obstaja, ker vam opredeljena le kot partitur, 340 00:14:48,045 --> 00:14:49,370 Nosilec tri. 341 00:14:49,370 --> 00:14:51,400 >> JASON Hirschhorna: Torej pravite v resnici ne obstaja. 342 00:14:51,400 --> 00:14:54,230 V nekaterih primerih, ko imamo opravka z strune, na splošno bomo dal nično 343 00:14:54,230 --> 00:14:54,790 znak na koncu. 344 00:14:54,790 --> 00:14:56,100 Bomo prišli do, da v drugi. 345 00:14:56,100 --> 00:15:01,020 Vendar pa v tem primeru ni Ne tretje polje tukaj. 346 00:15:01,020 --> 00:15:06,390 Torej zadnje polje v vsakem polju je velikost minus 1. 347 00:15:06,390 --> 00:15:11,310 Torej, če imamo niz velikosti n, Prva škatla je na ničli, zadnja je 348 00:15:11,310 --> 00:15:12,700 na n minus 1. 349 00:15:12,700 --> 00:15:14,970 In v tem primeru ne obstaja. 350 00:15:14,970 --> 00:15:17,970 Obstaja nekaj, kar tukaj, v spomin, vendar to ni naša. 351 00:15:17,970 --> 00:15:18,460 Mi ne njegov lastnik. 352 00:15:18,460 --> 00:15:19,570 Mi ni zaprosila za to. 353 00:15:19,570 --> 00:15:22,606 Torej, če želimo priti do njih, kar bomo storiti nekaj, da smo verjetno bo 354 00:15:22,606 --> 00:15:24,970 zaidejo v težave. 355 00:15:24,970 --> 00:15:29,180 >> V tem primeru, sem inicializacijo moje polje s tremi spremenljivkami. 356 00:15:29,180 --> 00:15:36,195 Mi smo dajanje enega v polju nič, dva V polje ena in tri v polju dva. 357 00:15:36,195 --> 00:15:39,280 Ima kdo kakšna vprašanja O inicializacijo niz? 358 00:15:39,280 --> 00:15:44,540 359 00:15:44,540 --> 00:15:46,970 >> Tako da smo šli čez to šele zdaj. 360 00:15:46,970 --> 00:15:52,725 Rezultati, nosilec treh, zaklepaj, da ne obstaja. 361 00:15:52,725 --> 00:15:58,130 Mi smo nič indeksirane v računalništvu, Tako bomo začeli štetje nič. 362 00:15:58,130 --> 00:16:01,860 Zadnje polje nam na voljo, je tretje polje, vendar je pozval okno 363 00:16:01,860 --> 00:16:03,110 Številka dve. 364 00:16:03,110 --> 00:16:05,790 365 00:16:05,790 --> 00:16:09,710 >> Spodaj je to alternativa način inicializacija matrike. 366 00:16:09,710 --> 00:16:13,410 Torej, namesto ustvarjanja array na enem linijo, za polnjenje prvo polje, nato 367 00:16:13,410 --> 00:16:17,070 drugo polje, nato tretji polje lahko to storite vse v eni vrstici. 368 00:16:17,070 --> 00:16:19,040 Torej, v tej vrstici, tako nizi. 369 00:16:19,040 --> 00:16:23,460 To ustvarja točno isto vrsto kot tisto, kar smo ustvarili tukaj, ampak 370 00:16:23,460 --> 00:16:24,710 Samo to v eni vrstici ne. 371 00:16:24,710 --> 00:16:29,740 372 00:16:29,740 --> 00:16:31,360 >> Zdaj smo ustvarili našo vrsto. 373 00:16:31,360 --> 00:16:34,100 Ponavadi, ko boste ustvarili niz, si želijo nekaj narediti z njim, ali 374 00:16:34,100 --> 00:16:38,430 da se jo napolni ali se stvari od njega in jih izpiše na zaslonu. 375 00:16:38,430 --> 00:16:42,270 V tem primeru, bomo preko našega Ocene matrika, ki smo inicializiran na 376 00:16:42,270 --> 00:16:44,740 Prva vrstica tu v sivi barvi. 377 00:16:44,740 --> 00:16:49,600 In potem na drugi liniji, začnemo ponavljanjem skozi array. 378 00:16:49,600 --> 00:16:52,640 Ima kdo kakšna vprašanja o struktura za zanko? 379 00:16:52,640 --> 00:16:55,250 380 00:16:55,250 --> 00:16:56,400 >> Torej gre za zanko. 381 00:16:56,400 --> 00:16:59,530 Imamo začetno stanje, nato pa naše končno stanje, potem pa 382 00:16:59,530 --> 00:17:01,160 Ponovil sem, vsako zanko. 383 00:17:01,160 --> 00:17:05,579 In v zavite oklepaje v tem za zanka, kaj se zgodi, če bi bil jaz teči 384 00:17:05,579 --> 00:17:06,290 ta program? 385 00:17:06,290 --> 00:17:10,410 Mi lahko kdo pove, kaj bi dobili? 386 00:17:10,410 --> 00:17:11,589 [? Matu? ?] 387 00:17:11,589 --> 00:17:13,819 >> Matu: Natisni vseh točk na vsaki liniji. 388 00:17:13,819 --> 00:17:14,900 To bi natisnite vsako oceno v svoji vrstici. 389 00:17:14,900 --> 00:17:16,300 >> JASON Hirschhorna: Kaj točno jo natisne? 390 00:17:16,300 --> 00:17:19,790 >> ŠTUDENT: Bilo natisniti eno, nato dva, nato pa tri. 391 00:17:19,790 --> 00:17:20,235 >> JASON Hirschhorna: Točno tako. 392 00:17:20,235 --> 00:17:23,490 To bi natisniti eno, potem dve, tri, vsaka od ločenih vodov, ker 393 00:17:23,490 --> 00:17:27,810 gremo skozi niz in boste vidim, da drugi, printf 394 00:17:27,810 --> 00:17:29,275 Izjava, ocene i. 395 00:17:29,275 --> 00:17:32,880 Torej v prvem krogu s pomočjo naših za zanke, i je enak nič, kar pomeni, da smo 396 00:17:32,880 --> 00:17:34,640 dobili vrednost na rezultat nič - 397 00:17:34,640 --> 00:17:36,900 ki bi, če se vrnemo k naš diagram, je eden - 398 00:17:36,900 --> 00:17:38,630 in izpolnitvijo - 399 00:17:38,630 --> 00:17:39,700 oh, pravi c. 400 00:17:39,700 --> 00:17:41,680 To bi moralo biti% d. 401 00:17:41,680 --> 00:17:43,970 Bom popraviti, da v nekaj ko Sem roko, da se za vas. 402 00:17:43,970 --> 00:17:48,670 Ampak mi predstavlja celo tako njim mora biti% d tukaj, ne% c. 403 00:17:48,670 --> 00:17:50,340 Kaj je% c za? 404 00:17:50,340 --> 00:17:50,790 >> ŠTUDENT: znakov. 405 00:17:50,790 --> 00:17:52,680 >> JASON Hirschhorna: Znakov, točno. 406 00:17:52,680 --> 00:17:53,690 Kaj je druga? 407 00:17:53,690 --> 00:17:56,260 Če ne želite narediti% d za celo, kaj še lahko naredim? 408 00:17:56,260 --> 00:17:57,000 >> ŠTUDENT: i. 409 00:17:57,000 --> 00:17:59,180 >> JASON Hirschhorna:% i, točno. 410 00:17:59,180 --> 00:18:01,660 Torej vsa vprašanja o ponavljanjem skozi niz? 411 00:18:01,660 --> 00:18:05,500 412 00:18:05,500 --> 00:18:07,800 Torej, kaj se zgodi, če to storimo? 413 00:18:07,800 --> 00:18:10,290 Namesto tem i manj kot tri, mi i manj 414 00:18:10,290 --> 00:18:11,390 ali enako kot tri. 415 00:18:11,390 --> 00:18:13,420 Kaj se zgodi, ko zaženete to kodo? 416 00:18:13,420 --> 00:18:17,510 417 00:18:17,510 --> 00:18:18,940 Da, Annie? 418 00:18:18,940 --> 00:18:22,030 >> ŠTUDENT: Oni bodo natisnete cudna stvar na četrti vrstici. 419 00:18:22,030 --> 00:18:23,850 >> JASON Hirschhorna: Torej ste rekli, je bo izpisal čudne stvari na 420 00:18:23,850 --> 00:18:24,390 Četrta vrstica? 421 00:18:24,390 --> 00:18:25,750 Ima kdo odgovor na njeno vprašanje? 422 00:18:25,750 --> 00:18:28,940 423 00:18:28,940 --> 00:18:33,160 Torej so možnosti, da pri smo prišli do - 424 00:18:33,160 --> 00:18:36,700 tako v četrtem krogu preko naših za zanke, tako kot si mislil, Annie, 425 00:18:36,700 --> 00:18:39,430 da bomo lahko rezultati nosilec tri, ki smo že pogruntal ne 426 00:18:39,430 --> 00:18:41,990 obstajajo, in bomo poskušali in dostop, da ga natisnete 427 00:18:41,990 --> 00:18:43,350 ven, ga uporabite na nek način. 428 00:18:43,350 --> 00:18:46,060 Torej, bo računalnik verjetno jezen na nas. 429 00:18:46,060 --> 00:18:46,760 Ti si ravno prav. 430 00:18:46,760 --> 00:18:48,830 >> To lahko zaprete program v celoti. 431 00:18:48,830 --> 00:18:52,222 To lahko natisnete nekaj res čudno. 432 00:18:52,222 --> 00:18:53,420 Ne moreš reči zagotovo. 433 00:18:53,420 --> 00:18:56,210 Verjetnost, da bomo verjetno dobili jezen vi in ​​šele umakniti takoj. 434 00:18:56,210 --> 00:19:00,100 >> Ampak to je pogosta napaka, da boste imeli ko ste tik po enega na 435 00:19:00,100 --> 00:19:05,110 konec, in to je napaka, ki bo vas pestijo skozi svoje kodiranja. 436 00:19:05,110 --> 00:19:09,350 437 00:19:09,350 --> 00:19:14,150 Eden od načinov želel storiti, je le na tabla, gredo skozi vsako ponovitev 438 00:19:14,150 --> 00:19:18,190 v zanke na strani ali na papirju, da vidite kaj se dogaja, in potem 439 00:19:18,190 --> 00:19:20,440 splošno zavedaš, oh počakaj, jaz ne bi so šli na manjše ali 440 00:19:20,440 --> 00:19:20,870 enako tri. 441 00:19:20,870 --> 00:19:24,730 Moral bi se ustavila pri dveh, kar je kaj se zgodi, če je vaše stanje manj 442 00:19:24,730 --> 00:19:26,206 kot tri. 443 00:19:26,206 --> 00:19:29,120 Kakšna vprašanja? 444 00:19:29,120 --> 00:19:31,010 Sladko. 445 00:19:31,010 --> 00:19:33,360 >> Torej imate vsi računalnikih odprt. 446 00:19:33,360 --> 00:19:36,760 Bomo dal 02:58 minut, da napišete program, ki 447 00:19:36,760 --> 00:19:40,460 ustvari matriko z enim celih skozi pet in nato natisne vsako 448 00:19:40,460 --> 00:19:41,720 celo v novo vrstico. 449 00:19:41,720 --> 00:19:44,330 450 00:19:44,330 --> 00:19:46,000 In če imate kakršnakoli vprašanja, naj dvigne roko. 451 00:19:46,000 --> 00:19:48,140 Vesel sem priti. 452 00:19:48,140 --> 00:19:50,630 Kot sem rekel, vzemimo tri minut, da napišete to. 453 00:19:50,630 --> 00:20:41,300 454 00:20:41,300 --> 00:20:45,110 So vsi v redu, če grem v novo okno in zapreti to? 455 00:20:45,110 --> 00:22:13,420 456 00:22:13,420 --> 00:22:15,520 >> Žal mi je, če niste imeli priložnost do konca, vendar bomo to storiti 457 00:22:15,520 --> 00:22:17,310 skupaj zdaj. 458 00:22:17,310 --> 00:22:23,640 Torej na zaslonu, sem # include cs50.h, # include stdio.h. 459 00:22:23,640 --> 00:22:26,090 Ali lahko nekdo povej mi, kaj ti dve vrstici storiti? 460 00:22:26,090 --> 00:22:32,250 461 00:22:32,250 --> 00:22:33,155 Michael? 462 00:22:33,155 --> 00:22:40,030 >> ŠTUDENT: Vključujejo knjižnice da CS50 izvedena in da ima Steve 463 00:22:40,030 --> 00:22:44,210 shranjena za vas, da uporabite za da bo vaše življenje lažje. 464 00:22:44,210 --> 00:22:46,820 >> JASON Hirschhorna: Torej, ste rekli, da so knjižnice, tisti, ki CS50 465 00:22:46,820 --> 00:22:51,230 je, cs50.h, in tisti, ki je ravno standardni, prihaja z 466 00:22:51,230 --> 00:22:53,510 Paket C, stdio.h. 467 00:22:53,510 --> 00:22:54,890 Kaj misliš vključujejo knjižnice, čeprav? 468 00:22:54,890 --> 00:22:55,770 Ste lahko malo bolj natančni? 469 00:22:55,770 --> 00:23:01,180 >> Študent: To naredi tako, da lahko uporabo določenih kodnih besed, da se 470 00:23:01,180 --> 00:23:05,710 delovanje zgodi ne da bi šel in da funkcijo c sami. 471 00:23:05,710 --> 00:23:08,730 >> JASON Hirschhorna: Ali lahko daj mi primer? 472 00:23:08,730 --> 00:23:11,160 >> ŠTUDENT: Kot printf je tista, ki jo lahko uporabite. 473 00:23:11,160 --> 00:23:11,860 >> JASON Hirschhorna: printf. 474 00:23:11,860 --> 00:23:14,680 Torej si rekel printf je eden od tistih, funkcije, kjer namesto da bi 475 00:23:14,680 --> 00:23:19,840 napišite printf na svoje, printf je dejansko vključeni v stdio.h, tako da 476 00:23:19,840 --> 00:23:22,010 Lahko samo ga uporabljajo in prevzemajo da bo to delovalo. 477 00:23:22,010 --> 00:23:28,270 V stdio.h, če ste odprli to datoteko, bi bilo tudi, kako printf 478 00:23:28,270 --> 00:23:31,620 Dela, vse kode za printf? 479 00:23:31,620 --> 00:23:33,105 Zakaj se trese glavo? 480 00:23:33,105 --> 00:23:35,710 >> ŠTUDENT: Ker glava datoteke samo vključuje izjavo funkcijo. 481 00:23:35,710 --> 00:23:36,400 >> JASON Hirschhorna: Točno tako prav. 482 00:23:36,400 --> 00:23:39,680 Glava datoteke samo vključuje Izjava funkcijo. 483 00:23:39,680 --> 00:23:42,950 Torej v bistvu, ko zbere to, hit Naredite Count, ki smo jo bom naredil v 484 00:23:42,950 --> 00:23:48,070 drugič, prevajalnik ve, da če uporabite printf, printf obstaja. 485 00:23:48,070 --> 00:23:49,370 To se dogaja, da je treba opredeliti nekje. 486 00:23:49,370 --> 00:23:51,200 To ni problem za vas, da jo uporabljajo. 487 00:23:51,200 --> 00:23:55,490 In potem kasneje, bo tudi enic in ničel, ki dejansko vsebujejo 488 00:23:55,490 --> 00:23:58,360 printf je izvajanje in jih združi s svojo kodo. 489 00:23:58,360 --> 00:24:01,935 Kako ste se prepričajte, da vključuje enic in ničel za, recimo, dobil niz? 490 00:24:01,935 --> 00:24:05,670 491 00:24:05,670 --> 00:24:07,210 >> ŠTUDENT: Get niz je cs50.h. 492 00:24:07,210 --> 00:24:07,830 >> JASON Hirschhorna: Right. 493 00:24:07,830 --> 00:24:11,110 Tako, da pravi, da bi dobili niz obstaja, Izjava funkcijo. 494 00:24:11,110 --> 00:24:15,410 Ampak potem enic in ničel, binarni datoteka, ki dejansko vključuje 495 00:24:15,410 --> 00:24:17,370 Izvajanje get niza? 496 00:24:17,370 --> 00:24:19,310 Kako poskrbite, da gre s svojim programom? 497 00:24:19,310 --> 00:24:23,220 >> ŠTUDENT: Pass povezovalnik v argument v ukazni vrstici. 498 00:24:23,220 --> 00:24:25,430 >> JASON Hirschhorna: Pass povezovalnik V argument v ukazni vrstici. 499 00:24:25,430 --> 00:24:26,700 Kako si to naredil? 500 00:24:26,700 --> 00:24:29,730 >> Študent: To-l vrstica v Jek 501 00:24:29,730 --> 00:24:30,480 >> JASON Hirschhorna: Točno tako prav. 502 00:24:30,480 --> 00:24:32,900 Rečeš-l CS50, kajne? 503 00:24:32,900 --> 00:24:34,940 To vključuje tiste ničle. 504 00:24:34,940 --> 00:24:36,460 >> ŠTUDENT: Ampak Poskrbite ne da za vas, kajne? 505 00:24:36,460 --> 00:24:37,010 >> JASON Hirschhorna: Točno tako. 506 00:24:37,010 --> 00:24:40,390 Poskrbite pa, da je za vas, ampak na koncu, ne boste imeli Znamka ali 507 00:24:40,390 --> 00:24:43,220 boste morali narediti na svoje, tako da je 508 00:24:43,220 --> 00:24:43,940 dobra stvar, da se spomnimo. 509 00:24:43,940 --> 00:24:47,350 Če ste bili, da uporabite enega od teh druge knjižnice, ne samo, da imate 510 00:24:47,350 --> 00:24:49,490 pisati # include in Nato knjižnica. 511 00:24:49,490 --> 00:24:51,420 Prav tako morate povezati noter 512 00:24:51,420 --> 00:24:54,480 In ti dve stvari drugačne. -L CS50 razlikuje 513 00:24:54,480 --> 00:24:59,260 kot # include cs50.h. 514 00:24:59,260 --> 00:25:02,870 >> Potem imamo int main nična zavitimi oklepaji, in zdaj gremo na kodo 515 00:25:02,870 --> 00:25:03,590 znotraj glavnega. 516 00:25:03,590 --> 00:25:07,090 Prva vrstica imam tukaj je komentar , ki pravi, ustvariti array 517 00:25:07,090 --> 00:25:08,820 z ints enega do pet. 518 00:25:08,820 --> 00:25:12,600 Kaj je dobra beseda za opis, kaj sem imajo zdaj na zaslonu, samo 519 00:25:12,600 --> 00:25:14,170 komentarji znotraj main? 520 00:25:14,170 --> 00:25:15,722 Kaj naj rečemo, da je? 521 00:25:15,722 --> 00:25:16,820 >> ŠTUDENT: psevdokoda. 522 00:25:16,820 --> 00:25:17,840 >> JASON Hirschhorna: psevdokoda. 523 00:25:17,840 --> 00:25:18,420 Hvala, Jeffrey. 524 00:25:18,420 --> 00:25:19,540 To je ravno prav. 525 00:25:19,540 --> 00:25:20,005 Psevdokoda. 526 00:25:20,005 --> 00:25:22,854 Ste vi videli psevdokoda prej? 527 00:25:22,854 --> 00:25:28,340 Dvignite roko, če ste uporabljali psevdokoda pred problem določiti enega. 528 00:25:28,340 --> 00:25:29,400 Približno polovica od vas. 529 00:25:29,400 --> 00:25:32,700 >> Jaz bi zelo priporočam uporabo psevdokoda razčleniti probleme v 530 00:25:32,700 --> 00:25:35,210 manjše, bolj enostavno odgriznejo kosov. 531 00:25:35,210 --> 00:25:38,630 Tudi, če vam psevdokoda, si imajo svoje komentarje že v veliki meri 532 00:25:38,630 --> 00:25:40,760 zgrajena, tako da vam ni treba pojdi nazaj in poskušali ugotoviti, 533 00:25:40,760 --> 00:25:42,450 kaj ste počeli. 534 00:25:42,450 --> 00:25:44,730 Tako lahko nekdo, dajte mi to prvo linijo ustvariti matriko z enim ints 535 00:25:44,730 --> 00:25:45,980 do pet? 536 00:25:45,980 --> 00:25:48,700 537 00:25:48,700 --> 00:25:49,130 Vi? 538 00:25:49,130 --> 00:25:53,350 >> ŠTUDENT: Int, potem pa lahko pokličete ne glede na število, nato pa kvadrat 539 00:25:53,350 --> 00:25:54,830 Nosilec pet. 540 00:25:54,830 --> 00:25:57,820 >> JASON Hirschhorna: Torej int številke, oglati oklepaj pet. 541 00:25:57,820 --> 00:25:59,160 >> ŠTUDENT: Enako, in nato zavitih oklepajih. 542 00:25:59,160 --> 00:26:00,830 >> JASON Hirschhorna: Enako, Zaviti oklepaji. 543 00:26:00,830 --> 00:26:01,830 >> ŠTUDENT: Ena, dva, tri, štiri. 544 00:26:01,830 --> 00:26:05,566 >> JASON Hirschhorna: En, dva, tri, štiri, pet. 545 00:26:05,566 --> 00:26:07,390 >> ŠTUDENT: In potem zavite oklepaje in potem podpičjem. 546 00:26:07,390 --> 00:26:09,240 >> JASON Hirschhorna: In kodrasti oklepaji in podpičji. 547 00:26:09,240 --> 00:26:10,330 Odlično. 548 00:26:10,330 --> 00:26:12,210 Natisnite vsak int v novo vrstico. 549 00:26:12,210 --> 00:26:17,140 Lahko kdo drug poda meni, da je koda, prosim? 550 00:26:17,140 --> 00:26:17,530 [? Matu? ?] 551 00:26:17,530 --> 00:26:18,560 Pojdi naprej. 552 00:26:18,560 --> 00:26:20,440 >> ŠTUDENT: Za ( 553 00:26:20,440 --> 00:26:21,750 >> JASON Hirschhorna: Za ( 554 00:26:21,750 --> 00:26:23,740 >> ŠTUDENT: int i = 0 555 00:26:23,740 --> 00:26:26,070 >> JASON Hirschhorna: int i = 0 556 00:26:26,070 --> 00:26:28,190 >> ŠTUDENT: Podpičje i manj kot pet. 557 00:26:28,190 --> 00:26:31,680 >> JASON Hirschhorna: Podpičje, i manj kot 5. 558 00:26:31,680 --> 00:26:33,600 >> ŠTUDENT: Podpičje, i + +. 559 00:26:33,600 --> 00:26:35,140 >> JASON Hirschhorna: Podpičje, i + +. 560 00:26:35,140 --> 00:26:37,720 >> ŠTUDENT: Zaprte oklepajev, potem odprto naramnicami. 561 00:26:37,720 --> 00:26:39,410 >> JASON Hirschhorna: Zaprte oklepaje in dve naramnice. 562 00:26:39,410 --> 00:26:40,510 Znotraj oklepajev? 563 00:26:40,510 --> 00:26:47,640 >> ŠTUDENT: In potem printf "% d / n" 564 00:26:47,640 --> 00:26:48,695 >> JASON Hirschhorna: Oprosti, počakaj. 565 00:26:48,695 --> 00:26:52,330 Printf "% d / n, zaprt quote. 566 00:26:52,330 --> 00:26:55,980 >> ŠTUDENT: In potem zaprto citiram, vejica, število, nosilec i. 567 00:26:55,980 --> 00:26:58,350 >> JASON Hirschhorna: Vejica, Število, nosilec i. 568 00:26:58,350 --> 00:26:59,970 >> ŠTUDENT: Žal mi je, številke nosilec i. 569 00:26:59,970 --> 00:27:01,416 >> JASON Hirschhorna: Številke, nosilec i. 570 00:27:01,416 --> 00:27:03,200 >> ŠTUDENT: Žal mi je. 571 00:27:03,200 --> 00:27:04,750 In potem zaprt oklepajev, podpičjem. 572 00:27:04,750 --> 00:27:07,156 >> JASON Hirschhorna: Zaprto oklepaje, podpičjem. 573 00:27:07,156 --> 00:27:08,680 Grem rešiti da. 574 00:27:08,680 --> 00:27:12,670 Bomo narediti štetje. 575 00:27:12,670 --> 00:27:14,742 In kako sem teči štetje? 576 00:27:14,742 --> 00:27:16,470 >> ŠTUDENT: Leva poševnica. 577 00:27:16,470 --> 00:27:17,180 >> ŠTUDENT: Dot poševnica - 578 00:27:17,180 --> 00:27:18,050 >> JASON Hirschhorna: /. Računati, ravno. 579 00:27:18,050 --> 00:27:19,380 Hvala. Računati. /. 580 00:27:19,380 --> 00:27:21,060 Ena, dva, tri, štiri, pet novih linij. 581 00:27:21,060 --> 00:27:22,110 Izgleda, da je delal. 582 00:27:22,110 --> 00:27:23,200 Ja, Noah? 583 00:27:23,200 --> 00:27:26,660 >> ŠTUDENT: Lahko bi tudi naredil ali manj enak štiri, kot da je manj kot 584 00:27:26,660 --> 00:27:27,630 ali enak štiri? 585 00:27:27,630 --> 00:27:31,190 Ali obstaja kakšna prednost, da delaš manj kot pet, ali pa drugačen način 586 00:27:31,190 --> 00:27:31,610 to pisanje? 587 00:27:31,610 --> 00:27:35,280 >> JASON Hirschhorna: Torej, vprašanje je, da lahko naredili i manjša ali 588 00:27:35,280 --> 00:27:37,450 enak štiri namesto i je manj kot pet. 589 00:27:37,450 --> 00:27:38,935 Bi delali enako? 590 00:27:38,935 --> 00:27:39,760 >> ŠTUDENT: Moralo bi. 591 00:27:39,760 --> 00:27:39,860 >> JASON Hirschhorna: Da. 592 00:27:39,860 --> 00:27:41,660 To bi popolnoma deluje enako. 593 00:27:41,660 --> 00:27:44,780 Slogovno je na splošno manj kot, in videli boste, v drugem, ko 594 00:27:44,780 --> 00:27:48,160 mi strune, lahko uporabite nekaj imenovano strlen, ki ste videli 595 00:27:48,160 --> 00:27:50,380 pred tem, da bi dobili dolžine niza. 596 00:27:50,380 --> 00:27:54,090 In ne moreš delati manj, kot ali enako strlen. 597 00:27:54,090 --> 00:27:56,500 Lahko bi naredil ali manj enaka strlen minus ena. 598 00:27:56,500 --> 00:27:59,260 Torej to je samo lepše ne manj kot strlen. 599 00:27:59,260 --> 00:28:00,240 Ja? 600 00:28:00,240 --> 00:28:03,270 >> ŠTUDENT: In dejansko kvizi, naredite moramo posredovati pripombe na našem 601 00:28:03,270 --> 00:28:04,620 kodo, kot tudi? 602 00:28:04,620 --> 00:28:06,130 >> JASON Hirschhorna: vprašanje je bil v kvizih, vam 603 00:28:06,130 --> 00:28:07,760 morali posredovati pripombe? 604 00:28:07,760 --> 00:28:12,050 Torej bomo govorili več o kvizi, ko pridejo, toda na splošno dobro 605 00:28:12,050 --> 00:28:14,530 Pravilo palca je, ko ste pisanje kode, posredovati pripombe. 606 00:28:14,530 --> 00:28:18,130 Če boste dobili kodo narobe, ampak komentar desno, boste morda dobili nekaj 607 00:28:18,130 --> 00:28:22,280 Kreditna tako od mene, če sem bil razvrščanje Si na problemski sklop ali na kvizu. 608 00:28:22,280 --> 00:28:24,660 Tako komentarji so vedno dobro zagotoviti. 609 00:28:24,660 --> 00:28:25,040 Sladko. 610 00:28:25,040 --> 00:28:25,460 Računati. 611 00:28:25,460 --> 00:28:26,720 Odlično delo. 612 00:28:26,720 --> 00:28:28,570 Gremo naprej. 613 00:28:28,570 --> 00:28:29,920 >> Strune. 614 00:28:29,920 --> 00:28:30,630 Strune. 615 00:28:30,630 --> 00:28:31,730 To smo že videli v predavanju. 616 00:28:31,730 --> 00:28:33,390 Ta zapravila mojih mislih, ko sem najprej najti to. 617 00:28:33,390 --> 00:28:37,240 Verjetno ni razneslo od kogarkoli drugega, moti tukaj, ampak to je v redu. 618 00:28:37,240 --> 00:28:41,260 >> Strune so nizi znakov, in se konča z, kot si že rekel, 619 00:28:41,260 --> 00:28:45,710 null terminator, ki je to / 0 značaj. 620 00:28:45,710 --> 00:28:47,740 Če bomo pripraviti niz na svet, ga bomo pripraviti tukaj. 621 00:28:47,740 --> 00:28:53,080 622 00:28:53,080 --> 00:28:56,420 Torej, kako dolgo je ta niz? 623 00:28:56,420 --> 00:28:56,680 Žal mi je. 624 00:28:56,680 --> 00:28:57,660 Kako dolg je ta niz? 625 00:28:57,660 --> 00:28:57,910 >> ŠTUDENT: [neslišno]. 626 00:28:57,910 --> 00:28:59,010 >> JASON Hirschhorna: Štiri? 627 00:28:59,010 --> 00:28:59,880 Zakaj je štiri? 628 00:28:59,880 --> 00:29:02,240 >> ŠTUDENT: Ker peta točka je za ničelno značaja. 629 00:29:02,240 --> 00:29:04,070 >> JASON Hirschhorna: Torej peto mesto je za ničelno značaja. 630 00:29:04,070 --> 00:29:07,130 Torej, če bi bil jaz teči strlen na to bi mi dal štiri. 631 00:29:07,130 --> 00:29:07,850 Popraviti. 632 00:29:07,850 --> 00:29:11,640 In matrika, čeprav, če bi bil jaz inicializacijo to zbirko, koliko prostori 633 00:29:11,640 --> 00:29:13,444 jaz bi moral prositi za? 634 00:29:13,444 --> 00:29:13,821 >> ŠTUDENT: Pet. 635 00:29:13,821 --> 00:29:14,200 >> JASON Hirschhorna: Pet. 636 00:29:14,200 --> 00:29:17,650 Rad bi morali vprašati za pet, ampak ne morem Samo dal štiri znake tukaj 637 00:29:17,650 --> 00:29:19,750 ker moram dati to nično terminator na koncu. 638 00:29:19,750 --> 00:29:25,260 Torej bomo napisali v "ohai" in dal null terminator na koncu. 639 00:29:25,260 --> 00:29:31,820 640 00:29:31,820 --> 00:29:34,940 Bomo rekli, da je to niz je enaka tem. 641 00:29:34,940 --> 00:29:36,610 Kaj je s nosilec nič? 642 00:29:36,610 --> 00:29:40,210 643 00:29:40,210 --> 00:29:41,550 S podstavki nič, Annie? 644 00:29:41,550 --> 00:29:41,950 >> ŠTUDENT: O. 645 00:29:41,950 --> 00:29:45,400 >> JASON Hirschhorna: O, točno. S podstavki ena? 646 00:29:45,400 --> 00:29:48,200 S podstavki pet? 647 00:29:48,200 --> 00:29:52,670 648 00:29:52,670 --> 00:29:53,955 S podstavki pet? 649 00:29:53,955 --> 00:29:54,740 >> ŠTUDENT: Ali ne obstaja. 650 00:29:54,740 --> 00:29:55,040 >> JASON Hirschhorna: Ne obstajajo. 651 00:29:55,040 --> 00:29:57,050 Točno tako. 652 00:29:57,050 --> 00:29:57,940 Kul. 653 00:29:57,940 --> 00:30:03,120 Vsa vprašanja o razumevanju strune kot nizi znakov? 654 00:30:03,120 --> 00:30:03,870 V redu, potem. 655 00:30:03,870 --> 00:30:05,440 En program za vas. 656 00:30:05,440 --> 00:30:09,190 Napišite program, ki zahteva uporabnika za niz, nato natisne vsako 657 00:30:09,190 --> 00:30:11,880 znak za novo vrstico. 658 00:30:11,880 --> 00:30:14,160 Dajmo torej tri minute, da napišete ta program, in potem bomo to kodo 659 00:30:14,160 --> 00:30:15,410 kot skupina. 660 00:30:15,410 --> 00:31:04,730 661 00:31:04,730 --> 00:31:04,830 >> Žal mi je. 662 00:31:04,830 --> 00:31:06,470 Ali želite videti? 663 00:31:06,470 --> 00:31:07,410 >> ŠTUDENT: Ne 664 00:31:07,410 --> 00:31:08,660 >> JASON Hirschhorna: OK. 665 00:31:08,660 --> 00:31:36,390 666 00:31:36,390 --> 00:31:40,605 Oglejmo si še eno minuto, da to kodo, ali vsaj začeti na njem. 667 00:31:40,605 --> 00:32:13,900 668 00:32:13,900 --> 00:32:17,020 >> Tako da lahko nadaljujem z delom, vendar bom začeti tekoč skozi to. 669 00:32:17,020 --> 00:32:22,560 Tako kot prej, imam na zaslonu # Include cs50.h, # include stdio.h. 670 00:32:22,560 --> 00:32:24,020 int main nična. 671 00:32:24,020 --> 00:32:28,880 Znotraj zavitih oklepajih glavnih je, imam dva komentarjev, Psevdokoda. 672 00:32:28,880 --> 00:32:30,980 Ena je prosil za vrvico od uporabnika. 673 00:32:30,980 --> 00:32:33,900 Drugi je izpisal vsak znak za novo vrstico. 674 00:32:33,900 --> 00:32:39,780 Torej Anna, lahko daš me vprašal za niz od uporabnika? 675 00:32:39,780 --> 00:32:41,970 >> ŠTUDENT: printf. 676 00:32:41,970 --> 00:32:42,720 >> JASON Hirschhorna: printf? 677 00:32:42,720 --> 00:32:45,050 >> ŠTUDENT: Da. 678 00:32:45,050 --> 00:32:46,165 ( 679 00:32:46,165 --> 00:32:47,610 >> JASON Hirschhorna: ( 680 00:32:47,610 --> 00:32:49,300 >> ŠTUDENT: "Daj mi niz. 681 00:32:49,300 --> 00:32:52,380 >> JASON Hirschhorna: "dati me str - ups - 682 00:32:52,380 --> 00:32:53,710 niz. 683 00:32:53,710 --> 00:32:59,980 >> ŠTUDENT: / n ") podpičjem. 684 00:32:59,980 --> 00:33:02,300 >> JASON Hirschhorna: Konec niza, zaprti oklepaj, podpičjem. 685 00:33:02,300 --> 00:33:03,550 >> ŠTUDENT: Da. 686 00:33:03,550 --> 00:33:09,080 In potem druga, niz i = dobili niz. 687 00:33:09,080 --> 00:33:11,240 >> JASON Hirschhorna: String i = dobili niz. 688 00:33:11,240 --> 00:33:11,665 >> ŠTUDENT: Da. 689 00:33:11,665 --> 00:33:13,080 In potem () 690 00:33:13,080 --> 00:33:14,365 >> JASON Hirschhorna: () 691 00:33:14,365 --> 00:33:14,720 >> ŠTUDENT: Podpičje. 692 00:33:14,720 --> 00:33:15,540 >> JASON Hirschhorna: Podpičje. 693 00:33:15,540 --> 00:33:16,890 Fantastično. 694 00:33:16,890 --> 00:33:19,000 Torej bom dobil niz in Jaz grem pa v kakšnem rešiti? 695 00:33:19,000 --> 00:33:21,830 Kaj je spremenljivka imenuje ki ste jo ustvarili? 696 00:33:21,830 --> 00:33:23,290 >> ŠTUDENT: String s. 697 00:33:23,290 --> 00:33:24,580 >> JASON Hirschhorna: spremenljivka se imenuje i. 698 00:33:24,580 --> 00:33:25,700 To je tip niza. 699 00:33:25,700 --> 00:33:27,200 Točno tako. 700 00:33:27,200 --> 00:33:30,080 Naslednja stvar, ki želimo, da se izpiše vsak znak za novo vrstico. 701 00:33:30,080 --> 00:33:31,710 Kdo mi lahko pove to kodo? 702 00:33:31,710 --> 00:33:32,110 [Neslišno]? 703 00:33:32,110 --> 00:33:33,000 Lahko ga daš? 704 00:33:33,000 --> 00:33:33,580 >> ŠTUDENT: Seveda. 705 00:33:33,580 --> 00:33:35,420 >> JASON Hirschhorna: Naredimo to. 706 00:33:35,420 --> 00:33:36,080 In mi je žal. 707 00:33:36,080 --> 00:33:38,896 Ne maram, da ponovite, kar ste rekli ker ste ga dobili prav, ampak jaz 708 00:33:38,896 --> 00:33:42,100 potrebno ponoviti, tako da, ko preoblikuje ta način lahko dobijo vse 709 00:33:42,100 --> 00:33:44,870 Besedilo na prepisov. 710 00:33:44,870 --> 00:33:47,180 Torej si lahko kar naprej govoril. 711 00:33:47,180 --> 00:33:48,590 Na žalost moram reči nad vami. 712 00:33:48,590 --> 00:33:49,510 Žal mi je, ampak - 713 00:33:49,510 --> 00:33:50,610 >> Študent: To je v redu. 714 00:33:50,610 --> 00:33:53,010 Za int i = 0 715 00:33:53,010 --> 00:33:54,170 >> JASON Hirschhorna: Za int i = 0 716 00:33:54,170 --> 00:33:56,740 >> ŠTUDENT: Jaz manj kot - 717 00:33:56,740 --> 00:33:58,206 >> JASON Hirschhorna: Podpičje. 718 00:33:58,206 --> 00:34:00,650 >> ŠTUDENT: Pred tem lahko damo spremenljivka, tako da boste dobili int dolžino ime? 719 00:34:00,650 --> 00:34:01,870 >> JASON Hirschhorna: Oh, ne veš želeli postaviti podpičje? 720 00:34:01,870 --> 00:34:02,310 OK. 721 00:34:02,310 --> 00:34:05,120 Torej, kaj želiš storiti, ko nič? 722 00:34:05,120 --> 00:34:09,340 >> Študent: Želim, da bi dobili Niz dolžina s in 723 00:34:09,340 --> 00:34:10,410 nastavljena, da spremenljivko? 724 00:34:10,410 --> 00:34:11,760 >> JASON Hirschhorna: OK Torej, kako naj to naredim? 725 00:34:11,760 --> 00:34:17,636 >> ŠTUDENT: Torej vam int dolžina = 726 00:34:17,636 --> 00:34:20,010 >> JASON Hirschhorna: Int dolžina = 727 00:34:20,010 --> 00:34:22,230 >> Študent: S-T-R-L-E-N. 728 00:34:22,230 --> 00:34:24,260 >> JASON Hirschhorna: S-T-R-L-E-N - 729 00:34:24,260 --> 00:34:25,380 >> ŠTUDENT: Od ih. 730 00:34:25,380 --> 00:34:25,790 Nosilci. 731 00:34:25,790 --> 00:34:27,920 >> JASON Hirschhorna: (i). 732 00:34:27,920 --> 00:34:33,040 >> ŠTUDENT: In potem mislim, da moraš postaviti podpičje med dvema ints. 733 00:34:33,040 --> 00:34:34,590 >> JASON Hirschhorna: podpičjem Po nič? 734 00:34:34,590 --> 00:34:35,260 >> ŠTUDENT: Ja. 735 00:34:35,260 --> 00:34:40,670 Nato pa podpièje po tem, in praviš, jaz manj kot dolžino. 736 00:34:40,670 --> 00:34:43,250 i dolžino manj kot, ki je spremenljiva. 737 00:34:43,250 --> 00:34:44,590 >> ŠTUDENT: In potem podpičjem. 738 00:34:44,590 --> 00:34:45,790 >> JASON Hirschhorna: Podpičje. 739 00:34:45,790 --> 00:34:46,290 >> ŠTUDENT: i + +. 740 00:34:46,290 --> 00:34:46,909 >> JASON Hirschhorna: i + +. 741 00:34:46,909 --> 00:34:47,530 Tam je naš za loop. 742 00:34:47,530 --> 00:34:48,860 OK, znotraj zanke for. 743 00:34:48,860 --> 00:34:51,670 >> ŠTUDENT: In naredite printf. 744 00:34:51,670 --> 00:34:53,340 >> JASON Hirschhorna: printf. 745 00:34:53,340 --> 00:34:53,889 >> ŠTUDENT: Nosilci. 746 00:34:53,889 --> 00:34:55,130 >> JASON Hirschhorna: oklepaju kotacije. 747 00:34:55,130 --> 00:34:59,930 >> ŠTUDENT: oklepaji, citati,% c / n. 748 00:34:59,930 --> 00:35:00,760 >> JASON Hirschhorna:% c, OK. 749 00:35:00,760 --> 00:35:01,670 >> ŠTUDENT: / n. 750 00:35:01,670 --> 00:35:03,470 >> JASON Hirschhorna: / n. 751 00:35:03,470 --> 00:35:04,410 >> ŠTUDENT: Zaprte kotacije. 752 00:35:04,410 --> 00:35:05,270 >> JASON Hirschhorna: Zaprte kotacije. 753 00:35:05,270 --> 00:35:05,810 >> ŠTUDENT: Vejica. 754 00:35:05,810 --> 00:35:06,860 >> JASON Hirschhorna: Vejica. 755 00:35:06,860 --> 00:35:07,800 >> ŠTUDENT: S. 756 00:35:07,800 --> 00:35:08,070 >> JASON Hirschhorna: S. 757 00:35:08,070 --> 00:35:08,690 >> ŠTUDENT: Konzola i. 758 00:35:08,690 --> 00:35:10,230 >> JASON Hirschhorna: Konzola i. 759 00:35:10,230 --> 00:35:11,520 >> ŠTUDENT: In potem zaprte oklepaje. 760 00:35:11,520 --> 00:35:12,540 >> JASON Hirschhorna: Zaprte oklepaje. 761 00:35:12,540 --> 00:35:13,660 >> ŠTUDENT: In potem podpičjem. 762 00:35:13,660 --> 00:35:13,770 >> JASON Hirschhorna: Podpičje. 763 00:35:13,770 --> 00:35:14,380 Fantastično. 764 00:35:14,380 --> 00:35:16,890 Torej, kaj je rešiti to. 765 00:35:16,890 --> 00:35:19,770 Naredi urok. 766 00:35:19,770 --> 00:35:20,040 Oh fant. 767 00:35:20,040 --> 00:35:22,275 Imam nekaj napak. 768 00:35:22,275 --> 00:35:33,120 Prva napaka na liniji 11, se pravi, Pričakuje izražanja, in to daje 769 00:35:33,120 --> 00:35:36,910 me napaka, drugi int, tam je napaka. 770 00:35:36,910 --> 00:35:38,430 Obstaja nekaj napak tam okoli. 771 00:35:38,430 --> 00:35:41,060 Ali kdo ve, kakšna napaka je to? 772 00:35:41,060 --> 00:35:41,640 Kurt? 773 00:35:41,640 --> 00:35:44,108 >> ŠTUDENT: Mislim, da bi moral biti vejico in ne podpičjem. 774 00:35:44,108 --> 00:35:46,010 >> JASON Hirschhorna: OK, vejica namesto podpičjem. 775 00:35:46,010 --> 00:35:47,340 Tako, da je vse, kar moramo popraviti? 776 00:35:47,340 --> 00:35:47,655 >> ŠTUDENT: Ne 777 00:35:47,655 --> 00:35:48,930 >> JASON Hirschhorna: Kaj pa moramo popraviti? 778 00:35:48,930 --> 00:35:50,920 >> ŠTUDENT: Imamo vključiti string.h. 779 00:35:50,920 --> 00:35:51,680 >> JASON Hirschhorna: Vključi string.h. 780 00:35:51,680 --> 00:35:53,730 Kam moram vključujejo to? 781 00:35:53,730 --> 00:35:57,085 >> ŠTUDENT: Na istem mestu boste vključno druge stvari, kajne 782 00:35:57,085 --> 00:35:59,560 Po vključiti stdio.h. 783 00:35:59,560 --> 00:36:01,610 >> JASON Hirschhorna: Bomo videli, če to deluje prvič, ker na splošno mi je všeč 784 00:36:01,610 --> 00:36:06,360 popraviti eno stvar prvič, in nato zaženite to, in potem videli, napake bomo dobili. 785 00:36:06,360 --> 00:36:11,620 Torej bomo jasno terminal s krmilno n, dajmo narediti urok. 786 00:36:11,620 --> 00:36:15,190 787 00:36:15,190 --> 00:36:18,770 Torej, še ena napaka na liniji 11. 788 00:36:18,770 --> 00:36:20,540 Pričakuje podpičjem. 789 00:36:20,540 --> 00:36:22,640 In sem še vedno pridobivanje napake na tej liniji. 790 00:36:22,640 --> 00:36:25,270 Torej, ni mi dal napačno ga rek ne razume, kaj je strlen, 791 00:36:25,270 --> 00:36:28,980 vendar se mi dali napake na tem linije, tako da kaj je narobe? 792 00:36:28,980 --> 00:36:29,690 Označi? 793 00:36:29,690 --> 00:36:30,940 Marcus. 794 00:36:30,940 --> 00:36:32,570 >> ŠTUDENT: Ali boste morali odstraniti Drugi int izjavo? 795 00:36:32,570 --> 00:36:34,990 >> JASON Hirschhorna: Odstranite Drugi int. 796 00:36:34,990 --> 00:36:35,710 Poskusimo to. 797 00:36:35,710 --> 00:36:37,600 Zdaj jasno terminala. 798 00:36:37,600 --> 00:36:40,130 Naredi urok. 799 00:36:40,130 --> 00:36:40,490 Napake. 800 00:36:40,490 --> 00:36:42,890 Implicitno razglasitvi knjižnico funkcija strlen. 801 00:36:42,890 --> 00:36:44,270 Torej, zdaj bomo videli, da je napaka. 802 00:36:44,270 --> 00:36:45,760 Kaj moramo vključujejo? 803 00:36:45,760 --> 00:36:46,660 >> ŠTUDENT: String.h. 804 00:36:46,660 --> 00:36:51,880 >> JASON Hirschhorna: Vključi string.h, Naredili bomo # include string.h na vrh 805 00:36:51,880 --> 00:36:52,920 na zaslonu. 806 00:36:52,920 --> 00:36:55,450 Rešimo, da bi urok. 807 00:36:55,450 --> 00:36:56,970 Zdaj pripravljajo. 808 00:36:56,970 --> 00:37:01,970 Torej še enkrat, stvari smo morali spomnite linijo 12 v našem za zanko ko 809 00:37:01,970 --> 00:37:08,010 smo njegovo vzpostavitev, int i = 0, dolžina = strlen (e). 810 00:37:08,010 --> 00:37:09,350 >> To je fantastično strategije. 811 00:37:09,350 --> 00:37:12,590 Slog to je super, Oblikovanje to je veliko. 812 00:37:12,590 --> 00:37:15,620 Lahko gremo v teh razlogov kasneje, vendar ta način boste morali poklicati samo 813 00:37:15,620 --> 00:37:19,040 strlen enkrat, namesto vsak ko teče skozi zanko. 814 00:37:19,040 --> 00:37:22,255 Vendar pa morate uporabiti vejico tam in ne boste spet potrebovali int. 815 00:37:22,255 --> 00:37:24,180 Če ste razglasitvi tako tistih spremenljivke skupaj, si 816 00:37:24,180 --> 00:37:26,850 Ne spet potrebovali int. 817 00:37:26,850 --> 00:37:29,820 In potem, če boste za uporabo strlen, kar je še ena knjižnica 818 00:37:29,820 --> 00:37:33,560 funkcija, ki niso vključeni v stdio.h ali cs50.h, da 819 00:37:33,560 --> 00:37:35,310 da boste vključili string.h. 820 00:37:35,310 --> 00:37:35,900 Kurt? 821 00:37:35,900 --> 00:37:39,085 >> ŠTUDENT: Torej, če vam ni treba povedati, kaj dolžina vrsta je, ne da 822 00:37:39,085 --> 00:37:40,290 pomeni, da mora biti int? 823 00:37:40,290 --> 00:37:41,930 Ti ne bi imeli dve različni Vrste tam? 824 00:37:41,930 --> 00:37:43,290 >> JASON Hirschhorna: Torej si lahko imajo dve različni vrsti. 825 00:37:43,290 --> 00:37:45,730 Dolžina je int tukaj, čeprav. 826 00:37:45,730 --> 00:37:48,590 Dolžina je int, ker je vejica in nato isto. 827 00:37:48,590 --> 00:37:50,460 >> ŠTUDENT: Torej predpostavlja, da se dogaja biti enaka kot prva? 828 00:37:50,460 --> 00:37:52,423 >> JASON Hirschhorna: Točno tako. 829 00:37:52,423 --> 00:37:54,970 Da ne gremo, da to storimo zdaj, ampak si lahko vključujejo dva spremenljivk na 830 00:37:54,970 --> 00:37:57,080 isto linijo z eno vrsto podatkov. 831 00:37:57,080 --> 00:38:01,415 Torej int x, y bi ustvarili dve spremenljivki. 832 00:38:01,415 --> 00:38:05,830 833 00:38:05,830 --> 00:38:10,770 Torej int x, y, če se da, daje mi neuporabljen spremenljivka x in y, ker 834 00:38:10,770 --> 00:38:12,020 jih ne uporabljate. 835 00:38:12,020 --> 00:38:17,950 836 00:38:17,950 --> 00:38:21,650 Torej dajanje praznino, preden je le fancy trik, če jih ne uporabljate 837 00:38:21,650 --> 00:38:22,810 nekaj, da jo uporabljajo. 838 00:38:22,810 --> 00:38:26,300 Ampak kot vidite, sem ustvariti x in y na isti liniji z vejico. 839 00:38:26,300 --> 00:38:28,450 To je ustvarjanje dve celi števili tam. 840 00:38:28,450 --> 00:38:31,560 Torej, ja, povsem možno ustvariti dve stvari na isti liniji 841 00:38:31,560 --> 00:38:33,720 ločene z vejico. 842 00:38:33,720 --> 00:38:35,470 Znebimo tistih, četudi. 843 00:38:35,470 --> 00:38:36,370 >> Torej je urok. 844 00:38:36,370 --> 00:38:39,200 Hvala fantje za to kodiranje za nas. 845 00:38:39,200 --> 00:38:43,040 Naj se še enkrat, ga zaženite. 846 00:38:43,040 --> 00:38:44,580 Daj mi niz. 847 00:38:44,580 --> 00:38:45,580 [Neslišno], si naredil največ. 848 00:38:45,580 --> 00:38:47,910 Kaj je niz? 849 00:38:47,910 --> 00:38:48,250 >> ŠTUDENT: Pozdravljeni. 850 00:38:48,250 --> 00:38:50,110 >> JASON Hirschhorna: Pozdravljeni. 851 00:38:50,110 --> 00:38:52,810 H-E-L-L-O, vsak znak v eni vrstici. 852 00:38:52,810 --> 00:38:53,700 Izgleda super. 853 00:38:53,700 --> 00:38:54,750 Dajmo ga ponovno zaženite. 854 00:38:54,750 --> 00:38:56,050 Vedno tekoč, da preverite za primere kotiček. 855 00:38:56,050 --> 00:38:57,750 Kaj je dobro kotiček primer preveriti? 856 00:38:57,750 --> 00:39:00,250 857 00:39:00,250 --> 00:39:00,890 >> ŠTUDENT: številka? 858 00:39:00,890 --> 00:39:02,240 >> JASON Hirschhorna: številka. 859 00:39:02,240 --> 00:39:06,580 Tako da bom dal v 1., in natisne 1. 860 00:39:06,580 --> 00:39:08,970 To je ne prosi za pisma, tako da zdi se, kot številke dela. 861 00:39:08,970 --> 00:39:09,890 Dobro kotiček primeru preveriti. 862 00:39:09,890 --> 00:39:11,740 Kaj je še ena dobra kotiček Primer preveriti? 863 00:39:11,740 --> 00:39:12,420 >> ŠTUDENT: prazen niz. 864 00:39:12,420 --> 00:39:12,910 >> JASON Hirschhorna: Hm? 865 00:39:12,910 --> 00:39:13,880 >> ŠTUDENT: Kot prazen niz. 866 00:39:13,880 --> 00:39:14,400 >> JASON Hirschhorna: Prazen niz. 867 00:39:14,400 --> 00:39:16,730 Torej, da ne dajo v nič. 868 00:39:16,730 --> 00:39:18,660 In kdo bo izpisal? 869 00:39:18,660 --> 00:39:19,090 >> ŠTUDENT: Nič. 870 00:39:19,090 --> 00:39:19,870 >> JASON Hirschhorna: Nič. 871 00:39:19,870 --> 00:39:20,555 Zdi se, kot da deluje. 872 00:39:20,555 --> 00:39:23,790 Lahko poskusite več primerov kotu, toda splošno številke, drugačna podatki 873 00:39:23,790 --> 00:39:26,160 super, da poskusite, pa tudi ni nič. 874 00:39:26,160 --> 00:39:29,180 Nič, nič, negativi so vedno veliko stvari, da poskusite in stvari, ki vas 875 00:39:29,180 --> 00:39:33,140 mora preizkus, stvari zagotovo bomo preizkusiti Preverite za in 50 bo test za. 876 00:39:33,140 --> 00:39:34,720 Imate vprašanja spell.c? 877 00:39:34,720 --> 00:39:37,752 878 00:39:37,752 --> 00:39:39,310 >> OK, vrnimo se nazaj. 879 00:39:39,310 --> 00:39:42,420 Imam eno več programa Za vidva pisati. 880 00:39:42,420 --> 00:39:44,700 Je pozval students.c. 881 00:39:44,700 --> 00:39:49,020 To je program, ki zahteva od uporabnika pet imen, nato naključno izbere 882 00:39:49,020 --> 00:39:51,600 in natisne eno od imen. 883 00:39:51,600 --> 00:39:54,840 Ta program je malo več vključeni od zadnjih dveh smo pisali, 884 00:39:54,840 --> 00:39:58,080 zakaj ne vzamemo pet minut to kodo posamično, nato pa bomo 885 00:39:58,080 --> 00:40:00,130 to kodo kot skupina. 886 00:40:00,130 --> 00:40:03,795 >> Ta program vključuje tudi nekaj stvari Morda niste videli prej, tako da, če 887 00:40:03,795 --> 00:40:06,390 Imate vprašanje o tem, kako Storim, da naj dvigne roko. 888 00:40:06,390 --> 00:40:08,530 Pridem čez in vas usmeril v pravi smeri. 889 00:40:08,530 --> 00:40:10,820 Ampak mi smo tudi to počne zato, ker je to bo dober način, da uvede nekatere 890 00:40:10,820 --> 00:40:12,070 Teme, ki so težavno. 891 00:40:12,070 --> 00:44:14,600 892 00:44:14,600 --> 00:44:15,560 >> Tako da deluje, kajne? 893 00:44:15,560 --> 00:44:17,580 >> ŠTUDENT: Ja. 894 00:44:17,580 --> 00:44:19,180 >> JASON Hirschhorna: Kadarkoli obrniti Problem set, obstaja veliko načinov za 895 00:44:19,180 --> 00:44:20,790 to, nekateri pa so bolj eleganten od drugih. 896 00:44:20,790 --> 00:44:29,000 897 00:44:29,000 --> 00:44:31,110 Dovolite nam, potopite noter 898 00:44:31,110 --> 00:44:32,880 # Include cs50.h. 899 00:44:32,880 --> 00:44:34,250 # Include stdio.h. 900 00:44:34,250 --> 00:44:37,240 int main neveljavna, zavitimi oklepaji. 901 00:44:37,240 --> 00:44:39,430 Znotraj zavitimi oklepaji, Imam dve pripombi. 902 00:44:39,430 --> 00:44:41,500 Prvi je, vprašajte Uporabnik pet imen. 903 00:44:41,500 --> 00:44:46,580 Drugi je, naključno izberejo in izpisal eno od imen. 904 00:44:46,580 --> 00:44:50,250 Torej, kaj je naredil prvo, se posvetujte uporabnik pet imen. 905 00:44:50,250 --> 00:44:53,730 Kdo je prosila uporabnika za pet imen in mi lahko pove, kako to storiti? 906 00:44:53,730 --> 00:44:56,760 907 00:44:56,760 --> 00:44:58,570 Le dve osebi naredil prvi del. 908 00:44:58,570 --> 00:45:00,150 Trije ljudje naredili prvi del. 909 00:45:00,150 --> 00:45:00,670 Štiri, pet. 910 00:45:00,670 --> 00:45:03,140 Tom, kako si to naredil? 911 00:45:03,140 --> 00:45:09,940 >> ŠTUDENT: Ti bi razglasi niz in nato ime, nosilec pet. 912 00:45:09,940 --> 00:45:12,070 >> JASON Hirschhorna: String naštejemo nosilec pet. 913 00:45:12,070 --> 00:45:15,350 Torej, kaj je ta linija dela, Niz ime nosilec pet? 914 00:45:15,350 --> 00:45:17,800 >> ŠTUDENT: Ti bi razglasila nabor nizov. 915 00:45:17,800 --> 00:45:19,000 >> JASON Hirschhorna: To je nabor nizov. 916 00:45:19,000 --> 00:45:21,590 Koliko nizov bodo da se prilega tukaj? 917 00:45:21,590 --> 00:45:22,010 >> ŠTUDENT: Pet. 918 00:45:22,010 --> 00:45:22,320 >> JASON Hirschhorna: Pet. 919 00:45:22,320 --> 00:45:22,660 Odlično. 920 00:45:22,660 --> 00:45:26,360 Bomo pa imena, ker pokličite bomo dobili več narave. 921 00:45:26,360 --> 00:45:27,790 OK, zdaj? 922 00:45:27,790 --> 00:45:29,270 >> ŠTUDENT: In potem si imajo za zanke - 923 00:45:29,270 --> 00:45:30,060 >> JASON Hirschhorna: Za zanke. 924 00:45:30,060 --> 00:45:33,035 >> Študent: - za i = 0. 925 00:45:33,035 --> 00:45:37,040 >> JASON Hirschhorna: for (int i = 0. 926 00:45:37,040 --> 00:45:38,270 >> ŠTUDENT: Podpičje. 927 00:45:38,270 --> 00:45:38,880 >> JASON Hirschhorna: Podpičje. 928 00:45:38,880 --> 00:45:39,790 >> ŠTUDENT: Jaz manj kot pet. 929 00:45:39,790 --> 00:45:41,310 >> JASON Hirschhorna: Jaz manj kot pet. 930 00:45:41,310 --> 00:45:42,230 >> ŠTUDENT: Podpičje. 931 00:45:42,230 --> 00:45:42,560 >> JASON Hirschhorna: Podpičje. 932 00:45:42,560 --> 00:45:43,380 >> ŠTUDENT: i + +. 933 00:45:43,380 --> 00:45:46,050 >> JASON Hirschhorna: i + +. 934 00:45:46,050 --> 00:45:47,100 >> ŠTUDENT: In potem zaprte oklepaje. 935 00:45:47,100 --> 00:45:48,600 >> JASON Hirschhorna: Zaprte oklepajev, in potem nekaj zavitih oklepajih. 936 00:45:48,600 --> 00:45:50,050 Znotraj zavite oklepaje? 937 00:45:50,050 --> 00:45:51,423 >> ŠTUDENT: In potem printf. 938 00:45:51,423 --> 00:45:52,535 >> JASON Hirschhorna: printf. 939 00:45:52,535 --> 00:45:56,200 >> ŠTUDENT: Odprte oklepajev, ime% d. 940 00:45:56,200 --> 00:45:57,090 >> JASON Hirschhorna: Oprostite? 941 00:45:57,090 --> 00:45:57,660 >> Študent: Ime. 942 00:45:57,660 --> 00:45:58,200 >> JASON Hirschhorna: Ime. 943 00:45:58,200 --> 00:46:01,700 >> ŠTUDENT: In potem prostora, in potem je% d. 944 00:46:01,700 --> 00:46:02,950 >> JASON Hirschhorna: Ime, prostor,% d. 945 00:46:02,950 --> 00:46:05,630 946 00:46:05,630 --> 00:46:10,820 >> Študent: In / n in zapreti. 947 00:46:10,820 --> 00:46:15,070 >> JASON Hirschhorna: Torej ime, prostor, % D / n, zaprte oklepaje. 948 00:46:15,070 --> 00:46:17,730 >> ŠTUDENT: Vejica, i + 1. 949 00:46:17,730 --> 00:46:19,390 Žal mi je. 950 00:46:19,390 --> 00:46:21,040 Zaprta citiram, nato vejica, i +1. 951 00:46:21,040 --> 00:46:24,400 >> JASON Hirschhorna: Zaprto citiram, vejica, i +1. 952 00:46:24,400 --> 00:46:25,850 >> ŠTUDENT: Da. 953 00:46:25,850 --> 00:46:27,650 In potem naslednji linija - 954 00:46:27,650 --> 00:46:29,400 >> JASON Hirschhorna: i + 1. 955 00:46:29,400 --> 00:46:31,600 >> ŠTUDENT: Da. 956 00:46:31,600 --> 00:46:36,440 In potem naslednji diapozitiv je nosilec imena i. 957 00:46:36,440 --> 00:46:39,000 >> JASON Hirschhorna: Naslednja vrstica je nosilec imena i. 958 00:46:39,000 --> 00:46:41,360 >> ŠTUDENT: = dobili niz. 959 00:46:41,360 --> 00:46:43,460 >> JASON Hirschhorna: = Get - 960 00:46:43,460 --> 00:46:44,510 Kapital G-E-T - 961 00:46:44,510 --> 00:46:45,530 niz. 962 00:46:45,530 --> 00:46:47,800 Ups, se opravičujem. 963 00:46:47,800 --> 00:46:49,050 >> ŠTUDENT: Odprte, zaprte oklepaje in - 964 00:46:49,050 --> 00:46:50,940 >> JASON Hirschhorna: Odprto, zaprto paren. 965 00:46:50,940 --> 00:46:51,030 >> ŠTUDENT: Podpičje. 966 00:46:51,030 --> 00:46:52,500 >> JASON Hirschhorna: Podpičje. 967 00:46:52,500 --> 00:46:57,545 OK, tako da inicializacijo niz strune, imena, in nato skozi 968 00:46:57,545 --> 00:47:02,720 za zanke, in petkrat izpisal nekaj poziv za uporabnika in nato shranite 969 00:47:02,720 --> 00:47:03,360 pet nizov. 970 00:47:03,360 --> 00:47:08,090 Ima kdo vse Prilagoditve to? 971 00:47:08,090 --> 00:47:10,030 Tom, mislim, da vsi se strinja s tabo. 972 00:47:10,030 --> 00:47:10,880 Izgleda precej dobro. 973 00:47:10,880 --> 00:47:11,660 OK. 974 00:47:11,660 --> 00:47:14,830 Zakaj si moram 1, čeprav? 975 00:47:14,830 --> 00:47:18,000 >> ŠTUDENT: Mislim, nima da, vendar sem 1 tako, da je 976 00:47:18,000 --> 00:47:19,700 ime enega, če naštejemo pet. 977 00:47:19,700 --> 00:47:21,930 V nasprotnem primeru bi bilo ime nič, če naštejemo štiri. 978 00:47:21,930 --> 00:47:24,400 >> JASON Hirschhorna: Torej si bom 1 ker drugače bi imel 979 00:47:24,400 --> 00:47:27,060 natisne nič skozi štiri, saj to je, kako računalniki mislijo, ampak ljudje 980 00:47:27,060 --> 00:47:28,530 Res ne berejo tako. 981 00:47:28,530 --> 00:47:30,190 To je še ena stvar, boste naleteli. 982 00:47:30,190 --> 00:47:33,210 Včasih, ko natisnete nekaj za uporabnika, boste želeli, da bi bilo 983 00:47:33,210 --> 00:47:35,733 malo lepša, in delaš i 1 je v tem primeru 984 00:47:35,733 --> 00:47:37,430 Tako, da bi bilo lepše. 985 00:47:37,430 --> 00:47:41,380 >> Vidim tudi pet dvakrat, ime niza je pet, i je manj kot pet. 986 00:47:41,380 --> 00:47:42,430 Vem, kje si dobil pet. 987 00:47:42,430 --> 00:47:44,890 Si ga dobil od mene povedali vam pet imen. 988 00:47:44,890 --> 00:47:49,000 Ampak, če bomo želeli, da bi kodo malo bolj robusten, ena stvar, ki jo 989 00:47:49,000 --> 00:47:53,110 lahko pa je tukaj, zunaj notr, da bi lahko storili kaj takega, 990 00:47:53,110 --> 00:47:57,070 # Define, in smo lahko naredili imeni 5. 991 00:47:57,070 --> 00:48:01,580 992 00:48:01,580 --> 00:48:05,390 >> Torej v bistvu, kjer pišem kapitala N, kapital, kapitalske M, kapital E, 993 00:48:05,390 --> 00:48:08,890 črko S, da niz bo zamenjal da je s 5. v kodi. 994 00:48:08,890 --> 00:48:11,530 995 00:48:11,530 --> 00:48:13,445 Ali naj samo call it - bomo samo je številka za klic. 996 00:48:13,445 --> 00:48:17,190 Torej sem opredelitev vseh kapice ŠTEVILO biti 5. 997 00:48:17,190 --> 00:48:22,830 >> Torej, zdaj, kjer imam številko 5, sem Lahko ga nadomestiti z vsemi ŠTEVILO kape. 998 00:48:22,830 --> 00:48:26,880 In zdaj, če želim spremeniti številko imen, vse kar morate storiti je, 999 00:48:26,880 --> 00:48:31,350 ta linija, linija štiri, kjer imam # Define številko 5, spremeniti, da do 10, 1000 00:48:31,350 --> 00:48:34,340 ali spremeniti, da 4. 1001 00:48:34,340 --> 00:48:37,400 Ko kodo dobi več, ne boš dogaja, da se spomnimo vseh krajev vas 1002 00:48:37,400 --> 00:48:41,630 dajo koliko imen si želel, in v Da bi za vas, da ne zamudite eno, to je 1003 00:48:41,630 --> 00:48:45,490 dober način za to, da bi našli nekaj up top in potem samo uporabiti ta stavek 1004 00:48:45,490 --> 00:48:46,400 Povsod po kodi. 1005 00:48:46,400 --> 00:48:46,780 Marcus? 1006 00:48:46,780 --> 00:48:49,780 >> ŠTUDENT: Je to slogovno najprimernejša kot globalno določanje 1007 00:48:49,780 --> 00:48:51,270 stalne n? 1008 00:48:51,270 --> 00:48:53,760 >> JASON Hirschhorna: Torej je to slogovno raje kot na svetovni ravni 1009 00:48:53,760 --> 00:48:54,980 določanje konstantno n? 1010 00:48:54,980 --> 00:48:59,036 Torej pravite, da bi lahko narediti, int število = 5? 1011 00:48:59,036 --> 00:49:01,300 >> ŠTUDENT: Ali imajo soglasnike v C ali ne? 1012 00:49:01,300 --> 00:49:02,720 >> JASON Hirschhorna: Ali const - v enaki. 1013 00:49:02,720 --> 00:49:04,275 Torej pravite, da samo Globalna spremenljivka? 1014 00:49:04,275 --> 00:49:04,990 >> ŠTUDENT: Ja. 1015 00:49:04,990 --> 00:49:08,670 >> JASON Hirschhorna: Torej slogovno, ni nujno, da je tik 1016 00:49:08,670 --> 00:49:12,050 odgovor, vendar sta oba od teh so boljše kot samo metanje teh naključno 1017 00:49:12,050 --> 00:49:12,960 številke skozi svojo kodo. 1018 00:49:12,960 --> 00:49:14,650 Mi jim čarobne številke klic. 1019 00:49:14,650 --> 00:49:16,450 Ko gledam na svojo kodo ali ko kdo je branje skozi njo, so 1020 00:49:16,450 --> 00:49:18,790 Ne želim le teh naključnih števil da ne smisla. 1021 00:49:18,790 --> 00:49:22,420 Celo število 26, ki je na splošno število črk v abecedi, 1022 00:49:22,420 --> 00:49:28,870 je bolje opredeliti abecede do vrha in shranite številko 26 v tem nizu, 1023 00:49:28,870 --> 00:49:29,550 če je to smiselno. 1024 00:49:29,550 --> 00:49:33,210 >> Ali na problem določiti enega, namesto - še enkrat, nismo govorili o tem ob 1025 00:49:33,210 --> 00:49:37,020 čas, vendar namesto samo metanje v 25. povsod ali 10, lahko 1026 00:49:37,020 --> 00:49:41,860 shranite številko 25 kot četrtino ali 10, kot DIME, in da se olajša 1027 00:49:41,860 --> 00:49:44,140 Kdor je bral po vašem kodo razumeti, zakaj ste izbrali to številko. 1028 00:49:44,140 --> 00:49:46,540 In tudi za vas, če si kdaj želeli, da posodobiti svojo kodo, da omogoča malo 1029 00:49:46,540 --> 00:49:47,290 bolj robusten. 1030 00:49:47,290 --> 00:49:48,070 Ja? 1031 00:49:48,070 --> 00:49:50,830 >> ŠTUDENT: Ali je ta oznaka tudi dogaja na voljo za nas po? 1032 00:49:50,830 --> 00:49:52,453 >> JASON Hirschhorna: Vse te oznake da smo napisali skupaj 1033 00:49:52,453 --> 00:49:54,620 bodo po e-pošti fantje in voljo. 1034 00:49:54,620 --> 00:49:55,740 Da. 1035 00:49:55,740 --> 00:49:58,040 Tako da od uporabnika zahteva za pet imen. 1036 00:49:58,040 --> 00:50:00,280 Naključno izberejo in tiskanje eno od imen. 1037 00:50:00,280 --> 00:50:00,940 Kdo je naredil to linijo? 1038 00:50:00,940 --> 00:50:02,230 To je najtežje linija tukaj. 1039 00:50:02,230 --> 00:50:02,450 Oprostite, Tom. 1040 00:50:02,450 --> 00:50:05,510 Si naredil res dobro delo, vendar to je malo težje. 1041 00:50:05,510 --> 00:50:06,600 Marcus, pojdi naprej. 1042 00:50:06,600 --> 00:50:10,180 >> ŠTUDENT: No najprej, da boš morajo vsebovati stdlib.h in time.h. 1043 00:50:10,180 --> 00:50:13,200 >> JASON Hirschhorna: Praviš, da na top, vključi še dva knjižnice. 1044 00:50:13,200 --> 00:50:18,830 Hočeš, da se vključi S-t-D-L-I-b dot H, Standard knjižnica, in kaj 1045 00:50:18,830 --> 00:50:19,760 V drugi? 1046 00:50:19,760 --> 00:50:21,010 >> ŠTUDENT: Time.h. 1047 00:50:21,010 --> 00:50:25,130 1048 00:50:25,130 --> 00:50:27,840 >> JASON Hirschhorna: # include time.h. 1049 00:50:27,840 --> 00:50:29,470 Torej, to sta dve več knjižnic. 1050 00:50:29,470 --> 00:50:31,790 Predvidevam, zdaj bomo uporabljali funkcije, ki so vsebovani v teh 1051 00:50:31,790 --> 00:50:34,240 dva, kar je razlog, zakaj je potrebno jih vključiti? 1052 00:50:34,240 --> 00:50:36,980 >> ŠTUDENT: Torej, najprej si boš želel pisati srand. 1053 00:50:36,980 --> 00:50:38,770 >> JASON Hirschhorna: Srand. 1054 00:50:38,770 --> 00:50:42,070 >> ŠTUDENT: (čas (0) 1055 00:50:42,070 --> 00:50:42,700 >> JASON Hirschhorna: Žal mi je. 1056 00:50:42,700 --> 00:50:45,580 Srand (čas ( 1057 00:50:45,580 --> 00:50:46,890 >> ŠTUDENT: 0. 1058 00:50:46,890 --> 00:50:47,230 >> JASON Hirschhorna: 0. 1059 00:50:47,230 --> 00:50:49,990 >> ŠTUDENT:)), podpičje. 1060 00:50:49,990 --> 00:50:51,320 >> JASON Hirschhorna: Še en zaprt paren? 1061 00:50:51,320 --> 00:50:51,650 Podpičjem. 1062 00:50:51,650 --> 00:50:53,610 Jaz bom samo zamenjati vaša nič z NULL. 1063 00:50:53,610 --> 00:50:55,980 To bom o isti stvari, ampak na splošno, boste videli nič, kar 1064 00:50:55,980 --> 00:50:57,720 bomo govorili o tem vrstica v drugi. 1065 00:50:57,720 --> 00:50:58,580 >> ŠTUDENT: Slogovno bolje? 1066 00:50:58,580 --> 00:51:02,240 >> JASON Hirschhorna: Na splošno ljudje Pravica NULL, ampak ista stvar. 1067 00:51:02,240 --> 00:51:05,010 >> ŠTUDENT: In potem int ime. 1068 00:51:05,010 --> 00:51:06,490 >> JASON Hirschhorna: Int ime. 1069 00:51:06,490 --> 00:51:07,280 >> ŠTUDENT: = 1070 00:51:07,280 --> 00:51:07,780 >> JASON Hirschhorna: = 1071 00:51:07,780 --> 00:51:08,580 >> ŠTUDENT: Rand. 1072 00:51:08,580 --> 00:51:09,340 >> JASON Hirschhorna: Rand. 1073 00:51:09,340 --> 00:51:10,420 >> ŠTUDENT: () 1074 00:51:10,420 --> 00:51:11,500 >> JASON Hirschhorna: () 1075 00:51:11,500 --> 00:51:12,850 >> ŠTUDENT: Modul številko. 1076 00:51:12,850 --> 00:51:14,310 >> JASON Hirschhorna: Kaj modulu? 1077 00:51:14,310 --> 00:51:14,970 Lik? 1078 00:51:14,970 --> 00:51:16,000 Odstotkov lik? 1079 00:51:16,000 --> 00:51:17,790 >> ŠTUDENT: Odstotek znak. 1080 00:51:17,790 --> 00:51:19,521 ŠTEVILO modulu, ki ste jo določili up top. 1081 00:51:19,521 --> 00:51:22,030 >> JASON Hirschhorna: ŠTEVILO modula. 1082 00:51:22,030 --> 00:51:24,052 >> ŠTUDENT: In potem podpičjem. 1083 00:51:24,052 --> 00:51:24,660 >> JASON Hirschhorna: Podpičje. 1084 00:51:24,660 --> 00:51:27,820 >> ŠTUDENT: In potem nova linija, printf. 1085 00:51:27,820 --> 00:51:28,460 >> JASON Hirschhorna: printf. 1086 00:51:28,460 --> 00:51:29,730 >> ŠTUDENT: ( 1087 00:51:29,730 --> 00:51:30,620 >> JASON Hirschhorna: ( 1088 00:51:30,620 --> 00:51:31,650 >> ŠTUDENT: " 1089 00:51:31,650 --> 00:51:32,630 >> JASON Hirschhorna: " 1090 00:51:32,630 --> 00:51:35,320 >> ŠTUDENT:% s / n 1091 00:51:35,320 --> 00:51:37,220 >> JASON Hirschhorna:% s / n 1092 00:51:37,220 --> 00:51:38,420 >> ŠTUDENT: " 1093 00:51:38,420 --> 00:51:40,640 >> JASON Hirschhorna:% s / n " 1094 00:51:40,640 --> 00:51:43,540 >> ŠTUDENT: Vejica, vesoljske imena. 1095 00:51:43,540 --> 00:51:44,350 >> JASON Hirschhorna: Space - 1096 00:51:44,350 --> 00:51:46,300 >> ŠTUDENT: Oh, mislim, kaj ni mu pravimo tukaj? 1097 00:51:46,300 --> 00:51:48,640 >> JASON Hirschhorna: to imena Poklicali smo. 1098 00:51:48,640 --> 00:51:52,360 >> ŠTUDENT: oklepaj, ime. 1099 00:51:52,360 --> 00:51:55,090 >> JASON Hirschhorna: oklepaj, ime. 1100 00:51:55,090 --> 00:51:55,850 >> ŠTUDENT: Zaprta nosilec. 1101 00:51:55,850 --> 00:51:56,490 >> JASON Hirschhorna: Zaprta nosilec. 1102 00:51:56,490 --> 00:51:57,460 >> ŠTUDENT:) 1103 00:51:57,460 --> 00:51:58,800 >> JASON Hirschhorna:) 1104 00:51:58,800 --> 00:51:59,440 >> ŠTUDENT: Podpičje. 1105 00:51:59,440 --> 00:52:00,410 >> JASON Hirschhorna: Podpičje. 1106 00:52:00,410 --> 00:52:01,500 OK, dajmo rešiti. 1107 00:52:01,500 --> 00:52:04,410 Naredimo to kodo. 1108 00:52:04,410 --> 00:52:06,365 Študentov. 1109 00:52:06,365 --> 00:52:07,100 Oglejmo zagnati to kodo. 1110 00:52:07,100 --> 00:52:08,480 Študentov. 1111 00:52:08,480 --> 00:52:11,630 Ne. / Študent. . / Študenti. 1112 00:52:11,630 --> 00:52:12,870 Ime enega. 1113 00:52:12,870 --> 00:52:15,490 Bomo rekli Davidu. 1114 00:52:15,490 --> 00:52:18,070 Ime dva, RJ. 1115 00:52:18,070 --> 00:52:20,561 Ime tri, Rob. 1116 00:52:20,561 --> 00:52:22,490 Ime štiri, Lucas. 1117 00:52:22,490 --> 00:52:26,060 Ime pet, Joseph. 1118 00:52:26,060 --> 00:52:28,850 In potem se natisne Jožefa znova. 1119 00:52:28,850 --> 00:52:31,730 >> Torej, kaj mi to znova zagnati. 1120 00:52:31,730 --> 00:52:32,460 Naj jaz ista imena. 1121 00:52:32,460 --> 00:52:39,760 David, RJ, Rob, Lucas, Joseph. 1122 00:52:39,760 --> 00:52:41,070 In to mi je dal Davidu ta čas. 1123 00:52:41,070 --> 00:52:43,030 Tako sem storil isto stvar, vendar pa je me je druga stvar, in to je 1124 00:52:43,030 --> 00:52:45,410 ker, seveda, kar zahtevamo za naključno ime. 1125 00:52:45,410 --> 00:52:50,950 Zato mislim, temelji off me tava po sobi, da večina ljudi 1126 00:52:50,950 --> 00:52:55,960 Verjetno je prvi del pravico, uvedbo tega matriko, nato pa dobili 1127 00:52:55,960 --> 00:52:56,430 vsa imena. 1128 00:52:56,430 --> 00:52:59,320 Govorim o vrsticah 10 do 16 let. 1129 00:52:59,320 --> 00:53:02,150 Ampak linije 18 do 21, so verjetno nekaj stvari, ki jih niste videli, 1130 00:53:02,150 --> 00:53:03,750 tako da gremo skozi njih. 1131 00:53:03,750 --> 00:53:10,390 >> Ta linija, srand čas NULL je v bistvu - 1132 00:53:10,390 --> 00:53:14,300 Žal pa preskočite linija, rand (). 1133 00:53:14,300 --> 00:53:17,320 To vam daje naključno število, naključno celo število. 1134 00:53:17,320 --> 00:53:19,630 In če ste zadeli človeka rand, ki Veliko vas naredil - 1135 00:53:19,630 --> 00:53:21,530 M-N-prostor-R-N-R - 1136 00:53:21,530 --> 00:53:25,910 v terminalu, kot je ta, M-N- Prostor R-N-D, pritisnite tipko Enter. 1137 00:53:25,910 --> 00:53:30,490 Ti bi prišli do priročnika in bi lahko prebrali, da je rand 1138 00:53:30,490 --> 00:53:34,260 Ukaz izhodi num psevdo naključne bajte Po sejanje naključno število 1139 00:53:34,260 --> 00:53:35,510 generator enkrat. 1140 00:53:35,510 --> 00:53:38,450 1141 00:53:38,450 --> 00:53:39,700 >> Tako da je opis. 1142 00:53:39,700 --> 00:53:43,860 1143 00:53:43,860 --> 00:53:46,800 To je tisto, kar počne rand, daje vam naključno število, ko 1144 00:53:46,800 --> 00:53:48,610 pokličete to funkcijo. 1145 00:53:48,610 --> 00:53:53,140 Žal, to ni res naključno ker če pokličete naključno 1146 00:53:53,140 --> 00:53:55,970 ne da bi nekaj semen, nekateri pridobivanje Izhodišče bo vedno izbere 1147 00:53:55,970 --> 00:53:59,100 enak tistemu in uporablja formula za določitev naslednjo. 1148 00:53:59,100 --> 00:54:01,730 Torej, če pokličete rand, bo to samo vam isto stvar. 1149 00:54:01,730 --> 00:54:02,610 To bo zelo predvidljivo. 1150 00:54:02,610 --> 00:54:03,790 To dejansko ne bo naključno. 1151 00:54:03,790 --> 00:54:09,610 >> Torej, kaj moramo storiti, je na Marcusova Navodila za mano, so semena rand 1152 00:54:09,610 --> 00:54:13,810 z nečim drugim, kar je tisto, Funkcija srand ne. 1153 00:54:13,810 --> 00:54:18,055 To seme Rand z nekaj malo več naključno kot isto stvar, in 1154 00:54:18,055 --> 00:54:23,360 mu je to sejanje s časom NULL, ki je, samo po dogovoru, tok 1155 00:54:23,360 --> 00:54:24,650 čas v sekundah. 1156 00:54:24,650 --> 00:54:29,790 >> Torej si ob predpostavki, da so vsi ne tekoč teči kodo na točno 1157 00:54:29,790 --> 00:54:33,620 isto sekundo, tako da je varno stavo, da Čas NULL se dogaja, da je drugačen 1158 00:54:33,620 --> 00:54:35,250 vsakič, ko je ta koda deluje. 1159 00:54:35,250 --> 00:54:39,020 Varno stavo, da bo tako srand semena rand z nekaj drugačnega vsakem 1160 00:54:39,020 --> 00:54:39,990 sam čas. 1161 00:54:39,990 --> 00:54:44,110 Torej je po dogovoru, ko bomo želeli naključno število, pišemo te vrstice, 1162 00:54:44,110 --> 00:54:50,540 srand čas NULL, da bi nam veliko bolj naključno seme, potem pa tečemo 1163 00:54:50,540 --> 00:54:52,080 rand, ki nam daje naključno število. 1164 00:54:52,080 --> 00:54:52,840 Ja? 1165 00:54:52,840 --> 00:54:54,140 >> ŠTUDENT: Ali lahko poveste kaj misliš s semenom? 1166 00:54:54,140 --> 00:54:55,630 >> JASON Hirschhorna: Seed kot v - 1167 00:54:55,630 --> 00:54:58,730 tako rand se dogaja, da poberem nekaj več in da se bo uporaba nekaterih 1168 00:54:58,730 --> 00:55:00,060 Formula do tja. 1169 00:55:00,060 --> 00:55:03,250 Tako se dogaja, da začnete z nečim in ga nato v nekaj, kar temelji 1170 00:55:03,250 --> 00:55:03,890 off te formule. 1171 00:55:03,890 --> 00:55:06,090 Če ste vedno ji isto stvar, to je vedno tekoč, da se spremeni v 1172 00:55:06,090 --> 00:55:06,790 ista stvar. 1173 00:55:06,790 --> 00:55:08,450 Tako da prvo stvar, ki jo da je seme. 1174 00:55:08,450 --> 00:55:10,880 Torej hočeš, da ga nekaj razlikuje začeti s, in tako 1175 00:55:10,880 --> 00:55:12,610 ga bo spremenila v nekaj drugega. 1176 00:55:12,610 --> 00:55:15,840 >> In potem končno, linija 20, Ta% se imenuje 1177 00:55:15,840 --> 00:55:17,470 modulu, in da je zmedeno. 1178 00:55:17,470 --> 00:55:19,850 To je nekaj, kar je nekoliko drugačna tukaj, da vam ni res 1179 00:55:19,850 --> 00:55:22,240 imajo v resničnem življenju matematiki. 1180 00:55:22,240 --> 00:55:27,430 Ampak v bistvu, ko ste vzeli velikana število in si razdeliti v C, kar 1181 00:55:27,430 --> 00:55:29,482 se zgodi, da preostanek? 1182 00:55:29,482 --> 00:55:30,510 >> ŠTUDENT: It gets okrnjena. 1183 00:55:30,510 --> 00:55:31,220 >> JASON Hirschhorna: It gets okrnjena. 1184 00:55:31,220 --> 00:55:35,200 Torej 20 deljeno s 3 je kaj? 1185 00:55:35,200 --> 00:55:37,950 Kaj to vrniti vi, 20 deljeno s 3. 1186 00:55:37,950 --> 00:55:39,260 Žal, 10 deljeno s 3. 1187 00:55:39,260 --> 00:55:41,062 Kaj to vrne k tebi? 1188 00:55:41,062 --> 00:55:41,540 >> ŠTUDENT: [neslišno]. 1189 00:55:41,540 --> 00:55:45,170 >> JASON Hirschhorna: 10 deljeno s 3 le vrne 3, ne 3 1 ostalo. 1190 00:55:45,170 --> 00:55:51,490 Torej, kaj 10 modulo 3 vrne je le preostanek, 1. 1191 00:55:51,490 --> 00:55:54,020 Torej, če ste želeli vedeti, kaj se 10 deli po 3 dejansko bil, bi si 1192 00:55:54,020 --> 00:55:58,950 naredite 10 deljeno s 3, ki ste jo dobili vaše 3, in potem boš naredil 10 modulo 3, in 1193 00:55:58,950 --> 00:55:59,860 boš dobil 1. 1194 00:55:59,860 --> 00:56:04,630 Pa poglejmo se zavedaš, da 10 deli za 3 je 3, ostanek 1. 1195 00:56:04,630 --> 00:56:07,990 >> In v tej vrstici, bi bilo rand celo število v bistvu. 1196 00:56:07,990 --> 00:56:12,660 Torej modulu je rekel, ga delimo s število, ki je v tem primeru 5. 1197 00:56:12,660 --> 00:56:16,420 In če si kdaj delimo s številom, celo mora biti vedno manjši od 1198 00:56:16,420 --> 00:56:17,590 to število. 1199 00:56:17,590 --> 00:56:22,200 Torej, če ste tako s številko 5, preostanek pa se bo vedno 1200 00:56:22,200 --> 00:56:23,396 nič skozi štiri. 1201 00:56:23,396 --> 00:56:25,520 To je samo, kako matematika izide. 1202 00:56:25,520 --> 00:56:29,700 >> Tako veliko število moduloed po manjši Številka bo vedno vrnil 1203 00:56:29,700 --> 00:56:33,530 Preostanek in bo vedno vrnil nekaj število, ki je manjše od števila vas 1204 00:56:33,530 --> 00:56:34,693 deljeno s. 1205 00:56:34,693 --> 00:56:37,920 Ima kdo kakšna vprašanja o modulu, ker bo prišel zelo, 1206 00:56:37,920 --> 00:56:41,450 zelo priročen, zato želim, da poskrbite, da vsi to razume? 1207 00:56:41,450 --> 00:56:43,710 Kul. 1208 00:56:43,710 --> 00:56:46,000 In smo videli, da je ta program delal. 1209 00:56:46,000 --> 00:56:50,280 OK, gremo naprej. 1210 00:56:50,280 --> 00:56:52,970 >> Torej naslednjič, smo šli v funkcije, in smo šli 1211 00:56:52,970 --> 00:56:55,580 skozi preostanek te stvari precej hitro, ker želim priti do 1212 00:56:55,580 --> 00:56:57,150 argumenti v ukazni vrstici. 1213 00:56:57,150 --> 00:57:00,330 Torej funkcije so v bistvu, kot ste videli, črne skrinjice. 1214 00:57:00,330 --> 00:57:04,290 Vzamejo stvari v imenovanih parametrov, storijo nekaj za njih, bodisi 1215 00:57:04,290 --> 00:57:06,990 jih spremenite ali ustvarite nekaj stranskih učinkov, in končno, pljuvajo 1216 00:57:06,990 --> 00:57:09,530 Nekaj ​​je, kar je vrne vrednost. 1217 00:57:09,530 --> 00:57:12,495 Lahko kdorkoli povej mi en razlog, zakaj bi jih uporabljamo funkcije? 1218 00:57:12,495 --> 00:57:15,870 1219 00:57:15,870 --> 00:57:16,360 Kdo? 1220 00:57:16,360 --> 00:57:19,360 Eden od razlogov, zakaj sva se s funkcijami? 1221 00:57:19,360 --> 00:57:21,280 Kdo? 1222 00:57:21,280 --> 00:57:22,700 Videl sem dve roki. 1223 00:57:22,700 --> 00:57:23,590 Kaj je dober razlog? 1224 00:57:23,590 --> 00:57:24,930 Marcus? 1225 00:57:24,930 --> 00:57:27,730 >> ŠTUDENT: Če morate poklicati enako kos kode večkrat. 1226 00:57:27,730 --> 00:57:29,150 >> JASON Hirschhorna: OK, če potrebujete poklicati isti kos 1227 00:57:29,150 --> 00:57:30,040 kodo večkrat. 1228 00:57:30,040 --> 00:57:32,470 Jeff, si imel drugačen razlog? 1229 00:57:32,470 --> 00:57:34,230 >> ŠTUDENT: Samo tako, da lahko kodo manj. 1230 00:57:34,230 --> 00:57:35,070 >> JASON Hirschhorna: Lahko kodo manj. 1231 00:57:35,070 --> 00:57:35,320 Prav. 1232 00:57:35,320 --> 00:57:38,720 Če želite nekaj storiti veliko - 1233 00:57:38,720 --> 00:57:41,720 v prejšnjem zakoniku, lahko dobim pisno dobili String petkrat, vendar 1234 00:57:41,720 --> 00:57:44,620 za zanke omogoča videti lepše in moraš napisati manj kode. 1235 00:57:44,620 --> 00:57:45,760 Funkcije so podobna ideja. 1236 00:57:45,760 --> 00:57:48,720 Če želim, da storijo enako stvar veliko, premakniti funkcijo in klic, da 1237 00:57:48,720 --> 00:57:49,610 deluje vsakič. 1238 00:57:49,610 --> 00:57:51,190 Da bo naredil tisto stvar za vas. 1239 00:57:51,190 --> 00:57:53,740 To je velik razlog uporaba funkcij. 1240 00:57:53,740 --> 00:57:54,870 >> Torej anatomija funkcijo. 1241 00:57:54,870 --> 00:57:56,670 Funkcija bo na splošno videti takole. 1242 00:57:56,670 --> 00:57:59,280 Da bomo začeli z vrsto vračanja, potem boste dobili ime. 1243 00:57:59,280 --> 00:58:02,935 To bo trajalo argumente, drugače znan kot parametre in znotraj 1244 00:58:02,935 --> 00:58:05,290 ti zavitih oklepajih, boste napišite kodo. 1245 00:58:05,290 --> 00:58:07,150 >> Videli smo eno funkcijo veliko. 1246 00:58:07,150 --> 00:58:09,160 To je glavno. 1247 00:58:09,160 --> 00:58:13,820 Tukaj je glavni prikazan na da anatomija sem imel prej. 1248 00:58:13,820 --> 00:58:15,525 Kaj int tukaj pomenilo? 1249 00:58:15,525 --> 00:58:18,534 1250 00:58:18,534 --> 00:58:19,450 Kaj int pomeni? 1251 00:58:19,450 --> 00:58:21,026 Ko pišem int main (void). 1252 00:58:21,026 --> 00:58:21,740 >> ŠTUDENT: Tip Return? 1253 00:58:21,740 --> 00:58:22,350 >> JASON Hirschhorna: Oprostite? 1254 00:58:22,350 --> 00:58:23,170 >> ŠTUDENT: tip donos. 1255 00:58:23,170 --> 00:58:24,820 >> JASON Hirschhorna: Int je vrnitev vrsto, ravno prav. 1256 00:58:24,820 --> 00:58:25,870 Glavni vrne int. 1257 00:58:25,870 --> 00:58:28,678 Kaj je glavni? 1258 00:58:28,678 --> 00:58:29,510 >> ŠTUDENT: Ime Funkcija. 1259 00:58:29,510 --> 00:58:30,800 >> JASON Hirschhorna: Glavna je Ime funkcije. 1260 00:58:30,800 --> 00:58:31,510 Točno tako. 1261 00:58:31,510 --> 00:58:31,840 In neveljaven? 1262 00:58:31,840 --> 00:58:33,190 Kaj je ničen v oklepajih? 1263 00:58:33,190 --> 00:58:36,650 1264 00:58:36,650 --> 00:58:42,030 >> Študent: To ne bo vsak zunanji vrednost. 1265 00:58:42,030 --> 00:58:42,930 >> JASON Hirschhorna: Torej nična - 1266 00:58:42,930 --> 00:58:43,240 prav. 1267 00:58:43,240 --> 00:58:45,940 Znotraj oklepajev, smo se parametre ali argumenti 1268 00:58:45,940 --> 00:58:48,480 funkcija je, kaj se dogaja notranjosti črne skrinjice. 1269 00:58:48,480 --> 00:58:50,760 Ko pišete praznino, praviš to traja nič podati 1270 00:58:50,760 --> 00:58:53,802 Torej int main void pomeni Main je ne sprejema ničesar noter 1271 00:58:53,802 --> 00:58:56,950 >> Znotraj zavitimi oklepaji, imamo nekaj kodo, in potem vidimo na koncu 1272 00:58:56,950 --> 00:58:57,640 vrne nič. 1273 00:58:57,640 --> 00:59:01,220 Kaj pomeni vrnitev nič pomenilo? 1274 00:59:01,220 --> 00:59:02,470 No, smo se pogovarjali o vrsti vračanja. 1275 00:59:02,470 --> 00:59:03,780 Glavni potrebuje za vrnitev int. 1276 00:59:03,780 --> 00:59:04,960 To je tisto, kar te vrstice ne. 1277 00:59:04,960 --> 00:59:07,330 Se vrne int, nič. 1278 00:59:07,330 --> 00:59:13,600 >> Seveda nismo videli, da je veliko ker v programskem storimo z 1279 00:59:13,600 --> 00:59:16,070 stroji delamo in prevajalniki ki jih uporabljamo danes, vas 1280 00:59:16,070 --> 00:59:16,990 ne potrebujem linijo. 1281 00:59:16,990 --> 00:59:20,070 Glavni je dovolj poseben, da ve, ko pridete do konca glavne, samo 1282 00:59:20,070 --> 00:59:22,060 vrne nič, če je šlo vse dobro. 1283 00:59:22,060 --> 00:59:25,560 V bistvu, če kaj ne gre dobro, Glavni bo pogosto vrne drugačen 1284 00:59:25,560 --> 00:59:28,500 Številka ki pomeni, da je nekaj je šlo narobe z vašim programom. 1285 00:59:28,500 --> 00:59:32,470 >> Torej, na splošno, ko vidiš kodo, boste Ne pišem donos nič, ampak to je dobra 1286 00:59:32,470 --> 00:59:34,770 vedeti, da se dogaja zadaj Prizori, ker ko pišeš 1287 00:59:34,770 --> 00:59:36,370 drugo vrsto funkcije boste morali 1288 00:59:36,370 --> 00:59:37,400 vključujejo povratno linijo. 1289 00:59:37,400 --> 00:59:39,710 Če praviš, da bom vrne int, morate 1290 00:59:39,710 --> 00:59:41,250 napisati nekaj vrnem. 1291 00:59:41,250 --> 00:59:45,160 Če rečeš nična tu na začetek, neveljaven glavna nična, za 1292 00:59:45,160 --> 00:59:48,670 Na primer, potem to ne vrača karkoli - nična pomeni nič - 1293 00:59:48,670 --> 00:59:50,320 tako da vam ni treba, da povratno linijo. 1294 00:59:50,320 --> 00:59:53,610 Ampak si kdaj napisati nekaj, kar ni ničnost vrsto vračanja, morate 1295 00:59:53,610 --> 00:59:55,950 vrstica, ki pravi, vrnitev in vi morali dati nekaj tam 1296 00:59:55,950 --> 00:59:57,650 , ki ustreza vrsti. 1297 00:59:57,650 --> 00:59:58,900 Vsa vprašanja o tem? 1298 00:59:58,900 --> 01:00:03,110 1299 01:00:03,110 --> 01:00:04,680 Sladko. 1300 01:00:04,680 --> 01:00:05,930 >> Področje. 1301 01:00:05,930 --> 01:00:07,360 To je nekaj, ki smo jih dotaknili tudi. 1302 01:00:07,360 --> 01:00:10,720 Vsaka spremenljivka, kot vemo, je določeno področje, in da je v bistvu 1303 01:00:10,720 --> 01:00:14,160 govorimo o tem, kje spremenljivka lahko ali se ne sme sklicevati. 1304 01:00:14,160 --> 01:00:16,310 In rad povedal, kaj se zgodi v zavitih oklepajih ostane 1305 01:00:16,310 --> 01:00:18,000 znotraj zavitih oklepajih. 1306 01:00:18,000 --> 01:00:21,490 Tako na primer, če pogledamo to kodo smo opredelitvi globalno spremenljivko 1307 01:00:21,490 --> 01:00:24,510 izven glavne, int, tu gor na vrhu. 1308 01:00:24,510 --> 01:00:27,380 Mi kličeš drugo int notri glavni. 1309 01:00:27,380 --> 01:00:29,760 Imamo nekaj več zavite oklepaje, in smo kličeš drugo int. 1310 01:00:29,760 --> 01:00:31,690 >> Imamo tri je v kodi. 1311 01:00:31,690 --> 01:00:32,550 To niso ista stvar. 1312 01:00:32,550 --> 01:00:34,880 Ustvaril sem tri različne spremenljivke. 1313 01:00:34,880 --> 01:00:39,370 Nato znotraj teh notranjo kodrasta naramnice, rečem = 4. 1314 01:00:39,370 --> 01:00:44,130 Ki je, da govoriš, Prvi, drugi, 1315 01:00:44,130 --> 01:00:47,045 ali tretji? 1316 01:00:47,045 --> 01:00:47,920 >> ŠTUDENT: tretji. 1317 01:00:47,920 --> 01:00:49,320 >> JASON Hirschhorna: To je govoril O tretjega. 1318 01:00:49,320 --> 01:00:52,850 Vse to je dejansko lahko govorili v to posebno 1319 01:00:52,850 --> 01:00:58,660 na primer zato, ker gre vse njihov obseg v teh najglobljih zavite oklepaje. 1320 01:00:58,660 --> 01:01:02,360 Vendar, če pokličete stvari enako ime, tam je nekaj, kar ti skrival. 1321 01:01:02,360 --> 01:01:09,670 Torej, ste se ukvarjajo samo z ali popraviti ali pa uporabite Najnovejši spremenljivka, ali ena 1322 01:01:09,670 --> 01:01:11,090 vam najbližje. 1323 01:01:11,090 --> 01:01:14,760 Torej tu notri, se ta tretji najbliže na linijo, = 4, tako da 1324 01:01:14,760 --> 01:01:16,550 vpliva na tretjo. 1325 01:01:16,550 --> 01:01:19,890 In zadnji vrstici = 2, ki je da govoriš, prvi, drugi, 1326 01:01:19,890 --> 01:01:20,805 ali tretje? 1327 01:01:20,805 --> 01:01:22,530 >> ŠTUDENT: Drugi. 1328 01:01:22,530 --> 01:01:24,430 >> JASON Hirschhorna: To je govoril o drugem a. 1329 01:01:24,430 --> 01:01:27,970 Seveda, tretji je najbližje je v kodi, ampak tretji 1330 01:01:27,970 --> 01:01:30,200 ne obstaja zunaj tiste zavite oklepaje. 1331 01:01:30,200 --> 01:01:32,650 Ko prideš do tega zaprtega kodrasta naramnicami, to je, kot je šel, 1332 01:01:32,650 --> 01:01:33,570 v bistvu. 1333 01:01:33,570 --> 01:01:36,150 Torej samo dva, ki ste jih zapustili, so tisti, Prvi dve, in seveda, zdaj 1334 01:01:36,150 --> 01:01:37,960 to je najbližji drugi. 1335 01:01:37,960 --> 01:01:39,410 >> Torej, to je dobra stvar spomnite o obsegu. 1336 01:01:39,410 --> 01:01:42,900 Na primer, sem prepričan, da ste naleteli to storiti, medtem ko zanke. 1337 01:01:42,900 --> 01:01:46,680 Če inicializacijo spremenljivke znotraj Ne while zanko, nato pa poskusite 1338 01:01:46,680 --> 01:01:50,360 dostopate do zunaj, verjetno imam nekaj opozorilo, kot je to 1339 01:01:50,360 --> 01:01:51,680 spremenljivka ne obstaja. 1340 01:01:51,680 --> 01:01:54,370 To je zato, ker je ideja področje, da se stvari le obstajajo 1341 01:01:54,370 --> 01:01:55,320 znotraj teh zavitih oklepajih. 1342 01:01:55,320 --> 01:01:59,320 Zaviti oklepaji so kot velik objem, da ste ga daje v kodo, je drugo 1343 01:01:59,320 --> 01:02:01,380 način, da razmišljajo o tem. 1344 01:02:01,380 --> 01:02:05,280 >> Torej je to še ena funkcija, nekaj Za vidva z oznako, hellofunction.c. 1345 01:02:05,280 --> 01:02:08,240 Bomo preskočili, da za zdaj, ampak To je nekaj, kar vas pozivam, da 1346 01:02:08,240 --> 01:02:09,740 vaditi na svoje. 1347 01:02:09,740 --> 01:02:12,510 Napišite program, v katerem glavni klicev drugo funkcijo, ki natisne 1348 01:02:12,510 --> 01:02:13,750 pozdrav uporabnika. 1349 01:02:13,750 --> 01:02:17,750 To je v bistvu ob Hello World in abstrahiranja, da printf v 1350 01:02:17,750 --> 01:02:18,680 drugo funkcijo. 1351 01:02:18,680 --> 01:02:22,360 Ampak mi ne boš naredil to pravico zdaj ker nimamo toliko časa 1352 01:02:22,360 --> 01:02:23,350 levo, kot bi si želel. 1353 01:02:23,350 --> 01:02:26,250 >> Torej izjava funkcijo. 1354 01:02:26,250 --> 01:02:28,080 To smo že videli prej kot dobro. 1355 01:02:28,080 --> 01:02:31,180 Če želite napisati drugo funkcijo, boste morali pustiti računalnik vedo in 1356 01:02:31,180 --> 01:02:32,600 Glavni vedeli, da obstaja. 1357 01:02:32,600 --> 01:02:37,140 Torej, kaj mi je predvsem glavno, pišemo tip donos, ime in 1358 01:02:37,140 --> 01:02:42,970 Parametri, nato spodaj glavnem tukaj, smo dejansko kopirati to vrstico 1359 01:02:42,970 --> 01:02:45,080 nato pa napisali dejansko kodo. 1360 01:02:45,080 --> 01:02:50,990 Torej, na ta način, če pokličete funkcijo v glavnem na vrhu, glavna ve, da 1361 01:02:50,990 --> 01:02:54,650 halo obstaja, na primer, če bi bil poklicati hello, nato pa je videti, da 1362 01:02:54,650 --> 01:02:56,710 Izvajanje spodaj. 1363 01:02:56,710 --> 01:02:59,680 Kaj se zgodi, če ne vključujejo to line up top, izniči zdravo (void)? 1364 01:02:59,680 --> 01:03:03,820 1365 01:03:03,820 --> 01:03:06,560 >> Če jaz ne vključujejo te vrstice in glavna zahteva Zdravo, jaz sem 1366 01:03:06,560 --> 01:03:07,640 bo dobil napako. 1367 01:03:07,640 --> 01:03:10,090 Jaz bom dobil napako, ker prevajalnik ne ve 1368 01:03:10,090 --> 01:03:13,070 da obstaja ta stvar. 1369 01:03:13,070 --> 01:03:16,680 To je podobno zakaj ne # vključujejo cs50.h. 1370 01:03:16,680 --> 01:03:21,390 Kaj pravzaprav počne cs50.h je dajanje dobili niz tja gor. 1371 01:03:21,390 --> 01:03:23,120 To je dajanje priti int tam gor. 1372 01:03:23,120 --> 01:03:26,570 To je polaganje vse tiste funkcije prototipi preden glavni, tako da, ko 1373 01:03:26,570 --> 01:03:29,900 jih pokličete na glavni, glavni ve da obstajajo te stvari. 1374 01:03:29,900 --> 01:03:31,630 To je tisto, kar ti. H files storiti. 1375 01:03:31,630 --> 01:03:33,850 In tako, če ste tekoč, da bi svoj funkcijo, moraš se prepričajte, 1376 01:03:33,850 --> 01:03:36,690 si dal ta prototip gor. 1377 01:03:36,690 --> 01:03:38,380 Vsa vprašanja o tem sedaj? 1378 01:03:38,380 --> 01:03:41,630 1379 01:03:41,630 --> 01:03:42,490 >> Argumenti v ukazni vrstici. 1380 01:03:42,490 --> 01:03:44,780 To je tisto, kar bomo do konca , nato pa upam, da bomo 1381 01:03:44,780 --> 01:03:46,180 stisnite v nekaterih pset. 1382 01:03:46,180 --> 01:03:48,700 Ne vem, če se bomo mogli stisniti da zaradi časa, vendar 1383 01:03:48,700 --> 01:03:51,560 z vami, ki ste tukaj, in če fantje želijo povedati, potem za malo, smo 1384 01:03:51,560 --> 01:03:54,290 Lahko greš nad njim zunaj. 1385 01:03:54,290 --> 01:03:56,020 Ampak gremo do konca z argumenti v ukazni vrstici 1386 01:03:56,020 --> 01:03:58,510 za zadnjih 15 minut. 1387 01:03:58,510 --> 01:03:59,930 Mi budni, Michael? 1388 01:03:59,930 --> 01:04:01,180 Si buden? 1389 01:04:01,180 --> 01:04:01,660 Dobro. 1390 01:04:01,660 --> 01:04:03,760 Ne vem, če spite z zaprtimi očmi. 1391 01:04:03,760 --> 01:04:05,800 To bi bilo zelo zahtevno. 1392 01:04:05,800 --> 01:04:07,180 >> Argumenti v ukazni vrstici. 1393 01:04:07,180 --> 01:04:10,430 Tisti, ki so eden od načinov, da prenese podatke v program. 1394 01:04:10,430 --> 01:04:12,780 Sčasoma bomo naleteli na druge. 1395 01:04:12,780 --> 01:04:15,600 Ampak v bistvu, bomo ustaviti pisanje int main (void), če želimo 1396 01:04:15,600 --> 01:04:16,720 sprejmejo nekatere argumente v ukazni vrstici. 1397 01:04:16,720 --> 01:04:19,850 Bomo napisali to stvar imenovano int main (int argc, 1398 01:04:19,850 --> 01:04:22,430 niz argv, oklepaji. 1399 01:04:22,430 --> 01:04:23,710 To povzroča zmedo. 1400 01:04:23,710 --> 01:04:26,070 To je veliko pisem, ki niso v človeški angleško, tako da bomo 1401 01:04:26,070 --> 01:04:27,680 jih razpakirati zdaj. 1402 01:04:27,680 --> 01:04:30,450 >> Argc stoji za štetje argument - 1403 01:04:30,450 --> 01:04:32,600 in spet bo vse te na voljo na spletu - 1404 01:04:32,600 --> 01:04:34,280 in da se je število argumentov. 1405 01:04:34,280 --> 01:04:37,940 Argv stoji za argument vektorja, in to so argumenti sami. 1406 01:04:37,940 --> 01:04:38,830 To je množica nizov. 1407 01:04:38,830 --> 01:04:40,880 Pravzaprav smo videli niz nizov pred danes. 1408 01:04:40,880 --> 01:04:44,390 Smo ustvarili enega v zadnji programirate smo kodirani. 1409 01:04:44,390 --> 01:04:45,720 >> Torej, tukaj je primer. 1410 01:04:45,720 --> 01:04:50,230 Pišem. / Ohai CS50 oddelek na mojem ukazni vrstici. 1411 01:04:50,230 --> 01:04:54,090 Argc v tem primeru je enako 3. 1412 01:04:54,090 --> 01:05:01,170 Argv nosilec 0 je ohai, argv nosilec 1 je CS50, argv nosilec 2 je oddelek. 1413 01:05:01,170 --> 01:05:05,160 Spet argc je število argumentov, in za potovanje vas up malo 1414 01:05:05,160 --> 01:05:08,710 bit, vedno računati ime funkcija kot prvi argument. 1415 01:05:08,710 --> 01:05:12,350 Torej, v tem primeru, obstajajo tri Argumenti, ime funkcije 1416 01:05:12,350 --> 01:05:14,590 in potem tisti dve, ki sem vtipka 1417 01:05:14,590 --> 01:05:18,900 >> Naslednje, bomo prihranili tistih samih argumenti v argv. 1418 01:05:18,900 --> 01:05:22,690 In spet, tako kot smo videli prej, smo naredili to je v zadnjem programa smo kodirani. 1419 01:05:22,690 --> 01:05:27,110 Lahko premikate skozi paleto argv in dobili tiste strune. 1420 01:05:27,110 --> 01:05:28,830 To je v bistvu tisto, kar smo naredili na Konec našega zadnjega programa. 1421 01:05:28,830 --> 01:05:33,190 Smo izbrali naključno ime, nato pa odšel v Imena nosilec karkoli in tiskani 1422 01:05:33,190 --> 01:05:34,580 iz niza tam nahaja. 1423 01:05:34,580 --> 01:05:39,870 1424 01:05:39,870 --> 01:05:43,670 >> Na vrhu samo eni matrike, ker strune so same nizi, kot 1425 01:05:43,670 --> 01:05:46,320 govorila, lahko imate nizi od polja, ki je 1426 01:05:46,320 --> 01:05:48,530 v bistvu tisto, argv je. 1427 01:05:48,530 --> 01:05:51,370 En način, kako misliti to je, vrstice in stolpce. 1428 01:05:51,370 --> 01:05:54,750 Ne morem pripraviti, da prav zdaj. 1429 01:05:54,750 --> 01:05:57,370 Torej argv - 1430 01:05:57,370 --> 01:05:58,630 da se ne izbriše. 1431 01:05:58,630 --> 01:05:59,880 Narišimo pod ohai. 1432 01:05:59,880 --> 01:06:09,320 1433 01:06:09,320 --> 01:06:12,490 >> Torej, če sem napisal v, ohai CS50 oddelku, Grem odsekana 1434 01:06:12,490 --> 01:06:14,520 oddelek za ta primer. 1435 01:06:14,520 --> 01:06:29,026 Ampak v bistvu, moja večdimenzionalno matrika, ohai CS50, 1436 01:06:29,026 --> 01:06:32,200 bomo narediti sekte. 1437 01:06:32,200 --> 01:06:34,610 Torej, tukaj sem lahko dostopate - 1438 01:06:34,610 --> 01:06:40,930 1439 01:06:40,930 --> 01:06:45,710 če sem dal argv eno številko - 1440 01:06:45,710 --> 01:06:46,390 To je narobe. 1441 01:06:46,390 --> 01:06:49,020 Kaj je narobe s to shemo? 1442 01:06:49,020 --> 01:06:49,690 >> Študent: Začetek nič. 1443 01:06:49,690 --> 01:06:50,350 >> JASON Hirschhorna: Moralo bi začeti z ničle. 1444 01:06:50,350 --> 01:06:52,940 Verjetno bi ga tudi zasukati, vendar saj sem ga že pripravljeni na sem 1445 01:06:52,940 --> 01:06:54,120 dogaja, da ga pustijo tam za zdaj. 1446 01:06:54,120 --> 01:06:55,160 Ampak to se začne na nič. 1447 01:06:55,160 --> 01:06:56,410 To je res. 1448 01:06:56,410 --> 01:06:58,980 1449 01:06:58,980 --> 01:07:00,120 Žal mi je, če je to majhna. 1450 01:07:00,120 --> 01:07:01,370 Lahko vidva vrsto vidiš? 1451 01:07:01,370 --> 01:07:03,620 1452 01:07:03,620 --> 01:07:06,670 Torej, če naredim argv 0, bom dobili vse ohai. 1453 01:07:06,670 --> 01:07:08,555 Če naredim argv 1, bom dobil vse CS50. 1454 01:07:08,555 --> 01:07:10,720 Če naredim argv 2, bom dobil vse sekte. 1455 01:07:10,720 --> 01:07:13,370 >> Toda zdaj, kot smo rekli, strune nizi sami. 1456 01:07:13,370 --> 01:07:19,740 Torej, kaj lahko storim, je, da sem lahko privoščite to kot večdimenzionalni array, in jaz 1457 01:07:19,740 --> 01:07:24,190 Lahko narediš nekaj po vzoru argv 0, 0, kar mi daje samo 1458 01:07:24,190 --> 01:07:25,400 značaj 0. 1459 01:07:25,400 --> 01:07:28,760 Argv 0, 1, ki mi daje samo h. 1460 01:07:28,760 --> 01:07:33,960 Argv 1, 3, kar mi daje samo 0 tem tukaj v CS50. 1461 01:07:33,960 --> 01:07:37,690 >> Zato, ker strune sami so polja, smo dajanje 1462 01:07:37,690 --> 01:07:38,540 da je v drugem polju. 1463 01:07:38,540 --> 01:07:42,850 Zdaj imamo vrsto polja, in smo lahko kazalo na naši prvi niz in 1464 01:07:42,850 --> 01:07:44,840 Nato indeks v naše drugo matriko. 1465 01:07:44,840 --> 01:07:48,650 In kot bi lahko pričakovali, to storimo s samo polaganje tista dva - 1466 01:07:48,650 --> 01:07:51,760 delamo oglate oklepaje samo zraven drugega. 1467 01:07:51,760 --> 01:07:58,930 Torej, v tem primeru, argv 1 je CS50 in argv 1, 2, kot smo rekli, je samo 5. 1468 01:07:58,930 --> 01:08:02,120 Ima kdo kakšna vprašanja o večdimenzionalni nizi? 1469 01:08:02,120 --> 01:08:05,090 1470 01:08:05,090 --> 01:08:06,380 Vi počnete super. 1471 01:08:06,380 --> 01:08:07,750 Sladko. 1472 01:08:07,750 --> 01:08:11,980 >> Torej imamo drug program tukaj, in to je zadnja stvar, ki smo 1473 01:08:11,980 --> 01:08:13,690 storili sedaj. 1474 01:08:13,690 --> 01:08:18,160 Torej, želim vas, da napišete program, ki traja uporabnikovo polno ime, dva in samo 1475 01:08:18,160 --> 01:08:21,649 dve argumenti v ukazni vrstici, in končno, izpisal pozdrav 1476 01:08:21,649 --> 01:08:24,180 Uporabnik, ki vključuje njihovo ime. 1477 01:08:24,180 --> 01:08:27,800 Torej, zakaj ne vzameš tri ali štiri minut, da to stori, potem pa bomo šli 1478 01:08:27,800 --> 01:08:29,870 kot da kot skupina, in potem bomo zaviti? 1479 01:08:29,870 --> 01:09:44,189 1480 01:09:44,189 --> 01:09:48,084 >> In spet, tu, ko pravimo, da uporabnikov polno ime po opisu 1481 01:09:48,084 --> 01:09:54,473 tega problema, je treba ukaz linije argumenti, ne uporabljate dobili niz. 1482 01:09:54,473 --> 01:09:55,450 Ja, Marcus? 1483 01:09:55,450 --> 01:09:58,260 >> ŠTUDENT: Torej, ko ste rekli dva ukaza linija trditve je, da poleg 1484 01:09:58,260 --> 01:10:00,000 . / run, ali - 1485 01:10:00,000 --> 01:10:02,980 >> JASON Hirschhorna: Dobro vprašanje. 1486 01:10:02,980 --> 01:10:05,995 Naredi, vključno z. / Begu, tri argumenti v ukazni vrstici. 1487 01:10:05,995 --> 01:10:08,550 1488 01:10:08,550 --> 01:10:11,320 Ali vključili. / Osebno, v V tem primeru, ker je to 1489 01:10:11,320 --> 01:10:12,360 Ime te datoteke. 1490 01:10:12,360 --> 01:10:13,300 Torej bi argc so trije. 1491 01:10:13,300 --> 01:10:19,480 Ampak želim le dve argumente glede na program. 1492 01:10:19,480 --> 01:10:20,400 Jaz bi morala natančno to. 1493 01:10:20,400 --> 01:10:23,380 Poskrbel bom, da spremembe, preden sem post ti in jih pošljite na vaju. 1494 01:10:23,380 --> 01:10:32,747 1495 01:10:32,747 --> 01:10:34,740 >> ŠTUDENT: Kaj pa, če imajo srednje ime? 1496 01:10:34,740 --> 01:10:36,800 >> JASON Hirschhorna: Če imate sredini ime, ste od sreče. 1497 01:10:36,800 --> 01:10:38,050 Žal mi je. 1498 01:10:38,050 --> 01:10:40,320 1499 01:10:40,320 --> 01:10:43,744 Ali pa, če greš samo Shakira, ste tudi od sreče. 1500 01:10:43,744 --> 01:10:55,672 1501 01:10:55,672 --> 01:10:56,425 Ja? 1502 01:10:56,425 --> 01:11:00,760 >> ŠTUDENT: Torej, ko ljudje nimajo cs50.h, niso opredeljene argv 1503 01:11:00,760 --> 01:11:03,450 kot char zvezda argv? 1504 01:11:03,450 --> 01:11:05,160 Ali je to še vedno imenuje niza argv? 1505 01:11:05,160 --> 01:11:07,430 >> JASON Hirschhorna: Da. 1506 01:11:07,430 --> 01:11:10,480 Torej vrvico, spet smo masko čez kakšnih točno se tam dogaja. 1507 01:11:10,480 --> 01:11:14,040 To se dogaja, da je treba iz nje morda v sredo, ampak kmalu. 1508 01:11:14,040 --> 01:11:16,380 To je kot kolesi usposabljanja. 1509 01:11:16,380 --> 01:11:18,370 Saj v bistvu, to je ista stvar. 1510 01:11:18,370 --> 01:11:37,040 1511 01:11:37,040 --> 01:11:42,560 >> Tako da je lahko eno minuto na program to, potem pa bomo šli čez 1512 01:11:42,560 --> 01:11:45,130 je kot skupina, in nato kot sem rekel, zavil. 1513 01:11:45,130 --> 01:11:47,770 In mislim, da si še dodatno sladkarije, tako da bi vidva upajmo da 1514 01:11:47,770 --> 01:11:49,790 da, ali upoštevajte, da. 1515 01:11:49,790 --> 01:12:20,380 1516 01:12:20,380 --> 01:12:22,560 >> Se opravičujem, če ste še vedno piše, ampak želim, da se potopite v in smo 1517 01:12:22,560 --> 01:12:24,010 lahko konča skupaj. 1518 01:12:24,010 --> 01:12:30,470 Torej sem napisano # include cs50.h, # include stdio.h. 1519 01:12:30,470 --> 01:12:33,970 int main (void), kodrasti naramnicami, kodrasti naramnicami, v notranjosti tri vrstice 1520 01:12:33,970 --> 01:12:38,760 psevdokoda, da uporabnikovo ime in priimek, dve in samo dve v ukazni vrstici 1521 01:12:38,760 --> 01:12:42,670 Argumenti, izpisal pozdrav Uporabnik, ki vključuje njihovo ime. 1522 01:12:42,670 --> 01:12:45,810 >> Tako prvi, da uporabnikovo polno ime. 1523 01:12:45,810 --> 01:12:47,290 Kdo mi lahko pomaga, da uporabnikovo polno ime? 1524 01:12:47,290 --> 01:12:50,882 1525 01:12:50,882 --> 01:12:52,780 Kako naj naredim ta del? 1526 01:12:52,780 --> 01:12:57,685 1527 01:12:57,685 --> 01:12:59,500 Sta to, da je prvi del? 1528 01:12:59,500 --> 01:13:02,587 1529 01:13:02,587 --> 01:13:03,894 Bodite uporabnikovo polno ime. 1530 01:13:03,894 --> 01:13:05,860 No, za to eno ukazno vrstico Trditev, kaj naj napišem? 1531 01:13:05,860 --> 01:13:09,624 Kaj moram spremeniti zaradi Moja funkcija izjavo? 1532 01:13:09,624 --> 01:13:11,140 >> ŠTUDENT: Nočeš , da je nična več. 1533 01:13:11,140 --> 01:13:11,410 >> JASON Hirschhorna: Točno tako. 1534 01:13:11,410 --> 01:13:12,385 Ne želim, da je nična. 1535 01:13:12,385 --> 01:13:13,630 Kaj hočem biti? 1536 01:13:13,630 --> 01:13:14,650 >> ŠTUDENT: Int argc. 1537 01:13:14,650 --> 01:13:15,720 >> JASON Hirschhorna: Int argc. 1538 01:13:15,720 --> 01:13:17,430 >> ŠTUDENT: String argv. 1539 01:13:17,430 --> 01:13:19,055 >> JASON Hirschhorna: String argv. 1540 01:13:19,055 --> 01:13:19,705 >> ŠTUDENT: Konzola, nosilec. 1541 01:13:19,705 --> 01:13:20,070 >> JASON Hirschhorna: Konzola, nosilec. 1542 01:13:20,070 --> 01:13:21,780 Točno tako, in to je pravzaprav, kako bom dobil 1543 01:13:21,780 --> 01:13:22,820 uporabnikovo polno ime. 1544 01:13:22,820 --> 01:13:24,070 Ti boš dal noter. 1545 01:13:24,070 --> 01:13:27,720 1546 01:13:27,720 --> 01:13:28,780 Torej je, da je eden naredil. 1547 01:13:28,780 --> 01:13:30,780 Torej, zdaj želim dve in samo dve argumenti v ukazni vrstici. 1548 01:13:30,780 --> 01:13:35,065 Torej Noetu, kar je eden od načinov morem Preverjanje števila ukaz 1549 01:13:35,065 --> 01:13:36,315 linije argumenti imam? 1550 01:13:36,315 --> 01:13:39,676 1551 01:13:39,676 --> 01:13:40,725 >> Študent: Saj če izjavi. 1552 01:13:40,725 --> 01:13:42,270 >> JASON Hirschhorna: Če Izjava, točno. 1553 01:13:42,270 --> 01:13:44,830 Kaj hočem kot pogoj? 1554 01:13:44,830 --> 01:13:48,370 >> ŠTUDENT: Če argc večja od 3. 1555 01:13:48,370 --> 01:13:52,485 >> JASON Hirschhorna: Če argc večja od 3. 1556 01:13:52,485 --> 01:13:58,430 Če argc večja od 3, kaj naj storim? 1557 01:13:58,430 --> 01:13:59,400 >> ŠTUDENT: Nazaj 1. 1558 01:13:59,400 --> 01:14:01,856 >> JASON Hirschhorna: Nazaj 1. 1559 01:14:01,856 --> 01:14:04,050 Bo, da se zagotovi imam dve in le dve? 1560 01:14:04,050 --> 01:14:07,280 1561 01:14:07,280 --> 01:14:07,820 >> ŠTUDENT: Ne 1562 01:14:07,820 --> 01:14:13,110 Če je argc večja od 3 in manj kot 2. 1563 01:14:13,110 --> 01:14:17,770 >> JASON Hirschhorna: Če je argc večja od 3 do argc manj kot 2. 1564 01:14:17,770 --> 01:14:21,540 Kaj je eden od načinov, da lahko to napisati v samo eno vrstico ali brez uporabe, ki 1565 01:14:21,540 --> 01:14:23,890 in logični operator? 1566 01:14:23,890 --> 01:14:25,942 >> Študent: To ni enako 2. 1567 01:14:25,942 --> 01:14:28,790 >> JASON Hirschhorna: Če argc ni enako 2. 1568 01:14:28,790 --> 01:14:29,260 Točno tako. 1569 01:14:29,260 --> 01:14:34,890 Torej, če argc ni enaka 2, ki mi bo dal ta program, 1570 01:14:34,890 --> 01:14:37,250 osebno, ko sem prost, in da mi bo dal koliko 1571 01:14:37,250 --> 01:14:38,740 argumenti v ukazni vrstici? 1572 01:14:38,740 --> 01:14:42,110 Koliko bom preveriti? 1573 01:14:42,110 --> 01:14:42,370 >> Žal mi je. 1574 01:14:42,370 --> 01:14:43,400 Dovolite mi, da se preoblikuje. 1575 01:14:43,400 --> 01:14:46,620 Če argc = 2, koliko stvari si Uporabnik pisanje v linijo? 1576 01:14:46,620 --> 01:14:47,500 >> Študentu. 1577 01:14:47,500 --> 01:14:49,120 >> JASON Hirschhorna: Samo eden. 1578 01:14:49,120 --> 01:14:50,430 Torej, preden si imel, Noah. 1579 01:14:50,430 --> 01:14:52,192 Kaj mi pravzaprav morali dati tja? 1580 01:14:52,192 --> 01:14:53,640 >> Študent: To je enako 3. 1581 01:14:53,640 --> 01:14:55,970 >> JASON Hirschhorna: argc ni enako 3. 1582 01:14:55,970 --> 01:15:00,250 Želim enako 3, ker želim osebno plus druga dva. 1583 01:15:00,250 --> 01:15:02,560 Torej, če argc ni enak 3, vrnite 1. 1584 01:15:02,560 --> 01:15:04,475 Zakaj si rekel, da se vrnete 1? 1585 01:15:04,475 --> 01:15:06,180 >> ŠTUDENT: Ker je pomeni, da je narobe. 1586 01:15:06,180 --> 01:15:08,420 >> JASON Hirschhorna: To pomeni, da je narobe, in kaj naj bi to storili? 1587 01:15:08,420 --> 01:15:10,360 >> ŠTUDENT: Re-uren uporabnik. 1588 01:15:10,360 --> 01:15:11,940 >> JASON Hirschhorna: To se dogaja, da zaprete programa, tako da bo moral teči 1589 01:15:11,940 --> 01:15:14,520 še enkrat, ampak nimamo nič sem spet prosil za njih. 1590 01:15:14,520 --> 01:15:14,840 Nisem prosil za to. 1591 01:15:14,840 --> 01:15:15,990 Tako da je ravno prav. 1592 01:15:15,990 --> 01:15:17,680 Vrne 1 le zapre program. 1593 01:15:17,680 --> 01:15:18,520 Super. 1594 01:15:18,520 --> 01:15:21,600 >> In izpisal pozdrav uporabnika ki vključuje njihovo ime. 1595 01:15:21,600 --> 01:15:24,010 Kako lahko naredim to? 1596 01:15:24,010 --> 01:15:25,990 Anna? 1597 01:15:25,990 --> 01:15:26,580 >> ŠTUDENT: printf. 1598 01:15:26,580 --> 01:15:27,785 >> JASON Hirschhorna: printf. 1599 01:15:27,785 --> 01:15:28,640 >> ŠTUDENT: (" 1600 01:15:28,640 --> 01:15:30,460 >> JASON Hirschhorna: ( 1601 01:15:30,460 --> 01:15:31,600 >> ŠTUDENT: "zdravo 1602 01:15:31,600 --> 01:15:33,210 >> JASON Hirschhorna: "zdravo 1603 01:15:33,210 --> 01:15:34,800 >> ŠTUDENT:% s 1604 01:15:34,800 --> 01:15:37,230 >> JASON Hirschhorna:% s 1605 01:15:37,230 --> 01:15:38,840 >> ŠTUDENT: / n 1606 01:15:38,840 --> 01:15:41,030 >> JASON Hirschhorna: / n 1607 01:15:41,030 --> 01:15:43,120 >> ŠTUDENT: " 1608 01:15:43,120 --> 01:15:45,130 >> JASON Hirschhorna: " 1609 01:15:45,130 --> 01:15:46,620 >> ŠTUDENT: argv 1610 01:15:46,620 --> 01:15:47,080 >> JASON Hirschhorna: Oprostite? 1611 01:15:47,080 --> 01:15:47,750 >> ŠTUDENT: argv 1612 01:15:47,750 --> 01:15:48,840 >> JASON Hirschhorna: argv 1613 01:15:48,840 --> 01:15:50,190 >> ŠTUDENT: Oglati oklepaji 1. 1614 01:15:50,190 --> 01:15:51,230 >> JASON Hirschhorna: Oglati oklepaji? 1615 01:15:51,230 --> 01:15:51,870 >> ŠTUDENT: 1. 1616 01:15:51,870 --> 01:15:54,050 >> JASON Hirschhorna: 1. 1617 01:15:54,050 --> 01:15:55,850 >> ŠTUDENT: In) podpičjem. 1618 01:15:55,850 --> 01:15:58,290 >> JASON Hirschhorna:) podpičjem. 1619 01:15:58,290 --> 01:16:00,250 Naj nam to delovalo. 1620 01:16:00,250 --> 01:16:03,730 Naredite osebno. 1621 01:16:03,730 --> 01:16:06,392 . / Osebno. 1622 01:16:06,392 --> 01:16:07,420 To odnehati. 1623 01:16:07,420 --> 01:16:10,390 Zakaj je nehal? 1624 01:16:10,390 --> 01:16:11,310 >> ŠTUDENT: Nisi dal nobenih argumentov. 1625 01:16:11,310 --> 01:16:12,560 >> JASON Hirschhorna: Nisem dal nobenih argumentov noter 1626 01:16:12,560 --> 01:16:16,360 1627 01:16:16,360 --> 01:16:16,920 Izgleda super. 1628 01:16:16,920 --> 01:16:18,130 Vidva je pribil. 1629 01:16:18,130 --> 01:16:22,420 Torej še enkrat, boste šli v argv in vi preverja na začetku argc. 1630 01:16:22,420 --> 01:16:24,390 Tisti, ki so dva pomembna stvari si zapomnite. 1631 01:16:24,390 --> 01:16:29,250 Torej, v naših zadnjih dveh minutah, preden smo pustite, da ne bomo prišli do pset dva, vendar 1632 01:16:29,250 --> 01:16:33,585 kot sem rekel, če želite, da ostanejo po 10 minut, jaz bi bil vesel, da gredo 1633 01:16:33,585 --> 01:16:35,710 več, z vidva z logiko teh problematičnih sklopov. 1634 01:16:35,710 --> 01:16:37,930 Veliko za kritje danes smo imeli tako da nisem priti do njih. 1635 01:16:37,930 --> 01:16:39,820 Na splošno mi je všeč, da vključuje da je na koncu. 1636 01:16:39,820 --> 01:16:42,150 Torej, če želite, da se držijo okrog, držijo okoli 10 minut. 1637 01:16:42,150 --> 01:16:42,990 To bomo storili. 1638 01:16:42,990 --> 01:16:46,250 >> Potem pa, kot sem omenil na začetku, pset nič in ena, bomo dobili, da 1639 01:16:46,250 --> 01:16:48,040 povratne informacije nazaj k tebi kot najkrajšem možnem času. 1640 01:16:48,040 --> 01:16:51,260 Cilj je, da se pset eno povratno informacijo, Komentarji del, 1641 01:16:51,260 --> 01:16:52,850 Pred dvema pset je posledica. 1642 01:16:52,850 --> 01:16:56,730 Torej, če ste naredili nekaj napak ali Slogovno bi stvari bolje, 1643 01:16:56,730 --> 01:17:01,330 boste imeli te podatke, tako da ne bo naredil iste stvari v pset dva. 1644 01:17:01,330 --> 01:17:06,140 In potem v prihodnosti, boste dobili vse vašega pset povratne informacije in komentarje 1645 01:17:06,140 --> 01:17:08,190 nazaj pred naslednjo zapade. 1646 01:17:08,190 --> 01:17:12,695 >> Končno, če bi lahko dal v drugo vtič za povratne informacije. 1647 01:17:12,695 --> 01:17:13,935 To je vaš prvi del. 1648 01:17:13,935 --> 01:17:15,920 To je bil moj prvi del poučevanje letos. 1649 01:17:15,920 --> 01:17:16,930 Pojdi tja. 1650 01:17:16,930 --> 01:17:19,800 Pisati stvari, dobre in slabe, in sem ga bo uporabil, da bi 1651 01:17:19,800 --> 01:17:21,320 oddelek bolje naslednjič. 1652 01:17:21,320 --> 01:17:24,870 In nazadnje, še enkrat, če potrebujete karkoli, povej mi. 1653 01:17:24,870 --> 01:17:26,410 Jaz sem bolj kot z veseljem pomagali fantje. 1654 01:17:26,410 --> 01:17:28,420 Če želite le sladkarije, sem bodo imeli več sladkarij. 1655 01:17:28,420 --> 01:17:29,800 Vesel sem, da bi ga na vas. 1656 01:17:29,800 --> 01:17:31,190 >> Ta se bo seveda neverjetno. 1657 01:17:31,190 --> 01:17:34,900 To je eden, če ne celo moj najljubši Seveda sem si vzel v mojem življenju, 1658 01:17:34,900 --> 01:17:37,220 in upam, da bo tako čudovito za vas. 1659 01:17:37,220 --> 01:17:40,090 Torej, želim narediti vse, kar je v moji moči da bi bilo super, da je za vas. 1660 01:17:40,090 --> 01:17:46,590 Bom poslal e-pošto, če ste V mojem oddelku oziroma Noe in 1661 01:17:46,590 --> 01:17:50,310 bo poskušal urnik z vsako od vidva tudi čas, da preverite v več 1662 01:17:50,310 --> 01:17:53,820 naslednjih nekaj tednih, tako da lahko dobim občutek, kaj je tvoj CS ozadje, 1663 01:17:53,820 --> 01:17:58,170 in to bo tudi pomagalo mi meri ti oddelki bolje ustrezala vašim potrebam. 1664 01:17:58,170 --> 01:17:59,740 Tako da je tisto, kar sem dobil vrstijo. 1665 01:17:59,740 --> 01:18:02,260 Spet se vidiva zunaj Če želite biti tam. 1666 01:18:02,260 --> 01:18:03,700 To je teden dvodelno. 1667 01:18:03,700 --> 01:18:04,950 Hvala fantje toliko. 1668 01:18:04,950 --> 01:18:09,067