1 00:00:00,000 --> 00:00:00,980 2 00:00:00,980 --> 00:00:04,410 >> [MUSIC ifa] 3 00:00:04,410 --> 00:00:11,147 4 00:00:11,147 --> 00:00:12,230 DAVID J. MALAN: Bütün hüququ. 5 00:00:12,230 --> 00:00:16,440 Bu CS50 və bu Həftə 2 sonu. 6 00:00:16,440 --> 00:00:18,480 Belə ki, bu gün biz gedirik bizim göz davam 7 00:00:18,480 --> 00:00:21,150 biz şeyi təmsil necə Bu hood-- uzaqlaşdığını altında 8 00:00:21,150 --> 00:00:23,520 integers kimi nömrələrindən və üzən point dəyərləri 9 00:00:23,520 --> 00:00:26,810 və strings diqqət və nəticədə daha maraqlı proqramları. 10 00:00:26,810 --> 00:00:30,140 Amma biz də bir nəzər almaq lazımdır domain xüsusi problemlərin neçə 11 00:00:30,140 --> 00:00:33,620 ilk olacaq olan Kriptoqrafiya cəlb ola, 12 00:00:33,620 --> 00:00:36,570 məlumat Scrambling sənətidir, Siz burada bax 13 00:00:36,570 --> 00:00:41,480 Radio Yetim Annie nin bir şəkil yesteryear gizli decoder ring. 14 00:00:41,480 --> 00:00:46,490 >> Bu, həqiqətən, çox primitiv forması və cryptopgraphy uşaq dostu form 15 00:00:46,490 --> 00:00:50,590 Bu ring iki disks-- var qovuşdurmağımız bir daxili və bir kənarda. 16 00:00:50,590 --> 00:00:54,740 Və, o biri siz fırlanan mahiyyətcə A kimi məktublar sıraya 17 00:00:54,740 --> 00:00:59,520 hərfləri ilə Z Başqa sözlə A. vasitəsilə B kimi, 18 00:00:59,520 --> 00:01:03,730 sözün əlifba dönüşümlü bilər, bununla Xəritəçəkmə ilə gələn 19 00:01:03,730 --> 00:01:07,820 məktublar məktublar ki, əgər siz gizli bir mesaj göndərmək istədi 20 00:01:07,820 --> 00:01:11,820 Annie kimi kimsə üçün, yazmaq bilər sonra dönüşümlü və mesaj aşağı 21 00:01:11,820 --> 00:01:15,370 məktublar, vasitəsi, demək əgər əvəzinə demək ", A" demək "B" 22 00:01:15,370 --> 00:01:17,280 Siz demək "B" əvəzinə "C" demək - 23 00:01:17,280 --> 00:01:20,240 və ya bir şey bir az daha ağıllı that-- daha sonra nəhayət, 24 00:01:20,240 --> 00:01:24,630 belə uzun Annie bu decoder kimi ring, o mesaj deşifre bilər. 25 00:01:24,630 --> 00:01:28,540 İndi, əslində, geri ki, bu ola bilər bir çox məşhur film istifadə edilmişdir ki, 26 00:01:28,540 --> 00:01:31,140 zamanı elan nauseum oynayır Milad mövsümü. 27 00:01:31,140 --> 00:01:32,650 Burada bir nəzər salaq. 28 00:01:32,650 --> 00:01:35,294 29 00:01:35,294 --> 00:01:37,210 Ralphie PARKER: "olun xülasə bütün məlum 30 00:01:37,210 --> 00:01:41,000 Ralph Parker qərara təyin edilir ki, Little Yetim Annie Secret üzvü 31 00:01:41,000 --> 00:01:44,860 Circle və bütün hüququna malikdir fərqlənmə və faydaları ona baş. " 32 00:01:44,860 --> 00:01:47,410 >> Ralphie PARKER (nəql): Little Yetim Annie imzalanıb. 33 00:01:47,410 --> 00:01:50,070 Müqabil, Pierre Andre! 34 00:01:50,070 --> 00:01:51,490 Mürəkkəblə. 35 00:01:51,490 --> 00:01:55,494 Fəxri və faydaları Artıq doqquz yaşında. 36 00:01:55,494 --> 00:01:57,402 >> [MUSIC ifa] 37 00:01:57,402 --> 00:02:00,470 >> [RADIO laqqırtı] 38 00:02:00,470 --> 00:02:01,470 Ralphie PARKER: Hadi. 39 00:02:01,470 --> 00:02:02,344 Agentliyi ilə əldə edək. 40 00:02:02,344 --> 00:02:06,029 Mən bütün caz ehtiyac yoxdur qaçaqmalçıları və quldurları haqqında. 41 00:02:06,029 --> 00:02:08,820 RADIO Aparıcı: sabah dinlə yekun macəra üçün gecə 42 00:02:08,820 --> 00:02:11,060 Qara Pirate Ship. 43 00:02:11,060 --> 00:02:14,740 İndi, bu dəfə Annie nin üçün Siz üzvləri üçün Secret Message 44 00:02:14,740 --> 00:02:17,110 Gizli Circle. 45 00:02:17,110 --> 00:02:20,700 Uşaq, yalnız üzvləri saxla Annie Secret Circle 46 00:02:20,700 --> 00:02:23,270 Annie gizli mesaj deşifre bilər. 47 00:02:23,270 --> 00:02:27,270 >> Unutmayın, Annie siz asılı olaraq. 48 00:02:27,270 --> 00:02:30,060 B-2 üçün sancaqlar seçin. 49 00:02:30,060 --> 00:02:34,004 İşdə mesajı 12, 11, 2-- 50 00:02:34,004 --> 00:02:36,503 Ralphie PARKER (nəql): Mən ilk gizli görüş edirəm. 51 00:02:36,503 --> 00:02:40,041 RADIO Aparıcı: --25, 14, 11, 18, 16 giriş 52 00:02:40,041 --> 00:02:42,790 Ralphie PARKER (nəql): Oh, Pierre böyük səs axşam idi. 53 00:02:42,790 --> 00:02:46,110 Hesab edirəm ki, bu axşam deyə bilər mesaj həqiqətən vacib idi. 54 00:02:46,110 --> 00:02:47,930 >> RADIO Aparıcı: --3, 25. 55 00:02:47,930 --> 00:02:49,940 Ki, Annie özü bir mesaj var. 56 00:02:49,940 --> 00:02:52,182 Hər kəs demək deyil unutmayın. 57 00:02:52,182 --> 00:02:55,077 >> [Qaranəfəs] 58 00:02:55,077 --> 00:02:57,285 Ralphie PARKER (nəql): Doxsan saniyə sonra, mən deyiləm 59 00:02:57,285 --> 00:03:00,090 Bu yalnız otaqda evdə doqquz bir oğlan 60 00:03:00,090 --> 00:03:04,380 gizlilik və decode oturmaq bilər. 61 00:03:04,380 --> 00:03:04,990 Ah. 62 00:03:04,990 --> 00:03:05,680 "B." 63 00:03:05,680 --> 00:03:06,524 >> [Chuckles] 64 00:03:06,524 --> 00:03:08,684 >> Ralphie PARKER (nəql): Mən növbəti getdi. 65 00:03:08,684 --> 00:03:09,610 "E." 66 00:03:09,610 --> 00:03:11,641 Ilk sözü "ola" dir. 67 00:03:11,641 --> 00:03:12,140 Bəli! 68 00:03:12,140 --> 00:03:14,293 İndi daha asan gəlirdi. 69 00:03:14,293 --> 00:03:15,259 "U." 70 00:03:15,259 --> 00:03:16,225 >> [Chuckles] 71 00:03:16,225 --> 00:03:18,157 >> RANDY PARKER: Aw, Ralphie gəlib. 72 00:03:18,157 --> 00:03:19,606 Mən getməliyəm! 73 00:03:19,606 --> 00:03:21,538 >> Ralphie PARKER: Mən, sağ aşağı Ma olacaq. 74 00:03:21,538 --> 00:03:22,504 Gee harika. 75 00:03:22,504 --> 00:03:25,402 76 00:03:25,402 --> 00:03:31,220 "T." "O." "Əmin olun üçün. "Nə" üçün əmin olun "? 77 00:03:31,220 --> 00:03:33,981 Little Yetim Annie nə idi demək üçün çalışırıq? Nə "əmin olun"? 78 00:03:33,981 --> 00:03:35,522 ANASI: Ralphie, Randy getmək üçün var. 79 00:03:35,522 --> 00:03:36,735 Siz çıxmaq misiniz? 80 00:03:36,735 --> 00:03:38,190 >> Ralphie PARKER: Bütün sağ, ana! 81 00:03:38,190 --> 00:03:39,787 Mən doğru olacaq! 82 00:03:39,787 --> 00:03:41,995 Ralphie PARKER (nəql): Mən indi daha yaxın əldə edilmişdir. 83 00:03:41,995 --> 00:03:43,370 Gərginlik dəhşətli idi. 84 00:03:43,370 --> 00:03:44,794 Bu nə idi? 85 00:03:44,794 --> 00:03:47,656 Planetin taleyi balansında asmaq bilər. 86 00:03:47,656 --> 00:03:50,518 >> ANASI: Ralphie, Randy getmək üçün var! 87 00:03:50,518 --> 00:03:53,635 >> Ralphie PARKER: Mən sağ olacaq həyata, sesli ağlayan üçün! 88 00:03:53,635 --> 00:03:55,343 Ralphie PARKER (Nəql): Demək olar ki, var! 89 00:03:55,343 --> 00:03:56,520 Mənim barmaqları uçdu! 90 00:03:56,520 --> 00:03:58,500 Mənim mind bir polad tələ idi. 91 00:03:58,500 --> 00:03:59,850 Hər pore vibrasiyaya. 92 00:03:59,850 --> 00:04:01,806 Demək olar ki, aydın idi! 93 00:04:01,806 --> 00:04:02,773 Bəli! 94 00:04:02,773 --> 00:04:03,273 Bəli! 95 00:04:03,273 --> 00:04:03,773 Bəli! 96 00:04:03,773 --> 00:04:04,740 Bəli! 97 00:04:04,740 --> 00:04:10,250 >> Ralphie PARKER: "Əmin olun Sizin Ovaltine içmək. " 98 00:04:10,250 --> 00:04:10,750 Ovaltine? 99 00:04:10,750 --> 00:04:14,864 100 00:04:14,864 --> 00:04:17,539 A crummy kommersiya? 101 00:04:17,539 --> 00:04:19,439 >> [MUSIC ifa] 102 00:04:19,439 --> 00:04:21,724 >> Ralphie PARKER: Köpək oğlu. 103 00:04:21,724 --> 00:04:23,460 >> [Laughing] 104 00:04:23,460 --> 00:04:27,070 >> DAVID J. MALAN: o deyil Belə ki, nə Kriptoqrafiya bir fikir 105 00:04:27,070 --> 00:04:29,880 Hələ a ola bilər yesteryear içmək. 106 00:04:29,880 --> 00:04:30,900 Belə ki, tez elan. 107 00:04:30,900 --> 00:04:33,410 Bu pulsuz, əgər Cümə 1:15 PM və ki 108 00:04:33,410 --> 00:04:36,610 CS50 üçün bizə qoşulmaq istəyirəm nahar, burada bu URL giderim. 109 00:04:36,610 --> 00:04:38,080 İlk adi kimi xidmət, gəlir. 110 00:04:38,080 --> 00:04:41,840 Lakin zaman keçdikcə, biz əmin etmək lazımdır iştirak etmək istədiyiniz ən hər kəs 111 00:04:41,840 --> 00:04:43,640 cədvəli-müdrik bilər. 112 00:04:43,640 --> 00:04:45,170 >> Belə ki strings. 113 00:04:45,170 --> 00:04:47,940 Biz Zamyla-- kimə var İndi çox güman ki, görüşüb etdik 114 00:04:47,940 --> 00:04:50,750 Problem Set 1-- kimin adı beləliklə yazıldığına. 115 00:04:50,750 --> 00:04:53,570 Və onun adı yazılmış ki, bir kompüter proqramı 116 00:04:53,570 --> 00:04:55,710 GetString kimi bir şey istifadə. 117 00:04:55,710 --> 00:04:57,890 Almaq üçün o tuş vuruşlarını, necə 118 00:04:57,890 --> 00:05:01,620 biz haqqında getmək yoxdur simli, bir söz, bir maddə, 119 00:05:01,620 --> 00:05:03,960 və ya bu burada kimi birdən çox məktublar? 120 00:05:03,960 --> 00:05:06,790 >> Biz son dəfə danışdı integers və problemlər 121 00:05:06,790 --> 00:05:09,960 ki, tam daşqın ilə yarana və üzən point dəyərləri 122 00:05:09,960 --> 00:05:12,190 və problemlər ki, dəqiqliklə ərzində yaranır. 123 00:05:12,190 --> 00:05:16,080 Strings ilə, biz ən azı bir az daha çox rahatlıq var 124 00:05:16,080 --> 00:05:17,970 strings-- çünki yalnız real vücuda da 125 00:05:17,970 --> 00:05:19,790 olduqca ixtiyari uzunluğu ola bilər. 126 00:05:19,790 --> 00:05:21,055 Olduqca qısa, olduqca uzun. 127 00:05:21,055 --> 00:05:23,680 Lakin hətta sonra, biz olacaq tapmaq kompüter bəzən bilər ki, 128 00:05:23,680 --> 00:05:27,200 yaddaş və hətta çalıştırmak böyük bir kifayət qədər simli saxlamaq. 129 00:05:27,200 --> 00:05:30,840 >> Amma indi üçün, görüntüləmək başlamaq edək bu qutuları bir şey kimi bir string 130 00:05:30,840 --> 00:05:31,340 burada. 131 00:05:31,340 --> 00:05:36,410 Belə ki, altı belə qutuları, hər biri bir simvol və ya təmsil "char." 132 00:05:36,410 --> 00:05:40,646 C-h-a-r-- - belə "char" Xatırladaq ki, C. daxili data növlərindən biridir 133 00:05:40,646 --> 00:05:43,520 Və nə gözəl istifadə edə bilərsiniz ki, ki, sort bir bina blok kimi, 134 00:05:43,520 --> 00:05:47,880 bir puzzle parça, Siz, bir yaratmaq üçün biz davam edəcəyik ki, məlumatların böyük növü 135 00:05:47,880 --> 00:05:49,410 a "simli." zəng etmək 136 00:05:49,410 --> 00:05:53,650 >> İndi nə düşünür haqqında faydalı bu şəkildə strings kimi şeylər haqqında? 137 00:05:53,650 --> 00:05:57,720 Bəli, biz bilər çıxır ki, əslində bu quruluşu leverage 138 00:05:57,720 --> 00:06:01,420 faktiki olaraq fərdi simvol daxil olmaq üçün olduqca sadə şəkildə. 139 00:06:01,420 --> 00:06:04,099 Mən irəli getmək və yaratmaq gedirəm adlı bir fayl "stringzero.c," 140 00:06:04,099 --> 00:06:05,765 Siz istədiyiniz hər hansı, lakin siz zəng edə bilərsiniz. 141 00:06:05,765 --> 00:06:08,500 Və kurs saytında edir əvvəlcədən bu nümunə, 142 00:06:08,500 --> 00:06:10,430 belə ki, ehtiyac yoxdur hər şeyi yazın. 143 00:06:10,430 --> 00:06:13,820 >> Mən irəli getmək üçün gedirəm və ilk int əsas etibarsız yoxdur. 144 00:06:13,820 --> 00:06:15,980 Və bir neçə gün ərzində, biz ayrı tease başlaya bilərsiniz 145 00:06:15,980 --> 00:06:19,070 bu səbəbdən nə boşluq, burada əsas yanında, və s int. 146 00:06:19,070 --> 00:06:21,180 Amma indi üçün, davam edək surəti yapışdırıb. 147 00:06:21,180 --> 00:06:23,455 >> Mən adlı simli bəyan gedirəm. 148 00:06:23,455 --> 00:06:26,920 Mən geri gedirəm Nə daxil istifadəçi növləri GetString. 149 00:06:26,920 --> 00:06:29,170 Bu sadə olacaq proqram, heç bir təlimat, 150 00:06:29,170 --> 00:06:31,336 Mən yalnız kor-koranə gedirəm istifadəçi bilir ki, gözləyirik 151 00:06:31,336 --> 00:06:32,600 nə sadə saxlamaq üçün nə etmək. 152 00:06:32,600 --> 00:06:34,220 >> Və indi mən loop üçün var gedirəm. 153 00:06:34,220 --> 00:06:37,450 Və mənim üçün loop daxilində Mən i sıfır olur int üçün gedir. 154 00:06:37,450 --> 00:06:40,660 Və i, yenə bir konvensiya hesablanması üçün bir index dəyişən, 155 00:06:40,660 --> 00:06:42,350 lakin mən istəyirəm nə zəng edə bilər. 156 00:06:42,350 --> 00:06:46,275 Mən də than-- az gedirəm ZAMYLA adı altı məktublar uzun. 157 00:06:46,275 --> 00:06:48,150 Mən çətin gedirəm İndi orada kodu ki,. 158 00:06:48,150 --> 00:06:49,730 >> Və sonra i ++. 159 00:06:49,730 --> 00:06:53,190 Və indi bu buruq daxilində aşırma Mən printf etmək gedirəm 160 00:06:53,190 --> 00:06:55,460 və mən bir çap etmək istəyirəm bir zamanda xarakter. 161 00:06:55,460 --> 00:06:58,227 Belə ki, mən% c istifadə gedirəm bəlkə də ilk dəfə. 162 00:06:58,227 --> 00:07:00,560 Və sonra mən hər çap etmək istəyirəm öz xətti xarakter. 163 00:07:00,560 --> 00:07:02,550 Mən bir qoymaq gedirəm az backslash n var. 164 00:07:02,550 --> 00:07:03,640 Yaxın quote. 165 00:07:03,640 --> 00:07:06,250 >> İndi burada bir şey etmək istəyirəm. 166 00:07:06,250 --> 00:07:10,610 Mən çap etmək istəyirəm simli xüsusi məktub, 167 00:07:10,610 --> 00:07:13,670 s, mən iterating alıram kimi altı qədər sıfır olan. 168 00:07:13,670 --> 00:07:17,150 Yəni, mən istəyirəm s i'th xarakter çap. 169 00:07:17,150 --> 00:07:18,420 İndi mən bunu necə edə bilərsiniz? 170 00:07:18,420 --> 00:07:21,550 >> Yaxşı çox qutuları kimi Burada bu nümayəndəliyi, 171 00:07:21,550 --> 00:07:25,560 cür, boks anlayışı qədər hoqqa çıxarmaq məktublar, siz eyni edə bilərsiniz 172 00:07:25,560 --> 00:07:32,630 syntactically sadəcə ifadə edərək, C, Mən xarakter i'th s nin çap etmək istəyirəm. 173 00:07:32,630 --> 00:07:35,640 Kvadrat mötərizə istifadə Klavyenizdeki haqqında 174 00:07:35,640 --> 00:07:38,910 ABŞ klaviatura var ki, ümumiyyətlə geri əsas yuxarıda. 175 00:07:38,910 --> 00:07:42,630 >> Belə ki, bu çox doğru deyil hələ, siz qeyd ola bilər kimi. 176 00:07:42,630 --> 00:07:44,780 Amma cür gedirəm kor-koranə burada irəliləmək. 177 00:07:44,780 --> 00:07:47,020 Mən string 0 etmək gedirəm. 178 00:07:47,020 --> 00:07:50,860 Mən bunu əvvəl Lakin, görək biz bəzi ümumi səhvlər tahmin bilməz. 179 00:07:50,860 --> 00:07:52,844 Bu tərtib gedir? 180 00:07:52,844 --> 00:07:54,510 Xeyr, Mən hər şeyi bütün dəstə itkin alıram. 181 00:07:54,510 --> 00:07:55,280 Kitabxanalar eşitdim. 182 00:07:55,280 --> 00:07:58,480 >> Belə ki, faylları header olan Mən burada əlavə edə bilərsiniz? 183 00:07:58,480 --> 00:07:59,205 Bəli. 184 00:07:59,205 --> 00:08:01,580 >> Auditoriya: Siz lazımdır standart I / O [Işitilemez] 185 00:08:01,580 --> 00:08:02,663 >> DAVID J. MALAN: Əla. 186 00:08:02,663 --> 00:08:06,060 Mən standart I / O lazımdır. Nə məqsəd Mən standart I / O istəyirsiniz? 187 00:08:06,060 --> 00:08:06,670 Printf üçün. 188 00:08:06,670 --> 00:08:09,220 Belə ki, stdio.h daxildir. 189 00:08:09,220 --> 00:08:13,490 Və siz də daxildir ki, təklif nə səbəbdən CS50 kitabxana? 190 00:08:13,490 --> 00:08:14,650 Strings var. 191 00:08:14,650 --> 00:08:17,780 Belə ki, biz görəcəksiniz CS50 kitabxana edir 192 00:08:17,780 --> 00:08:19,260 simli bu anlayışı yaratmaq. 193 00:08:19,260 --> 00:08:21,930 Amma indi üçün, yalnız hesab edə bilər bu faktiki data növü kimi. 194 00:08:21,930 --> 00:08:23,596 >> Belə ki, bir az təmizlənə görünür. 195 00:08:23,596 --> 00:08:27,060 İndi mən irəli getmək üçün gedirəm və həqiqətən string 0 edə bilərəm. 196 00:08:27,060 --> 00:08:27,700 Tərtib. 197 00:08:27,700 --> 00:08:28,370 Belə ki, yaxşı. 198 00:08:28,370 --> 00:08:32,799 Belə biz zoom olum ./string0 daha yaxından neler oldu. 199 00:08:32,799 --> 00:08:33,850 Daxil edin. 200 00:08:33,850 --> 00:08:37,789 Z-A-M-Y-L-A daxil edin. 201 00:08:37,789 --> 00:08:39,440 Və biz ZAMYLA adı çap etdik. 202 00:08:39,440 --> 00:08:40,409 >> Belə ki, olduqca yaxşı. 203 00:08:40,409 --> 00:08:43,220 Belə ki, indi-nin irəli getmək və yenə bu proqram run, 204 00:08:43,220 --> 00:08:45,659 və Daven tam adını yazın. 205 00:08:45,659 --> 00:08:46,450 Surprise, sürpriz. 206 00:08:46,450 --> 00:08:48,021 Daxil edin. 207 00:08:48,021 --> 00:08:48,520 Hmm. 208 00:08:48,520 --> 00:08:51,750 Biz Daven nin çap deyil Düzgün tam ilk ad. 209 00:08:51,750 --> 00:08:54,250 İndi bu aydın olmalıdır çünki nə history, 210 00:08:54,250 --> 00:08:57,010 sort, axmaq dizayn qərar? 211 00:08:57,010 --> 00:08:59,590 >> Bəli, mən ağır kodlu mənim loop üçün altı daxilində. 212 00:08:59,590 --> 00:09:01,610 İndi etdim ki, yalnız çünki Mən ZAMYLA adı bilirdim 213 00:09:01,610 --> 00:09:02,776 altı məktublar olacaq. 214 00:09:02,776 --> 00:09:04,720 Amma şübhəsiz ki, bu deyil ümumi həll. 215 00:09:04,720 --> 00:09:07,720 Belə çıxır ki, biz dinamik bilərsiniz bir simli uzunluğu anlamaq 216 00:09:07,720 --> 00:09:10,440 strlen adlı bir funksiyası zəng. 217 00:09:10,440 --> 00:09:12,840 >> Yenə qəsdən müfəssəl şəkildə yalnız adına 218 00:09:12,840 --> 00:09:14,450 yazın daha rahat etmək üçün. 219 00:09:14,450 --> 00:09:17,170 Amma ki, sinonimi var bir simli uzunluğu almaq. 220 00:09:17,170 --> 00:09:23,190 Mən terminal geri getmək üçün gedirəm pəncərə və compiler yenidən axır. 221 00:09:23,190 --> 00:09:24,170 Amma mənə böyle oldu. 222 00:09:24,170 --> 00:09:29,130 Dolayısı kitabxana funksiyası elan const-- int imzasız növü ilə strlen 223 00:09:29,130 --> 00:09:29,780 Mən batdım. 224 00:09:29,780 --> 00:09:30,590 Tamamilə. 225 00:09:30,590 --> 00:09:32,940 >> Belə ki, xüsusilə sizin gözləri üzərində şir başlamaq 226 00:09:32,940 --> 00:09:36,000 bu kimi səhv messages, diqqət vicdanla ilk bir neçə sözləri. 227 00:09:36,000 --> 00:09:38,590 Biz problem olduğunu bilirik line 8, burada göstərilən. 228 00:09:38,590 --> 00:09:40,500 Və string-0.c var. 229 00:09:40,500 --> 00:09:43,580 Dolayısı elan kitabxana funksiyası strlen. 230 00:09:43,580 --> 00:09:47,000 Belə ki, ümumiyyətlə gedir səhv bir model ola bilər. 231 00:09:47,000 --> 00:09:49,190 Dolayısı bir şey elan. 232 00:09:49,190 --> 00:09:53,250 >> Belə ki, qısa, I görünürdü nə var Burada, 8 xətt ilə bağlı görmüşük. 233 00:09:53,250 --> 00:09:56,880 Ola bilər nə həll hətta Özünüz strlen istifadə heç varsa? 234 00:09:56,880 --> 00:09:58,907 >> Auditoriya: müxtəlif kitabxana Part? 235 00:09:58,907 --> 00:10:00,740 DAVID J. MALAN: Part müxtəlif kitabxana. 236 00:10:00,740 --> 00:10:02,400 Elan, belə ki, belə danışmaq. 237 00:10:02,400 --> 00:10:07,510 Bəzi fayl qeyd olunur stdio.h və cs50.h. başqa 238 00:10:07,510 --> 00:10:09,179 İndi harada müəyyən olunur? 239 00:10:09,179 --> 00:10:12,220 Vicdanlı olmaq, ya yalnız var Başını üst off bu bilirik, 240 00:10:12,220 --> 00:10:13,640 və ya bu Google və tapmaq. 241 00:10:13,640 --> 00:10:18,150 Və ya bu bilirik, mən CS50 açmıştınız terminal proqram, Məişət olan 242 00:10:18,150 --> 00:10:22,200 yalnız böyük, tam ekran versiyası nə gedit pəncərə altındakı var. 243 00:10:22,200 --> 00:10:24,970 >> Və bu var çıxır ki, adlı eyni qısa command, 244 00:10:24,970 --> 00:10:29,280 Siz yazın əgər yerləşir dərslik, man və bir funksiyası adı, Enter 245 00:10:29,280 --> 00:10:32,240 Əgər kifayət qədər geri almaq lazımdır gizli sənədlər. 246 00:10:32,240 --> 00:10:35,299 Bu adətən yalnız mətn var bu kimi bir az bir şey görünür. 247 00:10:35,299 --> 00:10:37,090 Bu bir az böyük var ilk baxışda. 248 00:10:37,090 --> 00:10:39,048 Amma səmimi Mən gedirəm Gözümün üzərində şir imkan 249 00:10:39,048 --> 00:10:41,930 və yalnız bir hissəsi diqqət Mən bu an üçün qayğı. 250 00:10:41,930 --> 00:10:42,780 >> Olan bu deyil. 251 00:10:42,780 --> 00:10:45,470 Hansı struktur kimi görünür bir şey ilə tanış oldum. 252 00:10:45,470 --> 00:10:48,080 Həqiqətən man səhifə, belə ki, danışmaq, sizə xəbər verəcəkdir 253 00:10:48,080 --> 00:10:51,590 nə header bir funksiyası fayl kimi strlen müəyyən edilir. 254 00:10:51,590 --> 00:10:54,170 Mən gedit indi geri getmək üçün gedirəm. 255 00:10:54,170 --> 00:10:59,070 Mən irəli getmək üçün gedirəm və Burada # daxildir əlavə 256 00:10:59,070 --> 00:11:00,480 və fayl saxlamaq. 257 00:11:00,480 --> 00:11:04,300 >> Mən ekran təmizləmək üçün gedirəm Control L siz merak etdiyiniz halda. 258 00:11:04,300 --> 00:11:08,210 Mən etmək yenidən run gedirəm string.0, bu dəfə tərtib edir. 259 00:11:08,210 --> 00:11:11,790 ./string.0 Zamyla. 260 00:11:11,790 --> 00:11:15,020 Ki, mənə gedək iş idi irəli və Davenport ilə təkrar. 261 00:11:15,020 --> 00:11:15,860 Daxil edin. 262 00:11:15,860 --> 00:11:17,730 Və ki, bu da iş idi. 263 00:11:17,730 --> 00:11:21,220 >> Belə ki, biz, bu bir az daha yaxşı edə bilərsiniz baxmayaraq, biz səliqəli şeyi başlaya bilərsiniz 264 00:11:21,220 --> 00:11:23,257 yalnız bir az up. 265 00:11:23,257 --> 00:11:25,590 Mən, həqiqətən, gedirəm indi başqa bir şey təqdim edir. 266 00:11:25,590 --> 00:11:28,930 Mən irəli getmək üçün gedirəm və bir müxtəlif fayl bu edin. 267 00:11:28,930 --> 00:11:31,770 Mən zəng etmək üçün gedirəm Bu fayl string1.c yalnız 268 00:11:31,770 --> 00:11:34,620 kodu ilə ardıcıl olmaq Siz online tapmaq edə bilərsiniz. 269 00:11:34,620 --> 00:11:37,050 >> Və in diqqət edək eyni kodu. 270 00:11:37,050 --> 00:11:39,000 Mən var çıxır ki, götürülməsi olmuşdur cür 271 00:11:39,000 --> 00:11:42,600 verilən əslində mənim laptop ki, və öz növbəsində, CS50 cihaz 272 00:11:42,600 --> 00:11:47,450 yaddaş bir çox, bir çox var RAM, kosmik bayt bir çox 273 00:11:47,450 --> 00:11:48,920 olan I strings bilərsiniz. 274 00:11:48,920 --> 00:11:53,560 >> Amma reallıq Mən uzun yazdığınız əgər kifayət qədər və kifayət qədər tuş vuruşlarını, 275 00:11:53,560 --> 00:11:56,170 Mən nəzəriyyə növü bilər daha simvol 276 00:11:56,170 --> 00:11:58,830 mənim kompüter daha fiziki yaddaş var. 277 00:11:58,830 --> 00:11:59,830 Və bu problemlidir. 278 00:11:59,830 --> 00:12:03,050 Çox bir int yalnız kimi nəzəri, belə ki, yüksək saymaq, 279 00:12:03,050 --> 00:12:06,600 Siz yalnız çox simvol sığdırdı Sizin kompüter RAM və ya Random daxil 280 00:12:06,600 --> 00:12:07,920 Access Memory. 281 00:12:07,920 --> 00:12:11,140 >> Mən daha yaxşı təxmin etmişdi Bu problem, hətta 282 00:12:11,140 --> 00:12:13,660 Bu nadir ola bilər, baxmayaraq künc halda, belə danışmaq. 283 00:12:13,660 --> 00:12:15,670 Tez-tez baş vermir, ola bilər. 284 00:12:15,670 --> 00:12:18,815 Bu baş verərsə və əgər mən bunu tahmin və bunun üçün proqram, 285 00:12:18,815 --> 00:12:20,300 mənim proqram nə bilir edə bilər. 286 00:12:20,300 --> 00:12:22,220 , Hər hansı reboot, Freeze asmaq. 287 00:12:22,220 --> 00:12:24,490 Something baş verə bilər gözlənilir. 288 00:12:24,490 --> 00:12:27,120 >> Mən nə üçün gedirəm İndi, bundan sonra, həqiqətən, 289 00:12:27,120 --> 00:12:31,630 heç kor-koranə I əvvəl s kimi bir dəyişən istifadə 290 00:12:31,630 --> 00:12:36,790 qaytarılması dəyəri verildi GetString kimi bəzi digər funksiyası, 291 00:12:36,790 --> 00:12:40,200 Mən əmin etmək gedirəm ki, dəyəri etibarlıdır. 292 00:12:40,200 --> 00:12:44,280 Mən oxumaq sonra yalnız bilirik GetString CS50 sənədlər, 293 00:12:44,280 --> 00:12:49,020 son nəticədə biz qeyd edəcəyik, ki, GetString xüsusi simvolu qaytarır 294 00:12:49,020 --> 00:12:53,610 bütün NULL, N-U-L-L adlı bir şey yanlış gedir əgər, caps. 295 00:12:53,610 --> 00:12:55,650 >> Belə ki, adətən, bir simli qaytarır. 296 00:12:55,650 --> 00:12:59,700 Amma bu N-U-L-L-- qaytarır, əgər başqa biz nəhayət, həqiqətən, nə ki, görürsünüz 297 00:12:59,700 --> 00:13:01,790 yalnız vasitələri means-- pis bir şey baş verib. 298 00:13:01,790 --> 00:13:05,560 İndi bu qədər Not kimi, o deməkdir ki, I, C burada vəziyyəti kontrol edə bilərsiniz 299 00:13:05,560 --> 00:13:08,830 bərabər NULL deyil əgər. 300 00:13:08,830 --> 00:13:11,930 Siz əvvəl bu görmədim etdik əgər Belə ki, yalnız deməkdir bu bərabər deyil. 301 00:13:11,930 --> 00:13:15,290 >> Belə ki, qarşı deyil geri bərabər bərabər, 302 00:13:15,290 --> 00:13:18,940 tək fərqli tapşırıq olan bərabərdir. 303 00:13:18,940 --> 00:13:23,030 Bərabər deyil, əgər belə NULL, yalnız sonra nə 304 00:13:23,030 --> 00:13:25,980 Mən kodu bu xətlər icra etmək istəyirik. 305 00:13:25,980 --> 00:13:28,080 Belə ki, başqa sözlə, Mən kor-koranə dalış əvvəl 306 00:13:28,080 --> 00:13:30,919 və iterating başlamaq s-dən çox və müalicə 307 00:13:30,919 --> 00:13:33,710 Bu bir ardıcıllıqla deyil sanki simvol, mən ilk yoxlamaq üçün gedirəm 308 00:13:33,710 --> 00:13:37,900 bir dəqiqə gözləyin, mütləq deyil edir Bu xüsusi dəyərinə bərabərdir NULL? 309 00:13:37,900 --> 00:13:40,030 >> Əgər, pis şeylər ola bilər, çünki. 310 00:13:40,030 --> 00:13:43,080 Və indi ki, pis şeylər güman proqram qəzaları deməkdir baş, 311 00:13:43,080 --> 00:13:45,070 və siz mütləq bərpa edə bilməz. 312 00:13:45,070 --> 00:13:46,800 Belə ki, səmimi, bu uglier görünür. 313 00:13:46,800 --> 00:13:48,660 bu cür nəzər indi çaşdırıcı oldu. 314 00:13:48,660 --> 00:13:50,780 Amma bu daha çox olacaq uzun əvvəl tanış. 315 00:13:50,780 --> 00:13:52,920 >> Amma təklif gedirəm indi başqa bir təkmilləşdirilməsi. 316 00:13:52,920 --> 00:13:54,660 Ki, düzgün bir inkişaf var. 317 00:13:54,660 --> 00:13:58,800 Mənim proqram, çünki indi daha doğru nadir halda kifayət deyil yaddaş 318 00:13:58,800 --> 00:14:01,180 Mən onu idarə edəcək mövcuddur, Mən yalnız bir şey edəcəyik. 319 00:14:01,180 --> 00:14:02,680 Mən ən azı qəza deyil. 320 00:14:02,680 --> 00:14:05,000 >> Amma burada bir final versiyası nə edək. 321 00:14:05,000 --> 00:14:07,690 Və bir fayl string2.c çağırıb. 322 00:14:07,690 --> 00:14:10,190 Mən yapışdırıb gedirəm yalnız bir an üçün eyni kodu, 323 00:14:10,190 --> 00:14:14,210 Mən bu qeyd etmək gedirəm yalnız bir an üçün burada line 11,. 324 00:14:14,210 --> 00:14:18,179 İndi reallıq ki, ağıllı derleyiciler edir cingilti bizim üçün bu düzeltmek bilər kimi 325 00:14:18,179 --> 00:14:19,970 pərdə arxasında Bizim heç bilmədən. 326 00:14:19,970 --> 00:14:24,670 Amma bu barədə düşünək əsaslı bir problemli dizayn kimi. 327 00:14:24,670 --> 00:14:29,010 >> Kodu bu xətt, əlbəttə, deyərək, bəzi dəyişən i 0 başlamaq. 328 00:14:29,010 --> 00:14:30,260 Bu olduqca sadə var. 329 00:14:30,260 --> 00:14:34,691 Və yenə bu nə Şərhdə, burada, i bunu, ++? 330 00:14:34,691 --> 00:14:37,066 Biz əvvəl bunu gördük, amma biz etdik həqiqətən, bu barədə danışmaq vermədi. 331 00:14:37,066 --> 00:14:37,900 >> Auditoriya: i Incrementing. 332 00:14:37,900 --> 00:14:39,191 >> DAVID J. MALAN: Incrementing i. 333 00:14:39,191 --> 00:14:41,890 Vasitəsilə hər iteration haqqında belə bu loop hər dövrü, 334 00:14:41,890 --> 00:14:43,570 Siz bir i incrementing edirik. 335 00:14:43,570 --> 00:14:45,740 Belə ki, daha böyük və daha böyük olur, və Bu loop xitam qədər böyük. 336 00:14:45,740 --> 00:14:46,810 Necə ləğv edir? 337 00:14:46,810 --> 00:14:49,430 Yaxşı bu orta var biz əvvəl istifadə etdiyiniz vəziyyəti. 338 00:14:49,430 --> 00:14:52,500 Siz görüldü və sonra P dəsti walkthroughs. 339 00:14:52,500 --> 00:14:53,880 >> Amma bu söz nədir? 340 00:14:53,880 --> 00:14:58,352 Belə ki, aşağıdakı loop uzun i nə az kimi? 341 00:14:58,352 --> 00:14:59,810 Auditoriya: simli uzunluğu. 342 00:14:59,810 --> 00:15:01,518 DAVID J. MALAN: The simli uzunluğu. 343 00:15:01,518 --> 00:15:04,300 Belə ki, olduqca cleanly tərcümə o mənada ingilis. 344 00:15:04,300 --> 00:15:08,810 İndi problem hər dəfə I ki, nəzəriyyəsi bu loop vasitəsilə təkrarlamaq, 345 00:15:08,810 --> 00:15:10,000 Mən bu sualı xahiş edirəm. 346 00:15:10,000 --> 00:15:12,250 I s string uzunluğu az? 347 00:15:12,250 --> 00:15:14,500 I s string uzunluğu az? 348 00:15:14,500 --> 00:15:18,380 >> İndi i hər iteration dəyişir? 349 00:15:18,380 --> 00:15:18,880 Bu. 350 00:15:18,880 --> 00:15:19,629 Bu ++ Çünki. 351 00:15:19,629 --> 00:15:21,700 Belə ki, hər iteration i böyük olur. 352 00:15:21,700 --> 00:15:25,411 Amma s böyük almaq və ya kiçik, ya da dəyişir? 353 00:15:25,411 --> 00:15:25,910 No. 354 00:15:25,910 --> 00:15:30,240 Dizayn baxımından, baltalar biri belə boyunca biz kodu qiymətləndirmək üçün cəhd edin 355 00:15:30,240 --> 00:15:32,610 sinif, bu cür axmaq hiss edir. 356 00:15:32,610 --> 00:15:34,690 >> Siz sözün var kimi, hər iteration haqqında 357 00:15:34,690 --> 00:15:37,110 Bu loop xahiş yenə eyni lənətləmək sual, 358 00:15:37,110 --> 00:15:40,770 və yenidən və yenidən, və sözün heç vaxt dəyişdirmək niyyətindədir. 359 00:15:40,770 --> 00:15:44,220 Mən s toxunan deyiləm əgər ən azı və s məzmunu dəyişdirmək üçün çalışırıq. 360 00:15:44,220 --> 00:15:46,610 Mən bu bir az daha yaxşı edə bilərsiniz. 361 00:15:46,610 --> 00:15:49,530 >> Və nə mən gedirəm deyil , yalnız bir dəyişən i elan 362 00:15:49,530 --> 00:15:53,330 lakin ikinci dəyişən I, özbaşına lazımdır lakin şərti, n zəng. 363 00:15:53,330 --> 00:15:55,940 Xoş n bərabər Təyin s simli uzunluğu. 364 00:15:55,940 --> 00:15:59,090 Və sonra burada, mən gedirəm belə ki, bir ağıllı az optimallaşdırma 365 00:15:59,090 --> 00:16:03,460 Günün sonunda ki, danışmaq bir daha doğru və ya az doğru 366 00:16:03,460 --> 00:16:04,260 daha. 367 00:16:04,260 --> 00:16:05,500 Amma daha yaxşı dizayn var. 368 00:16:05,500 --> 00:16:09,480 Əslində mən istifadə edirəm ki, az vaxt, daha az CPU dövründən, belə ki, 369 00:16:09,480 --> 00:16:14,040 eyni cavab danışmaq sual, lakin yalnız bir dəfə. 370 00:16:14,040 --> 00:16:17,870 >> Ki, general haqqında hər hansı bir sualınız yaxşılaşdırılması prinsipi, 371 00:16:17,870 --> 00:16:21,294 bir proqramın səmərəliliyi, demək? 372 00:16:21,294 --> 00:16:21,991 Bəli? 373 00:16:21,991 --> 00:16:23,699 Auditoriya: Niyə edirsiniz [işitilemez] istifadə? 374 00:16:23,699 --> 00:16:25,760 375 00:16:25,760 --> 00:16:27,010 DAVID J. MALAN: Yaxşı sualdır. 376 00:16:27,010 --> 00:16:30,690 Belə ki, niyə biz sonunda ++ qoymaq i yerinə i başlanğıcı? 377 00:16:30,690 --> 00:16:33,070 Bu halda, o heç bir funksional təsir. 378 00:16:33,070 --> 00:16:36,670 Və ümumiyyətlə, mən edirlər Bu postfix operator istifadə 379 00:16:36,670 --> 00:16:41,750 Bu bir az daha aydın kimi deyil, belə ki, əməliyyat baş zaman. 380 00:16:41,750 --> 00:16:46,670 >> Tanış olanlar üçün, başqa var Siz ++ i edə bilər qovuşdurmağımız hesabatları. 381 00:16:46,670 --> 00:16:48,747 Bu funksional edir Bu halda ekvivalent 382 00:16:48,747 --> 00:16:51,080 başqa heç bir şey yoxdur, çünki ki incrementation ətrafında. 383 00:16:51,080 --> 00:16:54,435 Amma ilə gəlmək olar hallarda və kodu xətləri 384 00:16:54,435 --> 00:16:55,810 hansı ki, bir fərq edir. 385 00:16:55,810 --> 00:16:57,810 Belə ki, ümumiyyətlə, biz bunu hətta bu barədə danışmaq. 386 00:16:57,810 --> 00:17:00,690 Səmimi, çünki bu sizin edir kodu sexier, və sort slicker, 387 00:17:00,690 --> 00:17:01,776 və daha az simvol. 388 00:17:01,776 --> 00:17:04,859 Lakin reallıq, bir çox çətindir edir Mən fikrimi kesmek üçün hətta hesab edirəm ki, 389 00:17:04,859 --> 00:17:07,319 bəzən onun ətrafında əməliyyatlar üçün. 390 00:17:07,319 --> 00:17:09,750 Bir kənara kimi, əgər Belə ki, həqiqətən, bu kimi deyil 391 00:17:09,750 --> 00:17:14,650 hətta bu cür sexy olsa axtarır, siz də edə bilərsiniz i + = 1, 392 00:17:14,650 --> 00:17:18,880 olan bu uglier versiyası postfix incrementation üçün eyni fikir. 393 00:17:18,880 --> 00:17:22,250 >> Mən bu və demək əyləncə etmək lazımdır, 394 00:17:22,250 --> 00:17:25,140 lakin siz kodu görmək olacaq uzun əvvəl gözəl bir şey. 395 00:17:25,140 --> 00:17:27,160 >> [Gülüş] 396 00:17:27,160 --> 00:17:28,410 >> DAVID J. MALAN: Right? 397 00:17:28,410 --> 00:17:29,360 Bəli. 398 00:17:29,360 --> 00:17:30,480 Ortada sual. 399 00:17:30,480 --> 00:17:32,146 >> Auditoriya: Siz int n demək lazımdır? 400 00:17:32,146 --> 00:17:34,020 DAVID J. MALAN: Siz int n demək lazım deyil. 401 00:17:34,020 --> 00:17:37,670 Biz artıq int bildirib, çünki Belə ki, Siz daha demək ehtiyac yoxdur. 402 00:17:37,670 --> 00:17:41,820 Tutmaq n var ki, i eyni data növü. 403 00:17:41,820 --> 00:17:43,310 Belə ki, burada yalnız bir rahatlığı var. 404 00:17:43,310 --> 00:17:44,058 Bəli. 405 00:17:44,058 --> 00:17:47,806 >> Auditoriya: Siz artıq getmək bilər print xarakter s bracket i yenidən? 406 00:17:47,806 --> 00:17:48,930 DAVID J. MALAN: Absolutely. 407 00:17:48,930 --> 00:17:52,110 Belə% c, son geri zaman, yalnız bir tutucu edir. 408 00:17:52,110 --> 00:17:53,930 Burada char qoymaq deməkdir. 409 00:17:53,930 --> 00:17:56,780 backslash n, əlbəttə, yalnız vasitələri burada bir xətt fasilə qoymaq. 410 00:17:56,780 --> 00:17:59,540 , Yalnız indi, yaradır ki yeni sintaksis bu parça. 411 00:17:59,540 --> 00:18:03,730 Və bu sözün grab, deyib simli s adlanır və almaq getmək onun 412 00:18:03,730 --> 00:18:06,050 i'th xarakteri, belə danışmaq. 413 00:18:06,050 --> 00:18:10,590 >> Mən i'th xarakter deyərək saxlamaq çünki bu loop hər iteration haqqında 414 00:18:10,590 --> 00:18:14,540 Biz çap olunur, baxmayaraq ki bu out, ilk s bracket 0, 415 00:18:14,540 --> 00:18:15,780 bir proqramçı demək bilər kimi. 416 00:18:15,780 --> 00:18:18,680 Sonra s sonra, bracket 1 s bracket 2, sonra 3, 4. 417 00:18:18,680 --> 00:18:21,610 Amma əlbəttə ki, bir dəyişən, Mən yalnız i ilə bildirirəm. 418 00:18:21,610 --> 00:18:23,900 >> Key, baxmayaraq ki, həyata keçirilməsi, Siz var, xüsusilə də əgər 419 00:18:23,900 --> 00:18:26,358 bu dünyaya acclimating edilmişdir proqramlaşdırma, biz bütün 420 00:18:26,358 --> 00:18:28,950 gerek, sıfırdan saymaq görünür indi sıfırdan hesablanması başlanır. 421 00:18:28,950 --> 00:18:35,130 Çünki strings, ilk xarakteri, Zamyla z üçün daha yaxşı və ya pis üçün 422 00:18:35,130 --> 00:18:40,490 yeri sayı sıfır yaşamaq gedir. 423 00:18:40,490 --> 00:18:48,210 >> Bütün hüquqlar, belə ki, mənə gətirsin Burada Zamyla bizə geri 424 00:18:48,210 --> 00:18:50,746 və həqiqətən nə olacaq görmək başlıq altında. 425 00:18:50,746 --> 00:18:52,370 Belə növü tökmə bu anlayışı var. 426 00:18:52,370 --> 00:18:53,800 Siz, həqiqətən, ola bilər artıq bu ilə ifa, 427 00:18:53,800 --> 00:18:55,970 bəlkə hacker P nəşr biri seçin. 428 00:18:55,970 --> 00:19:00,320 Amma növü tökmə yalnız istinad C qabiliyyəti və bəzi digər dillərdə 429 00:19:00,320 --> 00:19:03,170 bir veri növü çevirmək. 430 00:19:03,170 --> 00:19:05,450 >> İndi biz bu necə ola bilər olduqca straightforwardly? 431 00:19:05,450 --> 00:19:08,530 Belə ki, başlanğıcı bu, geri edir İngilis əlifbası. 432 00:19:08,530 --> 00:19:11,265 Və kontekstində olan, geri kimi bir həftə əvvəl ASCII edir. 433 00:19:11,265 --> 00:19:13,790 Amerika Standart Kodu İnformasiya mübadiləsi üçün. 434 00:19:13,790 --> 00:19:17,080 Yalnız bir həqiqətən uzun bir yol məktublar birdən deyərək 435 00:19:17,080 --> 00:19:19,370 nömrələri, və nömrələr məktublar. 436 00:19:19,370 --> 00:19:22,940 >> Belə ki, A, burada M, dot dot vasitəsilə dot xətləri ilə, geri, 437 00:19:22,940 --> 00:19:25,582 up bu kəsir sayı 65. 438 00:19:25,582 --> 00:19:27,290 Və biz danışmaq etməyib açıq-aşkar bu barədə, 439 00:19:27,290 --> 00:19:29,850 lakin, şübhəsiz ki Oxşar var kiçik məktublar üçün nömrələri. 440 00:19:29,850 --> 00:19:30,820 Və həqiqətən, var. 441 00:19:30,820 --> 00:19:33,730 Dünya bir neçə il qərar əvvəl az, bir kiçik, 442 00:19:33,730 --> 00:19:35,020 97 olacaq. 443 00:19:35,020 --> 00:19:38,010 Və az b gedir s 98, və olmalıdır. 444 00:19:38,010 --> 00:19:40,200 >> Və hər hansı bir digər əsas üçün Sizin klaviatura var 445 00:19:40,200 --> 00:19:42,190 bit oxşar model olacaq. 446 00:19:42,190 --> 00:19:44,540 Və ya equivalently, bir decimal sayı. 447 00:19:44,540 --> 00:19:47,110 Belə ki, əl-da məsələ, sonra, biz necə edə bilər 448 00:19:47,110 --> 00:19:49,400 həqiqətən başlıq altında görürük? 449 00:19:49,400 --> 00:19:51,539 Mən yenə gedit üzərində getmək üçün gedirəm. 450 00:19:51,539 --> 00:19:53,330 Və daha növü daha sıfırdan bu bir, 451 00:19:53,330 --> 00:19:55,330 Mən irəli getmək üçün gedirəm və yalnız bir şey açmaq 452 00:19:55,330 --> 00:19:58,350 bugünkü kod ASCII sıfır çağırıb. 453 00:19:58,350 --> 00:20:01,210 >> Və ASCII sıfır bu kimi görünür. 454 00:20:01,210 --> 00:20:02,710 Belə ki, bu ətrafında bizim şüurunda kesmek bildirin. 455 00:20:02,710 --> 00:20:04,969 Belə ki, ilk, mən şərh etdik gözəl olan kodu. 456 00:20:04,969 --> 00:20:07,010 Bu sözün çünki gözləmək nə mənə izah, 457 00:20:07,010 --> 00:20:08,950 böyük harf üçün bir harita göstərilir. 458 00:20:08,950 --> 00:20:13,690 İndi Mən bilmirəm nə mən tərəfindən demək, belə ki, nəticə çıxarmaq bildirin. 459 00:20:13,690 --> 00:20:16,870 >> İngilis, bəlkə qədər techie English, 460 00:20:16,870 --> 00:20:20,660 nə line 18 görünür yoxdur bizim üçün bunu etmək? 461 00:20:20,660 --> 00:20:21,500 Just 18 girdi. 462 00:20:21,500 --> 00:20:22,430 Nə fahişəliyə cəlb edilməsi maddələri var? 463 00:20:22,430 --> 00:20:25,192 Nə burada çıxartmaq olacaq? 464 00:20:25,192 --> 00:20:26,100 >> Auditoriya: A loop. 465 00:20:26,100 --> 00:20:26,630 >> DAVID J. MALAN: A loop. 466 00:20:26,630 --> 00:20:28,463 Və neçə dəfə təkrarlamaq gedən? 467 00:20:28,463 --> 00:20:31,562 468 00:20:31,562 --> 00:20:33,270 Auditoriya: [SƏSLƏRİ INTERPOSING] altı dəfə. 469 00:20:33,270 --> 00:20:34,830 DAVID J. MALAN: Not altı dəfə. 470 00:20:34,830 --> 00:20:35,840 Auditoriya: 26 dəfə. 471 00:20:35,840 --> 00:20:36,560 DAVID J. MALAN: 26 dəfə. 472 00:20:36,560 --> 00:20:37,060 Bəli, sorry. 473 00:20:37,060 --> 00:20:37,960 26 dəfə. 474 00:20:37,960 --> 00:20:38,460 Niyə? 475 00:20:38,460 --> 00:20:41,590 Bəli, bu bir az qəribə, lakin 65-dan hesablanması açılmış etdik. 476 00:20:41,590 --> 00:20:43,300 Hansı qəribə, lakin yanlış deyil. 477 00:20:43,300 --> 00:20:44,610 Bu demək başına pis deyil. 478 00:20:44,610 --> 00:20:46,980 Və edirəm ki, yalnız çünki, bu, məsələn, 479 00:20:46,980 --> 00:20:50,455 I növ əvvəlcədən alıram ki, kapital A 65 idi. 480 00:20:50,455 --> 00:20:53,330 İndi bu ən zərif yol ağır kodu cür, bunu 481 00:20:53,330 --> 00:20:56,130 ezoterik dəyərlər ki, heç bir yadda gözlənilir. 482 00:20:56,130 --> 00:21:00,155 >> Amma indi, mən fark 65 plus 26 vasitəsilə up edir. 483 00:21:00,155 --> 00:21:03,030 Yəqin mən hətta istəmirəm, çünki başım hesab etmək. 484 00:21:03,030 --> 00:21:04,440 Mən compiler bunu bildirin lazımdır. 485 00:21:04,440 --> 00:21:08,600 Amma sonra hər loop, hər iteration loop, Mən incrementing alıram. 486 00:21:08,600 --> 00:21:10,196 >> Belə ki, indi bu bir az sirli görünür. 487 00:21:10,196 --> 00:21:13,320 Amma biz əsas bina olmalıdır olan blokları bu anlamaq üçün. 488 00:21:13,320 --> 00:21:15,510 % C bir char üçün bir tutucu edir. 489 00:21:15,510 --> 00:21:19,010 % I int üçün tutucu. 490 00:21:19,010 --> 00:21:23,310 Və bu istifadə çıxır ki, yeni sintaksis, bu ara, belə ki, 491 00:21:23,310 --> 00:21:26,100 , danışmaq bir veri növü belə bir mötərizə içində, 492 00:21:26,100 --> 00:21:32,270 Mən müalicə üçün compiler məcbur edə bilər i bir tam, lakin bir char kimi. 493 00:21:32,270 --> 00:21:35,520 >> Beləliklə mənə xarakter göstərən ki sayı bərabərdir. 494 00:21:35,520 --> 00:21:37,986 İndi aşağı burada, bu kodu olduqca çox eynidir. 495 00:21:37,986 --> 00:21:39,860 Mən etmək istəyirdi super açıq fakt 496 00:21:39,860 --> 00:21:42,095 Mən 97 qururam ki, bir kiçik edir. 497 00:21:42,095 --> 00:21:44,080 26 daha çox məktublar vasitəsilə. 498 00:21:44,080 --> 00:21:46,970 Mən yenə doing-- edirəm i tökmə, belə danışmaq. 499 00:21:46,970 --> 00:21:49,160 Və ya növü tökmə i, belə danışmaq. 500 00:21:49,160 --> 00:21:51,420 >> Bir char bir int. 501 00:21:51,420 --> 00:21:55,760 Belə ki, son nəticə olacaq, səmimi, informasiya, biz artıq bilirik. 502 00:21:55,760 --> 00:21:59,411 Mən gedirəm ascii-0 c nöqtə deyil dot--. 503 00:21:59,411 --> 00:22:02,160 Notice, siz yəqin ki, qəbul səhv Mən təsadüfən etdi. 504 00:22:02,160 --> 00:22:03,820 ASCII-0 olun. 505 00:22:03,820 --> 00:22:06,090 İndi mən ./ascii-0 gedirəm. 506 00:22:06,090 --> 00:22:09,050 Mən zoom, və təəssüf ki, lazımdır Bu ekran off hərəkət etmək olacaq. 507 00:22:09,050 --> 00:22:15,060 Amma biz bütün chart harada görmək 97 xəritələr, 98 b xəritələr, 508 00:22:15,060 --> 00:22:18,931 və biz daha diyirləyin əgər A, əlbəttə, 65 xəritələr. 509 00:22:18,931 --> 00:22:21,180 Belə ki, bu ki, yalnız biz nə vəz etdik, 510 00:22:21,180 --> 00:22:25,310 bu ekvivalentlik var edir əslində əslində halda. 511 00:22:25,310 --> 00:22:28,000 Belə ki, bu sürətli dəyişiklik. 512 00:22:28,000 --> 00:22:31,220 Mənə ascii-1.c açmaq edək. 513 00:22:31,220 --> 00:22:38,070 Və sort, bu ağıllı bildiriş , bu aydınlaşdırılması. 514 00:22:38,070 --> 00:22:41,770 Bu ascii-1.c və Bu crazy şey bildiriş. 515 00:22:41,770 --> 00:22:45,120 >> Və bu, həqiqətən ürək olur nə kompüter edirik. 516 00:22:45,120 --> 00:22:48,150 Hətta biz insanlar olacaq, baxmayaraq letters-- baxımından sayılmaz 517 00:22:48,150 --> 00:22:50,380 Mən düşünürdüm başlamaq deyil, bütün sağ sonra b, 518 00:22:50,380 --> 00:22:52,590 və fiziki obyektlərin saymaq bu istifadə edin. 519 00:22:52,590 --> 00:22:58,680 Siz əlbəttə ki, mən istəyirəm ki, demək olar adlı bir dəyişən başlamaq ace 520 00:22:58,680 --> 00:23:03,220 amma bu anything-- deyilən bilərdi belə c kapital A. başlatıldığının 521 00:23:03,220 --> 00:23:07,560 >> Günün sonunda, kompüter Çünki Siz saxlanılması edirik nə qayğı deyil, 522 00:23:07,560 --> 00:23:10,170 yalnız istədiyiniz necə qayğı ki, informasiya təqdim etmək. 523 00:23:10,170 --> 00:23:13,560 Siz kompüter istədiyiniz nə bit model şərh? 524 00:23:13,560 --> 00:23:16,320 Belə ki, bu bir şey deyil ümumiyyətlə bunu tövsiyə edirik. 525 00:23:16,320 --> 00:23:19,500 Bu, həqiqətən, yalnız bir misal var çatdırmaq ki, siz tamamilə bilərsiniz 526 00:23:19,500 --> 00:23:22,049 bir char tam başlamaq. 527 00:23:22,049 --> 00:23:24,090 Çünki altında bir char başlıq, əlbəttə, 528 00:23:24,090 --> 00:23:26,170 0 255 bir sayı. 529 00:23:26,170 --> 00:23:28,540 >> Belə ki, əlbəttə bilərsiniz bir int daxilində qoymaq. 530 00:23:28,540 --> 00:23:30,890 Və nə bu da nümayiş etdirir ki, biz 531 00:23:30,890 --> 00:23:34,040 bir çevirə bilərsiniz Burada, başqa yazın, 532 00:23:34,040 --> 00:23:36,780 nəticədə eyni şey çap. 533 00:23:36,780 --> 00:23:44,760 Və əslində, bu, mən online-- düzeltmek edəcək burada yenə bu demək üçün nəzərdə edilmişdir. 534 00:23:44,760 --> 00:23:48,610 Oxşar online Bu təmizləmək edək və biz will lazım bir online gözden geçirmek görmək, 535 00:23:48,610 --> 00:23:50,280 nə var nəzərdə tutulub. 536 00:23:50,280 --> 00:23:50,960 >> OK. 537 00:23:50,960 --> 00:23:53,892 Indi cəlb Belə ki, son nümunəsi bir və b və sonra biz will 538 00:23:53,892 --> 00:23:54,850 bir pillə qədər şeyi. 539 00:23:54,850 --> 00:23:58,330 Bir və b və belə kapitallaşmanın c Agentliyi 540 00:23:58,330 --> 00:24:01,560 və ekvivalentliyinin onların, edək burada bu nümunə nəzər. 541 00:24:01,560 --> 00:24:02,752 Digər code nümunəsidir. 542 00:24:02,752 --> 00:24:04,460 Biz ki, bir açmaq lazımdır Artıq, biz belə 543 00:24:04,460 --> 00:24:06,440 yazın yoxdur bütün sıfırdan həyata. 544 00:24:06,440 --> 00:24:09,420 >> Və ərəfəsində qeyd biz çox mövzu istifadə edirik 545 00:24:09,420 --> 00:24:13,240 olan arasında faylları, yeni dost, string.h. 546 00:24:13,240 --> 00:24:15,597 İndi bu ilk görünür nəzər, bir az sirli. 547 00:24:15,597 --> 00:24:18,180 Amma biz Səbəb bilməz əgər in görək Burada neler vasitəsilə. 548 00:24:18,180 --> 00:24:21,150 Birinci mən istifadəçi bir string almaq, və mən bir dəyişən string qoymaq 549 00:24:21,150 --> 00:24:22,286 adlı s. 550 00:24:22,286 --> 00:24:24,090 Əvvəl surəti yapışdırıb. 551 00:24:24,090 --> 00:24:27,250 Line 22, mən yəqin deyiləm dəqiq nə 552 00:24:27,250 --> 00:24:30,760 Mən iterating alıram, bir an əvvəl idi s olan simvol üzərində. 553 00:24:30,760 --> 00:24:34,780 >> Və burada yeni fəndlər istifadə olunur string uzunluğu, kiçik optimallaşdırılması 554 00:24:34,780 --> 00:24:37,930 n string uzunluğu saxlanılması, daha yenidən strlen zəng çox, 555 00:24:37,930 --> 00:24:38,850 və yenidən və yenidən. 556 00:24:38,850 --> 00:24:41,120 Və yalnız i n az yoxlanılması. 557 00:24:41,120 --> 00:24:43,330 İndi burada, hər şeyi almaq bir az maraqlı. 558 00:24:43,330 --> 00:24:45,980 Amma bu yalnız bir proqram var bu yeni fikir. 559 00:24:45,980 --> 00:24:48,470 English yoxdur nə i təmsil s bracket? 560 00:24:48,470 --> 00:24:51,772 561 00:24:51,772 --> 00:24:54,260 >> Auditoriya: Hər hesablanması character [Işitilemez]. 562 00:24:54,260 --> 00:24:55,926 >> DAVID J. MALAN: hər bir xarakter hesablanması. 563 00:24:55,926 --> 00:24:58,680 Və daha çox müfəssəl, s bracket i nə təmsil? 564 00:24:58,680 --> 00:25:00,950 Kaş deyirsiniz. 565 00:25:00,950 --> 00:25:04,084 Burada yerində sizi deyil. 566 00:25:04,084 --> 00:25:06,375 >> Auditoriya: Well-- 567 00:25:06,375 --> 00:25:09,500 DAVID J. MALAN: söz əgər That Belə ki, simli starts-- olan Zamyla edir 568 00:25:09,500 --> 00:25:12,380 Auditoriya: --you ilə məşğul simvol separately-- 569 00:25:12,380 --> 00:25:13,690 DAVID J. MALAN: Yaxşı. 570 00:25:13,690 --> 00:25:14,190 Dəqiq. 571 00:25:14,190 --> 00:25:17,940 Bu kvadrat mötərizə notation imkan verir hər bir xarakter əldə etmək, 572 00:25:17,940 --> 00:25:21,120 belə s bracket 0 olacaq simli ilk xarakter. 573 00:25:21,120 --> 00:25:24,110 s bracket 1 olacaq s, ikinci, və. 574 00:25:24,110 --> 00:25:28,050 Belə ki, sual soruşuram, burada, bu vəziyyətdə nə? 575 00:25:28,050 --> 00:25:33,984 S böyük şəhər i'th karakter dən və ya eyni bir kiçik? 576 00:25:33,984 --> 00:25:36,400 Və bu, burada nə deməkdir ikiqat ampersands ilə? 577 00:25:36,400 --> 00:25:36,800 Auditoriya (BİRLİKDƏ): And. 578 00:25:36,800 --> 00:25:37,210 DAVID J. MALAN: And. 579 00:25:37,210 --> 00:25:38,418 Bu yalnız ekvivalent deyil. 580 00:25:38,418 --> 00:25:42,310 Və C bir söz deyil, siz var istifadə, annoyingly, işareti işareti. 581 00:25:42,310 --> 00:25:47,520 Və bu, əksinə, xahiş edir karakter i'th s-nin daha az və ya bərabər 582 00:25:47,520 --> 00:25:49,030 z kiçik? 583 00:25:49,030 --> 00:25:52,440 Və yenə, burada harada əsas anlaşma 584 00:25:52,440 --> 00:25:54,550 bir həyata keçirilməsi kompüter əhəmiyyət kəsb edir. 585 00:25:54,550 --> 00:25:57,330 Mən baxmayaraq, Qeyd edək ki, dot dot dot orada, 586 00:25:57,330 --> 00:26:04,410 kiçik z vasitəsilə kimi bu görünür up up 97-dən bütün bitişik dəyərlər. 587 00:26:04,410 --> 00:26:07,820 >> Və böyük üçün eyni 65 başlayan. 588 00:26:07,820 --> 00:26:10,410 Belə ki, paket, sonra, ki, ingilis dilində 589 00:26:10,410 --> 00:26:12,760 Siz təsvir necə 24 nə line? 590 00:26:12,760 --> 00:26:15,736 591 00:26:15,736 --> 00:26:16,728 Bəli? 592 00:26:16,728 --> 00:26:21,575 >> Auditoriya: 24 görmək yoxlanılması olub hər bir xarakter bir kiçik edir. 593 00:26:21,575 --> 00:26:24,700 DAVID J. MALAN: Bu yoxlanılması oldu hər bir xarakter bir kiçik məktub. 594 00:26:24,700 --> 00:26:28,590 Belə ki, daha müfəssəl şəkildə deyil, s kiçik bir i'th xarakter? 595 00:26:28,590 --> 00:26:30,690 Yəni biz bütün var məntiqi burada ifadə, 596 00:26:30,690 --> 00:26:33,750 bir az cryptically, lakin nəticədə olduqca straightforwardly. 597 00:26:33,750 --> 00:26:36,480 Karakter kiçik i'th s nin? 598 00:26:36,480 --> 00:26:40,130 >> Əgər belədirsə, burada şeylər var bir az ağıl əyilmə almaq 599 00:26:40,130 --> 00:26:44,760 yalnız bir an üçün, belə ki, getmək irəli və bir xarakter çap. 600 00:26:44,760 --> 00:26:47,360 Belə ki, bu, yalnız bir tutucu, lakin nə xarakter? 601 00:26:47,360 --> 00:26:53,710 Niyə s bracket i edirəm minus burada bu ifadə? 602 00:26:53,710 --> 00:26:55,110 >> Burada model bilərsiniz. 603 00:26:55,110 --> 00:26:57,380 Faktiki nömrələri qədər əhəmiyyətli deyil. 604 00:26:57,380 --> 00:27:02,700 Amma 97 olduğunu qeyd necə uzaq 65-dən? 605 00:27:02,700 --> 00:27:03,560 >> Auditoriya: 32. 606 00:27:03,560 --> 00:27:04,480 >> DAVID J. MALAN: 32. 607 00:27:04,480 --> 00:27:06,890 Necə uzaq 66-dan 98? 608 00:27:06,890 --> 00:27:07,740 >> Auditoriya: 32. 609 00:27:07,740 --> 00:27:09,890 >> DAVID J. MALAN: big C Little c? 610 00:27:09,890 --> 00:27:10,420 32. 611 00:27:10,420 --> 00:27:14,550 Belə ki, 32 mayaotu var bir məktubu. 612 00:27:14,550 --> 00:27:17,790 Belə səmimi ola bilər, və ki, bu sadələşdirmək. 613 00:27:17,790 --> 00:27:20,400 Amma sonra cür ağır coding alıram bu aşağı səviyyədə anlaşma 614 00:27:20,400 --> 00:27:21,740 Heç bir oxucu heç ki anlayırlar. 615 00:27:21,740 --> 00:27:25,080 Belə ki, mən bunu ümumiləşdirmək gedirəm, mən bilirik kiçik hərflər böyükdür. 616 00:27:25,080 --> 00:27:28,400 Mən hərflərlə bilirik kiçik dəyərlər, istehzayana. 617 00:27:28,400 --> 00:27:33,216 >> Amma bu səmərəli bərabərdir s bracket i 32 çıxmaq deyərək. 618 00:27:33,216 --> 00:27:35,430 Bu kontekstində belə məktublar, məktub əgər 619 00:27:35,430 --> 00:27:38,950 a, kiçik olur bir və mən 32 çıxmaq, 620 00:27:38,950 --> 00:27:43,442 ki, nə baş verir, riyazi, bir kiçik? 621 00:27:43,442 --> 00:27:44,400 Auditoriya: Capitalizes-- 622 00:27:44,400 --> 00:27:45,691 DAVID J. MALAN: bu capitalizes. 623 00:27:45,691 --> 00:27:48,440 Və həqiqətən, bu nə bizim proqram sıfır kapitallaşdırmaq adlanır. 624 00:27:48,440 --> 00:27:51,590 Bu proqram bilərsiniz məktub capitalizes, 625 00:27:51,590 --> 00:27:54,580 Bu əgər yoxlanılması sonra həqiqətən bir kiçik məktubu. 626 00:27:54,580 --> 00:27:59,810 Əks halda, xətti 30, mən əgər nə etməliyəm Mən deyiləm ki, bir kiçik məktubu deyil 627 00:27:59,810 --> 00:28:02,852 müəyyən bir baxaraq loop iteration. 628 00:28:02,852 --> 00:28:03,890 Sadəcə onu çap. 629 00:28:03,890 --> 00:28:07,010 >> Belə ki, stuff dəyişiklik yoxdur hətta kiçik deyil. 630 00:28:07,010 --> 00:28:10,790 Özünüzü məhdudlaşdırmaq az z vasitəsilə az. 631 00:28:10,790 --> 00:28:12,730 İndi bu ədalətli gizli deyil. 632 00:28:12,730 --> 00:28:15,230 Lakin günün sonunda, bu biz necə, bir zamanlar edir 633 00:28:15,230 --> 00:28:16,460 şeyi həyata idi. 634 00:28:16,460 --> 00:28:19,780 Mən əvəzinə kapitallaşdırmaq açıq əgər bir, oh şükür. 635 00:28:19,780 --> 00:28:22,320 Bir funksiyası var yuxarı adlı bilərsiniz 636 00:28:22,320 --> 00:28:25,410 biz yalnız hər şeyi kifayət qədər aşağı səviyyədədir. 637 00:28:25,410 --> 00:28:28,752 >> İndi yuxarı maraqlı Bir fayl elan, çünki, 638 00:28:28,752 --> 00:28:31,210 və yalnız bu bilirik ki sənədlərin yoxlanılması, 639 00:28:31,210 --> 00:28:35,730 və ya sinif, olduğu, demək, deyilmə bir fayl adlanır ctype.h da, mövcuddur. 640 00:28:35,730 --> 00:28:37,630 Belə ki, bu bizim yeni bir dostudur. 641 00:28:37,630 --> 00:28:40,750 Və yuxarı dəqiq nə üçün Onun adı təklif nə. 642 00:28:40,750 --> 00:28:44,860 >> Arasında, bir arqument kimi, keçə bilər bu parantez, bir xarakter. 643 00:28:44,860 --> 00:28:48,390 Mən i'th xarakter keçmək gedirəm bizim xülya yeni notation istifadə edir 644 00:28:48,390 --> 00:28:49,870 kvadrat mötərizə cəlb. 645 00:28:49,870 --> 00:28:53,391 Və bir tahmin etmək, geri nə yuxarı dəyəri yəqin gedir 646 00:28:53,391 --> 00:28:53,890 olacaq? 647 00:28:53,890 --> 00:28:56,460 648 00:28:56,460 --> 00:28:57,770 A kapital məktubu. 649 00:28:57,770 --> 00:28:58,620 A kapital məktubu. 650 00:28:58,620 --> 00:29:02,330 >> Mən kiçik bir keçmək əgər, ümid edirəm ki, yuxarı müəyyənləşdirilməsinin, 651 00:29:02,330 --> 00:29:05,600 bir geri olacaq Əks halda böyük A., 652 00:29:05,600 --> 00:29:08,590 bu bir kiçik məktubu deyil, Birincisi, mən yalnız onu çap. 653 00:29:08,590 --> 00:29:10,800 And olsun ki, qeyd Burada ikinci dost. 654 00:29:10,800 --> 00:29:13,840 Yalnız yuxarı mövcuddur, lakin aşağı olan 655 00:29:13,840 --> 00:29:16,200 həqiqətən mənim üçün ki, sual cavab. 656 00:29:16,200 --> 00:29:19,730 >> İndi bu şeylər yazdı kim, 10s il əvvəl, siz nə bilirik? 657 00:29:19,730 --> 00:29:23,840 Yuxarı həyata və bu kimi kodu istifadə edərək aşağı. 658 00:29:23,840 --> 00:29:27,270 Lakin yenə ardıcıl üz referatlaşdırılması bu fikir, 659 00:29:27,270 --> 00:29:29,190 sort, aşağı səviyyəli həyata ətraflı. 660 00:29:29,190 --> 00:29:32,600 Və insanların çiyinlərində duran olan funksiyaları istifadə edərək, bizdən əvvəl gəlib 661 00:29:32,600 --> 00:29:36,300 yuxarı kimi və aşağı olan gözəl kifayət qədər gözəl var 662 00:29:36,300 --> 00:29:40,190 onlar nə demək adlı edir gözəl paradiqma qəbul. 663 00:29:40,190 --> 00:29:44,040 >> İndi mən oxumaq əgər çıxır ki, üçün adam səhifə, yuxarı, demək 664 00:29:44,040 --> 00:29:45,010 Mən başqa bir şey öyrənmək. 665 00:29:45,010 --> 00:29:46,890 Belə ki, man toupper. 666 00:29:46,890 --> 00:29:48,050 Bu bir az böyük var. 667 00:29:48,050 --> 00:29:51,110 Ancaq xəbərdarlıq, burada ki, qeyd var Mən istifadə ki, header file. 668 00:29:51,110 --> 00:29:54,460 Bir kənara, çünki bu kimi yanlış, funksiyası 669 00:29:54,460 --> 00:29:59,070 ints yerinə chars istifadə edir səhv yoxlanılması səbəblərdən. 670 00:29:59,070 --> 00:30:01,260 Amma bəlkə gəlmək lazımdır ki, geri gələcək. 671 00:30:01,260 --> 00:30:05,910 >> Amma yuxarı islamı, burada, qeyd mümkün olduqda məktubu c böyük üçün. 672 00:30:05,910 --> 00:30:07,674 Belə ki, olduqca sadə var. 673 00:30:07,674 --> 00:30:09,340 İndi bir az daha xüsusi olsun. 674 00:30:09,340 --> 00:30:12,750 Nin hissəsi baxaq qaytarılması dəyəri altında man səhifə. 675 00:30:12,750 --> 00:30:15,420 Geri dəyəri ki, konvertasiya məktub. 676 00:30:15,420 --> 00:30:18,690 Və ya c, əgər dönüşüm mümkün deyildi 677 00:30:18,690 --> 00:30:20,250 harada c orijinal giriş. 678 00:30:20,250 --> 00:30:24,140 Mən, burada bilmək yuxarı üçün dəlil. 679 00:30:24,140 --> 00:30:25,780 >> Belə ki, bu paket nədir? 680 00:30:25,780 --> 00:30:28,060 Geri dəyəri ki, konvertasiya məktub, 681 00:30:28,060 --> 00:30:32,110 və ya c, orijinal məktub, əgər dönüşüm mümkün deyildi. 682 00:30:32,110 --> 00:30:36,460 Nə təkmilləşdirilməsi Buna görə də mən Mənim Məcəlləsinin dizayn etmək? 683 00:30:36,460 --> 00:30:37,146 Bəli? 684 00:30:37,146 --> 00:30:38,810 >> Auditoriya: Siz başqa kaldırabilirsiniz. 685 00:30:38,810 --> 00:30:40,810 DAVID J. MALAN: Mən başqa bəyanat aradan qaldırılması, 686 00:30:40,810 --> 00:30:42,510 və yalnız başqa bəyanat. 687 00:30:42,510 --> 00:30:44,150 >> Auditoriya: Siz [Işitilemez] edə bilərsiniz. 688 00:30:44,150 --> 00:30:46,310 >> DAVID J. MALAN: Mən bütün çəngəl aradan qaldırılması 689 00:30:46,310 --> 00:30:48,209 yol, başqa varsa cəmi. 690 00:30:48,209 --> 00:30:50,250 Belə ki, həqiqətən, mənə açmaq bu son versiyası, 691 00:30:50,250 --> 00:30:55,540 əgər-2 kapitallaşdırmaq və yalnız qeyd Siz sexy, kodu indi əldə edilir, 692 00:30:55,540 --> 00:31:00,040 ki, Mən bəzi azalıb etdik yeddi və ya belə ki, yalnız dörd xətləri, 693 00:31:00,040 --> 00:31:03,850 mən nəzərdə ki, funksionallığı sadəcə yuxarı axtararaq, 694 00:31:03,850 --> 00:31:09,410 s bracket i, və çap keçən həyata, tutucu% c ilə, 695 00:31:09,410 --> 00:31:11,090 xüsusi xarakter. 696 00:31:11,090 --> 00:31:14,560 >> İndi arguably, bir səhv var, və ya bir səhv azı risk, 697 00:31:14,560 --> 00:31:15,350 Bu proqram. 698 00:31:15,350 --> 00:31:18,200 Belə ki, geri qayıtmaq bir əvvəlki paket üçün, 699 00:31:18,200 --> 00:31:21,820 Mən yəqin ki, nə etməlidir Bu proqram daha möhkəm etmək üçün, 700 00:31:21,820 --> 00:31:24,974 heç bir yol var ki, ola bilər hətta nadir hallarda, qəza? 701 00:31:24,974 --> 00:31:26,390 Auditoriya: Bu NULL deyil əmin olun. 702 00:31:26,390 --> 00:31:28,056 DAVID J. MALAN: Bu NULL deyil əmin olun. 703 00:31:28,056 --> 00:31:31,030 Belə ki, həqiqətən, bu super etmək müvafiq, mən kimi bir şey etmək lazımdır 704 00:31:31,030 --> 00:31:35,300 s onda NULL deyil, əgər irəli getmək və icra 705 00:31:35,300 --> 00:31:38,470 kodu bu xətlər olan Mən sonra kimi indent, 706 00:31:38,470 --> 00:31:39,870 və sonra mənim yaxın burğu qoydu. 707 00:31:39,870 --> 00:31:41,550 Birlikdə iki fikir tying belə yaxşı. 708 00:31:41,550 --> 00:31:42,429 Bəli? 709 00:31:42,429 --> 00:31:44,470 Auditoriya: Siz istifadə edə bilər əvəzinə, loop isə nə? 710 00:31:44,470 --> 00:31:47,270 DAVID J. MALAN: Ola Mən isə loop yoxdur? 711 00:31:47,270 --> 00:31:50,020 Auditoriya: --you əmin etmək istəyirəm Siz, həqiqətən, [işitilemez]. 712 00:31:50,020 --> 00:31:51,728 DAVID J. MALAN: Ola Bir do isə istifadə? 713 00:31:51,728 --> 00:31:52,450 Qısa cavab yoxdur. 714 00:31:52,450 --> 00:31:54,700 Siz istəyirik, çünki bir künc halda təqdim. 715 00:31:54,700 --> 00:31:56,660 Simli sıfır uzunluğu varsa. 716 00:31:56,660 --> 00:31:59,600 Məsələn, mən yalnız hit əgər Heç ZAMYLA yazaraq olmadan daxil edin. 717 00:31:59,600 --> 00:32:02,490 Mən faktiki Sizə təqdim etmək gedirəm simli, biz nəhayət görəcəksiniz kimi, 718 00:32:02,490 --> 00:32:03,780 ki, sıfır simvol var. 719 00:32:03,780 --> 00:32:05,630 Bu hələ bir simli var, yalnız super qısa. 720 00:32:05,630 --> 00:32:07,960 Amma siz isə bir do istifadə əgər, Siz kor-koranə olacaq 721 00:32:07,960 --> 00:32:10,050 ilə bir şey üçün çalışırıq ki, simli hörmət, 722 00:32:10,050 --> 00:32:12,537 və heç bir şey olacaq. 723 00:32:12,537 --> 00:32:18,607 >> Auditoriya: Yaxşı, siz əgər [işitilemez] s-- isə 724 00:32:18,607 --> 00:32:21,190 DAVID J. MALAN: Oh görürəm saxlamaq istifadəçi bir string almaq. 725 00:32:21,190 --> 00:32:23,525 Belə ki, qısa cavab, siz və pestering saxlamaq bilər 726 00:32:23,525 --> 00:32:26,150 Onlara ki, bir string vermək yaddaş uyğun kifayət qədər qısa. 727 00:32:26,150 --> 00:32:26,700 Absolutely. 728 00:32:26,700 --> 00:32:27,630 Mən yalnız seçdi. 729 00:32:27,630 --> 00:32:30,505 Onlar mənə string I vermir istəyirəm, mən çıxdıqda, mən verirəm. 730 00:32:30,505 --> 00:32:33,260 Amma tamamilə bunun üçün, Siz tamamilə bunu edə bilər. 731 00:32:33,260 --> 00:32:37,500 >> Belə ki, kitabxana header faylları biz indi burada, bu ilə tanış edirik. 732 00:32:37,500 --> 00:32:41,550 Standard I / O, CS50.h, string.h, ctype.h, və, həqiqətən, başqaları var. 733 00:32:41,550 --> 00:32:44,460 Əgər bəziləri aşkar math.h. riyaziyyat kitabxana 734 00:32:44,460 --> 00:32:48,200 Amma mənə, indi, sizə təqdim edək bu resurs ki CS50 heyəti, Davin, 735 00:32:48,200 --> 00:32:50,630 və Rob, və Gabe xüsusi bir araya gətirdik. 736 00:32:50,630 --> 00:32:52,630 Ki, tezliklə keçid Kursun veb. 737 00:32:52,630 --> 00:32:54,870 Bu CS50 istinad deyirlər. 738 00:32:54,870 --> 00:32:58,230 >> Yalnız bir sürətli vermək üçün aşağıdakı kimi dad, işləyir. 739 00:32:58,230 --> 00:33:00,740 Mənə reference.cs50.net gedək. 740 00:33:00,740 --> 00:33:02,990 Siz sol tərəfdən görürsünüz böyük siyahısını yan 741 00:33:02,990 --> 00:33:04,595 c ilə gəlib ki, funksiyaları. 742 00:33:04,595 --> 00:33:07,790 Amma bu an üçün, qayğı əgər, strlen kimi bir şey haqqında, 743 00:33:07,790 --> 00:33:08,746 Mən orada onu yazın. 744 00:33:08,746 --> 00:33:10,870 Bu siyahısını aşağı filtreler Mən qayğı yalnız nə. 745 00:33:10,870 --> 00:33:11,940 Mən bunu basın gedirəm. 746 00:33:11,940 --> 00:33:14,740 İndi haqqında, sol biz ümid nə görürsünüz 747 00:33:14,740 --> 00:33:18,290 daha sadə, insan necə dost izahat 748 00:33:18,290 --> 00:33:19,170 Bu funksiya işləyir. 749 00:33:19,170 --> 00:33:20,600 >> Bir simli uzunluğu qaytarır. 750 00:33:20,600 --> 00:33:24,060 Burada referat burada var necə var header fayl baxımından istifadə, 751 00:33:24,060 --> 00:33:27,430 və nə funksiyası baxımından onun dəlilləri baxımından kimi görünür. 752 00:33:27,430 --> 00:33:30,250 Və sonra burada, qaytarır bir simli uzunluğu. 753 00:33:30,250 --> 00:33:34,280 Amma daha rahat sizin üçün, Siz, həqiqətən, daha rahat vurun 754 00:33:34,280 --> 00:33:37,070 və bu məzmunu səhifə, indi dəyişəcək 755 00:33:37,070 --> 00:33:41,660 nə default dəyərlər olmaq Əgər kişi page istifadə edərək almaq. 756 00:33:41,660 --> 00:33:44,100 >> CS50, başqa sözlə istinad sadələşdirilməsi 757 00:33:44,100 --> 00:33:46,220 tələbələr üçün heyəti tərəfindən man pages. 758 00:33:46,220 --> 00:33:49,320 Xüsusilə, o az rahat və arasında ki 759 00:33:49,320 --> 00:33:51,660 kesmek üçün cəhd yoxdur Fikrinizi ətrafında, səmimi, 760 00:33:51,660 --> 00:33:55,030 bəzi olduqca sirli syntax zaman və sənədlər. 761 00:33:55,030 --> 00:33:57,650 >> Belə ki, mind ki, saxlamaq gün gəlib. 762 00:33:57,650 --> 00:33:59,560 Belə ki, burada yenə bir Zamyla edir. 763 00:33:59,560 --> 00:34:03,255 İndi ki, bir sual edək bir az daha insan əlçatan. 764 00:34:03,255 --> 00:34:05,380 Olmuşdur kim Chang sayəsində, daha filler çap 765 00:34:05,380 --> 00:34:07,090 Son bir neçə gün davamlı. 766 00:34:07,090 --> 00:34:09,730 Biz vermək imkanı var onlardan ən azı biri. 767 00:34:09,730 --> 00:34:13,239 Biz yalnız bir könüllü ala bilər, əgər ekranda çəkmək qədər gəlib. 768 00:34:13,239 --> 00:34:14,530 Necə burada? 769 00:34:14,530 --> 00:34:15,340 >> Qədər Hadi. 770 00:34:15,340 --> 00:34:16,720 Sizin adınız nədir? 771 00:34:16,720 --> 00:34:17,219 ALEX: Alex. 772 00:34:17,219 --> 00:34:17,760 DAVID J. MALAN: Alex. 773 00:34:17,760 --> 00:34:18,259 Bütün hüquqlar. 774 00:34:18,259 --> 00:34:19,388 Alex qədər gəlib. 775 00:34:19,388 --> 00:34:21,679 Biz görmək haqqında olduğunuz sizin Burada ekranda yazı. 776 00:34:21,679 --> 00:34:24,325 777 00:34:24,325 --> 00:34:25,570 Bütün sağ, sizə cavab gözəl. 778 00:34:25,570 --> 00:34:26,429 >> ALEX: Nice Siz cavab. 779 00:34:26,429 --> 00:34:27,512 >> DAVID J. MALAN: Bütün hüququ. 780 00:34:27,512 --> 00:34:28,969 Belə ki, super sadə həyata. 781 00:34:28,969 --> 00:34:31,440 Bar yüksək deyil Bu gün bir fil almaq. 782 00:34:31,440 --> 00:34:33,439 Siz GetString rol oynayır. 783 00:34:33,439 --> 00:34:35,980 Mən sadəcə sizə demək gedirəm kazanılmış etdik ki, simli. 784 00:34:35,980 --> 00:34:38,080 Və sizin güman ki, GetString adlı edilmişdir. 785 00:34:38,080 --> 00:34:42,480 Və insan, mənim kimi var Zamyla, Z-A-M-Y-L-A tipli. 786 00:34:42,480 --> 00:34:45,650 Yalnız irəli getmək və on ZAMYLA yazmaq ekran kazanılmış sanki 787 00:34:45,650 --> 00:34:47,250 və yaddaş bir yerdə saxlanılır. 788 00:34:47,250 --> 00:34:52,370 789 00:34:52,370 --> 00:34:55,570 >> Bir neçə olacaq nə üçün otağı tərk OK ki, digər words--, davam. 790 00:34:55,570 --> 00:34:59,620 >> [Gülüş] 791 00:34:59,620 --> 00:35:00,800 >> Belə ki, Zamyla Əla. 792 00:35:00,800 --> 00:35:04,880 Belə ki, indi güman ki, siz GetString, yenə deyilir. 793 00:35:04,880 --> 00:35:09,350 Və buna görə də, mən də, təmin klaviatura, başqa bir ad, Belinda ilə. 794 00:35:09,350 --> 00:35:17,560 795 00:35:17,560 --> 00:35:18,060 Bütün hüquqlar. 796 00:35:18,060 --> 00:35:22,380 İndi növbəti dəfə GetString edir adlanan, mən, Gabe kimi bir şey yazın 797 00:35:22,380 --> 00:35:27,560 G-A-B-E. Siz, həqiqətən alaraq edirik ürək təsadüfi giriş xatirəsinə. 798 00:35:27,560 --> 00:35:29,631 Hər şeyi cəlb edir tamamilə təsadüfi. 799 00:35:29,631 --> 00:35:30,130 OK. 800 00:35:30,130 --> 00:35:31,104 >> [Gülüş] 801 00:35:31,104 --> 00:35:32,520 ALEX: Bağışlayın mənim yazı pis. 802 00:35:32,520 --> 00:35:33,770 DAVID J. MALAN: Xeyr, ki, OK. 803 00:35:33,770 --> 00:35:40,480 Və necə Rob R-O-B haqqında. OK. 804 00:35:40,480 --> 00:35:41,020 Yaxşı. 805 00:35:41,020 --> 00:35:43,853 Mən sizə ki ummuyorduk cür bu şəkildə şeyi yerinə qoymaq. 806 00:35:43,853 --> 00:35:45,020 Amma biz bu işi edə bilər. 807 00:35:45,020 --> 00:35:48,810 Belə ki çəkilməsi haqqında necə getmək idi yaddaş bu chars həyata? 808 00:35:48,810 --> 00:35:51,310 Başqa sözlə, biz hesab əgər Bu düzbucaqlı qara ekran 809 00:35:51,310 --> 00:35:53,550 bir təmsil edən kimi kompüter RAM, və ya yaddaş. 810 00:35:53,550 --> 00:35:55,850 >> Və RAM yalnız geri bayt bütün dəstə, 811 00:35:55,850 --> 00:35:57,480 və bytes bit bütün dəstə var. 812 00:35:57,480 --> 00:35:59,350 Və bit birtəhər ümumiyyətlə, həyata 813 00:35:59,350 --> 00:36:01,119 bəzi formada hardware elektrik. 814 00:36:01,119 --> 00:36:03,160 Belə ki, sort biz söhbət etdik layering 815 00:36:03,160 --> 00:36:04,510 verilən və indi bilər. 816 00:36:04,510 --> 00:36:07,020 Necə haqqında getmək idi harada yazmaq üçün həlledici 817 00:36:07,020 --> 00:36:11,634 Rob qarşı Gabe qarşı Zamyla qarşı Belinda? 818 00:36:11,634 --> 00:36:14,020 >> ALEX: Mən yalnız bunu Siz mənə dedi ki sifariş. 819 00:36:14,020 --> 00:36:15,650 >> DAVID J. MALAN: And ki, doğrudur. 820 00:36:15,650 --> 00:36:20,100 Amma nə harada qoymaq idarə Belinda adı və Gabe adı? 821 00:36:20,100 --> 00:36:20,764 >> ALEX: Heç bir şey? 822 00:36:20,764 --> 00:36:22,930 DAVID J. MALAN: [gülür] Belə ki, işləyir ki, gözəl var. 823 00:36:22,930 --> 00:36:25,290 Belə ki, kompüter az daha nizamlı. 824 00:36:25,290 --> 00:36:29,000 Və belə ki, biz orada qalmaq implement-- zaman zaman həqiqətən biz yalnız bir anda üçün 825 00:36:29,000 --> 00:36:31,470 kimi bir şey həyata Kompüter GetString, 826 00:36:31,470 --> 00:36:34,480 Zamyla olduqca çox salınacaq bilər kimi orada ekranda etdi. 827 00:36:34,480 --> 00:36:36,660 >> Və qeyd üçün əsas nə Burada, Alex nə, 828 00:36:36,660 --> 00:36:40,260 bir demarkasiyası növ var Bu sözlərin hər arasında, sağ? 829 00:36:40,260 --> 00:36:46,580 Əgər yazmadım Z-A-M-Y-L-A-B-E-L-I-N-D-A-G-A-B-- 830 00:36:46,580 --> 00:36:49,740 başqa sözlə, bir növ var görünür demarkasiyası, 831 00:36:49,740 --> 00:36:52,370 sort, təsadüfi spacing Bu müxtəlif sözlər arasında. 832 00:36:52,370 --> 00:36:54,120 Lakin, çünki, yaxşı biz insanlar indi bilərsiniz 833 00:36:54,120 --> 00:36:56,470 Bu ki görüntüləmək Dörd müxtəlif strings. 834 00:36:56,470 --> 00:36:59,540 Bu, yalnız bir ardıcıllıqla deyil simvol çox. 835 00:36:59,540 --> 00:37:04,190 Belə ki, bir kompüter, sonra isə, Zamyla kimi bir simli bilər, 836 00:37:04,190 --> 00:37:07,220 həmin məktubları hər qoymaq yaddaş byte daxilində. 837 00:37:07,220 --> 00:37:10,400 Amma ki sayı daha böyükdür Əlbəttə, altı simvol. 838 00:37:10,400 --> 00:37:11,690 >> RAM bütün dəstə var. 839 00:37:11,690 --> 00:37:15,330 Və bundan sonra da, bu qutuları grid gedir 840 00:37:15,330 --> 00:37:17,560 nə Alex yalnız təmsil ekranda burada idi. 841 00:37:17,560 --> 00:37:20,937 İndi, Alex, sizə bir təklif edə bilər mavi və ya Chang bir portağal fil. 842 00:37:20,937 --> 00:37:22,270 ALEX: Mən mavi fil almaq lazımdır. 843 00:37:22,270 --> 00:37:23,120 DAVID J. MALAN: A mavi fil. 844 00:37:23,120 --> 00:37:25,580 Belə ki, alqış böyük dəyirmi, Alex burada biz bilər. 845 00:37:25,580 --> 00:37:26,100 >> [Alqış] 846 00:37:26,100 --> 00:37:26,766 >> ALEX: Sağ olun. 847 00:37:26,766 --> 00:37:28,820 DAVID J. MALAN: Təşəkkür edirəm. 848 00:37:28,820 --> 00:37:36,230 Belə ki, paket, hətta baxmayaraq model cür burada, zamanla dəyişib 849 00:37:36,230 --> 00:37:40,430 board, bu var idi müxtəlif strings arasında demarkasiya 850 00:37:40,430 --> 00:37:42,610 Alex bizim üçün var ki. 851 00:37:42,610 --> 00:37:45,230 İndi kompüter, səmimi, eyni şey edə bilər. 852 00:37:45,230 --> 00:37:48,210 Onlar növ Plop bilər hər hansı RAM strings. 853 00:37:48,210 --> 00:37:50,710 Burada, burada, Burada, aşağı burada. 854 00:37:50,710 --> 00:37:52,020 >> Onlar məhz bunu edə bilər. 855 00:37:52,020 --> 00:37:54,280 Lakin, əlbəttə ki, var yəqin ki, ən yaxşı planlaşdırma. 856 00:37:54,280 --> 00:37:54,780 Right? 857 00:37:54,780 --> 00:37:57,340 Mən Alex xahiş saxlanılır əgər adları, yəqin ki, o istədiyiniz 858 00:37:57,340 --> 00:38:01,370 bəlkə, burada daha çox yazmaq burada, burada, burada, nəhayət 859 00:38:01,370 --> 00:38:02,211 Burada artıq. 860 00:38:02,211 --> 00:38:05,460 Amma bir az daha planlaşdırma ilə, əlbəttə, daha çox pakizə şeyi yerinə qoymaq bilər. 861 00:38:05,460 --> 00:38:07,350 And olsun ki, bir kompüter nə var. 862 00:38:07,350 --> 00:38:10,720 >> Amma tutmaq ki, əgər mən almaq növbəti string 863 00:38:10,720 --> 00:38:14,050 Zamyla bir şey sonra Bu Belinda kimi, 864 00:38:14,050 --> 00:38:17,929 biz yazmaq bilər harada təklif Bu grid ilə bağlı b məktubu? 865 00:38:17,929 --> 00:38:18,720 Siz harada getmək olardı? 866 00:38:18,720 --> 00:38:21,480 A sağa, Aşağıdakı A z, aşağıdakı? 867 00:38:21,480 --> 00:38:23,204 Ilk instinktlərdən nə olardı? 868 00:38:23,204 --> 00:38:24,120 Auditoriya: z Aşağıda. 869 00:38:24,120 --> 00:38:25,100 DAVID J. MALAN: Belə z aşağıda. 870 00:38:25,100 --> 00:38:26,530 Və olduqca sadə, sağ? 871 00:38:26,530 --> 00:38:29,321 Bu səliqəli cür, biz nə var klaviatura biz daxil edin hit zaman, 872 00:38:29,321 --> 00:38:31,770 və ya e-poçt edərkən şeyi bulleted siyahısı. 873 00:38:31,770 --> 00:38:34,310 Amma reallıq bu kompüter edir daha məhsuldar olması üçün cəhd edin, 874 00:38:34,310 --> 00:38:37,170 və daha çox, əlbəttə basırıq mümkün RAM data, 875 00:38:37,170 --> 00:38:38,890 ki, hər bayt sərf etmir. 876 00:38:38,890 --> 00:38:41,545 Siz sərf etməyin ki, hər hansı bir ekran daşınmaz əmlak. 877 00:38:41,545 --> 00:38:44,170 Və problem olsa da, ki, biz sanki məktub qoymaq əgər 878 00:38:44,170 --> 00:38:49,940 b bir müddət sonra, necə gedir ZAMYLA adı başa harada bilmək 879 00:38:49,940 --> 00:38:51,840 və Belinda adı başlayır? 880 00:38:51,840 --> 00:38:55,270 Belə ki, yalnız, yaxşı, təklif, insanların mahiyyətcə, əsas Enter düyməsini basın. 881 00:38:55,270 --> 00:38:56,410 Aşağıdakı onu qoymaq. 882 00:38:56,410 --> 00:38:59,750 Və ya Alex etdiyi kimi, yalnız yazılı başlamaq əvvəlki aşağıda növbəti adı, 883 00:38:59,750 --> 00:39:01,583 ki, bir aşağı, və sonra bir aşağıda. 884 00:39:01,583 --> 00:39:02,510 Ki, bir vizual replika var. 885 00:39:02,510 --> 00:39:05,960 >> Computers başqa bir vizual replika var, lakin bir az daha yığcam var. 886 00:39:05,960 --> 00:39:07,840 Bu funky xarakter var. 887 00:39:07,840 --> 00:39:11,890 Bəlkə də backslash 0, backslash n xatırladan, 888 00:39:11,890 --> 00:39:12,640 və s, indi. 889 00:39:12,640 --> 00:39:14,120 Xüsusi escape ardıcıllığı. 890 00:39:14,120 --> 00:39:19,120 Backslash 0 yoludur Bir sıra səkkiz sıfır bit təmsil. 891 00:39:19,120 --> 00:39:22,000 0000 0000. 892 00:39:22,000 --> 00:39:26,130 >> Ki, ifadə yolu deyil Klavyenizdeki sayı sıfır hit, 893 00:39:26,130 --> 00:39:28,140 bir ASCII char ki, əslində, çünki. 894 00:39:28,140 --> 00:39:30,990 Bu bir sıra kimi görünür, lakin bir decimal sayı əslində 895 00:39:30,990 --> 00:39:35,910 ki, təmimnamə təmsil glyph, dairəvi yazı tipinde. 896 00:39:35,910 --> 00:39:38,410 Eyni zamanda, backslash sıfır sanki, 897 00:39:38,410 --> 00:39:40,700 Mənim üçün burada səkkiz sıfır bayt qoydu. 898 00:39:40,700 --> 00:39:42,136 >> Belə ki, bu bir qədər özbaşına deyil. 899 00:39:42,136 --> 00:39:44,260 Biz hər hansı bir model istifadə etdiyiniz bilər bit, lakin dünya 900 00:39:44,260 --> 00:39:46,610 bir neçə il qərar əvvəl ki, təmsil 901 00:39:46,610 --> 00:39:49,710 yaddaş bir string sonu, yalnız adet sıfır bütün dəstə qoydu. 902 00:39:49,710 --> 00:39:51,000 Ki, aşkar bilər. 903 00:39:51,000 --> 00:39:54,790 İndi o deməkdir ki, heç bir məktubu əlifba adet sıfır ilə təmsil oluna bilər. 904 00:39:54,790 --> 00:39:58,480 >> Amma ki, biz artıq gördüm OK biz up up 97 65 istifadə etdiyiniz. 905 00:39:58,480 --> 00:40:00,290 Biz hər yerdə əldə etməyib bütün adet sıfır yaxın. 906 00:40:00,290 --> 00:40:03,040 907 00:40:03,040 --> 00:40:06,540 Bir kompüter yaddaş Belinda belə əslində burada getmək niyyətindədir. 908 00:40:06,540 --> 00:40:09,764 Mən sarı tərtib etdik yalnız Bu bizim diqqət çəkmək üçün. 909 00:40:09,764 --> 00:40:11,680 Və bildiriş də bu tamamilə əsassız edir. 910 00:40:11,680 --> 00:40:12,680 Mən bir grid kimi tərtib etdik. 911 00:40:12,680 --> 00:40:14,460 Kimi, RAM yalnız bəzi fiziki obyekt deyil. 912 00:40:14,460 --> 00:40:17,300 Bu, mütləq yoxdur satır və sütun, hər se. 913 00:40:17,300 --> 00:40:20,490 Bu, sadəcə bayt bütün dəstə var birtəhər hardware həyata keçirilir. 914 00:40:20,490 --> 00:40:22,817 Amma Belinda I sonra əgər Gabe adı tipli, 915 00:40:22,817 --> 00:40:25,650 O, yaddaş burada sona olacaq Mən Daven adı yazdığınız əgər, 916 00:40:25,650 --> 00:40:27,316 Məsələn, o, burada sona olacaq. 917 00:40:27,316 --> 00:40:29,310 Mən davam edə bilər daha adlarını yazın. 918 00:40:29,310 --> 00:40:32,100 >> Təəssüf ki, mən cəhd super uzun ad yazın, 919 00:40:32,100 --> 00:40:33,730 Mən nəhayət yaddaş tökülmək bilər. 920 00:40:33,730 --> 00:40:37,810 Bu halda, GetString edir dediyimiz kimi, NULL qayıtmaq üçün gedir. 921 00:40:37,810 --> 00:40:41,720 Amma şükürlər olsun ki, ən azı bu vizual burada, biz ki, uzaq əldə etməyib. 922 00:40:41,720 --> 00:40:45,860 >> İndi nə gözəl bu ki, şeyi müalicə ümumi fikir 923 00:40:45,860 --> 00:40:49,720 qutuları olan kimi C xüsusiyyət nümayəndəsi 924 00:40:49,720 --> 00:40:52,690 və dilləri bir çox, bir sıra kimi tanınır. 925 00:40:52,690 --> 00:40:55,490 Bir sıra məlumatların bir növüdür. 926 00:40:55,490 --> 00:40:57,380 Siz əgər, bir data strukturu var. 927 00:40:57,380 --> 00:41:01,160 Həqiqətən mənada strukturu, cür, ən azı, bir qutu kimi axtarır 928 00:41:01,160 --> 00:41:02,320 Sizin fikrinizi göz. 929 00:41:02,320 --> 00:41:09,680 Bir sıra bitişik edir eyni data növləri ardıcıllığı, 930 00:41:09,680 --> 00:41:11,330 geri geri geri geri. 931 00:41:11,330 --> 00:41:14,720 >> Digər belə bir string, sözləri, chars bir sıra edir. 932 00:41:14,720 --> 00:41:16,120 Simvol bir sıra. 933 00:41:16,120 --> 00:41:19,070 Amma siz ola bilər çıxır şeyi dəstələri Diziler. 934 00:41:19,070 --> 00:41:21,870 Əslində, biz hətta bilər bir sıra nömrələri. 935 00:41:21,870 --> 00:41:23,920 Şəklində belə olan biz başlamaq olacaq 936 00:41:23,920 --> 00:41:26,590 Bu data elan bir sıra kimi tanınan strukturu 937 00:41:26,590 --> 00:41:28,250 də kvadrat mötərizə istifadə edir. 938 00:41:28,250 --> 00:41:31,500 Amma bu kvadratşəkilli mötərizələri gedir Bu çərçivədə müxtəlif mənası var. 939 00:41:31,500 --> 00:41:33,450 >> Və aşağıdakı kimi görək. 940 00:41:33,450 --> 00:41:36,780 Mən açdı Fərz edək ki, burada yeni bir fayl up. 941 00:41:36,780 --> 00:41:38,535 Mən ages.c. bu saxlamaq 942 00:41:38,535 --> 00:41:41,280 943 00:41:41,280 --> 00:41:43,470 Və mən burada mənim qovluq bu saxlaya bilərsiniz. 944 00:41:43,470 --> 00:41:46,130 İndi mən irəli getmək üçün gedirəm və bir şey yazmağa başlayın 945 00:41:46,130 --> 00:41:53,940 kimi daxil CS50.h daxildir stdio.h, əsas etibarsız int. 946 00:41:53,940 --> 00:41:57,370 Və sonra burada daxili, mən istəyirəm birinci yaş adlı int var. 947 00:41:57,370 --> 00:42:01,371 >> Və mən bir almaq üçün istifadə gedirəm onun yaşı üçün istifadəçi int. 948 00:42:01,371 --> 00:42:04,620 Lakin bu proqram tərəfindən istifadə üçün nəzərdə tutulmuşdur nə kontekstində çox insanlar. 949 00:42:04,620 --> 00:42:05,490 Mən bir xətt var. 950 00:42:05,490 --> 00:42:08,281 Onların hamısı yazın onların bəlkə bəzi, mən bilmirəm yaş, 951 00:42:08,281 --> 00:42:10,530 müsabiqə, və ya hadisə onlar üçün gəlib etdik ki. 952 00:42:10,530 --> 00:42:13,030 Belə ki, növbəti şəxs, I bir dəyişən lazımdır. 953 00:42:13,030 --> 00:42:15,790 >> Mən yalnız əgər, çünki yaş GetInt olur ki, var 954 00:42:15,790 --> 00:42:18,500 gedir döymək və ya üzerine Əvvəlki adamın yaşı. 955 00:42:18,500 --> 00:42:19,760 Belə ki, heç bir yaxşı. 956 00:42:19,760 --> 00:42:21,790 Mənim ilk instinkt belə ola bilər, oh, bütün sağ, 957 00:42:21,790 --> 00:42:26,260 Mən çox insanlar var almaq istəyirsinizsə ages--, bu age1 zəng edək 958 00:42:26,260 --> 00:42:31,280 int age2 int olur, int age3 getInt olur. 959 00:42:31,280 --> 00:42:35,340 İndi mən istifadə gedirəm burada bəzi pseudocode kodu. 960 00:42:35,340 --> 00:42:37,679 >> Bu nömrələri ilə bir şey. 961 00:42:37,679 --> 00:42:40,470 Biz bir gün üçün tərk edəcəyik nə Biz nə edirik Çünki yalnız 962 00:42:40,470 --> 00:42:44,200 Bu an üçün qayğı age1, age2, age3 haqqında. 963 00:42:44,200 --> 00:42:46,450 Təəssüf ki, I dəfə Bu proqram tərtib 964 00:42:46,450 --> 00:42:51,140 və faktiki istifadəçilər qarşısında qoydu Bu əsaslı yoxsul dizayn nə 965 00:42:51,140 --> 00:42:53,890 I görünür qərar etdik? 966 00:42:53,890 --> 00:42:54,624 Bəli? 967 00:42:54,624 --> 00:42:55,499 Auditoriya: [işitilemez] 968 00:42:55,499 --> 00:42:58,071 969 00:42:58,071 --> 00:42:59,820 DAVID J. MALAN: Bəli, Mən hətta cəhd deyil 970 00:42:59,820 --> 00:43:02,028 neçə yaş anlamaq üçün Mən, həqiqətən, qayğı yoxdur? 971 00:43:02,028 --> 00:43:05,380 Mən burada az üç adam varsa, və buna görə də az üç yaş, 972 00:43:05,380 --> 00:43:07,260 Mən hələ kor-koranə üç gözləyirəm. 973 00:43:07,260 --> 00:43:08,720 Allah dörd nəfər göstərmək qadağan. 974 00:43:08,720 --> 00:43:10,990 Mənim proqram yalnız hətta onlara dəstək deyil. 975 00:43:10,990 --> 00:43:13,280 >> Və bu, uzun hekayə qısa, yaxşı vərdiş deyil. 976 00:43:13,280 --> 00:43:13,780 Right? 977 00:43:13,780 --> 00:43:16,530 Mən mahiyyətcə çıxarmaq və kodu sovuşdurmaq və yalnız tweaking 978 00:43:16,530 --> 00:43:17,430 dəyişən adları. 979 00:43:17,430 --> 00:43:22,410 Və mənim tanrı, siz olsaydı, üç yaş, lakin 10 və ya 100, və ya hətta 6500 980 00:43:22,410 --> 00:43:23,820 magistr, məsələn. 981 00:43:23,820 --> 00:43:26,950 Bu, xüsusilə olacaq deyil zərif kodu və ya davamlı. 982 00:43:26,950 --> 00:43:29,200 Siz olacaq proqram hər zaman yeniden yazmaq 983 00:43:29,200 --> 00:43:30,760 insanlar dəyişikliklər sizin nömrəsi. 984 00:43:30,760 --> 00:43:35,090 >> Belə ki, təşəkkürlə, bizim faktiki da Bu gün ages.c fayl, 985 00:43:35,090 --> 00:43:36,970 biz daha ağıllı həll var. 986 00:43:36,970 --> 00:43:39,800 Birincisi, mən borc gedirəm , biz bir neçə dəfə istifadə etdiyiniz tikintisi 987 00:43:39,800 --> 00:43:43,744 bu almaq üçün, loop isə bunu oda insanların sayı. 988 00:43:43,744 --> 00:43:46,910 Mən yenə, istifadəçi bezdirmək gedirəm və yenə o qədər mənə verir 989 00:43:46,910 --> 00:43:49,260 bir müsbət tam ki, n dəyəri. 990 00:43:49,260 --> 00:43:51,590 >> Mən istifadə edə bilər, son vaxt müsbət int almaq. 991 00:43:51,590 --> 00:43:53,720 Ancaq biz yoxdur real üçün, mən irəli getdi 992 00:43:53,720 --> 00:43:55,660 və bu ideyanı həyata edirik. 993 00:43:55,660 --> 00:43:58,410 İndi aşağı burada, bu yeni bir oyun deyil. 994 00:43:58,410 --> 00:44:02,260 Şərh kimi line 27, In line 26 təklif ilə, 995 00:44:02,260 --> 00:44:05,180 bir sıra bəyan edən hər kəsin yaşı saxlamaq üçün. 996 00:44:05,180 --> 00:44:09,320 >> Belə ki, bir int deyil almaq istəyirsinizsə iki ints, lakin ints bir dəstə. 997 00:44:09,320 --> 00:44:13,800 Xüsusilə n integers idi n bilər 100 ola bilər, üç ola, 1000 ola bilər. 998 00:44:13,800 --> 00:44:17,570 Bu syntax, sadəcə, üçün demək, nə data növü istəyirsiniz? 999 00:44:17,570 --> 00:44:19,620 Siz zəng etmək istəyirəm nə yaddaş ki, yığın? 1000 00:44:19,620 --> 00:44:23,530 Siz grid zəng etmək istəyirəm nə bu pictorially kimi görünür? 1001 00:44:23,530 --> 00:44:27,700 >> Və burada mötərizədə, demək necə böyük siz array olmaq istəyirəm. 1002 00:44:27,700 --> 00:44:30,450 Və belə əvvəl, mən bildirib syntax, burada bir az fərqli 1003 00:44:30,450 --> 00:44:33,614 biz hələ kvadrat mötərizə istifadə edirik, amma bir sıra elan edirəm zaman, 1004 00:44:33,614 --> 00:44:35,530 Bu daxili sayı kvadrat mötərizə vasitələri 1005 00:44:35,530 --> 00:44:37,610 necə böyük siz array olmaq istəyirəm. 1006 00:44:37,610 --> 00:44:42,490 >> Əksinə, biz s istifadə bracket i bir an əvvəl, s, simli, 1007 00:44:42,490 --> 00:44:46,820 chars bir sıra, həqiqətən, lakin bir dəyişən elan etdiyiniz zaman, 1008 00:44:46,820 --> 00:44:49,760 burada bu söz ilə, sadəcə əldə etdiyiniz 1009 00:44:49,760 --> 00:44:54,280 xüsusi index, xüsusi ki, array element. 1010 00:44:54,280 --> 00:44:57,090 Biz bilirik sonra, qalan Bu sadə deyil. 1011 00:44:57,090 --> 00:45:00,765 Mən ilk çap gedirəm, yeni bir adam sayı i yaşı var. 1012 00:45:00,765 --> 00:45:03,890 Mən yalnız adam sayı bir demək adam sayı iki nəfər sayı üç. 1013 00:45:03,890 --> 00:45:06,306 >> Mən yalnız hesab edirəm belə ki, kimi normal insanlar, 1014 00:45:06,306 --> 00:45:09,030 biz bu bir saymaq proqram deyil, sıfırdan. 1015 00:45:09,030 --> 00:45:13,620 Sonra GetInt zəng, ancaq saxlamaq əsrlərdə cavab i bracket. 1016 00:45:13,620 --> 00:45:16,610 Hansı sıra i'th dövrüdür. 1017 00:45:16,610 --> 00:45:21,640 Sonuncu dəfə isə biz müalicə olunmuşdur, belə ZAMYLA adı üçün chars bu qutuları, 1018 00:45:21,640 --> 00:45:22,490 və s. 1019 00:45:22,490 --> 00:45:26,530 İndi, bu qutuları təmsil 32 bit, və ya dörd bytes 1020 00:45:26,530 --> 00:45:29,510 biz bilərsiniz bir int bir int bir int. 1021 00:45:29,510 --> 00:45:31,890 Olan, yenə, eyni data növü var. 1022 00:45:31,890 --> 00:45:33,890 >> İndi mən bir şey silly nə, Vaxt keçir kimi, yalnız 1023 00:45:33,890 --> 00:45:35,510 bu proqram yazmaq haqq qazandırmaq üçün. 1024 00:45:35,510 --> 00:45:40,050 Və sonra aşağı burada, mən yenə təkrarlamaq İndi bir il belə serialın üzərində, 1025 00:45:40,050 --> 00:45:43,090 adam sayı bir iradə bir şey yaşında. 1026 00:45:43,090 --> 00:45:45,010 Və anlamaq üçün math-- demək, bu 1027 00:45:45,010 --> 00:45:49,260 çox arithmetic-- çətin deyil Mən yalnız öz yaş bir əlavə. 1028 00:45:49,260 --> 00:45:51,240 Sadəcə, yenidən, bu nümayiş. 1029 00:45:51,240 --> 00:45:57,910 >> Sadəcə mən index kimi bir simli daxil, s, belə yaş bir sıra daxil edə bilərsiniz I index, 1030 00:45:57,910 --> 00:45:59,950 var kimi. 1031 00:45:59,950 --> 00:46:03,340 Belə ki, bu bizə alaraq olacaq? 1032 00:46:03,340 --> 00:46:07,070 Beləliklə, biz görürük ki, nəticədə, bir gün neçə şey gəlib. 1033 00:46:07,070 --> 00:46:09,510 One, bütün bu vaxt, zaman öz proqramları yazmaq, 1034 00:46:09,510 --> 00:46:11,239 Mario, görməmiş, kredit kimi. 1035 00:46:11,239 --> 00:46:13,780 Siz adı yazaraq etdik proqram və vuruş daxil edin. 1036 00:46:13,780 --> 00:46:15,610 Və sonra istifadəçi daxil almaq. 1037 00:46:15,610 --> 00:46:18,137 >> GetString, GetInt ilə, GetLongLong, və ya kimi. 1038 00:46:18,137 --> 00:46:20,720 Amma bu C dəstəkləyir çıxır bir şey command line adlı 1039 00:46:20,720 --> 00:46:25,740 bize bildirin gedir dəlilləri, həqiqətən yazın sözlər almaq, 1040 00:46:25,740 --> 00:46:28,570 yanıb-sönən sətirinə, Sizin proqram adı sonra. 1041 00:46:28,570 --> 00:46:31,430 >> Sizə gələcək günlərdə belə Sezar kimi bir şey yazın bilər, 1042 00:46:31,430 --> 00:46:34,950 və ya Sezar sonra sayı 13,. 1043 00:46:34,950 --> 00:46:36,070 Biz necə işlədiyini görmək lazımdır. 1044 00:46:36,070 --> 00:46:37,550 Həqiqətən, çünki problem biz istəyirik, iki müəyyən 1045 00:46:37,550 --> 00:46:39,383 sizə təqdim etmək niyyətindədir bir az bir şey üçün 1046 00:46:39,383 --> 00:46:42,360 Ralphie nin xatırladan kartoqrafiya əvvəllər çağırış. 1047 00:46:42,360 --> 00:46:43,970 Məlumat Scrambling sənətidir. 1048 00:46:43,970 --> 00:46:46,660 Bu, əslində çox, Ralphie nə xatırladan. 1049 00:46:46,660 --> 00:46:51,380 >> Bu şifreleme nümunəsidir alqoritm, R-O-T 13 ROT13 adlı. 1050 00:46:51,380 --> 00:46:54,910 Hansı sadəcə dönüşümlü deməkdir əlifbası 13 yerləri məktublar. 1051 00:46:54,910 --> 00:46:58,309 Siz bunu əgər, siz indi görürsünüz bir tanış söz, bəlkə, nə. 1052 00:46:58,309 --> 00:47:01,100 Amma şəkildə istifadə etmək olacaq Bu, son nəticədə, daha ümumi deyil. 1053 00:47:01,100 --> 00:47:04,390 >> P, standart nəşr, iki müəyyən Siz ciphers bir neçə həyata olacaq 1054 00:47:04,390 --> 00:47:06,720 Caesar adlı bir, Vigenere adlandırıb. 1055 00:47:06,720 --> 00:47:10,090 Hər ikisi fırlanma var ki ciphers, siz elə 1056 00:47:10,090 --> 00:47:11,826 fərqli bir məktub daxil bir məktub açın. 1057 00:47:11,826 --> 00:47:12,950 Və Caesar super sadədir. 1058 00:47:12,950 --> 00:47:16,220 Siz 13 əlavə, bir əlavə və ya 26 qədər bir sıra. 1059 00:47:16,220 --> 00:47:19,570 Vigenere ki yoxdur bir məktub başına əsasları. 1060 00:47:19,570 --> 00:47:22,140 Vigenere Belə ki, görürsünüz spec, daha təhlükəsiz edir. 1061 00:47:22,140 --> 00:47:24,973 >> Lakin günün sonunda nə , siz həyata olacaq və P iki müəyyən 1062 00:47:24,973 --> 00:47:29,050 Siz də istifadə ki, əsas şifrələmə və parol çözme üçün. 1063 00:47:29,050 --> 00:47:32,160 Dönüş prosesi toxunan düz mətn, bəzi orijinal mesaj, 1064 00:47:32,160 --> 00:47:34,490 şifrə mətn, daxil olan bir şey şifrelenir. 1065 00:47:34,490 --> 00:47:36,220 Və sonra yenidən decrypting. 1066 00:47:36,220 --> 00:47:38,119 >> Hacker nəşr, eyni zamanda, siz olacaq 1067 00:47:38,119 --> 00:47:40,660 oxşar bir şey həvalə ruhunda, biz sizə vermək lazımdır 1068 00:47:40,660 --> 00:47:44,610 tipik Linux, və ya bir fayl, Mac, və ya Unix kompüter adlı Etsy 1069 00:47:44,610 --> 00:47:47,800 bir bütün olan parol, istifadəçi adı və parol dəstə. 1070 00:47:47,800 --> 00:47:50,932 Və o parol bütün var şifrelenir və ya hashed edilmişdir, 1071 00:47:50,932 --> 00:47:53,140 belə ki, daha düzgün, danışmaq Siz spec görəcəksiniz kimi. 1072 00:47:53,140 --> 00:47:57,090 >> Və hacker nəşr etiraz edəcək bu kimi bir daxil alaraq ilə, 1073 00:47:57,090 --> 00:47:58,800 və parol krekinq. 1074 00:47:58,800 --> 00:48:02,590 Ki figuring, nə insan parol həqiqətən idi. 1075 00:48:02,590 --> 00:48:05,570 Həqiqətən, parol, çünki ümumiyyətlə aydın saxlanılır deyil, 1076 00:48:05,570 --> 00:48:08,260 və ümumiyyətlə parol təxmin etmək çətin olmalıdır. 1077 00:48:08,260 --> 00:48:09,610 Tez-tez belə deyil. 1078 00:48:09,610 --> 00:48:12,110 >> Və nə Mən biz istədiyiniz fikir deyil bir neçə dəqiqə ilə bağlamaq 1079 00:48:12,110 --> 00:48:15,160 xüsusilə nəzər parol yoxsul seçim 1080 00:48:15,160 --> 00:48:17,260 bir film sizə sevərək xatırlayıram bilər. 1081 00:48:17,260 --> 00:48:18,915 Və əgər, siz icarəyə olmalıdır. 1082 00:48:18,915 --> 00:48:20,070 >> [Video playback] 1083 00:48:20,070 --> 00:48:22,320 >> -Kask, Siz şeytan, nə olub? 1084 00:48:22,320 --> 00:48:24,240 Əgər qızım nə edirlər? 1085 00:48:24,240 --> 00:48:28,010 >> Tətbiq etmək mənə -Permit parlaq gənc plastik cərrah, 1086 00:48:28,010 --> 00:48:30,010 Doctor Phillip Schlotkin. 1087 00:48:30,010 --> 00:48:35,020 Bu ən böyük burun iş adamı bütün kainat və Beverly Hills. 1088 00:48:35,020 --> 00:48:36,140 >> -Sizin Əlahəzrət. 1089 00:48:36,140 --> 00:48:36,820 >> -Burun Iş? 1090 00:48:36,820 --> 00:48:37,700 Mən başa düşmürəm. 1091 00:48:37,700 --> 00:48:39,070 O, artıq bir burun iş idi. 1092 00:48:39,070 --> 00:48:40,800 Bu şirin 16 olub. 1093 00:48:40,800 --> 00:48:42,590 >> Xeyr, siz nə deyil. 1094 00:48:42,590 --> 00:48:44,490 Bu çox, çox pis. 1095 00:48:44,490 --> 00:48:48,160 Mənə vermir əgər hava qalxan birləşməsi, 1096 00:48:48,160 --> 00:48:52,748 həkim Schlotkin verəcək sizin qızı onun köhnə burun geri. 1097 00:48:52,748 --> 00:48:53,748 - [Gasps] Nooooooooooooo. 1098 00:48:53,748 --> 00:48:57,684 1099 00:48:57,684 --> 00:48:59,652 Harada ki, əldə etdiniz? 1100 00:48:59,652 --> 00:49:00,640 >> -Bütün Hüququ. 1101 00:49:00,640 --> 00:49:02,506 Mən deyim, demək lazımdır. 1102 00:49:02,506 --> 00:49:03,498 >> Xeyr, Daddy, no. 1103 00:49:03,498 --> 00:49:04,490 Siz olmalıdır. 1104 00:49:04,490 --> 00:49:06,090 >> -You're Sağ əziz. 1105 00:49:06,090 --> 00:49:07,390 Mən yeni burun əldən lazımdır. 1106 00:49:07,390 --> 00:49:10,990 Amma onlara demək deyil birləşməsi nə olursa olsun. 1107 00:49:10,990 --> 00:49:12,450 >> Yaxşı -Çox. 1108 00:49:12,450 --> 00:49:14,830 Doctor Schlotkin, sizin ən pis edin. 1109 00:49:14,830 --> 00:49:15,744 >> Mənim zövq. 1110 00:49:15,744 --> 00:49:19,860 1111 00:49:19,860 --> 00:49:20,800 >> No! 1112 00:49:20,800 --> 00:49:22,780 Gözləyin, gözləyin. 1113 00:49:22,780 --> 00:49:24,000 Mən deyim. 1114 00:49:24,000 --> 00:49:25,830 Mən deyim. 1115 00:49:25,830 --> 00:49:28,270 >> Mən bu iş bilirdi. 1116 00:49:28,270 --> 00:49:31,390 Bütün sağ, mənə ver. 1117 00:49:31,390 --> 00:49:36,220 >> -Birləşməsi Biridir. 1118 00:49:36,220 --> 00:49:36,740 >> -One. 1119 00:49:36,740 --> 00:49:37,473 >> -One. 1120 00:49:37,473 --> 00:49:37,972 Iki. 1121 00:49:37,972 --> 00:49:38,471 Iki. 1122 00:49:38,471 --> 00:49:39,800 Iki. 1123 00:49:39,800 --> 00:49:40,300 Üç. 1124 00:49:40,300 --> 00:49:40,800 Üç. 1125 00:49:40,800 --> 00:49:41,800 Üç. 1126 00:49:41,800 --> 00:49:42,300 Dörd. 1127 00:49:42,300 --> 00:49:42,800 Dörd. 1128 00:49:42,800 --> 00:49:44,707 Dörd. 1129 00:49:44,707 --> 00:49:45,521 Beş. 1130 00:49:45,521 --> 00:49:46,430 Beş. 1131 00:49:46,430 --> 00:49:47,930 Beş. 1132 00:49:47,930 --> 00:49:53,480 Birləşməsi bir Deməli, iki, üç, dörd, beş. 1133 00:49:53,480 --> 00:49:56,140 Bu stupidest birləşməsi var Mən heç həyatımda eşitmək. 1134 00:49:56,140 --> 00:49:58,640 Ki, bir şey an cür axmaq onun baqaj olardı. 1135 00:49:58,640 --> 00:50:00,000 >> , Əlahəzrət sizə təşəkkür edirik. 1136 00:50:00,000 --> 00:50:01,340 >> [Uzaqdan klik] 1137 00:50:01,340 --> 00:50:02,450 >> Siz nələr etdiniz? 1138 00:50:02,450 --> 00:50:03,800 >> Mən divar off çıxdı. 1139 00:50:03,800 --> 00:50:05,010 >> Xeyr, siz etmədi bütün film söndürülür. 1140 00:50:05,010 --> 00:50:06,220 >> Mən must've səhv düyməni basdı. 1141 00:50:06,220 --> 00:50:07,064 >> Bəli, geri qoydu! 1142 00:50:07,064 --> 00:50:07,910 Film geri qoyun! 1143 00:50:07,910 --> 00:50:08,300 >> Bəli, əfəndim! 1144 00:50:08,300 --> 00:50:08,799 Bəli əfəndim. 1145 00:50:08,799 --> 00:50:09,660 Nin, Arnold getmək edək. 1146 00:50:09,660 --> 00:50:10,450 , Gretchen gəlir. 1147 00:50:10,450 --> 00:50:12,533 Əlbəttə, mən lazımdır bilirəm Bunun üçün qanun layihəsi var. 1148 00:50:12,533 --> 00:50:16,720 1149 00:50:16,720 --> 00:50:17,220 -Bəli? 1150 00:50:17,220 --> 00:50:17,802 Bu iş mi? 1151 00:50:17,802 --> 00:50:18,510 Padşah harada? 1152 00:50:18,510 --> 00:50:20,218 >> -Bu, Əfəndim işləmişdir biz birləşməsi var. 1153 00:50:20,218 --> 00:50:20,740 Böyük. 1154 00:50:20,740 --> 00:50:24,810 İndi biz hər keçən nəfəs bilər planet Druidia təzə hava. 1155 00:50:24,810 --> 00:50:25,890 Birləşməsi nədir? 1156 00:50:25,890 --> 00:50:28,155 >> -Bir, Iki, üç, dörd, beş. 1157 00:50:28,155 --> 00:50:29,890 >> -Bir, Iki, üç, dörd, beş? 1158 00:50:29,890 --> 00:50:30,390 Bəli. 1159 00:50:30,390 --> 00:50:31,110 Yəni gözəl. 1160 00:50:31,110 --> 00:50:34,550 Mən eyni var mənim baqaj birləşməsi. 1161 00:50:34,550 --> 00:50:37,160 Üçün Spaceball 1 hazırlanması dərhal gediş. 1162 00:50:37,160 --> 00:50:38,160 >> Bəli əfəndim. 1163 00:50:38,160 --> 00:50:40,745 >> Dəyişiklik -Və mənim baqaj birləşməsi. 1164 00:50:40,745 --> 00:50:41,578 [DOOR Yekun SES] 1165 00:50:41,578 --> 00:50:42,064 [Qapı Paris dəbilqə vuruş] 1166 00:50:42,064 --> 00:50:42,550 -Ahh. 1167 00:50:42,550 --> 00:50:43,383 [END Video playback] 1168 00:50:43,383 --> 00:50:46,700 DAVID J. MALAN: Bu üçün var CS50, biz gələn həftə görəcəksiniz. 1169 00:50:46,700 --> 00:50:49,883 Dastançı: İndi, Deep Daven Farnham tərəfindən düşüncələr. 1170 00:50:49,883 --> 00:50:53,160 1171 00:50:53,160 --> 00:50:55,860 >> Daven FARNHAM: C Coding edir Not çox daha çətindir. 1172 00:50:55,860 --> 00:50:57,320 printf, Scratch yalan idi. 1173 00:50:57,320 --> 00:50:59,930 1174 00:50:59,930 --> 00:51:01,430 >> [Gülüş soundbite] 1175 00:51:01,430 --> 00:51:02,486