1 00:00:00,000 --> 00:00:12,510 2 00:00:12,510 --> 00:00:13,870 >> Ebből: Rendben. 3 00:00:13,870 --> 00:00:16,770 Üdvözöljük az első részben. 4 00:00:16,770 --> 00:00:17,480 Én Rob. 5 00:00:17,480 --> 00:00:18,806 >> JOSEPH: Én vagyok József. 6 00:00:18,806 --> 00:00:21,540 >> ROB: Így fog merülni csak be 7 00:00:21,540 --> 00:00:23,420 Az első dolog, hogy beszélni a készülék. 8 00:00:23,420 --> 00:00:27,150 Így remélhetőleg a legtöbb van letölthető már. 9 00:00:27,150 --> 00:00:37,180 De láthatjuk az utasításokat A cs50.net/appliance. 10 00:00:37,180 --> 00:00:38,430 Ó, Istenem, most én vagyok öntudatos. 11 00:00:38,430 --> 00:00:44,590 12 00:00:44,590 --> 00:00:45,430 Még mindig hallom. 13 00:00:45,430 --> 00:00:47,232 >> JOSEPH: Wow, úgy hangzik, mint ez zavart. 14 00:00:47,232 --> 00:00:52,460 >> Ebből: Tehát egyesek már miután kérdések is, ezért ne várja meg, amíg 15 00:00:52,460 --> 00:00:54,940 Az utolsó pillanatban a probléma meg, hogy próbálja megoldani a készülék és a 16 00:00:54,940 --> 00:00:56,320 megállapította, hogy ez nem működik. 17 00:00:56,320 --> 00:00:59,010 >> JOSEPH: És ha valami nem működik és segítségre van szüksége, akkor megy 18 00:00:59,010 --> 00:01:03,390 cs50.net/discussion ahol van egy fórum, ahol 19 00:01:03,390 --> 00:01:04,110 küldhetnek kérdéseire. 20 00:01:04,110 --> 00:01:06,655 És mi lesz, hogy őket végül. 21 00:01:06,655 --> 00:01:07,490 >> Ebből: Rendben. 22 00:01:07,490 --> 00:01:12,180 Tehát ez az, amit a készülék néz ki. 23 00:01:12,180 --> 00:01:15,480 Ismét, ez csak egy teljesen különálló operációs rendszer fut a 24 00:01:15,480 --> 00:01:19,440 bármilyen operációs rendszert fut a laptop. 25 00:01:19,440 --> 00:01:24,450 És a legfontosabb dolog, amit majd használni a gedit. 26 00:01:24,450 --> 00:01:28,050 Így remélhetőleg ez már vált ismert oldalon. 27 00:01:28,050 --> 00:01:29,470 A terminál. 28 00:01:29,470 --> 00:01:31,890 >> És akkor is fut Chrome a készülék. 29 00:01:31,890 --> 00:01:33,860 Voltak egy-két ember , akik arról számoltak be, internetes 30 00:01:33,860 --> 00:01:35,390 nem működik a készülék. 31 00:01:35,390 --> 00:01:38,090 És néhányan közülük csak feltételezhető hogy nem kellene 32 00:01:38,090 --> 00:01:39,190 internet a készülék. 33 00:01:39,190 --> 00:01:40,750 De igen, állítólag hogy internet. 34 00:01:40,750 --> 00:01:44,000 35 00:01:44,000 --> 00:01:46,410 >> Azt mondom, hogy most, de ez nem igazán jelent semmit. 36 00:01:46,410 --> 00:01:50,680 Ha az internet nem működik, ez az, amit inkább szükség van 37 00:01:50,680 --> 00:01:52,180 futtatni kell megjavítani. 38 00:01:52,180 --> 00:01:55,602 Ha nem internet kérdések, nem emlékszem rá, csak tegye meg a 39 00:01:55,602 --> 00:01:57,560 Beszéljétek meg, és azt fogja mondani, hogy futni. 40 00:01:57,560 --> 00:02:00,420 De az internet kell dolgozni. 41 00:02:00,420 --> 00:02:06,650 >> Így az egyetlen dolog - Igen, semmi más nem igazán fontos. 42 00:02:06,650 --> 00:02:08,979 De én csak szerettem volna rámutatni, hogy - 43 00:02:08,979 --> 00:02:13,290 lásd ebben a jobb alsó sarokban. 44 00:02:13,290 --> 00:02:16,530 Tehát minden a készülékeket kell egy IP-címet. 45 00:02:16,530 --> 00:02:22,350 És később a félévben, az IP cím lesz releváns, ha 46 00:02:22,350 --> 00:02:27,230 dolgozik a weben p-set, mert a Ön képes lesz elérni a 47 00:02:27,230 --> 00:02:32,310 honlapon dolgozunk az Ön helyi Chrome segítségével az IP-címet. 48 00:02:32,310 --> 00:02:35,400 >> De amit szeretek használni az IP-címet az - és nem kell ezt tenni, én 49 00:02:35,400 --> 00:02:37,460 csak azt, hogy pont ez ki - 50 00:02:37,460 --> 00:02:39,540 itt van. 51 00:02:39,540 --> 00:02:42,910 Tehát ez egy terminál ablak Mac-emet, ez nem a 52 00:02:42,910 --> 00:02:44,580 A készülék egyáltalán. 53 00:02:44,580 --> 00:02:47,190 És tudod nézni, milyen ezt a parancsot nem. 54 00:02:47,190 --> 00:02:51,855 De fogok SSH közvetlenül az én Appliance. 55 00:02:51,855 --> 00:02:53,410 Én nem tudom, mi az IP. 56 00:02:53,410 --> 00:02:54,300 >> JOSEPH: 168 - 57 00:02:54,300 --> 00:02:56,080 >> 168.224.1.0. 58 00:02:56,080 --> 00:02:59,950 >> Ebből: Tehát ha kész vagyok ezzel, jelentkezzen be 59 00:02:59,950 --> 00:03:05,450 Most, alapjában véve, ez azonos a terminál ablaka a készülék. 60 00:03:05,450 --> 00:03:10,280 Szóval elég sok soha nem dolgozott belül a készüléken. 61 00:03:10,280 --> 00:03:12,550 Csak mindig is fut a háttérben minimális 62 00:03:12,550 --> 00:03:15,890 és SSHed bele. 63 00:03:15,890 --> 00:03:24,270 >> A probléma ezzel az, hogy nem fog hogy képes legyen könnyen kezelhető gedit 64 00:03:24,270 --> 00:03:25,600 közvetlenül ezt. 65 00:03:25,600 --> 00:03:31,500 De ha azt akarjuk, hogy egy igazi jó hacker, akkor meg kell szokni, hogy a 66 00:03:31,500 --> 00:03:34,220 parancssoros szövegszerkesztő egyébként. 67 00:03:34,220 --> 00:03:39,620 Így Vim és Emacs és a Nano, az összes ilyen különböző alternatívák. 68 00:03:39,620 --> 00:03:41,560 Nano bizonyul a legkönnyebb. 69 00:03:41,560 --> 00:03:45,006 És azt hiszem, hogy nincs szintaxis kiemelve. 70 00:03:45,006 --> 00:03:47,620 Ó, nem, ez teljesen nem. 71 00:03:47,620 --> 00:03:49,870 Tehát akkor a Nano, mert a hogy az ember elég könnyű. 72 00:03:49,870 --> 00:03:52,000 >> Látod ezeket a parancsokat az alján. 73 00:03:52,000 --> 00:03:54,750 Ez a kis sárgarépa szimbóluma. 74 00:03:54,750 --> 00:03:57,620 Ha még nem látta volna, akkor valószínűleg látni sok most. 75 00:03:57,620 --> 00:04:02,350 Ez általában azt jelenti, a vezérlő sárgarépa, mint a bal alsó a billentyűzet 76 00:04:02,350 --> 00:04:04,130 vezérlő karakter. 77 00:04:04,130 --> 00:04:07,260 Tehát itt azt mondja nekem, itt - 78 00:04:07,260 --> 00:04:08,710 ó, ez nem vágja le, ha nagyításhoz 79 00:04:08,710 --> 00:04:11,040 Tehát vezérlés, X jelentése hogyan Megyek a kilépéshez. 80 00:04:11,040 --> 00:04:14,710 És azt mondja, tud ütni Y Igen, megtakarítás, N No. 81 00:04:14,710 --> 00:04:17,190 Szóval ez Nano. 82 00:04:17,190 --> 00:04:22,860 >> Vim és Emacs általában kissé bonyolult és nyomasztó. 83 00:04:22,860 --> 00:04:28,840 De lehet szokni, és akkor majd szeretni. 84 00:04:28,840 --> 00:04:30,590 Tehát ennyi. 85 00:04:30,590 --> 00:04:31,720 >> JOSEPH: Nem kell csinálni. 86 00:04:31,720 --> 00:04:31,840 >> ROB: Igen. 87 00:04:31,840 --> 00:04:37,510 Ön szabadon használhatja gedit a fennmaradó félévben. 88 00:04:37,510 --> 00:04:40,630 Tehát minden készülék kapcsolatos kérdések? 89 00:04:40,630 --> 00:04:42,820 Vagy van olyan gondolatok, hogy mi mást kell beszélt arról, 90 00:04:42,820 --> 00:04:43,610 a készülék? 91 00:04:43,610 --> 00:04:43,996 Igen. 92 00:04:43,996 --> 00:04:47,720 >> SPEAKER 1: Amikor SSHed be a dolog volt, a jelszó Crimson? 93 00:04:47,720 --> 00:04:48,390 >> ROB: Igen. 94 00:04:48,390 --> 00:04:50,170 A jelszó elég sok mindent A készülék folyik 95 00:04:50,170 --> 00:04:52,473 hogy Crimson. 96 00:04:52,473 --> 00:04:56,517 >> SPEAKER 2: Install, mint egy igazi IDE A készülék, fog ez működni? 97 00:04:56,517 --> 00:04:59,200 98 00:04:59,200 --> 00:05:07,290 >> Ebből: Gondolom Eclipse nem egy Fedora változat, amely esetben igen, 99 00:05:07,290 --> 00:05:08,420 meg tudod csinálni ezt. 100 00:05:08,420 --> 00:05:10,875 Ez valószínűleg nem igazán éri meg. 101 00:05:10,875 --> 00:05:11,742 >> SPEAKER 2: OK. 102 00:05:11,742 --> 00:05:15,924 Így talán könnyebb, ha azt akartam, hogy használata Eclipse, csak használja a natív és 103 00:05:15,924 --> 00:05:17,646 majd feltölteni - 104 00:05:17,646 --> 00:05:21,090 >> Ebből: Ó, ez is talán könnyebb. 105 00:05:21,090 --> 00:05:24,046 De lehet, hogy ez működik a készülék. 106 00:05:24,046 --> 00:05:27,740 >> JOSEPH: És a kamera, a kérdés volt, lehet telepíteni egy másik 107 00:05:27,740 --> 00:05:29,490 IDE belsejében a készülék? 108 00:05:29,490 --> 00:05:31,520 >> Ebből: Eclipse, hogy egy példa egy IDE. 109 00:05:31,520 --> 00:05:34,800 110 00:05:34,800 --> 00:05:36,050 Minden más készülék kérdése? 111 00:05:36,050 --> 00:05:38,250 112 00:05:38,250 --> 00:05:38,680 Rendben van. 113 00:05:38,680 --> 00:05:44,920 >> Így most lépni a parancssorban interface kapcsolatos dolgokat, így CLI. 114 00:05:44,920 --> 00:05:47,990 És ismét, én csak fog dolgozni itt, mert ez azonos a 115 00:05:47,990 --> 00:05:52,780 dolgozó egy terminál ablakot a készülék. 116 00:05:52,780 --> 00:05:54,160 Hogy van, hogy a betű néz? 117 00:05:54,160 --> 00:05:55,970 Ez elég nagy? 118 00:05:55,970 --> 00:05:57,000 Rendben van. 119 00:05:57,000 --> 00:06:02,480 >> Tehát van egy csomó parancs, hogy akkor kap elég használni 120 00:06:02,480 --> 00:06:04,490 egész félévben. 121 00:06:04,490 --> 00:06:09,480 A nagy két navigálni a ls, lista fájlok ebben a könyvtárban, és 122 00:06:09,480 --> 00:06:11,380 cd, így váltani. 123 00:06:11,380 --> 00:06:18,390 Szóval lehet változtatni, hogy asztalon, majd nagyon gyakori minta CD-ről 124 00:06:18,390 --> 00:06:22,550 könyvtárba, és azonnal ls Mi van a könyvtárban. 125 00:06:22,550 --> 00:06:25,540 >> Az emberek néha nem veszik észre hogy a Tab befejezése egy dolog. 126 00:06:25,540 --> 00:06:28,370 Szóval, mint a CD, VH, aztán elütöttem Tab. 127 00:06:28,370 --> 00:06:30,790 Én szinte soha nem írja ki az egész dolog. 128 00:06:30,790 --> 00:06:32,920 És ha folyamatosan üti Tab megint, akkor az automatikusan 129 00:06:32,920 --> 00:06:33,670 kezdjük el felsorolni nekem. 130 00:06:33,670 --> 00:06:37,000 Így tudok cd vhostokat, a helyi gazda. 131 00:06:37,000 --> 00:06:39,880 És ez még csak fog - 132 00:06:39,880 --> 00:06:43,380 Abban az esetben, ha nem hallotta a kifejezést előtt, a könyvtár csak egy újabb szó 133 00:06:43,380 --> 00:06:45,170 mappa. 134 00:06:45,170 --> 00:06:49,930 Tehát most, ha látod - 135 00:06:49,930 --> 00:06:51,810 hozzuk, hogy a csúcsra. 136 00:06:51,810 --> 00:06:55,380 >> Tehát most, ha látod zárójelben, akkor lásd a kis tilde, slash, vhost, 137 00:06:55,380 --> 00:06:56,810 perjel, a helyi gazda. 138 00:06:56,810 --> 00:07:00,040 Tehát a tilde, amely utal az én home könyvtár. 139 00:07:00,040 --> 00:07:03,090 Ez egy könyvtárat akkor be, ha SSH be 140 00:07:03,090 --> 00:07:05,660 Ez a könyvtár akkor, amikor akkor nyit egy terminált. 141 00:07:05,660 --> 00:07:08,650 Ez az, ahol elkezd. 142 00:07:08,650 --> 00:07:13,110 És így én vagyok benne az én home könyvtár, és én vagyok benne a vhost 143 00:07:13,110 --> 00:07:14,475 könyvtár belső én könyvtárában. 144 00:07:14,475 --> 00:07:19,670 És akkor biztos vagyok benne, a helyi fogadó könyvtár belsejében ezt. 145 00:07:19,670 --> 00:07:23,740 >> Szóval néhány egyéb hasznos dolgok CD - 146 00:07:23,740 --> 00:07:29,220 vagy jól, általában, így mindig dot utal, hogy az aktuális könyvtárban. 147 00:07:29,220 --> 00:07:31,130 Cd, pont egy nagyon értéktelen parancsot. 148 00:07:31,130 --> 00:07:35,150 De ez változik a aktuális könyvtárban. 149 00:07:35,150 --> 00:07:38,230 A hasznos egy szempontból cd pont, pont, ami 150 00:07:38,230 --> 00:07:40,220 menj fel egy könyvtárba. 151 00:07:40,220 --> 00:07:43,360 >> És jegyezze meg, hogy ezek a - 152 00:07:43,360 --> 00:07:48,610 Azt akarom mondani, álnevek, de ezek szimbólumok, pont, és pont, pont, ezek a munka 153 00:07:48,610 --> 00:07:51,740 elég sok olyan parancs te lesz gondolt fut. 154 00:07:51,740 --> 00:07:55,370 Szóval, mint a cd valószínűleg hol lesz használja a legtöbb, de ezek nem 155 00:07:55,370 --> 00:07:56,780 dolog, hogy csak cd megért. 156 00:07:56,780 --> 00:07:59,980 Ez nagyjából valami az egész parancssori megérti. 157 00:07:59,980 --> 00:08:01,932 Sok program érti pont és pont, pont. 158 00:08:01,932 --> 00:08:04,830 159 00:08:04,830 --> 00:08:09,090 >> Így a többi hasznos is - cd, kötőjel. 160 00:08:09,090 --> 00:08:13,460 Annak érdekében, hogy megy, hogy engem a utolsó könyvtárat, hogy én be 161 00:08:13,460 --> 00:08:15,980 Így néha fogok csinálni valami ilyesmit, oh, dolgozom itt. 162 00:08:15,980 --> 00:08:21,110 És látom, valami hibát valami, és Megyek vizsgálja meg megy, 163 00:08:21,110 --> 00:08:24,020 néhány véletlenszerű könyvtár valahol. 164 00:08:24,020 --> 00:08:25,260 És én nem tudom, hogy lesz hadd ott. 165 00:08:25,260 --> 00:08:25,720 Nem fog. 166 00:08:25,720 --> 00:08:27,615 Így aztán, amit akarok ebben a könyvtárban. 167 00:08:27,615 --> 00:08:28,950 Bla, bla, bla, bla, bla. 168 00:08:28,950 --> 00:08:31,770 És azt gondoltam, rendben, azt akarom, , hogy menjen vissza, ahol voltam. 169 00:08:31,770 --> 00:08:34,490 CD, kötőjel, és ez hozza nekem vissza. 170 00:08:34,490 --> 00:08:39,970 >> Így fogok dobni egy csomó ezek a ma. 171 00:08:39,970 --> 00:08:43,730 Én nem várom el, hogy memorizálni mindet. 172 00:08:43,730 --> 00:08:46,170 Ez a fajta csak tudom, hogy léteznek. 173 00:08:46,170 --> 00:08:48,690 Aztán később, amikor te, mint hmm, azt akarom, hogy menjen vissza a 174 00:08:48,690 --> 00:08:51,870 könyvtár, hogy én éppen, ó, várj, valami ilyesmi létezik. 175 00:08:51,870 --> 00:08:53,980 Nem kell, hogy csak írja be a a teljes katalógusban újra. 176 00:08:53,980 --> 00:08:56,090 >> JOSEPH: És végül majd csak használja őket újra és újra, és 177 00:08:56,090 --> 00:08:57,830 akkor az lesz izom memória. 178 00:08:57,830 --> 00:09:00,090 >> ROB: Igen. 179 00:09:00,090 --> 00:09:02,930 Szóval, hogy én mondtam, hogy a hullámvonal a saját könyvtára. 180 00:09:02,930 --> 00:09:04,820 Így tudok CD-t, hullámvonal. 181 00:09:04,820 --> 00:09:07,280 De nem is kell csinálni, hogy ha én csak - 182 00:09:07,280 --> 00:09:09,760 Megyek vissza a könyvtárba, így ez nem egy értelmetlen példa. 183 00:09:09,760 --> 00:09:14,560 De ha csak ezt a CD, ez is a ugyanaz, mint a, menj a home könyvtár. 184 00:09:14,560 --> 00:09:18,380 185 00:09:18,380 --> 00:09:19,880 Én Command, K. 186 00:09:19,880 --> 00:09:24,015 >> JOSEPH: Azt is írja világos, a szó, és meg kell törölje azt. 187 00:09:24,015 --> 00:09:28,650 >> Ebből: És azt hiszem, még Automatika, L is csinálja. 188 00:09:28,650 --> 00:09:29,690 Tehát sok különböző módon. 189 00:09:29,690 --> 00:09:34,070 Azt hiszem, van néhány különbség, ahol a világos és Ellenőrző L majd csak 190 00:09:34,070 --> 00:09:37,280 tényleg tolja a felső és az Még mindig lépjünk vissza. 191 00:09:37,280 --> 00:09:40,580 Command, K szó elpusztítja mindent, és 192 00:09:40,580 --> 00:09:42,960 nem görgethető vissza. 193 00:09:42,960 --> 00:09:45,530 Legalábbis, ez hogyan működik a iTerm2. 194 00:09:45,530 --> 00:09:48,690 Nem tudom, hogy más dolog - 195 00:09:48,690 --> 00:09:49,360 oh. 196 00:09:49,360 --> 00:09:55,450 >> A SSHing, így ha a Windows, akkor kell majd letölteni PuTTY 197 00:09:55,450 --> 00:10:02,360 annak érdekében, hogy SSH, mivel a Windows nem van, mint a beépített SSH eszköz. 198 00:10:02,360 --> 00:10:06,150 A Mac, akkor csak SSH közvetlenül egy terminál ablakot. 199 00:10:06,150 --> 00:10:08,755 200 00:10:08,755 --> 00:10:09,690 OK. 201 00:10:09,690 --> 00:10:11,840 Kérdése van? 202 00:10:11,840 --> 00:10:19,260 >> Az ls, tehát valami megszokni a legtöbb ilyen parancsok - 203 00:10:19,260 --> 00:10:20,060 Nos, én csak tegye. 204 00:10:20,060 --> 00:10:21,310 Ls, kötőjel, l. 205 00:10:21,310 --> 00:10:26,330 Tehát kötőjel, l, amit mi fogunk hívni egy zászlót ls. 206 00:10:26,330 --> 00:10:30,770 És sok ilyen parancsok zászlók hogy akkor adja át nekik. 207 00:10:30,770 --> 00:10:35,020 Tehát ebben az esetben, kötőjel, l zászló hogy azt mondja, hogy adjon nekem egy teljes 208 00:10:35,020 --> 00:10:37,850 lista az összes információ ezeket a fájlokat. 209 00:10:37,850 --> 00:10:44,790 >> Tehát azt látjuk, hogy itt volt az asztalon módosítása július 30-án 00:54. 210 00:10:44,790 --> 00:10:47,160 Letöltések módosításra került a szeptember 6. 211 00:10:47,160 --> 00:10:52,350 Ezek a jelenlegi mérete és bájt ezeket a könyvtárakat. 212 00:10:52,350 --> 00:10:54,412 Nem kell, hogy megértsük mindezt. 213 00:10:54,412 --> 00:11:00,380 >> Ez a cucc a bal oldalon, ezek a drwx a, , hogy lesz sokkal relevánsabb 214 00:11:00,380 --> 00:11:02,290 később, amikor meg kell foglalkozni - 215 00:11:02,290 --> 00:11:05,900 hogy köze van, aki engedélyekkel hogy nézd meg ezeket a fájlokat. 216 00:11:05,900 --> 00:11:09,880 És ha nem az egyetlen felhasználó a számítógép, akkor képes lenne 217 00:11:09,880 --> 00:11:13,345 mondjuk, OK, legyen az csak egy lehetővé tette, hogy nézd meg ezt a fájlt, vagy én vagyok 218 00:11:13,345 --> 00:11:14,870 majd, hogy mindenki nézni ezt a fájlt. 219 00:11:14,870 --> 00:11:17,710 Tehát valaki a számítógépen nézd meg ezt a fájlt. 220 00:11:17,710 --> 00:11:22,190 221 00:11:22,190 --> 00:11:25,600 Én nem is tudom, mi ez - ez mit csinál? 222 00:11:25,600 --> 00:11:26,840 >> JOSEPH: Nem vagyok benne biztos, valóban. 223 00:11:26,840 --> 00:11:27,705 >> Ebből: Fogalmam sincs. 224 00:11:27,705 --> 00:11:30,530 >> JOSEPH: De ha nem tudod, akkor hasznos parancs, amely segítségével 225 00:11:30,530 --> 00:11:31,680 hogy megmondja, mi a kimenetet jelent. 226 00:11:31,680 --> 00:11:33,780 És ha beírja az ember a parancs előtt - 227 00:11:33,780 --> 00:11:35,000 így az A-M N-. ROB: Man. 228 00:11:35,000 --> 00:11:37,690 Tehát az ember egy másik ami nagyon hasznos. 229 00:11:37,690 --> 00:11:39,540 És az ember, ls. 230 00:11:39,540 --> 00:11:47,320 Tehát az ember oldalakat, ezek mind parancsokat fogsz használni 231 00:11:47,320 --> 00:11:50,330 a parancssorba, és ők is funkciók jelentős lesz 232 00:11:50,330 --> 00:11:52,530 C. Így az ember - 233 00:11:52,530 --> 00:11:53,720 és figyelmen kívül 3.. 234 00:11:53,720 --> 00:11:57,410 De az ember 3 printf fog hozni fel a C változat printf. 235 00:11:57,410 --> 00:12:01,030 De ha csak nem férfi printf, ez lesz, hogy ki a parancsot printf 236 00:12:01,030 --> 00:12:03,540 ez történik a parancssorban. 237 00:12:03,540 --> 00:12:05,730 >> Így az ember, ls. 238 00:12:05,730 --> 00:12:09,030 A man oldalak is elég elsöprő. 239 00:12:09,030 --> 00:12:12,770 Itt, bár, látni fogod ezt a hirdetést Az összes ilyen lobogók ls 240 00:12:12,770 --> 00:12:14,300 megérti. 241 00:12:14,300 --> 00:12:17,876 Tehát, ha megy a kötőjel, l, valamint - 242 00:12:17,876 --> 00:12:19,300 Meg fogom dobni ezt rád. 243 00:12:19,300 --> 00:12:23,050 De ahhoz, hogy keressük, azt szeretné, az első találatot a kérdés 244 00:12:23,050 --> 00:12:24,780 védjegy vagy perjel gombot. 245 00:12:24,780 --> 00:12:26,040 Így perjel. 246 00:12:26,040 --> 00:12:29,000 >> Aztán lehet keresni az, amit akarok. 247 00:12:29,000 --> 00:12:33,780 Így fogok perjel a kötőjel, l. 248 00:12:33,780 --> 00:12:35,110 És ott volt. 249 00:12:35,110 --> 00:12:37,450 Tehát egy hosszú lista formátumban. 250 00:12:37,450 --> 00:12:40,060 Ez nem segít nekem kitalálni, mi az adott oszlop jelentette, de 251 00:12:40,060 --> 00:12:44,480 Feltételezem valahol itt ez magyarázza, hogy az. 252 00:12:44,480 --> 00:12:48,740 Így használja a man oldalakat az olyan parancs hogy nem rögtön megérti. 253 00:12:48,740 --> 00:12:51,080 >> Biztos vagyok benne, akkor is az ember, ember. 254 00:12:51,080 --> 00:12:53,070 Az interfész az online kézikönyveket. 255 00:12:53,070 --> 00:12:57,700 256 00:12:57,700 --> 00:13:03,570 Ó, egy utolsó, ami talán kissé lényeges, ls, kötőjel, a. 257 00:13:03,570 --> 00:13:08,490 Tehát észre, ha csak nem ls, Azt, hogy az öt fájlokat. 258 00:13:08,490 --> 00:13:11,480 Ha én ls, kötőjel, a, azt kap egy csomó további fájlokat. 259 00:13:11,480 --> 00:13:15,350 Tehát a dolog közös az összes ezeket a új fájlok a dot előre. 260 00:13:15,350 --> 00:13:21,220 >> Így az egyezmény, hogy a fájl ponttal kezdődik el van rejtve. 261 00:13:21,220 --> 00:13:25,300 Szóval nem akarja látni, hogy a fájl, akkor Nem akarod, hogy rendetlenség 262 00:13:25,300 --> 00:13:26,750 A könyvtár lista. 263 00:13:26,750 --> 00:13:30,020 Ez csak akkor, ha kifejezetten kéri, Rendben, ls, kötőjel, a, mutasd meg. 264 00:13:30,020 --> 00:13:32,830 Az a jelentése az összes fájlt, beleértve a rejtett is. 265 00:13:32,830 --> 00:13:37,260 266 00:13:37,260 --> 00:13:39,270 Tehát más parancsokat. 267 00:13:39,270 --> 00:13:41,323 Ó, kérdés ezen a ponton? 268 00:13:41,323 --> 00:13:41,746 Igen. 269 00:13:41,746 --> 00:13:45,914 >> SPEAKER 3: Ha nem ls, a, mi a pont, pont? 270 00:13:45,914 --> 00:13:46,870 >> ROB: Oh. 271 00:13:46,870 --> 00:13:48,780 Szóval ez az, amit én beszélek. 272 00:13:48,780 --> 00:13:50,890 Ez ugyanaz a dolog, ahol Én is, mint a CD, pont, pont. 273 00:13:50,890 --> 00:13:56,790 Szóval technikailag, pont, pont, pont van fájlok vannak minden egyes 274 00:13:56,790 --> 00:14:03,620 könyvtár, ahol a dot fájl vonatkozik hogy az aktuális könyvtárban. 275 00:14:03,620 --> 00:14:06,930 Tehát, ha cd, pont, én csak megyek hogy maradjon a könyvtárban. 276 00:14:06,930 --> 00:14:10,870 És pont, pont mindig az korábbi könyvtár egy szinttel feljebb. 277 00:14:10,870 --> 00:14:18,200 Tehát, ha bemegy naplók és ls, kötőjel, al, Meglátom, pont, pont. cd a pont, pont 278 00:14:18,200 --> 00:14:20,390 elvezet az előző könyvtárba. 279 00:14:20,390 --> 00:14:24,530 280 00:14:24,530 --> 00:14:25,780 Igen. 281 00:14:25,780 --> 00:14:27,160 282 00:14:27,160 --> 00:14:28,110 OK. 283 00:14:28,110 --> 00:14:33,070 >> Tehát még egy elég fontos parancs rm. 284 00:14:33,070 --> 00:14:35,650 Szóval, ez az, amit mi fogunk használni, hogy távolítsa el. 285 00:14:35,650 --> 00:14:38,100 És hadd valójában egy másik parancs az első. 286 00:14:38,100 --> 00:14:39,610 Tehát mkdir. 287 00:14:39,610 --> 00:14:42,770 Mkdir hogyan lehet könyvtárak létrehozására. 288 00:14:42,770 --> 00:14:47,530 És én létrehoz egy ideiglenes könyvtárba és menj be, hogy az ideiglenes könyvtárba. 289 00:14:47,530 --> 00:14:49,590 És ahogy az várható volt, hogy üres. 290 00:14:49,590 --> 00:14:53,680 De ha én ls, kötőjel, egy, még mindig van pont és pont, pont, pont azért, mert utal 291 00:14:53,680 --> 00:14:54,480 az aktuális könyvtárban. 292 00:14:54,480 --> 00:14:56,170 És pont, pont utal a előző könyvtárhoz. 293 00:14:56,170 --> 00:14:58,700 És ezek mindig létezik nem számít A könyvtárban van be 294 00:14:58,700 --> 00:15:01,910 295 00:15:01,910 --> 00:15:09,010 >> És ez egy teljesen felesleges parancsot, de a kapcsolatot. 296 00:15:09,010 --> 00:15:11,880 Én csak egyszerűen azt, mert egy egyszerű módja annak, hogy hozzon létre fájlokat. 297 00:15:11,880 --> 00:15:16,180 Tehát érintse meg, érintse meg b, érintse meg a C csak majd létre három fájlt nevezzük, 298 00:15:16,180 --> 00:15:17,845 b, c, amelyek teljesen üres. 299 00:15:17,845 --> 00:15:20,450 300 00:15:20,450 --> 00:15:24,980 Tehát a lényeg rólam létre ezeket a első helyen, csak azért, hogy rm 301 00:15:24,980 --> 00:15:26,250 hogyan lehet eltávolítani őket. 302 00:15:26,250 --> 00:15:27,850 Tehát rm, a. 303 00:15:27,850 --> 00:15:30,960 Meg fog kérdezni, távolítsa el szabályos üres fájl a? 304 00:15:30,960 --> 00:15:33,170 És akkor azt mondom igen. 305 00:15:33,170 --> 00:15:39,090 >> Tehát, ha biztosan tudom, hogy szeretnék törli a fájlt, anélkül, hogy 306 00:15:39,090 --> 00:15:44,500 kéri, vegye ki szabályos üres fájl?, akkor rm, kötőjel, f lesz a 307 00:15:44,500 --> 00:15:48,230 zászló, amely azt mondja, erőt a remove nélkül még kéri meg, ó, te 308 00:15:48,230 --> 00:15:49,710 Biztos, hogy törli a fájlt? 309 00:15:49,710 --> 00:15:50,810 Igen, biztos vagyok benne. 310 00:15:50,810 --> 00:15:56,050 Tehát rm, kötőjel, fb majd csak csináld kérdezés nélkül. 311 00:15:56,050 --> 00:15:57,950 >> Szóval, hogy még egy kis könyvtárat. 312 00:15:57,950 --> 00:16:03,670 mkdir, tmp2, cd, tmp2, érintse meg a, érintés b. 313 00:16:03,670 --> 00:16:04,300 OK. 314 00:16:04,300 --> 00:16:08,180 Tehát most azt akarom, hogy távolítsa el tmp2, mint egy könyvtár. 315 00:16:08,180 --> 00:16:10,316 Tehát rm tmp2. 316 00:16:10,316 --> 00:16:12,920 Ha nem tudja eltávolítani tmp2, ez egy könyvtár. 317 00:16:12,920 --> 00:16:21,370 Tehát a kérdés az, hogy rm nem azonnal dolgozni könyvtárak. 318 00:16:21,370 --> 00:16:26,530 Ez csak azt jelentette, fájlokat, mint a nem-könyvtár fájlokat. 319 00:16:26,530 --> 00:16:30,800 >> És mit tehetünk itt van rm, kötőjel, r. 320 00:16:30,800 --> 00:16:35,160 Ez áll a rekurzív, amely minden bizonnyal Nem jelent semmit, hogy van még. 321 00:16:35,160 --> 00:16:38,280 De amikor kapsz rekurzió, akkor az azt jelenti, több. 322 00:16:38,280 --> 00:16:43,540 Tehát rm, kötőjel, r, tmp2 fog rekurzívan bemegy a könyvtárba. 323 00:16:43,540 --> 00:16:45,540 Tehát az írásvédett tmp2? 324 00:16:45,540 --> 00:16:47,330 Igen, menjünk bele. 325 00:16:47,330 --> 00:16:49,360 Akarunk eltávolítani tmp2 / a? 326 00:16:49,360 --> 00:16:49,745 Igen. 327 00:16:49,745 --> 00:16:51,830 Akarunk eltávolítani tmp2 / b? 328 00:16:51,830 --> 00:16:52,840 Igen. 329 00:16:52,840 --> 00:16:55,170 Most akarunk távolítani a könyvtár tmp2? 330 00:16:55,170 --> 00:16:56,040 Igen. 331 00:16:56,040 --> 00:16:58,410 És most a könyvtár és minden belső 332 00:16:58,410 --> 00:16:59,660 része már eltávolították. 333 00:16:59,660 --> 00:17:02,850 334 00:17:02,850 --> 00:17:07,250 >> Van technikailag parancs rmdir hogy tudod használni, hogy távolítsa el 335 00:17:07,250 --> 00:17:11,670 könyvtárakat, de csak akkor működik, üres könyvtárak egyébként. 336 00:17:11,670 --> 00:17:14,109 És látni, hogy, nézzük csak do mkdir, tmp2 újra. 337 00:17:14,109 --> 00:17:15,940 Tmp2, érintse meg a. 338 00:17:15,940 --> 00:17:16,800 OK. 339 00:17:16,800 --> 00:17:22,770 Tehát, ha úgy próbálja meg eltávolítani dirtmp2, akkor az azt mondják, a könyvtár nem üres. 340 00:17:22,770 --> 00:17:29,540 Szóval nagyjából soha nem használja a Remove dir parancs egyébként, mert rm, kötőjel, 341 00:17:29,540 --> 00:17:35,140 r működni fog Üres könyvtárak és nem üres. 342 00:17:35,140 --> 00:17:37,760 >> És azt is, ha nem szeretné, hogy végig, hogy az egész folyamat 343 00:17:37,760 --> 00:17:40,720 csökkenő a könyvtárba, és eltávolítja minden egyes fájlt, rm, 344 00:17:40,720 --> 00:17:44,190 kötőjel, RF, tmp2. 345 00:17:44,190 --> 00:17:45,670 És most, hogy elment. 346 00:17:45,670 --> 00:17:51,220 >> Valami, hogy legyen óvatos arról van szó, rm, kötőjel, rf. 347 00:17:51,220 --> 00:17:53,660 És ez megrémít még írja, mert ha véletlenül 348 00:17:53,660 --> 00:17:55,090 nyomja meg az Enter vagy valami. 349 00:17:55,090 --> 00:18:02,735 Tehát rm, kötőjel, RF, hullámvonal volna, anélkül, hogy kéri meg, az f nem kér 350 00:18:02,735 --> 00:18:05,670 meg, akkor automatikusan eltávolítja én egész home könyvtár és 351 00:18:05,670 --> 00:18:06,780 minden benne. 352 00:18:06,780 --> 00:18:11,460 Szóval, azt gondolhatja, hogy ez egy hülye dolog. 353 00:18:11,460 --> 00:18:12,830 És hát, ez az. 354 00:18:12,830 --> 00:18:18,600 >> De ez megtörténhet nagyon könnyen Baleset esetén, mondjuk, azt akartam, hogy távolítsa el 355 00:18:18,600 --> 00:18:21,640 a perjel, vhost könyvtárat. 356 00:18:21,640 --> 00:18:26,610 És csak a gyors gépelés, Véletlenül ezt. 357 00:18:26,610 --> 00:18:31,880 Ez eltávolítja rekurzívan mind az én home könyvtár és a vhost könyvtár 358 00:18:31,880 --> 00:18:35,450 ebben az adott könyvtárban, hogy csak történetesen nem létezik most. 359 00:18:35,450 --> 00:18:39,520 De ez még mindig távolítsa el az egész home könyvtár. 360 00:18:39,520 --> 00:18:43,090 Legalábbis azzal, hogy nem egy F, ez azonnali velem. 361 00:18:43,090 --> 00:18:45,670 És én, mint, ó, nem, nem akarom csinálni. 362 00:18:45,670 --> 00:18:50,570 De az emberek, slash, köztük én inkább, hogy a 363 00:18:50,570 --> 00:18:53,090 szokás, hogy mindig az RF-Ing. 364 00:18:53,090 --> 00:18:58,713 Még a szabályos fájlokat, hogy én is csak RM, c, én inkább csak rm, kötőjel, RF, c. 365 00:18:58,713 --> 00:19:01,330 Csak vigyázz, amikor RF-Ing. 366 00:19:01,330 --> 00:19:03,160 >> Hangszóró 4: Mit C csinálni? 367 00:19:03,160 --> 00:19:11,570 >> Ebből: C Arról beszélek, hogy a C fájl ebben a könyvtárban, hogy rm, c. 368 00:19:11,570 --> 00:19:15,730 >> JOSEPH: És még veszélyes, ha használja egy csillag arra utal, hogy mindent 369 00:19:15,730 --> 00:19:16,450 a könyvtár. 370 00:19:16,450 --> 00:19:20,040 Szóval, amit én általában inkább nem is fogok bemegy a könyvtárba, és azt akarom, hogy 371 00:19:20,040 --> 00:19:21,510 távolítsa el az összes fájlt is. 372 00:19:21,510 --> 00:19:23,640 Tehát rm, kötőjel, RF, csillag. 373 00:19:23,640 --> 00:19:25,700 >> ROB: Igen. 374 00:19:25,700 --> 00:19:26,780 Rm, kötőjel, RF, csillag. 375 00:19:26,780 --> 00:19:29,530 >> JOSEPH: És ha nem vigyázunk a könyvtár, te - 376 00:19:29,530 --> 00:19:33,340 Nem voltam temp, de én véletlenül a home könyvtáramban, 377 00:19:33,340 --> 00:19:35,450 aztán majd távolítsa el mindent az otthonomban könyvtárban. 378 00:19:35,450 --> 00:19:39,095 És én tényleg csináltam korábban, és a Azt hiszem, már ilyet, vagy 379 00:19:39,095 --> 00:19:40,640 Jay tett ilyet. 380 00:19:40,640 --> 00:19:42,480 >> Ebből: Én véletlenül eltávolították - 381 00:19:42,480 --> 00:19:44,480 így figyelmen kívül hagyja, hogy a parancs egy kicsit. 382 00:19:44,480 --> 00:19:45,800 >> JOSEPH: nem szórakoztató. 383 00:19:45,800 --> 00:19:52,650 >> Ebből: Így a perjel bin könyvtár egy csomó bináris fájlok, ahol leszek 384 00:19:52,650 --> 00:19:54,840 ismerős is, mint csattanással. 385 00:19:54,840 --> 00:20:00,740 Nos, csenget és lényegében az összes ilyen dolog, hogy én vagyok futó parancs 386 00:20:00,740 --> 00:20:02,060 sor ebben a perjel bin könyvtárba. 387 00:20:02,060 --> 00:20:03,090 >> JOSEPH: Mint ls van itt. 388 00:20:03,090 --> 00:20:06,285 >> Ebből: Tehát pont, perjel, ls lenne jeleníti meg ezt a könyvtárat. 389 00:20:06,285 --> 00:20:08,120 >> JOSEPH: Rm is ebben a könyvtárban. 390 00:20:08,120 --> 00:20:12,770 >> Rob: véletlenül rm, RF-ed bin, amely kivette olyan parancs tudtam 391 00:20:12,770 --> 00:20:14,380 esetleg valaha szeretné. 392 00:20:14,380 --> 00:20:18,085 Ami aztán csak újra a új készülék ezen a ponton. 393 00:20:18,085 --> 00:20:20,170 >> JOSEPH Szóval legyen nagyon óvatos, ha ezt a parancsot. 394 00:20:20,170 --> 00:20:21,120 >> Közönség: [Nem hallható]? 395 00:20:21,120 --> 00:20:22,640 >> ROB: Igen. 396 00:20:22,640 --> 00:20:24,135 Ez is egy rossz szokás bekerülni. 397 00:20:24,135 --> 00:20:27,920 398 00:20:27,920 --> 00:20:30,170 Ha azt veszi észre, én vagyok most - 399 00:20:30,170 --> 00:20:33,580 nos, akkor nem veszi észre, de a a zoom-in, talán igen. 400 00:20:33,580 --> 00:20:35,360 Szóval most már root @ készüléket. 401 00:20:35,360 --> 00:20:39,790 Tehát jharvard a felhasználó akarunk hogy mindig használni. 402 00:20:39,790 --> 00:20:43,820 Gyökér az a felhasználó, aki engedélye tenni bármit. 403 00:20:43,820 --> 00:20:50,260 >> Tehát észre, ha én vagyok jharvard, Ha megpróbálom cd - 404 00:20:50,260 --> 00:20:52,461 mi az a könyvtár? 405 00:20:52,461 --> 00:20:53,980 Ó, gyökér egy jó példa. 406 00:20:53,980 --> 00:20:54,950 Tehát cd, gyökér. 407 00:20:54,950 --> 00:20:56,030 Engedély megtagadva. 408 00:20:56,030 --> 00:21:00,060 Mert ha megnézzük ezt a listát - 409 00:21:00,060 --> 00:21:02,410 és újra, akkor nem kell teljesen megérteni ezt. 410 00:21:02,410 --> 00:21:09,210 De ez a három vonal mondanak hogy ne hagyd, hogy minden más 411 00:21:09,210 --> 00:21:11,120 a felhasználó ebbe a könyvtárba. 412 00:21:11,120 --> 00:21:14,540 És a könyvtár történik a tulajdonosa a root felhasználó. 413 00:21:14,540 --> 00:21:20,310 >> Tehát az a tény, hogy én vagyok jharvard, és nem aki nem root számára engedélyezett a 414 00:21:20,310 --> 00:21:23,490 ez a könyvtár, ami azt jelenti, hogy én vagyok lesz, hogy engedély megtagadva, amikor 415 00:21:23,490 --> 00:21:25,160 próbálja lépj bele. 416 00:21:25,160 --> 00:21:31,370 Tehát, ha én vagyok gyökér, van engedélye csinálni bármit, beleértve a 417 00:21:31,370 --> 00:21:34,660 törlése alapvető fájlok A készülék és a 418 00:21:34,660 --> 00:21:36,640 tönkre az egész dolog. 419 00:21:36,640 --> 00:21:41,240 >> Tehát ez egy rossz szokás, hogy a csak kóborol a 420 00:21:41,240 --> 00:21:43,650 operációs rendszer root. 421 00:21:43,650 --> 00:21:46,520 Én egyébként. 422 00:21:46,520 --> 00:21:48,710 Kérdése van? 423 00:21:48,710 --> 00:21:52,230 És én kilép gyökér, maradj, jharvard. 424 00:21:52,230 --> 00:21:54,510 OK. 425 00:21:54,510 --> 00:21:55,820 >> Többet vonatkozó parancsokat. 426 00:21:55,820 --> 00:22:03,975 Szóval, megy vissza a mi temp, a mv parancs áll a lépés. 427 00:22:03,975 --> 00:22:05,450 Tudod mozgatni a. 428 00:22:05,450 --> 00:22:07,610 Most szeretnénk hívni b, így most úgy hívják b. 429 00:22:07,610 --> 00:22:10,650 Vagy talán azt szeretné helyezni b egy könyvtár. 430 00:22:10,650 --> 00:22:12,730 Tehát most ez a könyvtár üres. 431 00:22:12,730 --> 00:22:15,410 Megyek vissza a home könyvtár, és azt látjuk, hogy b van itt, mert a 432 00:22:15,410 --> 00:22:19,230 home könyvtár volt az egyik könyvtárat fel a könyvtár, hogy B-nek is be 433 00:22:19,230 --> 00:22:24,710 434 00:22:24,710 --> 00:22:26,580 >> Van még cp. 435 00:22:26,580 --> 00:22:33,210 Tehát cp másolni szuper rész, dot, szöveget. 436 00:22:33,210 --> 00:22:35,750 Én hívom s, pont, szöveg. 437 00:22:35,750 --> 00:22:39,780 Most már mindketten szuper rész, dot, szöveget és s, pont, szöveg. 438 00:22:39,780 --> 00:22:41,340 Ez is működik a könyvtárakat. 439 00:22:41,340 --> 00:22:44,040 440 00:22:44,040 --> 00:22:46,560 I RF-ed egyetlen fájlban. 441 00:22:46,560 --> 00:22:48,200 Tehát cp - 442 00:22:48,200 --> 00:22:51,710 Nos, először is próbáljuk cp, tmp, tmp2. 443 00:22:51,710 --> 00:22:53,220 Tehát könyvtár kihagyása tmp. 444 00:22:53,220 --> 00:22:57,440 Annyira hasonlít rm, az alapértelmezett viselkedés az, hogy nem működik a könyvtárak. 445 00:22:57,440 --> 00:23:01,570 >> És ismét, hasonlóan RM, az alapértelmezett viselkedés - nos, hogy ez a munka 446 00:23:01,570 --> 00:23:04,230 A könyvtárak egy, kötőjel-r el. 447 00:23:04,230 --> 00:23:09,240 Így másolni rekurzívan a temp könyvtárat tmp2. 448 00:23:09,240 --> 00:23:13,700 És így most már mind a tmp és tmp2, és ez nem az, hogy hasznos, mivel tmp 449 00:23:13,700 --> 00:23:16,814 üres volt az első helyen. 450 00:23:16,814 --> 00:23:18,660 Tmp2. 451 00:23:18,660 --> 00:23:22,680 >> Most másoljuk tmp be tmp2. 452 00:23:22,680 --> 00:23:27,900 És azt látjuk, hogy tmp2 is van a fájl egy, mert a könyvtárat és 453 00:23:27,900 --> 00:23:32,220 mindent benne, hogy a könyvtárba másolta. 454 00:23:32,220 --> 00:23:36,000 És ez lehet kissé hasznos Ha, mondjuk dolgozik 455 00:23:36,000 --> 00:23:38,860 A probléma az egyiket - 456 00:23:38,860 --> 00:23:41,320 vagy valójában, újabb probléma készletek még ennél is fontosabb, mert 457 00:23:41,320 --> 00:23:43,660 lesz egy csomó a fájlok és a dolgok. 458 00:23:43,660 --> 00:23:47,010 >> De csak azt, hogy, egy osztott a második, vagy, mint, rendben vagyok 459 00:23:47,010 --> 00:23:50,210 fog próbálni valami mást. 460 00:23:50,210 --> 00:23:57,860 Hadd másolni az egész pset1 könyvtárat pset1 tartalék, hogy ha 461 00:23:57,860 --> 00:24:01,490 Én a végén csavarja a dolgokat, tudok menj vissza a mentés könyvtárba. 462 00:24:01,490 --> 00:24:07,340 Több megfelelő módon verziókövetését mentés a kódot, de a 463 00:24:07,340 --> 00:24:10,610 ez mindig egy gyors módja annak, csak hogy Biztos van egy példánya valami 464 00:24:10,610 --> 00:24:11,860 hogy te arról, hogy módosítani. 465 00:24:11,860 --> 00:24:16,974 466 00:24:16,974 --> 00:24:27,090 >> Tehát echo is egyszeri parancsot fajta sillily majd csak nyomtatni a 467 00:24:27,090 --> 00:24:31,540 parancssori pontosan mit akartál echo. 468 00:24:31,540 --> 00:24:32,680 Tehát echo hi. 469 00:24:32,680 --> 00:24:35,420 Majd csak nyomtatni hi. 470 00:24:35,420 --> 00:24:38,030 Echo hello world. 471 00:24:38,030 --> 00:24:39,800 Majd nyomtassa hello world. 472 00:24:39,800 --> 00:24:44,350 Hogy jön a használatát, ha kezd ötvözi parancsokat. 473 00:24:44,350 --> 00:24:48,300 >> És ismét, nem várom el, hogy teljesen érti ezt még, de ez 474 00:24:48,300 --> 00:24:49,910 valamit látni. 475 00:24:49,910 --> 00:24:52,470 És ha Googling példákat vagy rájössz, hogy akarod 476 00:24:52,470 --> 00:24:55,030 valamit, akkor hasznos lehet. 477 00:24:55,030 --> 00:24:59,020 Szóval, mint például, így ls, kötőjel, l. 478 00:24:59,020 --> 00:25:01,160 Tehát itt látom a kimenetet Az ls, kötőjel, l. 479 00:25:01,160 --> 00:25:06,560 És én azt mondom, rendben, azt akarom, hogy tárolja, hogy egy fájlba. 480 00:25:06,560 --> 00:25:11,620 Mindez kimenet, azt akarom, , hogy egy külön fájlba. 481 00:25:11,620 --> 00:25:16,080 >> Szóval ez a kis-nál nagyobb szimbólum az, mit fogunk hívni. 482 00:25:16,080 --> 00:25:18,570 Mi átirányítása a kimenetet egy fájlba. 483 00:25:18,570 --> 00:25:21,680 Hívjuk a fájl bla, mert ez amit én inkább mindig hívják. 484 00:25:21,680 --> 00:25:26,430 Most látjuk, hogy van egy fájl bla itt. 485 00:25:26,430 --> 00:25:30,270 És ha nyisd ki, meglátom, hogy ez pontosan a kimenetet a parancs 486 00:25:30,270 --> 00:25:31,990 hogy én csak futott. 487 00:25:31,990 --> 00:25:36,020 És hasonlóképpen, akkor - 488 00:25:36,020 --> 00:25:41,260 ha ez a kimeneti fájl, ez a nem kap bemeneti fájlból. 489 00:25:41,260 --> 00:25:45,790 490 00:25:45,790 --> 00:25:47,050 Mi az a parancs, hogy én - 491 00:25:47,050 --> 00:25:49,620 >> JOSEPH: Azt hiszem, akkor a több vagy kevesebb, talán. 492 00:25:49,620 --> 00:25:53,031 >> Ebből: De mi a helyzet, csak kevesebb blah? 493 00:25:53,031 --> 00:25:53,930 Nem tudom. 494 00:25:53,930 --> 00:25:57,870 Ha ebbe a forgatókönyv, mint a van psets, hogy ez hasznos. 495 00:25:57,870 --> 00:25:59,950 >> JOSEPH: Tudod pipe be visszhang. 496 00:25:59,950 --> 00:26:02,920 Pipe a fájlt echo látni. 497 00:26:02,920 --> 00:26:04,060 >> Ebből: Ez a cső. 498 00:26:04,060 --> 00:26:04,860 >> JOSEPH: Elnézést. 499 00:26:04,860 --> 00:26:06,190 >> Ebből: Rendben. 500 00:26:06,190 --> 00:26:12,720 Tehát ez a kimenet fájlba. 501 00:26:12,720 --> 00:26:18,700 Ez az, hogy a szöveget a fájlban és átadja a programot. 502 00:26:18,700 --> 00:26:20,560 És akkor is látni ezt a fickót. 503 00:26:20,560 --> 00:26:24,410 Tehát ez a fajta egyszerre végzi mindkettőt. 504 00:26:24,410 --> 00:26:28,310 És valóban, én két új parancsok csak azért, hogy használja azt. 505 00:26:28,310 --> 00:26:33,060 >> A történelem egy praktikus parancs csak majd nyomtassa ki a listát 506 00:26:33,060 --> 00:26:34,940 bármi, amit valaha futtatni egy parancsot. 507 00:26:34,940 --> 00:26:38,290 Tehát itt látunk mindent, ami van óta működik ez az egész idő alatt. 508 00:26:38,290 --> 00:26:39,540 Sok ls években. 509 00:26:39,540 --> 00:26:41,570 510 00:26:41,570 --> 00:26:48,470 >> És egy másik hasznos parancs a grep, hogy az a célja, a keresést az 511 00:26:48,470 --> 00:26:52,060 szöveges keres mintákat, nos, keres, amit 512 00:26:52,060 --> 00:26:53,310 akarjuk, hogy keresni. 513 00:26:53,310 --> 00:26:59,770 És így egy praktikus használat itt, mondjuk szeretnénk megragadni a történelem. 514 00:26:59,770 --> 00:27:03,860 És azt akarom, hogy keresse meg a parancsokat ahol - mi a 515 00:27:03,860 --> 00:27:05,000 hasznosnak kell keresni? 516 00:27:05,000 --> 00:27:06,898 >> JOSEPH: [Nem hallható]? 517 00:27:06,898 --> 00:27:09,710 >> Ebből: Vagy nézzük csak meg az összes érinti, bármilyen okból. 518 00:27:09,710 --> 00:27:13,850 Tehát ez az, amit fog kinézni. 519 00:27:13,850 --> 00:27:15,560 És akkor nem kell teljesen érteni. 520 00:27:15,560 --> 00:27:20,570 De az ötlet itt, a történelem ad azonos kimeneti tette itt 521 00:27:20,570 --> 00:27:25,030 ahol ez kinyomtatja az egész története mindent, amit valaha is futni. 522 00:27:25,030 --> 00:27:27,030 Mi majd halad, hogy - 523 00:27:27,030 --> 00:27:30,230 így nyomtatás helyett a képernyőn, szeretnénk átadni, hogy a 524 00:27:30,230 --> 00:27:34,640 parancs grep amely keres minden esetben a szó érintés. 525 00:27:34,640 --> 00:27:40,280 >> És így ezzel együtt a eszközök, a történelem és a grep, látom, OK, 526 00:27:40,280 --> 00:27:44,820 Itt van minden, a parancs, amit valaha fut, és itt egy kicsit a közös egy. 527 00:27:44,820 --> 00:27:45,510 Mi vagyunk az alján. 528 00:27:45,510 --> 00:27:47,930 És ez is, hogy nekem a parancsot Én csak futott, hogy volt a 529 00:27:47,930 --> 00:27:51,240 szó érintés is. 530 00:27:51,240 --> 00:27:58,500 De a cső egy nagyon hasznos dolog A több különböző programokat. 531 00:27:58,500 --> 00:28:04,670 És valóban, ez egy parancsikont let me kimenet történelem fájlba bla, és a 532 00:28:04,670 --> 00:28:10,190 hadd grep a fájl bla mint amit szeretnék, hogy nézd át. 533 00:28:10,190 --> 00:28:13,460 Tehát a cső csak egy parancsikont e két parancs. 534 00:28:13,460 --> 00:28:13,950 Igen. 535 00:28:13,950 --> 00:28:15,306 >> SPEAKER 4: [Nem hallható]? 536 00:28:15,306 --> 00:28:16,556 >> ROB: Igen. 537 00:28:16,556 --> 00:28:20,142 538 00:28:20,142 --> 00:28:21,110 Mi - 539 00:28:21,110 --> 00:28:21,858 Oh. 540 00:28:21,858 --> 00:28:24,820 Próbáljuk. 541 00:28:24,820 --> 00:28:29,170 Tehát, macska, kutya, hal. 542 00:28:29,170 --> 00:28:33,770 Szóval azt akarom, grep. 543 00:28:33,770 --> 00:28:37,680 Dash, r, megint lesz rekurzív, így azt akarom, hogy leereszkedünk 544 00:28:37,680 --> 00:28:38,870 összes könyvtár. 545 00:28:38,870 --> 00:28:43,210 Azt akarom, hogy rekurzívan grep-összes - és hadd átmenetileg kap 546 00:28:43,210 --> 00:28:44,460 ez az útból. 547 00:28:44,460 --> 00:28:48,650 548 00:28:48,650 --> 00:28:50,740 Figyelmen kívül hagyni engem. 549 00:28:50,740 --> 00:28:51,360 OK. 550 00:28:51,360 --> 00:28:56,740 >> Szóval azt akarom, hogy ideiglenesen grep- minden esetben a szó hal. 551 00:28:56,740 --> 00:29:00,510 És itt van, amit én csinálok, az grepping rekurzívan a szót hal. 552 00:29:00,510 --> 00:29:05,410 És a csillag azt jelenti, az összes ilyen Az ebben a könyvtárban. 553 00:29:05,410 --> 00:29:08,930 És ez így kaptam egy Permission Denied, mert nem szabad, hogy olvastam, hogy 554 00:29:08,930 --> 00:29:10,060 adott fájlt. 555 00:29:10,060 --> 00:29:14,040 De találtak a halak a fájlban, teszt. 556 00:29:14,040 --> 00:29:18,450 >> Azt is mondhatnánk, pontosabban, csak meg akarom nézni a fájlban bla, a 557 00:29:18,450 --> 00:29:19,580 ez esetben nem fog találni semmit. 558 00:29:19,580 --> 00:29:20,990 Én csak meg akarom nézni a fájlban, teszt. 559 00:29:20,990 --> 00:29:22,240 Ez meg hal. 560 00:29:22,240 --> 00:29:25,980 561 00:29:25,980 --> 00:29:29,260 Ez egy nagyon hasznos parancs tudni, hogy általában. 562 00:29:29,260 --> 00:29:31,640 Vannak alternatívák grep , amelyek állítólag több 563 00:29:31,640 --> 00:29:36,780 programozó barátságos, de én inkább , hogy még mindig esik vissza grep. 564 00:29:36,780 --> 00:29:38,030 Kérdése van? 565 00:29:38,030 --> 00:29:39,965 566 00:29:39,965 --> 00:29:40,919 OK. 567 00:29:40,919 --> 00:29:42,520 >> Vannak-e más parancsokat? 568 00:29:42,520 --> 00:29:45,270 Oh. 569 00:29:45,270 --> 00:29:48,370 Csak egy egyszeri egyik, hogy mindig meg, hogy szórakoztató Cal. 570 00:29:48,370 --> 00:29:55,610 Tehát észre, ha én vagyok ebben a szép teljes képernyős módban, nincs, mint a felső 571 00:29:55,610 --> 00:29:56,720 eszköztár, vagy ilyesmi. 572 00:29:56,720 --> 00:29:59,530 Tehát cal csak ad nekem egy szép kis naptár van 573 00:29:59,530 --> 00:30:02,380 Most vágva, gondolom. 574 00:30:02,380 --> 00:30:04,770 De szép kis paranccsal. 575 00:30:04,770 --> 00:30:06,540 >> JOSEPH: A [hallható]. 576 00:30:06,540 --> 00:30:09,170 Más parancsok, hogy lehet, hogy látott közé csenget, és. 577 00:30:09,170 --> 00:30:11,180 Megyünk át őket részletesebben később. 578 00:30:11,180 --> 00:30:13,400 De ha már dolgozik A Pset, ha kell 579 00:30:13,400 --> 00:30:15,160 ismerik azokat. 580 00:30:15,160 --> 00:30:16,640 >> Ebből: Rendben. 581 00:30:16,640 --> 00:30:18,520 Kérdések a parancssorban a dolgokat? 582 00:30:18,520 --> 00:30:22,450 583 00:30:22,450 --> 00:30:23,260 Rendben van. 584 00:30:23,260 --> 00:30:27,416 Szóval lépni néhány C-kapcsolatos dolgokat. 585 00:30:27,416 --> 00:30:28,666 Változók matek. 586 00:30:28,666 --> 00:30:39,078 587 00:30:39,078 --> 00:30:40,060 OK. 588 00:30:40,060 --> 00:30:45,230 Szóval, ahogy volt matematikai Scratch, akkor is használható matematikai C. 589 00:30:45,230 --> 00:30:49,270 >> Mielőtt nekilátnánk az, hogy teljesen, olyan változókat. 590 00:30:49,270 --> 00:30:53,920 Ne feledje, hogy amikor kijelentik, változó, mint int x, vagy float y, akkor 591 00:30:53,920 --> 00:30:56,710 kell, hogy ez típus előtt a változó neve. 592 00:30:56,710 --> 00:31:03,020 Tehát típusú láttunk eddig int, float, double, hosszú, hosszú, amit 593 00:31:03,020 --> 00:31:06,150 valójában nem tudom, hogy mi már Látható, hogy eddig. 594 00:31:06,150 --> 00:31:07,700 >> Vannak más is. 595 00:31:07,700 --> 00:31:09,990 Már látni char. 596 00:31:09,990 --> 00:31:13,920 Van egy rövid, ami olyan, mint ez a ellentéte a hosszú, hosszú, ahol ez 597 00:31:13,920 --> 00:31:16,650 kisebb, mint egy egész szám. 598 00:31:16,650 --> 00:31:18,580 Azt is láttuk, húr. 599 00:31:18,580 --> 00:31:23,070 Tehát mi a különleges karakterlánc? 600 00:31:23,070 --> 00:31:25,350 Miért mondják, Nem elég, mint int? 601 00:31:25,350 --> 00:31:27,030 >> SPEAKER 4: Ez nem igazán létezik. 602 00:31:27,030 --> 00:31:27,990 >> ROB: Igen. 603 00:31:27,990 --> 00:31:31,820 Tehát az egyetlen ok, amiért van szöveg azért van, mert ha nem 604 00:31:31,820 --> 00:31:33,215 hash tartalmazzák cs50.h. 605 00:31:33,215 --> 00:31:36,530 606 00:31:36,530 --> 00:31:42,670 És majd meglátjuk példát később - ó, ez nem kezeli olyan jól - 607 00:31:42,670 --> 00:31:46,160 ahol cs50.h csinál valamit vonalak mentén típusú 608 00:31:46,160 --> 00:31:49,230 def, char csillag, string. 609 00:31:49,230 --> 00:31:53,280 >> És ez azt mondja, hogy nem is tudja, mi a char csillag még. 610 00:31:53,280 --> 00:31:56,770 De ez azt akarjuk húr. 611 00:31:56,770 --> 00:32:00,250 Bárhol már használja karakterlánc, akkor lehetett volna a char csillag, 612 00:32:00,250 --> 00:32:04,670 ami valójában egy olyan típus, amely létezik a C nyelvet. 613 00:32:04,670 --> 00:32:06,680 De mi lesz az, hogy. 614 00:32:06,680 --> 00:32:07,860 Ja, és megy vissza. 615 00:32:07,860 --> 00:32:10,170 Ügyes. 616 00:32:10,170 --> 00:32:15,370 >> Tehát ugyanaz a dolog bool ahol az igaz és hamis. 617 00:32:15,370 --> 00:32:22,510 Ez nem igazán egy beépített típusú C. Ehelyett, ez csak, van ennek 618 00:32:22,510 --> 00:32:23,740 az érték nulla? 619 00:32:23,740 --> 00:32:26,200 Akkor csak úgy azt, hogy hamis. 620 00:32:26,200 --> 00:32:27,350 Vajon ez az értéke - 621 00:32:27,350 --> 00:32:30,530 Nos, ez bármilyen érték, amely nem nulla? 622 00:32:30,530 --> 00:32:32,200 Akkor úgy vélik, hogy igaz legyen. 623 00:32:32,200 --> 00:32:35,940 Tehát az egyik igaz, a két igaz, semmit nem nulla igaz. 624 00:32:35,940 --> 00:32:38,710 625 00:32:38,710 --> 00:32:42,790 Tehát ezek azok. 626 00:32:42,790 --> 00:32:47,624 Kérdések nyilvánításáról változók és változó típusok és minden? 627 00:32:47,624 --> 00:32:48,100 Igen. 628 00:32:48,100 --> 00:32:52,384 >> SPEAKER 4: A hosszú, hosszú, a könyv, azt mondta, hogy volt, hogy hosszú, hosszú int. 629 00:32:52,384 --> 00:32:54,288 De majd csak hosszú, hosszú működik? 630 00:32:54,288 --> 00:32:58,210 631 00:32:58,210 --> 00:33:01,470 >> Ebből: Tehát az ilyen típusú módosítók. 632 00:33:01,470 --> 00:33:04,170 Így int x. 633 00:33:04,170 --> 00:33:07,710 Így azt is mondhatjuk, unsigned int x. 634 00:33:07,710 --> 00:33:09,640 Azt lehet mondani, a rövid int x. 635 00:33:09,640 --> 00:33:12,570 Azt lehet mondani, hosszú, hosszú int x. 636 00:33:12,570 --> 00:33:17,250 De elég sok minden olyan dolog, amit csak annyit mondott, unsigned int, short int, 637 00:33:17,250 --> 00:33:21,480 long long int, akkor megszabadulni Az int és ez csak feltételezik, 638 00:33:21,480 --> 00:33:22,510 hogy jelentette int. 639 00:33:22,510 --> 00:33:26,045 Tehát unsigned x, ami csak azt jelenti, - 640 00:33:26,045 --> 00:33:29,400 tudod, hogy általában egy int, akkor lehet mondani, x értéke negatív 3? 641 00:33:29,400 --> 00:33:31,636 Egy unsigned int, akkor nem. 642 00:33:31,636 --> 00:33:34,480 >> JOSEPH: És ismét, a kamera, a kérdés az volt, hogy mi a különbség 643 00:33:34,480 --> 00:33:37,796 a hosszú long int és csak a hosszú ideig? 644 00:33:37,796 --> 00:33:38,410 >> ROB: Igen. 645 00:33:38,410 --> 00:33:42,850 Szóval szinte soha nem írni a hosszú long int. 646 00:33:42,850 --> 00:33:44,100 Írok hosszú, hosszú. 647 00:33:44,100 --> 00:33:47,770 648 00:33:47,770 --> 00:33:50,636 >> JOSEPH: További kérdések? 649 00:33:50,636 --> 00:33:51,886 >> ROB: OK. 650 00:33:51,886 --> 00:33:56,180 651 00:33:56,180 --> 00:34:02,390 Tehát ostoba kis emlékeztető, hogy hogyan kijelentjük változó és inicializálása 652 00:34:02,390 --> 00:34:04,450 változó, és állapítsa másik változó és inicializálni 653 00:34:04,450 --> 00:34:05,870 az egészet egy lépésben. 654 00:34:05,870 --> 00:34:09,370 Így a nyilatkozat a változó és Az inicializálás változó nincs 655 00:34:09,370 --> 00:34:11,120 hogy de lehet ugyanabban a sorban. 656 00:34:11,120 --> 00:34:15,409 657 00:34:15,409 --> 00:34:20,060 >> Tehát a szokásos matematikai operátorok hogy van szokva - 658 00:34:20,060 --> 00:34:22,199 plusz, mínusz, szakadék, alkalommal. 659 00:34:22,199 --> 00:34:24,389 Van még modulo, ami majd meglátjuk. 660 00:34:24,389 --> 00:34:29,060 Nincs, legalábbis C, a beépített teljesítmény 661 00:34:29,060 --> 00:34:31,765 hatványozás caret operátor. 662 00:34:31,765 --> 00:34:33,770 Nos, van egy kalap operátor, de ez nem a hatalom. 663 00:34:33,770 --> 00:34:34,239 >> JOSEPH: De ez nem hatványozás, Igen. 664 00:34:34,239 --> 00:34:36,210 >> Ebből: Ne használja a kalap azt feltételezni, hogy az azt jelenti, 665 00:34:36,210 --> 00:34:39,980 mint a szögletes vagy bármi. 666 00:34:39,980 --> 00:34:42,289 Szóval néhány dolog, hogy tartsa törődj részlege. 667 00:34:42,289 --> 00:34:46,282 668 00:34:46,282 --> 00:34:48,880 Fogok állni. 669 00:34:48,880 --> 00:34:51,315 Tehát kijelentette inicializálása választ. 670 00:34:51,315 --> 00:34:54,670 Szóval azt mondja float válasz értéke 1 osztva 10-zel. 671 00:34:54,670 --> 00:34:57,500 Print válasz két tizedesjegy pontossággal. 672 00:34:57,500 --> 00:35:02,180 >> És ez a fajta dolog, amit volna az ember printf kitalálni, hogy 673 00:35:02,180 --> 00:35:05,110 Mi a fene ez%, pont, 2f jelent? 674 00:35:05,110 --> 00:35:07,930 És ez csak azt jelenti, nos, figyelmen kívül hagyva a 0.2. 675 00:35:07,930 --> 00:35:10,420 És%, f, amit használunk nyomtatni lebegni. 676 00:35:10,420 --> 00:35:15,370 A 0,2 azt mondja, hogy a nyomtatási úszó két tizedes jegyig. 677 00:35:15,370 --> 00:35:19,600 Tehát ez a program egy hiba, és lehet, hogy már láttam ilyet néhány 678 00:35:19,600 --> 00:35:20,870 korábbi CS természetesen. 679 00:35:20,870 --> 00:35:22,170 De mi ez a bogár? 680 00:35:22,170 --> 00:35:23,050 >> SPEAKER 5.: Zero. 681 00:35:23,050 --> 00:35:24,130 >> ROB: Igen. 682 00:35:24,130 --> 00:35:29,630 Tehát, amikor azt mondjuk, válasz egyenlő 1 osztva 10, azt akarjuk, hogy a 683 00:35:29,630 --> 00:35:31,610 választ kell 0,1. 684 00:35:31,610 --> 00:35:37,450 De 1 osztva 10, 1 egy egész szám, 10 egy egész szám. 685 00:35:37,450 --> 00:35:41,060 És így, ha nem egy egész szám hányadosa egy egész, megyünk vissza 686 00:35:41,060 --> 00:35:42,190 egy egész szám. 687 00:35:42,190 --> 00:35:43,660 Tehát 1 osztva 10 0,1. 688 00:35:43,660 --> 00:35:46,760 >> Mivel kell nekünk egy egész, ez csak úgy eldobni, hogy 689 00:35:46,760 --> 00:35:49,410 tizedes, és azt mondják, hogy az a válasz: 0-ra. 690 00:35:49,410 --> 00:35:55,314 És így, ha nyomtatni választ itt, ez a nyomdába 0.00. 691 00:35:55,314 --> 00:35:58,430 >> JOSEPH És ahogy egy megjegyzés, valójában eldobja, mi után 692 00:35:58,430 --> 00:35:59,390 tizedes pontossággal. 693 00:35:59,390 --> 00:36:03,180 Tehát, ha ahelyett, már 6 osztva 10, azt gondolhatja, hogy ez Önnek 694 00:36:03,180 --> 00:36:05,200 0,6 és akkor is felhajt 1. 695 00:36:05,200 --> 00:36:10,520 De tényleg, mi történik, ha az írja feladat az, hogy esik, ami 696 00:36:10,520 --> 00:36:11,470 a tizedesvessző után. 697 00:36:11,470 --> 00:36:13,020 Így 0,6 nem lesz 0-ra. 698 00:36:13,020 --> 00:36:13,370 >> ROB: Igen. 699 00:36:13,370 --> 00:36:15,160 Tehát azt mondjuk, csonkítása, hogy. 700 00:36:15,160 --> 00:36:21,760 Tehát, ha a leadott egy int, a tizedes csonka. 701 00:36:21,760 --> 00:36:23,980 Így a fix, hogy - nincs Valójában két. 702 00:36:23,980 --> 00:36:27,890 És én fogom csinálni, hogy a második, mert a ez egy sokkal egyszerűbb fix. 703 00:36:27,890 --> 00:36:32,670 >> Tehát az egyik fix, hogy használja úszók a körzetben. 704 00:36:32,670 --> 00:36:34,720 És tényleg, csak meg kell hogy az egyik közülük egy úszó. 705 00:36:34,720 --> 00:36:37,400 De ez kissé világosabbá csak hogy mind a ketten úszik. 706 00:36:37,400 --> 00:36:41,170 Tehát 1.0 osztva 10.0 elosztjuk két úszók. 707 00:36:41,170 --> 00:36:43,970 Tehát a válasz lesz a vége, hogy úszó, és így lesz 708 00:36:43,970 --> 00:36:48,050 helyesen nyomtatni 0.10 itt. 709 00:36:48,050 --> 00:36:52,220 >> Valami, ami nem működik olyan jól arról, hogy van, jól, persze, nem volt könnyű 710 00:36:52,220 --> 00:36:56,240 elég átalakítani 1 és úszó azáltal, hogy 1.0. 711 00:36:56,240 --> 00:37:02,180 De mi van, ha ehelyett két egész szám mint int x értéke 1 és int y 712 00:37:02,180 --> 00:37:05,660 értéke 10, majd akartunk hogy ne x osztva y? 713 00:37:05,660 --> 00:37:10,420 Tehát ez nem könnyű, hogy csak do x.0 vagy valami. 714 00:37:10,420 --> 00:37:12,790 >> Tehát a javítást, hogy a casting. 715 00:37:12,790 --> 00:37:19,780 Tehát casting egy módja C átalakítására az egyik változót típusról a másikra. 716 00:37:19,780 --> 00:37:22,320 Tehát itt, az 1 egész szám. 717 00:37:22,320 --> 00:37:27,050 És azáltal, hogy ezt úszó előtt , mi casting 1 úszó. 718 00:37:27,050 --> 00:37:30,350 És ez fogja alakítani Az 1 és 1,0. 719 00:37:30,350 --> 00:37:33,380 És ez fogja alakítani A 10 és a 10,0. 720 00:37:33,380 --> 00:37:36,790 >> És akkor a dolgok hasonlóan viselkednek a előző verzióhoz mi csak azt mutatták, 721 00:37:36,790 --> 00:37:42,190 ahol, mint az várható volt, kapunk 0,10 és ez lesz nyomtatni, hogy. 722 00:37:42,190 --> 00:37:44,120 És mi ezt a változók is. 723 00:37:44,120 --> 00:37:47,376 Tehát elmondhatjuk, float x osztva float y. 724 00:37:47,376 --> 00:37:48,626 >> JOSEPH: További kérdések? 725 00:37:48,626 --> 00:37:54,182 726 00:37:54,182 --> 00:38:00,090 >> Ebből: Tehát ugyanúgy, mint a rendszeres matematika, mi üzemeltető elsőbbséget. 727 00:38:00,090 --> 00:38:06,960 Tehát matekórán, akkor nagyobb valószínűséggel hívni műveletek sorrendjét. 728 00:38:06,960 --> 00:38:09,890 Itt a hivatalos kifejezés operátor elsőbbséget. 729 00:38:09,890 --> 00:38:15,230 De az üzemeltető elsőbbséget, vagy a legtöbb szolgáltatók, van, ahogy várnánk. 730 00:38:15,230 --> 00:38:22,660 >> Szóval, mint a matematika, a 2-szer 10 fognak csoportosítani jobban, mint 731 00:38:22,660 --> 00:38:25,410 ez a 10 osztva 2, majd a 2. 732 00:38:25,410 --> 00:38:29,745 Az, hogy a művelet, akkor nem 2 szer 10, 10 osztva a 2, majd 733 00:38:29,745 --> 00:38:32,720 ez lesz 20 plusz 5 plusz 2. 734 00:38:32,720 --> 00:38:37,020 Szóval ez a várakozásoknak, és tudod használni zárójelben a csoporthoz kifejezéseket. 735 00:38:37,020 --> 00:38:41,063 Nem lehet használni szögletes zárójelek csoporthoz kifejezéseket. 736 00:38:41,063 --> 00:38:41,544 Igen? 737 00:38:41,544 --> 00:38:43,468 >> Hangszóró 5: Lehet, hogy tényleg csak menj vissza egy pillanatra? 738 00:38:43,468 --> 00:38:47,316 Tudsz öntött egy int, hogy a húr? 739 00:38:47,316 --> 00:38:53,330 >> Ebből: Tehát a C, akkor a leadott bármit szeretnénk, amit akarsz. 740 00:38:53,330 --> 00:38:55,600 Ez nem jelenti azt, hogy egy jó dolog. 741 00:38:55,600 --> 00:38:59,760 Tehát, ha alakíts egy int, hogy egy sor, azt jelenti, hogy - 742 00:38:59,760 --> 00:39:03,240 és mi lesz ebbe sokkal alaposabban - 743 00:39:03,240 --> 00:39:03,720 >> JOSEPH: Sokkal később. 744 00:39:03,720 --> 00:39:06,840 >> Rob: Nem akartam mondani, sokkal később, így megpróbáltam megváltoztatni a mondatot. 745 00:39:06,840 --> 00:39:13,370 Majd kap sokkal alaposabban Később, amikor igazán, ha van egy 746 00:39:13,370 --> 00:39:14,810 string változó - 747 00:39:14,810 --> 00:39:17,160 így egy sor lehet önkényesen Hosszú, nem igaz? 748 00:39:17,160 --> 00:39:21,850 És mi már azt mondja, hogy az int négy bájt hosszú, hosszú nyolc 749 00:39:21,850 --> 00:39:23,620 byte és egy úszó négy bájt. 750 00:39:23,620 --> 00:39:29,520 Tehát egy sor, mint egy int, csak egy bizonyos számú byte hozzá. 751 00:39:29,520 --> 00:39:31,800 És ez lesz a négy bájt. 752 00:39:31,800 --> 00:39:34,750 >> De egy sor is elég Önkényesen nagy, igaz? 753 00:39:34,750 --> 00:39:40,190 Tehát hello world már, ha ez 10 karakter, vagy bármi, ami már 754 00:39:40,190 --> 00:39:42,670 lesz, hogy több mint 4 bájt Én elfér egy húr. 755 00:39:42,670 --> 00:39:51,140 És hogyan húrok igazán működik az, hogy a vannak, ahol a memóriában karakterlánc 756 00:39:51,140 --> 00:39:52,380 tartják fogva. 757 00:39:52,380 --> 00:39:57,290 >> És itt, amikor azt mondom karakterláncot x egyenlő hello world, belseje x 758 00:39:57,290 --> 00:40:01,840 csak azt mondom, oh, hello world tárolja ebben az adott helyen a memóriában. 759 00:40:01,840 --> 00:40:07,060 Tehát, ha megpróbáljuk öntött egy egész, hogy a karakterlánc, akkor próbáljuk értelmezni 760 00:40:07,060 --> 00:40:10,500 néhány véletlenszerű része a memória mint a húr. 761 00:40:10,500 --> 00:40:14,465 És ez szinte mindig megtöri a dolgokat. 762 00:40:14,465 --> 00:40:17,040 >> JOSEPH: De ha ez összezavarja te, mi lesz, amely azt 763 00:40:17,040 --> 00:40:17,550 mélyebben később. 764 00:40:17,550 --> 00:40:17,850 >> ROB: Igen. 765 00:40:17,850 --> 00:40:20,540 Ez az, ahol mész bejutni mutatók. 766 00:40:20,540 --> 00:40:25,485 És ez egy jelentős darab A két héttel a tanfolyam. 767 00:40:25,485 --> 00:40:28,275 >> SPEAKER 6. Működik hasonló tárgyakat más nyelveken, vagy nem igazán? 768 00:40:28,275 --> 00:40:34,050 >> Ebből: Tehát más nyelveken, a tárgyak lenne leírható mutatók. 769 00:40:34,050 --> 00:40:37,070 770 00:40:37,070 --> 00:40:38,793 Ez nem ugyanaz a dolog, mégis. 771 00:40:38,793 --> 00:40:42,110 772 00:40:42,110 --> 00:40:42,910 Minden gondolat? 773 00:40:42,910 --> 00:40:43,760 >> JOSEPH: Nem. 774 00:40:43,760 --> 00:40:44,185 Nincsenek gondolatok. 775 00:40:44,185 --> 00:40:44,980 >> ROB: OK. 776 00:40:44,980 --> 00:40:46,994 >> JOSEPH: Next. 777 00:40:46,994 --> 00:40:48,255 >> Ebből: Csak menjen vele. 778 00:40:48,255 --> 00:40:48,670 Rendben van. 779 00:40:48,670 --> 00:40:51,120 Így modulo. 780 00:40:51,120 --> 00:40:53,900 Csakúgy, mint mi, plusz, mínusz, osztani és szorozni. 781 00:40:53,900 --> 00:40:56,720 Így modulo az egyik lehet, hogy nem is látott. 782 00:40:56,720 --> 00:40:59,540 És ez csak azt mondja, hogy én a maradék. 783 00:40:59,540 --> 00:41:02,850 Tehát 55% 10.. 784 00:41:02,850 --> 00:41:06,840 A fennmaradó csinál 55 megosztott 10 lenne 5. 785 00:41:06,840 --> 00:41:09,630 Tehát 55% 10 5. 786 00:41:09,630 --> 00:41:12,260 3%-5 lenne 3. 787 00:41:12,260 --> 00:41:14,180 8% 8 0 lesz. 788 00:41:14,180 --> 00:41:15,903 16% 15 1 lesz. 789 00:41:15,903 --> 00:41:20,670 >> Joseph: Egy dolog megjegyezni ezzel, is, ez lehet, hogy nem a várt módon működnek 790 00:41:20,670 --> 00:41:22,700 ha egy negatív szám. 791 00:41:22,700 --> 00:41:26,215 Tehát negatív 5% 4, néhány ember azt gondolhatja, hogy ez - 792 00:41:26,215 --> 00:41:28,890 793 00:41:28,890 --> 00:41:33,808 mit gondolsz a negatív 5% 4 lenne? 794 00:41:33,808 --> 00:41:34,792 >> SPEAKER 5:. 795 00:41:34,792 --> 00:41:37,920 >> JOSEPH: Tehát egyesek egy, egyesek negatív. 796 00:41:37,920 --> 00:41:38,450 De mi - 797 00:41:38,450 --> 00:41:40,820 >> Rob: nem is kell mondta az egyik ilyen. 798 00:41:40,820 --> 00:41:42,370 >> JOSEPH: Két, sajnálom. 799 00:41:42,370 --> 00:41:43,240 Vannak, akik azt mondják - 800 00:41:43,240 --> 00:41:43,450 >> ROB: Három. 801 00:41:43,450 --> 00:41:43,800 >> Joseph: Három? 802 00:41:43,800 --> 00:41:44,890 >> ROB: Negatív - 803 00:41:44,890 --> 00:41:45,950 mi volt a - negatív öt - 804 00:41:45,950 --> 00:41:47,100 >> JOSEPH: három, három, három. 805 00:41:47,100 --> 00:41:48,450 Bocsánat. 806 00:41:48,450 --> 00:41:51,910 Mivel modulo általában, ha már láttam máshol, ez általában azt jelenti, 807 00:41:51,910 --> 00:41:54,000 vissza pozitív szám, igaz? 808 00:41:54,000 --> 00:42:01,160 >> Ebből: Tehát amikor azt mondjuk, a matematika, a% 10-es, hajlamosak szeretnénk, hogy ha - 809 00:42:01,160 --> 00:42:05,980 ha mod 10, akkor azt várjuk, hogy kap egy számot 0 és 9 között. 810 00:42:05,980 --> 00:42:09,860 Itt, hogy nem ez a helyzet, hogy lesz negatív számok vissza. 811 00:42:09,860 --> 00:42:15,898 >> JOSEPH: Erős negatív 5% 4 negatív lenne 1. 812 00:42:15,898 --> 00:42:19,325 >> Ebből: De ez ritka, hogy te mod-ing negatív számok kezdeni. 813 00:42:19,325 --> 00:42:25,490 814 00:42:25,490 --> 00:42:25,970 Hagyja ki ezt. 815 00:42:25,970 --> 00:42:27,314 >> JOSEPH: Igen. 816 00:42:27,314 --> 00:42:29,420 >> ROB: Meh. 817 00:42:29,420 --> 00:42:29,990 OK. 818 00:42:29,990 --> 00:42:36,400 Tehát az egyik utolsó dolog rámutatni a úszók, hogy ez egy veszélyes viselkedést, 819 00:42:36,400 --> 00:42:39,850 de úszók nem pontos képviselet. 820 00:42:39,850 --> 00:42:46,190 Így megy vissza byte újra, ne feledje, hogy az int mindig négy bájt, és a 821 00:42:46,190 --> 00:42:47,830 float mindig négy bájt. 822 00:42:47,830 --> 00:42:51,340 Így Lucas példája nagyon jó. 823 00:42:51,340 --> 00:42:55,730 >> Szóval szerintem az 1-3-mal osztva. 824 00:42:55,730 --> 00:42:57,800 Tehát 0,3333333. 825 00:42:57,800 --> 00:43:03,540 Ha csak 32 bites, hogyan lehet Tárolni 0,33333 pontosan? 826 00:43:03,540 --> 00:43:07,250 És talán, bármilyen okból, azt mondod, Rendben, mondjuk 827 00:43:07,250 --> 00:43:13,210 hogy ez a 1011001, nézzük csak annyit, hogy legyen 0,333333. 828 00:43:13,210 --> 00:43:16,960 Nos, már csak véges számú ezeket a biteket, így lehetetlen, hogy 829 00:43:16,960 --> 00:43:22,550 képviseli minden egyes lebegőpontos megadott érték csak 32 bit. 830 00:43:22,550 --> 00:43:25,580 >> Nos, ez lehet, hogy képviselje minden lebegőpontos megadott érték végtelen - 831 00:43:25,580 --> 00:43:28,480 Nos, mivel minden véges bitek száma. 832 00:43:28,480 --> 00:43:38,265 Tehát a kérdés az, hogy jól, amikor használják nyomtatni két tizedesjegy pontossággal, 833 00:43:38,265 --> 00:43:42,000 tettünk helyesen, hogy a válasz 0.10. 834 00:43:42,000 --> 00:43:47,510 De a motorháztető alatt, ez nagyon tárolják a lehető legközelebb kell 835 00:43:47,510 --> 00:43:51,790 0.10 amilyeneket bit képviselhet. 836 00:43:51,790 --> 00:43:53,200 Ez a következő diára? 837 00:43:53,200 --> 00:43:53,830 Vagy nem? 838 00:43:53,830 --> 00:43:54,660 >> JOSEPH: Igen, ez az. 839 00:43:54,660 --> 00:43:55,750 >> Ebből: Blegh, blegh. 840 00:43:55,750 --> 00:43:57,760 >> JOSEPH: Igen, ha csak húzza a jegyzeteket egy kicsit. 841 00:43:57,760 --> 00:43:59,700 >> Rob: Csak megyek a nagyításhoz ben az utolsó, hogy a. 842 00:43:59,700 --> 00:44:00,950 Oh, istenem, ez [nem hallható]. 843 00:44:00,950 --> 00:44:06,089 844 00:44:06,089 --> 00:44:08,300 Tehát ez a szám. 845 00:44:08,300 --> 00:44:12,300 Ez az, amit ki lesz nyomtatva ha futtatni a programot. 846 00:44:12,300 --> 00:44:20,340 És észre, hogy ez nem igazán nagy dolog ha mi csak törődve, mint a 847 00:44:20,340 --> 00:44:21,920 2-3 tizedes. 848 00:44:21,920 --> 00:44:26,700 Mintha csak az eredetileg nyomtatott 0,10, és ezért láttunk semmi baj. 849 00:44:26,700 --> 00:44:31,380 De ha egyszer kezdeni, hogy a pontos, pontos számot, hogy ez 850 00:44:31,380 --> 00:44:35,660 képviselő, azt látjuk, hogy nem Pontosan képviselnek 0,1. 851 00:44:35,660 --> 00:44:40,900 >> És a problémák egy része itt, mint, Rendben, rendben, de, nos, 852 00:44:40,900 --> 00:44:46,120 Először is, mi lenne, ha próbáltam csinálni, válasz egyenlő értéke 0,1? 853 00:44:46,120 --> 00:44:49,200 Ez fogja vissza igaz vagy hamis? 854 00:44:49,200 --> 00:44:51,850 És ez így nehéz megmondani. 855 00:44:51,850 --> 00:44:53,330 Azt hiszem, tényleg lehet, hogy vissza igaz. 856 00:44:53,330 --> 00:44:55,265 Will először - 857 00:44:55,265 --> 00:44:56,180 Nem tudom. 858 00:44:56,180 --> 00:45:00,090 A válasz az, ha elkezdi foglalkozó A lebegőpontos értékek, akkor elég 859 00:45:00,090 --> 00:45:05,150 sokat ne használja az egyenlőség mert ez a pontatlanság. 860 00:45:05,150 --> 00:45:09,470 >> És csak hogy tudd, ez a századik tizedes pontossággal, hogy a 861 00:45:09,470 --> 00:45:13,670 lebegőpontos nem volt képes hogy megfelelően kezeli. 862 00:45:13,670 --> 00:45:18,180 És így egyenlőség csak nem is bár a szám - ha lett volna 863 00:45:18,180 --> 00:45:24,450 a pontos számok, a számokat kell már pontosan ugyanaz. 864 00:45:24,450 --> 00:45:27,790 Ez a során, mint a 50 számítások segítségével ezeket a lebegő 865 00:45:27,790 --> 00:45:30,270 pont értékeket, a hiba lehet építeni és fel és fel, és 866 00:45:30,270 --> 00:45:31,125 a dolgok csak elvéteni. 867 00:45:31,125 --> 00:45:33,870 >> JOSEPH: És már nagyon leghíresebb példa, hogy ez történik. 868 00:45:33,870 --> 00:45:37,190 Mint a NASA mérnökei ütött ez rossz, ami rakéták robbant 869 00:45:37,190 --> 00:45:38,665 a levegő után, hogy már indult. 870 00:45:38,665 --> 00:45:41,490 És sok kérdés, mint ezt. 871 00:45:41,490 --> 00:45:41,956 Szóval igen. 872 00:45:41,956 --> 00:45:45,218 >> SPEAKER 6. Amikor azt mondod 0,3 f, nem is csonkolni a többi? 873 00:45:45,218 --> 00:45:46,468 Vagy azt teszik fel vagy le? 874 00:45:46,468 --> 00:45:48,800 875 00:45:48,800 --> 00:45:50,200 >> Ebből: Lesz printf kerek ez? 876 00:45:50,200 --> 00:45:52,180 >> JOSEPH: Azt hiszem printf csonkok. 877 00:45:52,180 --> 00:45:52,640 >> ROB: OK. 878 00:45:52,640 --> 00:45:59,890 Így tudjuk hasonlóan az ellenkező iránya ez, ahol, ebben az esetben, 879 00:45:59,890 --> 00:46:03,320 a legközelebbi is jelenthet 0,1 volt ez a szám. 880 00:46:03,320 --> 00:46:06,820 A legközelebb lehet képes 0.2 képviselik az ellenkező 881 00:46:06,820 --> 00:46:11,420 irány, 0,199999996356 vagy valami. 882 00:46:11,420 --> 00:46:17,480 Tehát, ha ment ebbe az irányba a a dolgokat, akkor a printf 0,3 f visszatér 883 00:46:17,480 --> 00:46:20,866 1.99 helyett 2.00. 884 00:46:20,866 --> 00:46:22,960 >> JOSEPH: És nem vagyok teljesen arról, hogy a. 885 00:46:22,960 --> 00:46:25,430 Lehet, hogy írni egy kis, kicsi programot, hogy csak ellenőrizni ezt. 886 00:46:25,430 --> 00:46:29,370 >> Ebből: Bár, mi biztosak vagyunk abban, hogy a ha megpróbálta leadni, hogy egy 887 00:46:29,370 --> 00:46:33,660 int, és a casting egy int fog hatására, hogy vágjon a tizedes, ha 888 00:46:33,660 --> 00:46:38,140 próbálja, hogy a leadott 1.9999999 egy int, akkor kap 1. 889 00:46:38,140 --> 00:46:41,440 És ezért általában az kerek funkciót a matematikai könyvtárban. 890 00:46:41,440 --> 00:46:44,190 891 00:46:44,190 --> 00:46:45,440 Kérdése van? 892 00:46:45,440 --> 00:46:47,660 893 00:46:47,660 --> 00:46:48,982 OK. 894 00:46:48,982 --> 00:46:54,000 >> JOSEPH: Így mozog feltételek és a logikai kifejezések. 895 00:46:54,000 --> 00:46:58,120 Szóval láttam ezeket korábban. 896 00:46:58,120 --> 00:47:07,420 És tényleg, hadd győződjön meg róla, a számítógép a megfelelő formátumban itt. 897 00:47:07,420 --> 00:47:08,670 Tér. 898 00:47:08,670 --> 00:47:10,630 899 00:47:10,630 --> 00:47:13,870 Sajnos, mi kell majd foglalkozni a kicsit a vágási a széleken. 900 00:47:13,870 --> 00:47:15,830 >> De igen, maguk már láttak mielőtt a Scratch. 901 00:47:15,830 --> 00:47:19,930 Szóval ez itt egy kifejezés amelyet használnak a 902 00:47:19,930 --> 00:47:21,250 a feltételes utasítás. 903 00:47:21,250 --> 00:47:23,930 Így válaszolt nullánál nagyobb lesz mondani, hogy igaz vagy hamis. 904 00:47:23,930 --> 00:47:26,530 És ezek nagyon fontos, mert a lehetővé teszik számunkra, hogy be 905 00:47:26,530 --> 00:47:28,670 logika a kódot. 906 00:47:28,670 --> 00:47:32,820 >> Így például, ez egy olyan program írt Scratch arra kéri a felhasználót 907 00:47:32,820 --> 00:47:36,980 egy egész, és azt mondja nekik, hogy a az egész, hogy kaptál egy 908 00:47:36,980 --> 00:47:38,690 pozitív vagy negatív szám. 909 00:47:38,690 --> 00:47:42,980 És az átalakítás itt látni, először nyomtassa ki a nyilatkozatot, 910 00:47:42,980 --> 00:47:43,870 adj egy egész szám. 911 00:47:43,870 --> 00:47:45,980 És akkor kérje meg őket, egy egész. 912 00:47:45,980 --> 00:47:49,870 >> És akkor feltételes logikát vége ide, hogy ellenőrizze, hogy ez a szám 913 00:47:49,870 --> 00:47:52,030 valójában nagyobb, mint nulla, vagy sem. 914 00:47:52,030 --> 00:47:58,960 Tehát itt van egy logikai kifejezés belsejében egy feltételes if. 915 00:47:58,960 --> 00:48:00,660 Van kérdése? 916 00:48:00,660 --> 00:48:03,030 Vannak-e olyan kérdések, hogy? 917 00:48:03,030 --> 00:48:03,950 OK. 918 00:48:03,950 --> 00:48:06,140 >> Tehát ez több, mint nagyobb, mint, természetesen. 919 00:48:06,140 --> 00:48:10,385 Tudod építeni logikai kifejezések a legtöbb dolgot meg 920 00:48:10,385 --> 00:48:11,150 azt hiszem, az a matematika. 921 00:48:11,150 --> 00:48:12,370 Tehát nagyobb, mint. 922 00:48:12,370 --> 00:48:13,740 Ez kell, hogy legyen kevesebb. 923 00:48:13,740 --> 00:48:14,990 Bocsánat. 924 00:48:14,990 --> 00:48:18,520 925 00:48:18,520 --> 00:48:19,760 És a távolság. 926 00:48:19,760 --> 00:48:22,971 >> Ebből: Isten ments, hogy hagyja. 927 00:48:22,971 --> 00:48:23,620 >> JOSEPH: Rendben. 928 00:48:23,620 --> 00:48:25,950 Tehát nagyobb, kisebb, nagyobb, mint, vagy egyenlő, kevesebb 929 00:48:25,950 --> 00:48:27,070 mint vagy egyenlő. 930 00:48:27,070 --> 00:48:31,980 Használjuk dupla egyenlőségjel, hogy ellenőrizze a egyenlőség, mert egy egyenlő eszközök 931 00:48:31,980 --> 00:48:32,810 feladat, nem igaz? 932 00:48:32,810 --> 00:48:33,140 Igen. 933 00:48:33,140 --> 00:48:37,130 És akkor is, nem felel meg a a felkiáltójel, egyenlő. 934 00:48:37,130 --> 00:48:41,530 >> És ez a felkiáltójel szimbólum is ki kell terjeszteni, hogy ha azt akarjuk, 935 00:48:41,530 --> 00:48:44,050 megfordítása bármilyen logikai kifejezés, meg tudod csinálni ezt. 936 00:48:44,050 --> 00:48:48,530 Tehát ez értékelni fogja, hogy valódi csak akkor, ha a válasz kevesebb 937 00:48:48,530 --> 00:48:51,240 mint, vagy egyenlő nullával. 938 00:48:51,240 --> 00:48:53,950 Kérdése az, hogy? 939 00:48:53,950 --> 00:48:55,180 OK. 940 00:48:55,180 --> 00:48:58,840 >> Így is össze ezeket kifejezések a logikai ÉS és 941 00:48:58,840 --> 00:48:59,790 logikai vagy. 942 00:48:59,790 --> 00:49:03,530 Szóval ez csak a és a szimbólum, amelyet be kell Shift 7. 943 00:49:03,530 --> 00:49:07,720 És ez a cső szimbólum, amely Nem kisbetűs L. Ez az egyetlen 944 00:49:07,720 --> 00:49:09,440 ami fölött a Enter gombot. 945 00:49:09,440 --> 00:49:12,870 Így használja két ilyen szimbolizálja logikus és logikai Or. 946 00:49:12,870 --> 00:49:18,180 >> Tehát ez csak akkor igaz értéket ad vissza, ha válasz egy, kettő, három, vagy négy. 947 00:49:18,180 --> 00:49:23,030 És ez csak akkor igaz értéket ad vissza, ha válasz túl van, hogy mindkét oldalon. 948 00:49:23,030 --> 00:49:26,190 Tehát ez nem egy, kettő, három, vagy négy. 949 00:49:26,190 --> 00:49:28,385 És ahogy akkor használható hogy egy kifejezés - 950 00:49:28,385 --> 00:49:29,990 >> Ebből: vagy nulla, vagy öt. 951 00:49:29,990 --> 00:49:32,200 >> JOSEPH: Zero vagy öt. 952 00:49:32,200 --> 00:49:32,380 Bocsánat. 953 00:49:32,380 --> 00:49:33,320 Igen, igen, igen. 954 00:49:33,320 --> 00:49:34,180 OK. 955 00:49:34,180 --> 00:49:38,980 És itt most, ugyanúgy, ahogy a fogja használni ezt a kifejezést, a kisebb 956 00:49:38,980 --> 00:49:42,000 kifejezése oldalon egy Ha feltételes nyilatkozatot, akkor is használja a 957 00:49:42,000 --> 00:49:47,800 ugyanígy, csak üzembe belsejében zárójelben az if. 958 00:49:47,800 --> 00:49:54,020 Tehát ez a printf csak akkor villan, ha válasz egy, kettő, három, vagy négy. 959 00:49:54,020 --> 00:49:56,002 Bármilyen kérdése ötvözi kifejezések? 960 00:49:56,002 --> 00:50:00,450 961 00:50:00,450 --> 00:50:04,240 >> Tehát van egy másik feltétele, konstrukció nevezünk egy if / else. 962 00:50:04,240 --> 00:50:08,120 Tehát alapvetően ez most azt jelenti, OK, ha valami, amit meg akartam nézni nem volt 963 00:50:08,120 --> 00:50:11,600 igaz, akkor megy a Else és végezni, hogy más intézkedés. 964 00:50:11,600 --> 00:50:15,570 Tehát ebben az esetben, megkérdeztem a felhasználó számára egy egész szám. 965 00:50:15,570 --> 00:50:17,790 A nullánál nagyobb egész? 966 00:50:17,790 --> 00:50:18,310 Igen? 967 00:50:18,310 --> 00:50:20,100 Nos, akkor felvette pozitív szám. 968 00:50:20,100 --> 00:50:22,320 Ha nem, akkor meg kell volt negatív vagy nulla. 969 00:50:22,320 --> 00:50:27,530 Szóval felkapott negatív szám vagy ebben az esetben nullára. 970 00:50:27,530 --> 00:50:29,235 Igen. 971 00:50:29,235 --> 00:50:30,485 Vagy egy nulla. 972 00:50:30,485 --> 00:50:36,320 973 00:50:36,320 --> 00:50:39,300 >> És akkor mi is az if / else, Ha és más. 974 00:50:39,300 --> 00:50:45,640 Tehát ez lehetővé teszi számunkra, végre egy sorozat dolgok, csak akkor, ha az elsők nem. 975 00:50:45,640 --> 00:50:49,540 Tehát ebben az esetben, most tesszük az utolsó felveszi nulla. 976 00:50:49,540 --> 00:50:53,080 Tehát, ha nem vette a pozitív, sem negatív szám, akkor meg kell 977 00:50:53,080 --> 00:50:53,640 választhatott volna nulla. 978 00:50:53,640 --> 00:50:56,720 Így csak megy le a lánc, mint ez. 979 00:50:56,720 --> 00:50:59,960 >> Így egy példa arra, hogy egy Ha eltér - 980 00:50:59,960 --> 00:51:02,590 az if / else eltér csak egy sorozatot az IFS. 981 00:51:02,590 --> 00:51:07,680 És ez egy gyakori kérdés, hogy az emberek azt kérdezik, nos, ha kap, mint egy 982 00:51:07,680 --> 00:51:11,265 95 CS50, mi lesz ennek a programot mondani? 983 00:51:11,265 --> 00:51:12,600 >> SPEAKER 5.: Van egy A. 984 00:51:12,600 --> 00:51:13,490 >> JOSEPH: Igen. 985 00:51:13,490 --> 00:51:14,960 Megvan minden egyes egyike azoknak a jobbra. 986 00:51:14,960 --> 00:51:17,130 Van egy A, van egy B, akkor Van egy C és D, igaz? 987 00:51:17,130 --> 00:51:19,770 Tehát mindezen kap értékelt érdekében. 988 00:51:19,770 --> 00:51:23,570 Tehát, míg a 95 nagyobb, mint 90, ez is nagyobb, mint 80, ez is 989 00:51:23,570 --> 00:51:25,790 nagyobb, mint 70, és ez szintén nagyobb, mint a 60. 990 00:51:25,790 --> 00:51:27,620 Szóval van az összes ilyen fokozat. 991 00:51:27,620 --> 00:51:31,630 És feltételezem, lenne csak szeretné, hogy az A. 992 00:51:31,630 --> 00:51:34,060 >> Az út-hoz erősít, hogy a helyére lép, azokat, Else / Ha 's. 993 00:51:34,060 --> 00:51:37,540 Tehát ebben az esetben, azt látja, hogy 95 nagyobb, mint 90, és akkor nem 994 00:51:37,540 --> 00:51:38,885 Nem értékelik a többi A nyilatkozatok. 995 00:51:38,885 --> 00:51:41,900 996 00:51:41,900 --> 00:51:43,150 Bármilyen kérdése erről? 997 00:51:43,150 --> 00:51:48,580 998 00:51:48,580 --> 00:51:52,470 >> Tehát van egy másik feltétele a fajta szerkezet, hogy mi van itt, amit 999 00:51:52,470 --> 00:51:53,390 hívja a switch utasítás. 1000 00:51:53,390 --> 00:51:57,390 Tehát ez lehetővé teszi, hogy alapvetően ellenőrizni mi az értéke egy szám teszel 1001 00:51:57,390 --> 00:51:59,000 a switch utasítás. 1002 00:51:59,000 --> 00:52:03,200 Tehát ebben az esetben, mi kapcsolási n, és azt mondjuk, ó, ha n 1003 00:52:03,200 --> 00:52:04,710 az egyik, majd nyomtassa ki a nyilatkozatot. 1004 00:52:04,710 --> 00:52:07,910 Aztán szünet, ami azt jelenti, exit ki a switch. 1005 00:52:07,910 --> 00:52:12,670 >> Ha ez nem az, akkor, nos, csak végül ellenőrizni minden ilyen esetben. 1006 00:52:12,670 --> 00:52:16,280 És ez így ellenőrzi, hogy egy vagy két vagy három, és kinyomtatja kell. 1007 00:52:16,280 --> 00:52:19,780 És mi ez az alapértelmezett kulcsszó itt azt jelenti, hogy ha nem volt meg minden 1008 00:52:19,780 --> 00:52:21,690 ilyen, akkor mondd Invalid. 1009 00:52:21,690 --> 00:52:25,910 Tehát mondjuk kérek n és a felhasználó ad nekem négy. 1010 00:52:25,910 --> 00:52:29,470 Nos, ez megegyezik sem azokat az eseteket, így kiírja, mi van a 1011 00:52:29,470 --> 00:52:30,540 default szakasz. 1012 00:52:30,540 --> 00:52:31,180 Igen, a kérdés? 1013 00:52:31,180 --> 00:52:32,614 >> SPEAKER 5. Lehet használni logikai kifejezések helyett 1014 00:52:32,614 --> 00:52:33,570 egy, kettő, vagy három? 1015 00:52:33,570 --> 00:52:36,940 >> JOSEPH: Tehát a kérdés lehet használni Logikai kifejezések egy helyett, 1016 00:52:36,940 --> 00:52:37,940 kettő, három? 1017 00:52:37,940 --> 00:52:40,520 És a C-ben, azt hiszem, Ezt nem teheti. 1018 00:52:40,520 --> 00:52:44,320 De más nyelven, amely lehet, hogy találkozás a végén a 1019 00:52:44,320 --> 00:52:46,460 félévben, mint a JavaScript, akkor. 1020 00:52:46,460 --> 00:52:50,050 Nos, akkor kell, hogy számolja az első ez az érték, majd használja a 1021 00:52:50,050 --> 00:52:50,650 kapcsoló nyilatkozatot. 1022 00:52:50,650 --> 00:52:50,930 Igen? 1023 00:52:50,930 --> 00:52:54,760 >> Ebből: Így része javára kapcsoló kimutatásokban gondolok, ha nem ezt a 1024 00:52:54,760 --> 00:52:58,680 mint az if / else, tehát például ha n értéke X egy vagy bármi. 1025 00:52:58,680 --> 00:53:00,300 Else / Ha n értéke egyenlő kettő, mindegy. 1026 00:53:00,300 --> 00:53:01,960 Else / Ha n értéke egyenlő három. 1027 00:53:01,960 --> 00:53:05,930 Így, ahogy a program fut ez lenne egymás után megy le a listát 1028 00:53:05,930 --> 00:53:07,500 és ellenőrizze, n egy? 1029 00:53:07,500 --> 00:53:08,040 Nem. 1030 00:53:08,040 --> 00:53:09,070 N kettő? 1031 00:53:09,070 --> 00:53:09,490 Nem. 1032 00:53:09,490 --> 00:53:10,940 N három? 1033 00:53:10,940 --> 00:53:11,710 Igen. 1034 00:53:11,710 --> 00:53:12,610 Tedd ezt. 1035 00:53:12,610 --> 00:53:15,270 >> Mivel kapcsolóval kimutatásokat, ez valóban képes fordítani, hogy legyen 1036 00:53:15,270 --> 00:53:16,360 nagyon gyorsan. 1037 00:53:16,360 --> 00:53:19,550 És amint azt mondja kapcsolóval, azt mondja, minden rendben, n két, az vagyok 1038 00:53:19,550 --> 00:53:23,060 azonnal fog ugrani, ahol Én kéne kezdeni végrehajtása. 1039 00:53:23,060 --> 00:53:26,080 Nem fogok először ellenőrzi, n az egyik, n kettő? 1040 00:53:26,080 --> 00:53:28,860 Ez azonnal kezdeni ezzel mit kéne csinálni. 1041 00:53:28,860 --> 00:53:33,830 >> És mivel az, hogy nem tud hogy logikai feltételeket. 1042 00:53:33,830 --> 00:53:36,480 Vagy azt kellett volna tennie a szekvenciális, mint rendben, n 1043 00:53:36,480 --> 00:53:37,820 nagyobb, mint nulla? 1044 00:53:37,820 --> 00:53:41,140 Else n nagyobb, mint 10, vagy bármi. 1045 00:53:41,140 --> 00:53:44,780 >> JOSEPH: Ebben az esetben, ha a felhasznált Ha a / más, ha az, akkor a kapcsolót lenne 1046 00:53:44,780 --> 00:53:47,792 fuss körülbelül háromszor gyorsabb, mint az If / Else, ha. 1047 00:53:47,792 --> 00:53:53,060 1048 00:53:53,060 --> 00:53:56,040 Tudjuk szervezni a kapcsoló az ilyen oly módon, hogy nem törik 1049 00:53:56,040 --> 00:53:57,520 után minden egyes esetben. 1050 00:53:57,520 --> 00:54:00,960 Tehát ebben az esetben, én partíciózását számokat, hogy úgy döntünk, egy-és 1051 00:54:00,960 --> 00:54:04,250 kettő nem nagy számban, és három, hogy egy nagy szám. 1052 00:54:04,250 --> 00:54:08,290 >> Tehát ebben az esetben, ha n értéke egy vagy kettő, akkor majd nyomja meg az ügyet, és akkor lesz 1053 00:54:08,290 --> 00:54:10,640 esik át, mert a nincs szünet. 1054 00:54:10,640 --> 00:54:11,610 És ez lesz a vége itt. 1055 00:54:11,610 --> 00:54:15,360 Tehát, ha választ egyet, akkor nem a printf majd a szünet, hogy egyetlen 1056 00:54:15,360 --> 00:54:17,610 ez végre. 1057 00:54:17,610 --> 00:54:21,870 És persze, ha belépnek a három vagy valami más, akkor hagyja 1058 00:54:21,870 --> 00:54:25,320 azokat, és nem megy oda, és végrehajtja helyette a 1059 00:54:25,320 --> 00:54:27,490 a megfelelő sorban. 1060 00:54:27,490 --> 00:54:29,390 Vannak-e olyan kérdések, hogy? 1061 00:54:29,390 --> 00:54:29,780 Igen? 1062 00:54:29,780 --> 00:54:32,642 >> SPEAKER 4: Szeretne kap egy hiba, ha volt egy szünet után, ha az egyik, de 1063 00:54:32,642 --> 00:54:34,550 nem volt valami, hogy ezt? 1064 00:54:34,550 --> 00:54:37,820 >> JOSEPH: Tehát a kérdés az lenne, hogy kap Hibát jelent, ha van egy szünet után 1065 00:54:37,820 --> 00:54:39,730 Ha az egyik, de nincs mit tenni? 1066 00:54:39,730 --> 00:54:41,520 És a válasz: nem. 1067 00:54:41,520 --> 00:54:43,172 Ön ténylegesen nem kap egy hiba. 1068 00:54:43,172 --> 00:54:44,590 Igen, mm hmm. 1069 00:54:44,590 --> 00:54:54,540 >> Szóval mint egyfajta kis változás van, Megyek, hogy egy printf itt. 1070 00:54:54,540 --> 00:54:55,790 Hoppá. 1071 00:54:55,790 --> 00:55:00,994 1072 00:55:00,994 --> 00:55:04,880 Szóval mi lenne ez nyomtatni, ha Tettem egyet bemeneti? 1073 00:55:04,880 --> 00:55:07,530 1074 00:55:07,530 --> 00:55:07,770 Igen. 1075 00:55:07,770 --> 00:55:10,360 Ez azt mondani, hogy nem vette nagy száma kétszer, igaz? 1076 00:55:10,360 --> 00:55:13,500 Mert sújtaná, hogy az első esetben, akkor nem törik, és ez csökken 1077 00:55:13,500 --> 00:55:15,730 keresztül, hogy a második esetben. 1078 00:55:15,730 --> 00:55:16,950 Bármilyen kérdése erről? 1079 00:55:16,950 --> 00:55:18,280 >> Ebből: Volt egy másik kérdésed? 1080 00:55:18,280 --> 00:55:20,840 >> JOSEPH: OK, nyugi. 1081 00:55:20,840 --> 00:55:22,400 Rendben van. 1082 00:55:22,400 --> 00:55:25,780 Tehát van még valami, nevezzük a hármas operátor, amely alapvetően egy 1083 00:55:25,780 --> 00:55:29,010 alternatív szintaxis csinál Ha majd mást. 1084 00:55:29,010 --> 00:55:30,470 És ez lehetővé teszi, hogy mindezt egy sorban. 1085 00:55:30,470 --> 00:55:34,110 Tehát ebben a különleges programban, Kérek a felhasználó n. 1086 00:55:34,110 --> 00:55:37,190 És ha n nagyobb, mint a 100, azt mondom nekik, hogy felvette a nagy számban. 1087 00:55:37,190 --> 00:55:39,560 Különben elmondom nekik, hogy szedett száma alacsony. 1088 00:55:39,560 --> 00:55:43,030 >> Így tudjuk használni ezt a nagyon hosszú szintaxis, húr, S, és ellenőrizze, hogy n 1089 00:55:43,030 --> 00:55:45,260 nagyobb, mint 100, és hozzá ennek megfelelően. 1090 00:55:45,260 --> 00:55:49,450 De lehet, hogy ez sokkal tömörebb ezzel a hármas operátor szintaxis 1091 00:55:49,450 --> 00:55:52,090 amely magában foglalja a kérdés jel és a vastagbélben. 1092 00:55:52,090 --> 00:55:55,070 Tehát a kérdőjel lényegében feltettem egy kérdést, igaz? 1093 00:55:55,070 --> 00:55:56,625 >> Ebből: Lehet nagyítani rajta. 1094 00:55:56,625 --> 00:55:57,372 >> JOSEPH: Igen. 1095 00:55:57,372 --> 00:56:00,210 Jó kérdés. 1096 00:56:00,210 --> 00:56:02,550 Szóval ez a hármas operátor. 1097 00:56:02,550 --> 00:56:06,100 Először fel a kérdést, n nagyobb, mint 100? 1098 00:56:06,100 --> 00:56:09,770 Ha igen, akkor végrehajtja az első rész előtt a vastagbélben. 1099 00:56:09,770 --> 00:56:13,360 Ha nem, akkor végre a második rész után a vastagbélben. 1100 00:56:13,360 --> 00:56:16,640 Tehát, ha n értéke nagyobb, mint 100, akkor felveszi a magas, és teszi 1101 00:56:16,640 --> 00:56:18,360 hogy a sztring s. 1102 00:56:18,360 --> 00:56:22,170 Ha n kisebb, mint 100, akkor az alacsony felveszi majd hozza, hogy a húr s. 1103 00:56:22,170 --> 00:56:30,186 Ahhoz, hogy lecsapódik ez a nagy darab le, hogy csak egy sort. 1104 00:56:30,186 --> 00:56:32,010 >> SPEAKER 5.: Ez a népszerű? 1105 00:56:32,010 --> 00:56:36,070 >> JOSEPH: Igen, ez nagyon népszerű dolgokat, ahol alapvetően szeretnénk 1106 00:56:36,070 --> 00:56:38,700 még egy feladat alapú valamilyen feltétel. 1107 00:56:38,700 --> 00:56:43,110 És ebben az esetben, akartunk értéket rendelni string s. 1108 00:56:43,110 --> 00:56:44,840 Ez nem így van - 1109 00:56:44,840 --> 00:56:47,670 Azt hiszem, nem igazán kedvelik más esetekben. 1110 00:56:47,670 --> 00:56:49,390 De ez különösen hasznos erre a feladatra. 1111 00:56:49,390 --> 00:56:54,490 >> Ebből: Ez egy elég gyakori minta ahol van néhány változó 1112 00:56:54,490 --> 00:56:58,200 fogsz mondani, ha valami, meg Ez a változó egy értéket, más, állítsa 1113 00:56:58,200 --> 00:56:59,810 Ez a változó egy másik értékkel. 1114 00:56:59,810 --> 00:57:03,360 És ez a forgatókönyv ahol egy hármas. 1115 00:57:03,360 --> 00:57:05,220 >> JOSEPH: És te megtakarítás rengeteg vonal, igaz? 1116 00:57:05,220 --> 00:57:08,090 És ez csak teszi a kódot vitathatatlanul egy kicsit olvashatóbb. 1117 00:57:08,090 --> 00:57:08,635 Igen, a kérdés? 1118 00:57:08,635 --> 00:57:12,384 >> SPEAKER 6. Egy hármas, tudnál menni, sztring s egyenlők s, kérdőjel? 1119 00:57:12,384 --> 00:57:15,280 És akkor lehetett volna, mondjuk, Öt különböző lehetőségeket. 1120 00:57:15,280 --> 00:57:18,310 És attól függően, hogy mi a száma n volt, akkor úgy dönt, egy ilyen? 1121 00:57:18,310 --> 00:57:22,210 >> JOSEPH: Tehát a kérdés az, van-e egyfajta szintaxis ahol meg tudod csinálni szöveg 1122 00:57:22,210 --> 00:57:25,910 s értéke n, majd több mint két lehetőségek után kérdőjel? 1123 00:57:25,910 --> 00:57:29,740 És egy egyszerű válasz: nem, ott nem tényleg egy jó módja, hogy ha 1124 00:57:29,740 --> 00:57:33,850 beágyazni kívánt több hármas üzemeltetői belsejében egymást. 1125 00:57:33,850 --> 00:57:38,050 >> Lehet csinálni, mint n nagyobb, mint 100, kérdőjel, majd egy másik 1126 00:57:38,050 --> 00:57:41,850 háromkomponensű üzemeltető-, n nagyobb, mint 50, kérdőjel, és fészket ez így. 1127 00:57:41,850 --> 00:57:45,240 De abban az esetben, a kódex hogy milyen olvashatatlan és piszkos, 1128 00:57:45,240 --> 00:57:47,920 és lehet, hogy jobb, ha csak megy a az if / else utasítással ezen a ponton. 1129 00:57:47,920 --> 00:57:54,530 >> Ebből: És azt is, mint Mellékesen jegyzem meg, PHP helytelenül végrehajtja a hármas 1130 00:57:54,530 --> 00:57:58,053 üzemeltető, hogy beágyazott ternaries nem is működik, ahogy kellene. 1131 00:57:58,053 --> 00:57:58,840 >> JOSEPH: Igen. 1132 00:57:58,840 --> 00:58:01,170 Így lesz egy kicsit zavaró, különösen akkor, ha megy 1133 00:58:01,170 --> 00:58:02,145 a különböző nyelvek. 1134 00:58:02,145 --> 00:58:04,810 >> Ebből: Ez zavaró elég, nyelvek baj vele. 1135 00:58:04,810 --> 00:58:08,030 1136 00:58:08,030 --> 00:58:11,510 >> JOSEPH: Tehát tulajdonképpen, csak hogy tisztázzuk, nem mindenki tudja, hogy ez mit 1137 00:58:11,510 --> 00:58:13,900 % S nem itt? 1138 00:58:13,900 --> 00:58:15,650 Bármilyen kérdése erről? 1139 00:58:15,650 --> 00:58:19,760 Azt hiszem, csak a kamera, a% s alapvetően lehetővé teszi számunkra, hogy egy helykitöltő 1140 00:58:19,760 --> 00:58:20,790 a húr. 1141 00:58:20,790 --> 00:58:23,920 És akkor a végén, azt adja meg, hogy a változót szeretnénk helyezni ezt a 1142 00:58:23,920 --> 00:58:25,500 hely tulajdonosa s. 1143 00:58:25,500 --> 00:58:27,730 Tehát, hogy alapvetően vesz s és azt mondja itt. 1144 00:58:27,730 --> 00:58:32,130 És akkor kiírja, Ön által választott a magas, vagy az Ön által választott száma alacsony. 1145 00:58:32,130 --> 00:58:33,770 OK. 1146 00:58:33,770 --> 00:58:36,970 >> Tehát hurkok lehetővé teszik, hogy végre a dolgokat körkörös mozdulatokkal, ugye? 1147 00:58:36,970 --> 00:58:40,300 Lehet, hogy felmerült ez a Scratch formájában Forever hurkok 1148 00:58:40,300 --> 00:58:45,650 vagy ismételjük, amíg az Ismétlés adott számú alkalommal. 1149 00:58:45,650 --> 00:58:47,540 Miért jó ez nekünk? 1150 00:58:47,540 --> 00:58:51,500 Nos, a C, mondjuk itt van ez dal végre Scratch, hogy 1151 00:58:51,500 --> 00:58:53,450 énekel, ez a dal hogy soha nem ér véget. 1152 00:58:53,450 --> 00:58:55,710 Csak megy tovább és tovább, és örökké és örökké. 1153 00:58:55,710 --> 00:58:59,395 Nos, nem igazán, hogy a programot hogy van egy végtelen számú printf 1154 00:58:59,395 --> 00:59:00,850 kimutatások, igaz? 1155 00:59:00,850 --> 00:59:04,900 >> Szóval, ebben a konkrét esetben, az egyik módja hogy meg tudná tenni ezt a munkát, és 1156 00:59:04,900 --> 00:59:09,330 annak érdekében, hogy nyomtatni örökre, hogy ehelyett egy While ciklus. 1157 00:59:09,330 --> 00:59:13,640 Tehát a While ciklus végrehajtja mi a szervezetben a két kapcsos zárójelek, 1158 00:59:13,640 --> 00:59:17,250 tartozik, hogy az alapján, amit a feltétel. 1159 00:59:17,250 --> 00:59:21,170 Tehát ebben a konkrét példában korábban, ha szeretnénk nyomtatni ezt örökké, milyen 1160 00:59:21,170 --> 00:59:23,590 Lehet, hogy mi? 1161 00:59:23,590 --> 00:59:25,190 Nos, persze, nem igaz? 1162 00:59:25,190 --> 00:59:32,290 >> Tehát ez a fajta ötvözi az ötlet néhány logikai kifejezés 1163 00:59:32,290 --> 00:59:33,610 együtt egy hurkot. 1164 00:59:33,610 --> 00:59:35,780 És tanultunk logikai kifejezések korábban. 1165 00:59:35,780 --> 00:59:39,650 Tehát, ha a feltétel belsejében hogy míg igaz marad, ez a hurok 1166 00:59:39,650 --> 00:59:41,480 majd végre, és így tovább. 1167 00:59:41,480 --> 00:59:44,640 És ebben az esetben, ha csak a kínálat, valódi, ez okozza a végtelen 1168 00:59:44,640 --> 00:59:49,310 hurok, amely kiírja a dal, és a és ahogy szükséges, mielőtt nélkül 1169 00:59:49,310 --> 00:59:52,410 miután egy programot, amely végtelen száma printf nyilatkozatok, amely 1170 00:59:52,410 --> 00:59:55,220 nem lehetséges. 1171 00:59:55,220 --> 00:59:57,810 >> Tehát még feltűnően, bár, akkor használja ezt a 1172 00:59:57,810 --> 00:59:59,710 változó és feltétele. 1173 00:59:59,710 --> 01:00:04,420 Tehát mondjuk szeretnénk megismételni a kifejezés teljesen ütődött, 10-szer. 1174 01:00:04,420 --> 01:00:08,380 Szóval, mit lehet csinálni a while ciklus akkor először inicializálni a számláló 1175 01:00:08,380 --> 01:00:10,860 kívül a változó Míg a hurok 10-ig. 1176 01:00:10,860 --> 01:00:14,360 És akkor tulajdonképpen, minden alkalommal, amikor keresztül a while ciklus, hogy nyomtassa ki 1177 01:00:14,360 --> 01:00:19,090 a nyilatkozat és akkor csökken a számláló változó, amíg a végén, 1178 01:00:19,090 --> 01:00:23,020 egy bizonyos ponton, ha egyszer kivonni azt elég alkalommal, 1 I elégszer - 1179 01:00:23,020 --> 01:00:27,290 és csak hogy tisztázzuk, én mínusz mínusz azt jelenti, hogy egyenlő én mínusz 1. 1180 01:00:27,290 --> 01:00:31,280 >> Ez alapvetően azt hozza le a pont, ahol egyszer elütöttem nulla, ez a 1181 01:00:31,280 --> 01:00:35,260 feltétel már nem igaz, és így kilép a körből. 1182 01:00:35,260 --> 01:00:37,045 Tehát teljesen ütődött csak kiírja 10-szer. 1183 01:00:37,045 --> 01:00:39,550 1184 01:00:39,550 --> 01:00:41,080 Bármilyen kérdése van a While ciklus? 1185 01:00:41,080 --> 01:00:44,580 1186 01:00:44,580 --> 01:00:46,790 OK. 1187 01:00:46,790 --> 01:00:50,550 >> Tehát van egy módja, amit tehetünk, amit csak tette tömörebb módon 1188 01:00:50,550 --> 01:00:51,715 hívjuk a hurok. 1189 01:00:51,715 --> 01:00:55,750 Tehát egy hurok áll egy inicializálás, a feltétel, és 1190 01:00:55,750 --> 01:00:58,950 frissítést, mint a miénk volt ebben a While ciklus. 1191 01:00:58,950 --> 01:00:59,890 Szóval vessünk egy pillantást. 1192 01:00:59,890 --> 01:01:02,900 Ebben a While ciklus, volt egy inicializálás, akkor volt egy 1193 01:01:02,900 --> 01:01:04,260 feltétellel, hogy megnéztük. 1194 01:01:04,260 --> 01:01:06,450 Aztán volt egy frissítést lépés a tetején. 1195 01:01:06,450 --> 01:01:10,060 >> A hurok, ez alapvetően vesz ezt a három dolgot, és lecsapódik azt 1196 01:01:10,060 --> 01:01:11,370 le egy sort. 1197 01:01:11,370 --> 01:01:15,130 Tehát az első dolog, hogy ez a A hurok az inicializálás. 1198 01:01:15,130 --> 01:01:19,090 És akkor te egy pontosvessző, majd te a feltétel, amely azt 1199 01:01:19,090 --> 01:01:22,200 nagyobb, mint nulla megy oda, majd a frissítés lépést. 1200 01:01:22,200 --> 01:01:26,470 Szóval ez lesz elvégezni a legvégén a ciklus. 1201 01:01:26,470 --> 01:01:28,790 Tehát ez a két program lényegében azonos. 1202 01:01:28,790 --> 01:01:31,960 1203 01:01:31,960 --> 01:01:33,870 >> Bármilyen kérdése? 1204 01:01:33,870 --> 01:01:37,000 Tehát mi egy különbséggel a kettő között? 1205 01:01:37,000 --> 01:01:38,000 Tud valaki pont ez ki? 1206 01:01:38,000 --> 01:01:40,480 Lehet, hogy egy kicsit finomabb. 1207 01:01:40,480 --> 01:01:41,930 Ez csak egy nagyon kicsi a különbség. 1208 01:01:41,930 --> 01:01:42,330 Igen? 1209 01:01:42,330 --> 01:01:49,008 >> SPEAKER 5: Azt nem tudja használni Az I változó kívül a hurok 1210 01:01:49,008 --> 01:01:49,962 [Nem hallható]? 1211 01:01:49,962 --> 01:01:50,900 >> JOSEPH: Pontosan. 1212 01:01:50,900 --> 01:01:53,550 Tehát ez az, amit mi lesz az későbbi nevén változókat. 1213 01:01:53,550 --> 01:01:56,610 De alapvetően, ez int i életét kívül ez a While ciklus. 1214 01:01:56,610 --> 01:01:59,800 Tehát ha ez while ciklus történik végrehajtása, fogom tudni használni Később 1215 01:01:59,800 --> 01:02:00,880 be a programban. 1216 01:02:00,880 --> 01:02:05,430 >> Mivel ezzel a hurok, ez int én A távcsöves belsejében ez a for ciklus. 1217 01:02:05,430 --> 01:02:10,240 És mert ez a rész belsejében A hurok, hogy indul 1218 01:02:10,240 --> 01:02:13,200 A zárójelek és végződik A kapcsos zárójel ott. 1219 01:02:13,200 --> 01:02:16,120 Bármi, ami deklarált belsejében Az itt kívül nem használható. 1220 01:02:16,120 --> 01:02:20,420 Tehát, ha megpróbálom használni azt azon kívül, akkor az mondd meg, a be nem jelentett szimbólum. 1221 01:02:20,420 --> 01:02:22,420 És alapvetően, én nem tudja használni. 1222 01:02:22,420 --> 01:02:28,460 >> Ebből: És hát, 10 évvel ezelőtt, a szó szoros értelmében minden esetben, zárójelek 1223 01:02:28,460 --> 01:02:31,140 mit meghatározásához használt hatálya változó. 1224 01:02:31,140 --> 01:02:37,240 Tehát ott, int i = 10 nyilvánítják belsejében ennek 1225 01:02:37,240 --> 01:02:38,520 be a kapcsos zárójelek. 1226 01:02:38,520 --> 01:02:42,530 És akkor mindaddig, amíg megpróbálja használni azt mielőtt ez a zárójel, minden rendben. 1227 01:02:42,530 --> 01:02:47,090 1228 01:02:47,090 --> 01:02:51,460 Lehet látni, ha beírja csinál, akkor lásd kötőjel, kötőjel, std, egyenlő, C99. 1229 01:02:51,460 --> 01:02:57,100 >> Szóval ez egy újabb verzióját C, hogy GCC hajtott végre, amely szintén ad 1230 01:02:57,100 --> 01:02:58,740 a parancsikon. 1231 01:02:58,740 --> 01:03:03,505 Tehát ez használt nem engedélyezettek a C és láthatjuk, hogy miért, mert ez az int 1232 01:03:03,505 --> 01:03:07,600 Én kívül ennek a zárójel, de ez még mindig úgy, hogy a 1233 01:03:07,600 --> 01:03:09,750 hatálya Ezek kapcsos zárójelek. 1234 01:03:09,750 --> 01:03:14,120 De ez egy nagyon kényelmes dolog, és így ez egy jó kiterjesztése. 1235 01:03:14,120 --> 01:03:15,370 >> JOSEPH: További kérdések? 1236 01:03:15,370 --> 01:03:17,550 1237 01:03:17,550 --> 01:03:19,260 OK. 1238 01:03:19,260 --> 01:03:22,820 Szóval mi a hasznosabb, hogy néha szeretnénk egyfajta dinamizmus 1239 01:03:22,820 --> 01:03:23,410 A loop, nem igaz? 1240 01:03:23,410 --> 01:03:26,350 Nem akarod, hogy csak a feltétlenül nyomtatni teljesen ütődött minden alkalommal, akkor 1241 01:03:26,350 --> 01:03:28,650 szeretné számolni le 10 vagy valami. 1242 01:03:28,650 --> 01:03:32,010 És így használhatja a számláló változót hogy a hurok belsejében is. 1243 01:03:32,010 --> 01:03:35,530 És ebben az esetben, ez a program csak visszaszámol 10-től egészen. 1244 01:03:35,530 --> 01:03:39,260 És mit nem nyomtat? 1245 01:03:39,260 --> 01:03:42,790 Nem nyomtat nulla, jobb, mert amikor - 1246 01:03:42,790 --> 01:03:45,460 Igen, ez is nem nyomtat 11. 1247 01:03:45,460 --> 01:03:49,200 >> Tehát ez nem nyomtat nulla, mert amikor Én nulla, ne feledd, hogy értékeli 1248 01:03:49,200 --> 01:03:52,170 a feltétellel, mielőtt megy végrehajtani a ciklus. 1249 01:03:52,170 --> 01:03:56,820 És amikor nulla, ez hamis, így a nem nyomtat ki visszaszámlálás 1250 01:03:56,820 --> 01:04:00,200 nulla, csak kiírja számlálás lefelé 10 egészen 1-re. 1251 01:04:00,200 --> 01:04:03,420 Ha tényleg azt akarta, hogy nyomtatni nulla, akkor mi lenne véget egyenlőségjel 1252 01:04:03,420 --> 01:04:04,750 Ezt követően nagyobb jel. 1253 01:04:04,750 --> 01:04:09,400 1254 01:04:09,400 --> 01:04:10,130 OK. 1255 01:04:10,130 --> 01:04:16,410 >> Tehát az egyik módja annak, hogy beviteli ellenőrzés, amely , amikor kéri, hogy a felhasználó számára nem 1256 01:04:16,410 --> 01:04:18,620 valamit, akkor biztos akar lenni abban, hogy kövesse az utasításokat, hogy használja 1257 01:04:18,620 --> 01:04:19,400 a while ciklus, nem igaz? 1258 01:04:19,400 --> 01:04:22,990 Tehát ebben az esetben, azt kérdezem pozitív számot, majd én 1259 01:04:22,990 --> 01:04:23,810 vár bemenet. 1260 01:04:23,810 --> 01:04:28,210 >> Aztán megnéztem Míg a bemenet nullánál kisebb, folyamatosan azt kérdezi őket. 1261 01:04:28,210 --> 01:04:32,100 Tehát mindaddig, amíg adjon nekem egy számot , ami nem pozitív, folyamatosan azt kérdezi, 1262 01:04:32,100 --> 01:04:33,600 folyamatosan azt kérdezi, folyamatosan azt kérdezi. 1263 01:04:33,600 --> 01:04:35,860 De mi van valami furcsa ebben? 1264 01:04:35,860 --> 01:04:38,570 Vagy mi nem tűnik optimális a Ez a szerkezet itt? 1265 01:04:38,570 --> 01:04:44,282 1266 01:04:44,282 --> 01:04:44,758 Valaki? 1267 01:04:44,758 --> 01:04:45,234 Igen? 1268 01:04:45,234 --> 01:04:47,614 >> SPEAKER 6.: Te ismétlődő az utasítást kétszer. 1269 01:04:47,614 --> 01:04:48,100 >> JOSEPH: Így van. 1270 01:04:48,100 --> 01:04:50,090 Tehát két printf nyilatkozatok itt, ugye? 1271 01:04:50,090 --> 01:04:53,440 Tehát van egy módja, tudtuk, hogy ez csak le az egyik, hogy az lenne a 1272 01:04:53,440 --> 01:04:57,170 kód könnyebben olvasható, és a kicsit tiszta. 1273 01:04:57,170 --> 01:05:00,180 És akkor nem kell is kap kétszer is. 1274 01:05:00,180 --> 01:05:03,740 És egyik módja lehet ennek az, segítségével Do-While ciklus. 1275 01:05:03,740 --> 01:05:07,670 >> És egy Do-while ciklus alapvetően egy más formában a While ciklus, ahol a 1276 01:05:07,670 --> 01:05:11,460 bármi is van a kapcsos zárójelek kerül végrehajtásra, legalább egyszer. 1277 01:05:11,460 --> 01:05:14,840 Tehát itt, kijelentem, int input kívül először. 1278 01:05:14,840 --> 01:05:18,100 És akkor én csak azt mondom, ezt utasítás míg a bemenet 1279 01:05:18,100 --> 01:05:19,140 kisebb, mint nulla. 1280 01:05:19,140 --> 01:05:20,530 Így eléri a Do először. 1281 01:05:20,530 --> 01:05:24,190 Ez mindig végrehajtja ezt legalább egyszer, így mindig megkérdezi a felhasználót 1282 01:05:24,190 --> 01:05:25,960 a bemeneti legalább egyszer. 1283 01:05:25,960 --> 01:05:29,390 És akkor úgy értékeli, hogy az input, és megy egy kört. 1284 01:05:29,390 --> 01:05:30,135 Igen, a kérdés? 1285 01:05:30,135 --> 01:05:32,602 >> SPEAKER 6.: Van úgy, hogy csináld [Hallhatatlan] típusok, mint ha azt mondod, 1286 01:05:32,602 --> 01:05:34,268 GetString, és valaki [nem hallható] 1287 01:05:34,268 --> 01:05:35,220 van egy módja annak, hogy [nem hallható] 1288 01:05:35,220 --> 01:05:40,060 >> JOSEPH: Tehát a kérdés az, van-e módja input érvényesítés, ha a felhasználó 1289 01:05:40,060 --> 01:05:41,850 nem tesz a megfelelő típusú változó? 1290 01:05:41,850 --> 01:05:44,460 Tehát, ha azt kérdezzük egy int, és nekünk a szöveghez. 1291 01:05:44,460 --> 01:05:49,110 És a funkciókat, amit végre az Ön számára, getInt, getString egész 1292 01:05:49,110 --> 01:05:52,680 azok a funkciók, valójában már Ehhez a fajta alaptípus bemenet 1293 01:05:52,680 --> 01:05:54,120 érvényesítés a motorháztető alatt. 1294 01:05:54,120 --> 01:05:57,390 Tehát, ha használja a funkciót, hogy adta meg, akkor nem igazán kell. 1295 01:05:57,390 --> 01:06:01,380 >> De ha azt akarjuk, hogy inkább, hogyan akkor valóban csinálni, akkor nézd 1296 01:06:01,380 --> 01:06:03,360 a motorháztető alatt, a fájl I/O-- 1297 01:06:03,360 --> 01:06:07,990 nem fájl, a standard I / O funkciók mint olvasni a standard input és 1298 01:06:07,990 --> 01:06:08,580 szabványos kimenet. 1299 01:06:08,580 --> 01:06:10,630 És akkor kap egy jobb értelemben arra, hogyan lehet csinálni. 1300 01:06:10,630 --> 01:06:13,670 >> ROB: Az egyik kérdés, mégis, kifejezetten azzal a példa 1301 01:06:13,670 --> 01:06:17,070 azt mondta, vársz egy string és én meg egy int. 1302 01:06:17,070 --> 01:06:20,110 Hogyan megmondani a különbséget között szándékosan akar a 1303 01:06:20,110 --> 01:06:23,130 karakterlánc 123 szemben akarják a int 123? 1304 01:06:23,130 --> 01:06:29,230 Tehát húr, ez nagyjából nincs érvényesítés, ez csak, amit csak 1305 01:06:29,230 --> 01:06:31,600 be fogja értelmezni mint a húr. 1306 01:06:31,600 --> 01:06:35,790 >> Int könnyebb, mert nem számít, a input vegye a felhasználó, akkor 1307 01:06:35,790 --> 01:06:37,470 mindig vesz egy húr. 1308 01:06:37,470 --> 01:06:40,650 És így, hogy a húr lehet majd ellenőrizze, mind ezeknek 1309 01:06:40,650 --> 01:06:44,218 valójában numerikus számjegy? 1310 01:06:44,218 --> 01:06:45,170 >> JOSEPH: OK. 1311 01:06:45,170 --> 01:06:46,420 Bármilyen kérdése van a do-while hurok? 1312 01:06:46,420 --> 01:06:49,170 >> Ebből: Ja, és ez is - 1313 01:06:49,170 --> 01:06:55,130 megy vissza körét, egy kissé a közös hiba próbálja használni néhány helyi 1314 01:06:55,130 --> 01:06:59,540 változót ezen belül Do-közben hurok belsejében ezt a feltételt. 1315 01:06:59,540 --> 01:07:02,850 És valóban, ha csak megszabadultak ezt, és azt mondta, int bemenet értéke 1316 01:07:02,850 --> 01:07:06,990 GetInt, akkor a fordító kiabálj minket, mert be nem létezik 1317 01:07:06,990 --> 01:07:08,900 kívül hatálya alá Ezek kapcsos zárójelek. 1318 01:07:08,900 --> 01:07:10,792 >> JOSEPH: És ezért kell ez a felállás itt. 1319 01:07:10,792 --> 01:07:13,620 1320 01:07:13,620 --> 01:07:14,630 OK. 1321 01:07:14,630 --> 01:07:17,530 Így is kitörni a ciklus elején, ha akarsz. 1322 01:07:17,530 --> 01:07:21,240 Tehát ez egy másik módja végrehajtásáról, amit most végre. 1323 01:07:21,240 --> 01:07:24,340 És használata helyett a feltétel a zárójelben, mi használ egy 1324 01:07:24,340 --> 01:07:26,920 Ha az utasítás a belsejében a test A Do-While ciklus. 1325 01:07:26,920 --> 01:07:30,000 >> És tulajdonképpen, ha a bemeneti végül nullánál nagyobb, fogunk 1326 01:07:30,000 --> 01:07:31,000 kitörni a hurok. 1327 01:07:31,000 --> 01:07:33,420 És így megy minden idáig. 1328 01:07:33,420 --> 01:07:37,920 És láthatjuk, hogy ez valószínűleg előnyös lehet ebben a 1329 01:07:37,920 --> 01:07:39,870 esetben, mert ez egy kicsit bit tisztább és egy kicsit 1330 01:07:39,870 --> 01:07:41,380 kicsit könnyebben olvasható. 1331 01:07:41,380 --> 01:07:45,210 Mivel ez, a fajta extra vonalak is. 1332 01:07:45,210 --> 01:07:47,890 Csak egy kicsit csúnyább, Azt hiszem, bizonyos értelemben. 1333 01:07:47,890 --> 01:07:48,530 Igen, a kérdés? 1334 01:07:48,530 --> 01:07:52,178 >> SPEAKER 4: megtöri csak kap téged egy készlet fogszabályozó? 1335 01:07:52,178 --> 01:07:53,080 >> JOSEPH: Így van. 1336 01:07:53,080 --> 01:07:58,100 Tehát a kérdés az lesz szünet csak menjetek ki az egyik hurok? 1337 01:07:58,100 --> 01:07:59,280 És a válasz: igen. 1338 01:07:59,280 --> 01:08:04,290 Tehát, ha a beágyazott A hurkok, a Például, ha van Mert int i értéke 0 1339 01:08:04,290 --> 01:08:09,040 10-ig, és majd int J értéke 0 10-ig, ha kitörni a belső 1340 01:08:09,040 --> 01:08:12,310 loop, én is menni a külső hurok. 1341 01:08:12,310 --> 01:08:15,760 Így ez lesz tartani végző műveleteket a külső. 1342 01:08:15,760 --> 01:08:17,640 Bármilyen kérdése erről? 1343 01:08:17,640 --> 01:08:18,000 Igen? 1344 01:08:18,000 --> 01:08:21,760 >> SPEAKER 5. De szünet csak akkor működik, A kapcsos zárójelek között, nem más 1345 01:08:21,760 --> 01:08:22,230 állításokkal? 1346 01:08:22,230 --> 01:08:22,700 [Nem hallható] 1347 01:08:22,700 --> 01:08:27,620 >> JOSEPH: Tehát a kérdés megtöri egyetlen funkciója a hurkok, szemben a 1348 01:08:27,620 --> 01:08:29,014 Más nyilatkozatok, mint ha? 1349 01:08:29,014 --> 01:08:32,950 És igen, ez a helyzet, mert akkor kitört a hurok, jobb, 1350 01:08:32,950 --> 01:08:33,630 bizonyos értelemben. 1351 01:08:33,630 --> 01:08:37,215 >> ROB: Az esetek túlnyomó többségében, ez ez az a fajta Ha valami, 1352 01:08:37,215 --> 01:08:37,660 majd a szünet. 1353 01:08:37,660 --> 01:08:41,580 Szóval nem kell törni kell alkalmazni Ha ez a csomagolópapír körül. 1354 01:08:41,580 --> 01:08:45,250 És azt is, hogy ez nem sok egy hurok, de ne feledje, hogy a kapcsolók is 1355 01:08:45,250 --> 01:08:46,340 tört ki a szünetekkel. 1356 01:08:46,340 --> 01:08:48,390 Láttuk szünetek használt kapcsolók előtt. 1357 01:08:48,390 --> 01:08:52,189 >> JOSEPH: És azt is használja őket A Míg a hurkok és hurkok. 1358 01:08:52,189 --> 01:08:54,560 Bármilyen kérdése? 1359 01:08:54,560 --> 01:08:55,830 OK. 1360 01:08:55,830 --> 01:08:57,779 Így a következő up funkciókat. 1361 01:08:57,779 --> 01:09:01,500 Szóval, lehet, hogy használt egy ilyen BYOB blokkok a Scratch projekt. 1362 01:09:01,500 --> 01:09:04,569 És ez alapvetően lehetővé teszi Ön határozza meg a sor 1363 01:09:04,569 --> 01:09:05,680 utasításokat kell követni. 1364 01:09:05,680 --> 01:09:09,569 >> És mit jelent az, hogy gondolkodjunk vissza a matek, igaz, algebra. 1365 01:09:09,569 --> 01:09:13,370 Van, amit úgy hívunk függvényében x, Néhány változó, és mondjuk ezt 1366 01:09:13,370 --> 01:09:16,080 függvény f az x értéke x plusz 5. 1367 01:09:16,080 --> 01:09:20,410 Szóval lehet gondolni f x, mint a fekete doboz, amely tart 15, majd a 1368 01:09:20,410 --> 01:09:22,590 termel 20. 1369 01:09:22,590 --> 01:09:26,630 >> Így általában, a funkció valami, ami némi bemenet és 1370 01:09:26,630 --> 01:09:27,880 Ezután némi kimenet. 1371 01:09:27,880 --> 01:09:31,920 1372 01:09:31,920 --> 01:09:32,960 És miért olyan funkciók, jó? 1373 01:09:32,960 --> 01:09:35,189 Ők jó több okból. 1374 01:09:35,189 --> 01:09:40,470 Tehát nem, hogy valaki szeretné, hogy a stab , milyen szervezet jelent? 1375 01:09:40,470 --> 01:09:42,630 Ami a miért funkció hasznos? 1376 01:09:42,630 --> 01:09:43,090 Igen? 1377 01:09:43,090 --> 01:09:44,735 >> SPEAKER 4: Lehetővé teszi a kód is olvasható. 1378 01:09:44,735 --> 01:09:45,399 >> JOSEPH: Így van. 1379 01:09:45,399 --> 01:09:47,670 Tehát az egyik dolog, ez teszi a kód is olvasható, igaz? 1380 01:09:47,670 --> 01:09:53,710 Ahelyett, hogy például int x értéke x szor x idő x, tudok kocka x, 1381 01:09:53,710 --> 01:09:57,190 ami több, olvasható és Érthető, hogy egy olvasó. 1382 01:09:57,190 --> 01:10:01,150 >> Szervezet szempontjából is felosztását a kódot könnyen kezelhető 1383 01:10:01,150 --> 01:10:05,610 részeket, így ahelyett, hogy végrehajtja-e ezt minden egy hosszú szakasz 1384 01:10:05,610 --> 01:10:09,070 A fő, akkor egyfajta osztott fel be, mint, OK, írjunk egy függvényt 1385 01:10:09,070 --> 01:10:11,910 Cube valamit, hadd levelet funkció tér valamit. 1386 01:10:11,910 --> 01:10:15,950 Így lehet vágd szét apró, kis alkatrészeket, ha meg tudják oldani 1387 01:10:15,950 --> 01:10:18,944 szemben próbálják kezelni egy nagy probléma egyszerre. 1388 01:10:18,944 --> 01:10:21,806 >> Ebből: Vagy még apró kis részeket Ön és a partnere is kezelni. 1389 01:10:21,806 --> 01:10:22,283 >> JOSEPH: Igen. 1390 01:10:22,283 --> 01:10:23,855 >> Ebből: Tehát ahelyett, hogy mindkét akarsz implantátum egy 1391 01:10:23,855 --> 01:10:27,170 működhet egyidejűleg. 1392 01:10:27,170 --> 01:10:28,800 >> JOSEPH: Egyszerűsítés. 1393 01:10:28,800 --> 01:10:30,050 Bárki, aki szeretné, hogy egy kitalálni? 1394 01:10:30,050 --> 01:10:33,080 1395 01:10:33,080 --> 01:10:33,410 Igen? 1396 01:10:33,410 --> 01:10:34,675 >> SPEAKER 5: több ismétlés. 1397 01:10:34,675 --> 01:10:35,260 >> JOSEPH: Így van. 1398 01:10:35,260 --> 01:10:39,210 Tehát az egyik dolog, amit tehetünk egyszerűsítés, hogy ez a fajta a 1399 01:10:39,210 --> 01:10:42,520 Hasonlóképpen, mint újra-használhatóság az, hogy a egyszer írok egy kocka funkció tudok 1400 01:10:42,520 --> 01:10:45,410 csak használja, hogy újra és újra és újra ismét az én program helyett a gépelés 1401 01:10:45,410 --> 01:10:49,610 x-szer x idő x át, és újra és újra. 1402 01:10:49,610 --> 01:10:52,980 És az egyszerűsítés itt is csak azt jelenti, hogy teszi a kódot fajta 1403 01:10:52,980 --> 01:10:55,900 könnyebb a hibakeresés, ha szét ezt fel a funkciókat. 1404 01:10:55,900 --> 01:10:58,250 Mert akkor lehet lokalizálni, ahol problémákra a fajta vagy. 1405 01:10:58,250 --> 01:11:00,910 1406 01:11:00,910 --> 01:11:02,160 Bármilyen kérdése? 1407 01:11:02,160 --> 01:11:04,200 1408 01:11:04,200 --> 01:11:06,540 >> Tehát egy másik ötlet is absztrakció, nem igaz? 1409 01:11:06,540 --> 01:11:07,390 Ez a fekete doboz. 1410 01:11:07,390 --> 01:11:11,360 Mint tudod, mit csinál getInt fogadására input a felhasználó? 1411 01:11:11,360 --> 01:11:12,510 Még nem igazán mondtam, ugye? 1412 01:11:12,510 --> 01:11:15,670 Minden, amit már elmondtam, getInt nem pontosan mit azt mondja, hogy igen. 1413 01:11:15,670 --> 01:11:18,440 Tehát akkor is, ha nem tudom mondani, mennyire működik, akkor is tudod. 1414 01:11:18,440 --> 01:11:21,670 >> Tehát ebben a konkrét esetben ez négyszeres funkció, amely nem 1415 01:11:21,670 --> 01:11:24,520 különböző dolgokat bemeneti , hogy készítsen egy kimenetet. 1416 01:11:24,520 --> 01:11:28,050 És akkor négyszeres a szám szorozni néggyel. 1417 01:11:28,050 --> 01:11:30,790 Vagy tudod mit nevezünk bit műszak két. 1418 01:11:30,790 --> 01:11:32,960 És fogjuk fedezni ezt Egy kicsit később. 1419 01:11:32,960 --> 01:11:36,570 És nem kell tudni, hogy ez funkció tényleg működik, amíg 1420 01:11:36,570 --> 01:11:37,640 működik, ahogy. 1421 01:11:37,640 --> 01:11:40,740 >> Így a motorháztető alatt, tudtam, hogy mint vissza input alkalommal 1422 01:11:40,740 --> 01:11:41,690 nyolc osztva kettővel. 1423 01:11:41,690 --> 01:11:42,510 És nem tudom, nem igaz? 1424 01:11:42,510 --> 01:11:44,970 Mindössze annyit kell tudni, azt teszi, amit mond. 1425 01:11:44,970 --> 01:11:48,070 Szóval ez a hasznos dolog a absztrakció. 1426 01:11:48,070 --> 01:11:52,910 >> És még egy dolog, van valami az ötlet A honosítása a kódot egy 1427 01:11:52,910 --> 01:11:54,280 adott szakaszt. 1428 01:11:54,280 --> 01:11:57,450 Tehát ha van egy probléma, akkor nem kell menni az egész a kódot próbál 1429 01:11:57,450 --> 01:11:58,730 kijavítani, ahol a probléma volt. 1430 01:11:58,730 --> 01:12:00,990 Tehát ebben az esetben, azt végre CUBE rossz. 1431 01:12:00,990 --> 01:12:02,820 Azt hittem, kocka szorozni három. 1432 01:12:02,820 --> 01:12:05,760 >> Tehát ebben az esetben, ez egy program hogy csak a szorozva három 1433 01:12:05,760 --> 01:12:06,750 mindenhol. 1434 01:12:06,750 --> 01:12:10,910 És van egy másik program, amely Faktorált kocka ki a funkciót. 1435 01:12:10,910 --> 01:12:14,040 És most, ha azt akarjuk, hogy meghatározza a hibát Itt azt kell rögzíteni minden egyes sort 1436 01:12:14,040 --> 01:12:15,620 kód ebben a programban. 1437 01:12:15,620 --> 01:12:19,190 Mivel másrészt, ha azt használja a funkció, csak meg kell változtatni 1438 01:12:19,190 --> 01:12:20,650 mi volt a baj egy helyen. 1439 01:12:20,650 --> 01:12:25,330 1440 01:12:25,330 --> 01:12:28,730 >> Így a számítástechnika, akkor hívás bemenetek és kimenetek. 1441 01:12:28,730 --> 01:12:31,640 Bemenetek paramétereknek nevezzük, vagy érvek és kimenetek nevezik 1442 01:12:31,640 --> 01:12:32,950 vissza értéket. 1443 01:12:32,950 --> 01:12:39,000 És látni fogjuk, hogy ez segít a fajta Az meg egy függvényt a második. 1444 01:12:39,000 --> 01:12:41,430 Tehát ez egy olyan funkció definíció a kocka. 1445 01:12:41,430 --> 01:12:45,110 Tehát vesz egy bemeneti, majd visszatér ez a szám szor 1446 01:12:45,110 --> 01:12:47,020 maga háromszor. 1447 01:12:47,020 --> 01:12:48,020 Tehát Nézzük ezt meg. 1448 01:12:48,020 --> 01:12:53,090 >> Tehát van egy függvény fejléc, amely alapvetően három dolgot. 1449 01:12:53,090 --> 01:12:56,050 Tehát a paramétereket, melyek vagy, ahogy már mondtam, a 1450 01:12:56,050 --> 01:12:57,680 bemenet be ezt a funkciót. 1451 01:12:57,680 --> 01:12:59,300 És akkor hogy a függvény egy nevet. 1452 01:12:59,300 --> 01:13:00,740 Ebben az esetben, úgy hívják kocka. 1453 01:13:00,740 --> 01:13:03,860 És akkor adja meg, milyen típusú A visszatérési érték. 1454 01:13:03,860 --> 01:13:06,760 >> Tehát ebben az esetben, a kocka funkció vesz egy egész szám, és ez is 1455 01:13:06,760 --> 01:13:07,890 vissza az egész. 1456 01:13:07,890 --> 01:13:11,510 Tehát, ha elmegyek, két, két egész szám, visszatér nyolc nekem, ami 1457 01:13:11,510 --> 01:13:13,250 egy egész szám. 1458 01:13:13,250 --> 01:13:15,420 Tehát vissza típusnév paramétereket. 1459 01:13:15,420 --> 01:13:16,670 Kérdése van ez? 1460 01:13:16,670 --> 01:13:19,440 1461 01:13:19,440 --> 01:13:24,230 >> És akkor a visszatérési érték valójában meg a végén, mondván visszatérés 1462 01:13:24,230 --> 01:13:27,540 , majd a visszatérő bármi tartalmazza a visszatérési érték. 1463 01:13:27,540 --> 01:13:30,940 Tehát ebben az esetben, ha helyezzük az egészet együtt, a függvény a 1464 01:13:30,940 --> 01:13:35,100 paraméterek, úgy hívják valamit, és ad vissza valamit, az a típus, 1465 01:13:35,100 --> 01:13:36,350 hogy azt mondják, hogy volt, lesz. 1466 01:13:36,350 --> 01:13:39,830 1467 01:13:39,830 --> 01:13:41,080 Bármilyen kérdése? 1468 01:13:41,080 --> 01:13:43,710 1469 01:13:43,710 --> 01:13:45,080 >> Szóval hogyan használjuk a funkciót? 1470 01:13:45,080 --> 01:13:49,230 Nos, írunk egy függvényt, majd a használjuk a programunkban, nem igaz? 1471 01:13:49,230 --> 01:13:51,565 Szóval nevezte kocka, és a akkor tudom használni kocka. 1472 01:13:51,565 --> 01:13:54,200 >> De ami fontos megjegyezni, az, hogy a rend számít. 1473 01:13:54,200 --> 01:13:58,100 Ha van kocka alatt fő, ez majd befut kocka. 1474 01:13:58,100 --> 01:14:00,360 És ezen a ponton, nincs semmi az úgynevezett kocka a programban, és ez 1475 01:14:00,360 --> 01:14:02,550 csak lesz mint én fogalmam sincs, mi kocka. 1476 01:14:02,550 --> 01:14:05,060 >> Így megmondja, implicit nyilatkozat funkciót. 1477 01:14:05,060 --> 01:14:06,690 Ez az a hiba, hogy megjelenik. 1478 01:14:06,690 --> 01:14:10,230 És így ebben az esetben, kocka alatt van fő, így nem fog 1479 01:14:10,230 --> 01:14:12,006 tudni róla. 1480 01:14:12,006 --> 01:14:14,724 >> SPEAKER 5: Tehát fő általában az utolsó pont meghatározása? 1481 01:14:14,724 --> 01:14:17,290 >> JOSEPH: Tehát a kérdés az, a fő általában az utolsó 1482 01:14:17,290 --> 01:14:18,170 dolog, azt határozza meg? 1483 01:14:18,170 --> 01:14:19,730 És nem. 1484 01:14:19,730 --> 01:14:22,280 Ez azért van, mert azt általában szeretem fő hogy a csúcson, nem igaz? 1485 01:14:22,280 --> 01:14:24,640 Mert ez az első dolog, amit szeretné, hogy a programozó megnyitja a 1486 01:14:24,640 --> 01:14:25,640 programot látni. 1487 01:14:25,640 --> 01:14:29,950 És hogyan oldja meg ezt a kérdést a mi szeretné, fő, hogy a tetején, de a 1488 01:14:29,950 --> 01:14:33,750 funkciók, amit akarunk, azt szeretnénk, hogy az alábbi fő még tudja használni 1489 01:14:33,750 --> 01:14:34,930 be őket a legfontosabb? 1490 01:14:34,930 --> 01:14:36,870 >> Nos, használjuk hívjuk függvény prototípus. 1491 01:14:36,870 --> 01:14:40,830 Tehát mi a függvény prototípus lényegében A nem először vesz igénybe, milyen 1492 01:14:40,830 --> 01:14:45,060 az aláírás, vagy a funkció fejléc Az, hogy mit akarunk végrehajtani le 1493 01:14:45,060 --> 01:14:47,420 itt, és rakjuk a A tetején egy programot. 1494 01:14:47,420 --> 01:14:51,400 >> Tehát ebben az esetben, azt mondjuk, hogy, jól, később a programban, megyünk 1495 01:14:51,400 --> 01:14:55,010 , hogy egy ígéretet, hogy végrehajtja-e ezt nevű függvényt int kocka, amely úgy 1496 01:14:55,010 --> 01:14:56,260 egy egész input. 1497 01:14:56,260 --> 01:15:00,870 Tehát most, mert ez a fenti fő, fő, ez fogja mondani, ó, nos, 1498 01:15:00,870 --> 01:15:03,910 később a programban, ami lesz ott így is hivatkoznak rá, úgyhogy 1499 01:15:03,910 --> 01:15:05,230 csak hagyjuk, hogy menjen át most. 1500 01:15:05,230 --> 01:15:07,660 >> Aztán az alján, mi végre kocka. 1501 01:15:07,660 --> 01:15:11,180 És akkor fő is csak azt mondom, Nos, ez a fajta kapcsolat 1502 01:15:11,180 --> 01:15:12,250 E két szimbólum együtt. 1503 01:15:12,250 --> 01:15:14,320 És fogjuk fedezni, hogy mi jelent a későbbiekben. 1504 01:15:14,320 --> 01:15:17,090 És ez így tudni fogja, hogy ez a kocka funkció kellene használni. 1505 01:15:17,090 --> 01:15:19,630 1506 01:15:19,630 --> 01:15:23,383 >> Ebből: A [Nem hallható] a hiányzó Fő az alján vagy a 1507 01:15:23,383 --> 01:15:24,880 felső, láttam mindkettőt. 1508 01:15:24,880 --> 01:15:28,630 Vannak dolgok, csakúgy, mint , hogy fő az alján. 1509 01:15:28,630 --> 01:15:32,520 De ha egyszer a projekt lesz, különösen nagy, általában fő van a 1510 01:15:32,520 --> 01:15:34,290 fájl minden saját. 1511 01:15:34,290 --> 01:15:38,170 És ezen a ponton, mint a int kocka vonal lenne - 1512 01:15:38,170 --> 01:15:42,460 belsejében stdio.h egy csomó sorok csak úgy int 1513 01:15:42,460 --> 01:15:44,010 kocka int beviteli sor. 1514 01:15:44,010 --> 01:15:50,170 >> És ezek prototípusok dolgot hajlamosak helyezni header fájlok, a 1515 01:15:50,170 --> 01:15:52,140 a ponton, ez nem számít. 1516 01:15:52,140 --> 01:15:54,700 Nos, ez nem számít. 1517 01:15:54,700 --> 01:15:56,070 Azok mindig megy a tetején. 1518 01:15:56,070 --> 01:15:59,490 És ha fő nem fájl minden saját, akkor nem kell aggódnia, üzembe 1519 01:15:59,490 --> 01:16:02,360 egyéni függvények prototípusai a fájlban. 1520 01:16:02,360 --> 01:16:05,370 >> JOSEPH: És mi lesz az, hogy egy kicsit kicsit később, amikor Rob elkezd beszélni 1521 01:16:05,370 --> 01:16:06,380 a fordítás. 1522 01:16:06,380 --> 01:16:09,480 És van még egy különbség között paramétert és érvelés. 1523 01:16:09,480 --> 01:16:12,500 És a paraméter csak mi nevezzük ezeket a bemeneteket, amikor 1524 01:16:12,500 --> 01:16:13,820 mi határozza meg a funkciót. 1525 01:16:13,820 --> 01:16:16,950 És hívjuk érv, amikor ténylegesen át azt a funkciót. 1526 01:16:16,950 --> 01:16:19,600 >> Tehát ebben az esetben ez egy olyan paraméter, ahogy korábban mondtam. 1527 01:16:19,600 --> 01:16:24,130 És ha tényleg használni ott, kocka x, akkor x maga 1528 01:16:24,130 --> 01:16:25,910 hívjuk érv A funkció kocka. 1529 01:16:25,910 --> 01:16:28,150 >> Ebből: Tehát paraméter érvelése - 1530 01:16:28,150 --> 01:16:33,270 itt van ez a különbség, nagyon zavarba szinonimaként. 1531 01:16:33,270 --> 01:16:37,090 Ezen a ponton, nekem, ez olyan, mint egy azokat a szavakat, hogy amikor látom, hogy ki a 1532 01:16:37,090 --> 01:16:41,190 a vad, nem tudok segíteni, de azonnal kérdésre, hogy használja azt a 1533 01:16:41,190 --> 01:16:44,120 összefüggésben a helyes, mivel a különbség minimális ahhoz, hogy csak 1534 01:16:44,120 --> 01:16:45,500 Mindenki hajlamos - 1535 01:16:45,500 --> 01:16:48,530 Én szinte mindig azt mondják, az érvelés függetlenül attól, hogy mire gondolok. 1536 01:16:48,530 --> 01:16:51,230 1537 01:16:51,230 --> 01:16:54,630 >> JOSEPH: és funkciók is hasznosak az úgynevezett mellékhatásai. 1538 01:16:54,630 --> 01:16:59,230 Így a funkció nem tesz bemenet, és ez is termelnek kimenet. 1539 01:16:59,230 --> 01:17:03,280 Tehát ebben az esetben, én vagyok meghatározása szubrutin, amelynek nincs 1540 01:17:03,280 --> 01:17:03,970 vissza értéket. 1541 01:17:03,970 --> 01:17:07,730 És annak érdekében, hogy meghatározza, hogy az általunk használt hívjuk üres itt. 1542 01:17:07,730 --> 01:17:10,890 És így a mellékhatása ez a funkció az, hogy ez csak kiírja dolgokat 1543 01:17:10,890 --> 01:17:11,920 ki az oldalra. 1544 01:17:11,920 --> 01:17:13,840 Ez valójában nem vállal semmilyen bemenet, és ez nem 1545 01:17:13,840 --> 01:17:15,360 valójában semmilyen kimenet. 1546 01:17:15,360 --> 01:17:18,230 >> De ez hasznos lehet abban az értelemben, ha azt szeretné, hogy, például, hibakeresés 1547 01:17:18,230 --> 01:17:21,530 valamit a programban, ha azt szeretnénk, írni egy kis szubrutint, amely 1548 01:17:21,530 --> 01:17:25,160 írja ki, mondjuk, a tartalom memória vagy valami. 1549 01:17:25,160 --> 01:17:29,800 És így ezek a mellékhatások néha hasznos keretén kívül 1550 01:17:29,800 --> 01:17:33,010 csak, mint be-és kimenetek. 1551 01:17:33,010 --> 01:17:34,260 Bármilyen kérdése? 1552 01:17:34,260 --> 01:17:37,270 1553 01:17:37,270 --> 01:17:44,240 >> És a végére az adott szegmensben, Mit is jelent ez a program nem? 1554 01:17:44,240 --> 01:17:47,420 Adok nektek egy pár másodperc, hogy olvassa el azt. 1555 01:17:47,420 --> 01:17:52,720 1556 01:17:52,720 --> 01:17:56,880 Egy nagyon alap szinten, amit akarunk azt mondják, hogy felcseréli x és y, igaz? 1557 01:17:56,880 --> 01:18:00,090 >> Szóval, hogy sokan tényleg azt hiszed, ez cserélni x és y? 1558 01:18:00,090 --> 01:18:02,160 Emelje fel a kezét. 1559 01:18:02,160 --> 01:18:02,760 Senki. 1560 01:18:02,760 --> 01:18:03,070 OK. 1561 01:18:03,070 --> 01:18:06,720 Aki azt gondolja, hogy majd Nem cserélni x és y? 1562 01:18:06,720 --> 01:18:09,120 És az összeg volt nem az egész szobát. 1563 01:18:09,120 --> 01:18:10,440 Tehát egyes emberek nem biztos. 1564 01:18:10,440 --> 01:18:10,920 OK. 1565 01:18:10,920 --> 01:18:11,630 Ez ésszerű. 1566 01:18:11,630 --> 01:18:16,450 >> Akkor menjünk át, mi történik, ha ha valóban hívja funkciókat először 1567 01:18:16,450 --> 01:18:18,320 Ahhoz, hogy válaszolni erre a kérdésre. 1568 01:18:18,320 --> 01:18:21,430 Tehát ez az, amit a memória valami úgy néz ki, mint a. 1569 01:18:21,430 --> 01:18:23,860 Ez a fajta, mint egy egyszerűsített modell Az, hogy milyen memória néz ki, ha 1570 01:18:23,860 --> 01:18:24,800 futtatja a programot. 1571 01:18:24,800 --> 01:18:27,270 Szóval, van valami neve A verem le ide, és 1572 01:18:27,270 --> 01:18:28,330 úgynevezett a kupac. 1573 01:18:28,330 --> 01:18:30,950 És ezek a nő felé közepén memóriát. 1574 01:18:30,950 --> 01:18:33,860 >> Tehát ebben a konkrét esetben, amikor hívja a függvényt, akkor 1575 01:18:33,860 --> 01:18:35,680 kerül fel a verem. 1576 01:18:35,680 --> 01:18:38,900 És akkor bármi benne van, hogy az funkció marad nevezzük, hogy 1577 01:18:38,900 --> 01:18:40,550 függvény stack frame. 1578 01:18:40,550 --> 01:18:44,500 És így, hogy egy szép megjelenítését Ennek let's - például, mi volt a 1579 01:18:44,500 --> 01:18:45,960 a program fő korábban. 1580 01:18:45,960 --> 01:18:47,820 És a belső fő, hívtuk kocka. 1581 01:18:47,820 --> 01:18:50,650 Tehát legfontosabb először megy a stack keret, mert ez az első funkció 1582 01:18:50,650 --> 01:18:51,640 hogy hívják. 1583 01:18:51,640 --> 01:18:55,740 >> És amikor kocka hívják belsejében fő, nem lesz fel a tetején a fő 1584 01:18:55,740 --> 01:18:57,790 belső memória. 1585 01:18:57,790 --> 01:19:02,090 Tehát mi észre fogod venni, az, hogy kocka megvan a saját paramétereit és annak 1586 01:19:02,090 --> 01:19:02,950 saját helyiek. 1587 01:19:02,950 --> 01:19:06,720 Tehát, ha valóban át valamit egy funkciót, hogy a paramétereket 1588 01:19:06,720 --> 01:19:09,910 lesz másolatai, hogy mi volt telt el a fő. 1589 01:19:09,910 --> 01:19:14,140 >> És egyfajta megmagyarázni ezt, nézzük séta a programot. 1590 01:19:14,140 --> 01:19:16,960 Tehát a verem, ez csak a stack része. 1591 01:19:16,960 --> 01:19:21,240 És mit teszünk először inicializálni x és y egy és kettő. 1592 01:19:21,240 --> 01:19:22,400 Tehát ezeket a kis dobozokat. 1593 01:19:22,400 --> 01:19:25,310 Ők ülnek a fő a stack keret a verem. 1594 01:19:25,310 --> 01:19:26,580 Ezek tartalmaznak egy és kettő. 1595 01:19:26,580 --> 01:19:28,820 >> Most hívjuk csere. 1596 01:19:28,820 --> 01:19:33,940 Mi történik, átadjuk x és y-ba csere, és swap létrehozza a saját példányát 1597 01:19:33,940 --> 01:19:36,520 az azokat a változókat használni benne a verem keret. 1598 01:19:36,520 --> 01:19:39,920 Tehát most ott van egy, amely tartalmazza azt az értéket, hogy x volt, és b, 1599 01:19:39,920 --> 01:19:41,620 amely tartalmazza azt az értéket, hogy y volt. 1600 01:19:41,620 --> 01:19:42,670 Tehát egy, kettő. 1601 01:19:42,670 --> 01:19:47,130 >> És észre fogod venni, hogy ez a külön az x és y belsejében fő. 1602 01:19:47,130 --> 01:19:51,390 Tehát most létre egy ideiglenes változót tartalmaz. 1603 01:19:51,390 --> 01:19:56,100 Mi meg a egyenlő b, ​​tehát változások egy vagy két. 1604 01:19:56,100 --> 01:19:59,340 És akkor mi meg b egyenlő a hőmérséklet, ami az egyik. 1605 01:19:59,340 --> 01:20:01,640 >> És akkor most lépjen ki A funkció. 1606 01:20:01,640 --> 01:20:04,310 1607 01:20:04,310 --> 01:20:07,410 Amikor kilép ki a funkciót, a stack frame lesz bukkant ki a verem. 1608 01:20:07,410 --> 01:20:08,270 Mi ezt tolja. 1609 01:20:08,270 --> 01:20:12,750 Megnyomja a verem keret a verembe és pop, ha ki a verem. 1610 01:20:12,750 --> 01:20:16,080 És mi történik, mindent, ami volt, hogy a verem keret fajta csak 1611 01:20:16,080 --> 01:20:17,280 megy fel a lángok. 1612 01:20:17,280 --> 01:20:19,180 És így, hogy már nem létezik. 1613 01:20:19,180 --> 01:20:20,470 >> De mit észre? 1614 01:20:20,470 --> 01:20:23,690 Mi soha nem változott a értékei x és y, igaz? 1615 01:20:23,690 --> 01:20:26,530 Tehát azok maradtak a helyi a fő. 1616 01:20:26,530 --> 01:20:29,900 És múló dolgokat csere, akkor valójában nem változott ezeket az értékeket. 1617 01:20:29,900 --> 01:20:31,260 És mit hívjuk ezt? 1618 01:20:31,260 --> 01:20:33,040 Hívjuk ezt elhaladó értéket. 1619 01:20:33,040 --> 01:20:36,860 >> Tehát a C, mikor át dolgokat funkciót, akkor elmegy, mellettük érték és 1620 01:20:36,860 --> 01:20:40,160 másolatot készít nekik funkció használható. 1621 01:20:40,160 --> 01:20:43,980 És megtudjuk, úgynevezett elhaladó későbbi, de ez 1622 01:20:43,980 --> 01:20:45,390 módon meg lehet oldani ezt a problémát. 1623 01:20:45,390 --> 01:20:47,080 De nem kell aggódnia hogy csak később. 1624 01:20:47,080 --> 01:20:52,200 >> Ebből: És valóban, ez a kifejezés, múló hivatkozással, tehát C nem is kell 1625 01:20:52,200 --> 01:20:54,270 elhaladó hivatkozva. 1626 01:20:54,270 --> 01:20:56,760 C kizárólag a elhaladó értéket. 1627 01:20:56,760 --> 01:20:59,630 Nem számít, mit teszel, mindig halad egy példányát valamit. 1628 01:20:59,630 --> 01:21:03,395 Csak, hogy, mint azt a fajta említettem hogy mielőtt a mutatókat 1629 01:21:03,395 --> 01:21:07,690 és ez a szöveg tényleg csak négy bytes mutató valahol a memóriában. 1630 01:21:07,690 --> 01:21:11,890 >> Nos, ha van ez a szöveg, és ez azt mondja, hogy az, ahol a húr - 1631 01:21:11,890 --> 01:21:15,470 Nos, ha van ez a mutató erre helyezzük a memóriában, akkor én is át a 1632 01:21:15,470 --> 01:21:19,160 másolatot a mutató arra a funkcióra, és ez a funkció még mindig tudja, hol a 1633 01:21:19,160 --> 01:21:19,780 memória van. 1634 01:21:19,780 --> 01:21:22,950 Tehát mindkét mutató mutat ugyanarra a helyre a memóriában, és 1635 01:21:22,950 --> 01:21:26,460 hogy hogyan fogjuk tudni hogy módosítsa a dolgokat túl a 1636 01:21:26,460 --> 01:21:29,852 aktuális stack frame. 1637 01:21:29,852 --> 01:21:31,040 >> JOSEPH: Nem akarsz fordítás? 1638 01:21:31,040 --> 01:21:31,820 >> Ebből: Nem, 05:30. 1639 01:21:31,820 --> 01:21:32,910 >> JOSEPH: OK. 1640 01:21:32,910 --> 01:21:35,040 Ez 05:30. 1641 01:21:35,040 --> 01:21:35,360 OK. 1642 01:21:35,360 --> 01:21:39,280 Így fogjuk fedezni összeállítása Azt hiszem, A következő rész, vagy az a rész 1643 01:21:39,280 --> 01:21:42,795 vezetője, majd ezen a ponton. 1644 01:21:42,795 --> 01:21:43,272 És - 1645 01:21:43,272 --> 01:21:44,630 >> Ebből: További kérdések? 1646 01:21:44,630 --> 01:21:46,760 >> JOSEPH: További kérdések? 1647 01:21:46,760 --> 01:21:47,150 Igen? 1648 01:21:47,150 --> 01:21:52,469 >> SPEAKER 5: A húrok a CS50, minden funkciókat akarjuk használni 1649 01:21:52,469 --> 01:21:53,880 azokat, hogy lesz, mint a C függvények. 1650 01:21:53,880 --> 01:21:59,050 CS50 nem ment, és tett kiegészítő. 1651 01:21:59,050 --> 01:22:01,850 >> ROB: Helyes. 1652 01:22:01,850 --> 01:22:08,155 Bármelyik C, mint [nem hallható], akkor is használja ezeket a mi szálakat. 1653 01:22:08,155 --> 01:22:12,400 >> JOSEPH: És egy utolsó dolog, amit szeretnék megemlíteni, hogy van egy stílust útmutató 1654 01:22:12,400 --> 01:22:13,130 ebben az osztályban. 1655 01:22:13,130 --> 01:22:13,360 >> Ebből: Ó, igen. 1656 01:22:13,360 --> 01:22:15,270 >> JOSEPH: Tehát, ha már jön egy programozási háttér előtt, akkor 1657 01:22:15,270 --> 01:22:17,750 Lehet, hogy bizonyos egyezményeket, ha írsz kódot, mint amivel 1658 01:22:17,750 --> 01:22:20,950 zárójelek ugyanabban a sorban vagy különös módon beljebb 1659 01:22:20,950 --> 01:22:22,240 vagy elnevezése a változókat. 1660 01:22:22,240 --> 01:22:26,870 Ebben az osztályban, szeretnénk követni a speciális stílust útmutató csak azért, 1661 01:22:26,870 --> 01:22:31,100 jól, ha megy, és dolgozik ipar, fogsz várható 1662 01:22:31,100 --> 01:22:34,780 hogy kövesse a stílus vezető a társaság, amelynél mész. 1663 01:22:34,780 --> 01:22:38,040 >> Mint például, Facebook azt hiszem egy bizonyos fajta elnevezése 1664 01:22:38,040 --> 01:22:38,760 egyezmény. 1665 01:22:38,760 --> 01:22:42,570 És van különbség a teve burkolat változók és mint 1666 01:22:42,570 --> 01:22:44,610 elválasztva őket aláhúzás. 1667 01:22:44,610 --> 01:22:52,170 És azt is, azt hiszem, a legfontosabb, mint a például, behúzás, nem igaz? 1668 01:22:52,170 --> 01:22:56,440 >> Mi kapcsos zárójelek indul, ahol a a feltétel, és ők 1669 01:22:56,440 --> 01:22:57,730 van a következő sorban. 1670 01:22:57,730 --> 01:23:01,230 És mi is tesz kapcsos zárójelek a még akkor is, ha ez csak egy vonal. 1671 01:23:01,230 --> 01:23:06,100 És sokszor, vannak olyan módon, hogy nem hogy ahol hagyja ezeket a zárójelek 1672 01:23:06,100 --> 01:23:08,380 ki, ha ez csak egy vonal a Ha a nyilatkozatot. 1673 01:23:08,380 --> 01:23:12,070 De ebben az osztályban, szeretnénk követni a bizonyos stílust útmutató csak így kap 1674 01:23:12,070 --> 01:23:13,550 használják az ilyesmit. 1675 01:23:13,550 --> 01:23:16,410 >> Ebből: Igen, és a stílus 50 fog érvényesíteni ezt a stílust útmutató, és mi 1676 01:23:16,410 --> 01:23:18,080 fogja használni Stílus 50 fokozatúra a kódot. 1677 01:23:18,080 --> 01:23:25,150 Így megkönnyíti a dolgokat a számunkra, és remélhetőleg nem kell tenni a dolgokat, hogy 1678 01:23:25,150 --> 01:23:30,120 sokkal rosszabb, mivel a egységes stílus nem kell, hogy 1679 01:23:30,120 --> 01:23:31,460 irreális. 1680 01:23:31,460 --> 01:23:36,000 >> JOSEPH: És végül, hogy megtalálják a stílus útmutató megnyitásához lépjen manual.cs50.net/style. 1681 01:23:36,000 --> 01:23:37,725 És igen. 1682 01:23:37,725 --> 01:23:40,575 >> SPEAKER 4: Fogsz érvényesíteni minden karakter egy sorban? 1683 01:23:40,575 --> 01:23:42,480 >> ROB: Igen. 1684 01:23:42,480 --> 01:23:45,405 >> JOSEPH: Bocs, srácok. 1685 01:23:45,405 --> 01:23:47,680 >> Ebből: Ez olyan, mintha az egyik az egyetlenek. 1686 01:23:47,680 --> 01:23:50,420 Ezen a ponton vagyok, OK 120. 1687 01:23:50,420 --> 01:23:52,460 Rendben vagyok, ha azt mondom 120 karakter soronként. 1688 01:23:52,460 --> 01:23:53,830 Megértem, hogy néhány korlátozás. 1689 01:23:53,830 --> 01:23:57,130 Azt hiszem, 80 olyan kicsi, de mi betartatása. 1690 01:23:57,130 --> 01:24:00,260 >> JOSEPH: Személy szerint azt hiszem, C, 80 karakter inkább az OK gombra. 1691 01:24:00,260 --> 01:24:04,160 Ha elkezd szerzés más nyelvek, mint a JavaScript és a PHP, nem 1692 01:24:04,160 --> 01:24:08,860 így ésszerű, hogy csak korlátozni azt a 80 karakter. 1693 01:24:08,860 --> 01:24:09,260 OK. 1694 01:24:09,260 --> 01:24:12,780 Nos, ez volt az a szuper részben. 1695 01:24:12,780 --> 01:24:14,750 Akar valaki cukorkát? 1696 01:24:14,750 --> 01:24:16,000 >> SPEAKER 4: Igen. 1697 01:24:16,000 --> 01:24:18,667