1 00:00:00,000 --> 00:00:11,280 2 00:00:11,280 --> 00:00:13,650 >> HOPARLÖR 1: Yaxşı. 3 00:00:13,650 --> 00:00:14,390 Geri xoş gəlmisiniz. 4 00:00:14,390 --> 00:00:19,260 Bu CS50 Həftəsi iki və biz İndiyədək ancaq funksiyaları istifadə 5 00:00:19,260 --> 00:00:20,830 verilən üçün əsasən onlara götürülmüşdür. 6 00:00:20,830 --> 00:00:23,430 Biz olan printf istifadə etdiyiniz çap yan təsiri 7 00:00:23,430 --> 00:00:24,110 ekranda şeylər. 8 00:00:24,110 --> 00:00:25,790 Biz get-int istifadə etdiyiniz, float almaq. 9 00:00:25,790 --> 00:00:29,230 >> Amma həqiqətən yaratmaq üçün nə istəyirsinizsə, öz funksiyaları, bəzi kimi 10 00:00:29,230 --> 00:00:31,740 Əgər siz artıq başlayıb bilər Problem müəyyən bir olsa nə 11 00:00:31,740 --> 00:00:33,140 ciddi tələb? 12 00:00:33,140 --> 00:00:37,150 Yaxşı, ki, irəli getmək və yenidən bildirin yalnız üçün istifadəçi xahiş problemi 13 00:00:37,150 --> 00:00:40,660 haqqında öz adı və çap şey ekran, lakin bəzi Factor cəhd 14 00:00:40,660 --> 00:00:44,000 biz etdik ki, ümumiliyi və Bu günə qədər bizim kodu görüldü. 15 00:00:44,000 --> 00:00:45,120 Belə ki, Mən aşağıdakı tuturam. 16 00:00:45,120 --> 00:00:47,315 >> Mən irəli getmək və yaratmaq üçün gidiyorum yeni bir proqram, yalnız zəng 17 00:00:47,315 --> 00:00:49,320 o zamanki kimi hello.c. 18 00:00:49,320 --> 00:00:53,730 Mən irəli getmək və özümü verəcəyəm üst standart io.h daxildir. 19 00:00:53,730 --> 00:00:57,040 Mən də özümü verəcəyəm preemptively ki, CS50 kitabxana ki, 20 00:00:57,040 --> 00:00:59,080 Mən compiler tərəfindən də yelled deyil. 21 00:00:59,080 --> 00:01:02,400 İndi isə irəli getmək gidiyorum və int, əsas, etibarsız elan. 22 00:01:02,400 --> 00:01:09,020 >> Mən istədiyiniz Və sonra burada, bu funksionallığı Outsource başlayacaq 23 00:01:09,020 --> 00:01:12,090 Mən özüm edirəm ki, digər funksiyası yazmaq niyyətində lakin o deyil 24 00:01:12,090 --> 00:01:13,820 Hal-hazırda mövcuddur. 25 00:01:13,820 --> 00:01:19,210 Məsələn, mən istəyirdim ki, güman mənə imkan verir ki, bir funksiyası yazmaq 26 00:01:19,210 --> 00:01:23,830 hello, vergül çap və sonra bir istifadəçi adı. 27 00:01:23,830 --> 00:01:29,010 Printf bunu davam daha çox hello,% s, əgər gözəl ola bilməz 28 00:01:29,010 --> 00:01:33,380 adlı funksiyası yalnız var idi printf lakin çap adı deyil? 29 00:01:33,380 --> 00:01:36,600 >> Belə ki, başqa sözlə, mən etmək istəyirəm bir az ki, bir proqram yazmaq 30 00:01:36,600 --> 00:01:37,710 bu kimi bir şey. 31 00:01:37,710 --> 00:01:42,070 Birincisi, mən printf demək gidiyorum üçün adı, bununla istifadəçi isteyen 32 00:01:42,070 --> 00:01:46,150 Mən sonra mənə onun adı vermək, üçün tanış string s istifadə etmək niyyətindədir 33 00:01:46,150 --> 00:01:47,290 bir simli bəyan edir. 34 00:01:47,290 --> 00:01:50,420 , Mənə tipli simli dəyişən ver ki, s zəng və mağaza 35 00:01:50,420 --> 00:01:52,120 string almaq çağıran nəticəsində. 36 00:01:52,120 --> 00:01:56,060 Amma indi son həftə, mən var ki, qədər maraqsız həyata hello,% s / n. 37 00:01:56,060 --> 00:01:58,630 38 00:01:58,630 --> 00:02:02,570 >> Və başqa sözlə, biz bu gördük dəfə Məsələn bir dəstə və bu, bir 39 00:02:02,570 --> 00:02:05,280 yalnız bir var, çünki misal mənasız kodu line belə həqiqətən deyil 40 00:02:05,280 --> 00:02:06,860 böyük yenidən yazaraq saxlamaq. 41 00:02:06,860 --> 00:02:09,990 Amma güman kodu xətti həqiqətən bir yük olmaq, və edilmişdir 42 00:02:09,990 --> 00:02:12,900 bu kodu bir xətt deyil, lakin 10 var kodu xətləri artıq bir neçə həftə, 43 00:02:12,900 --> 00:02:15,190 və yalnız yorğun əldə etdiyiniz çıxarmaq və yapıştırma və ya 44 00:02:15,190 --> 00:02:17,180 Eyni kodu retyping. 45 00:02:17,180 --> 00:02:22,100 Əvəzinə bunu gözəl olmaz printf hello,% s və s, 46 00:02:22,100 --> 00:02:26,500 yalnız var idi əgər gözəl ola bilməz print ad adlı bir funksiyası 47 00:02:26,500 --> 00:02:27,560 bir dəlil edir - 48 00:02:27,560 --> 00:02:29,120 Başqa sözlə, o, daxil edir - 49 00:02:29,120 --> 00:02:30,620 və sonra nöqtəli vergül. 50 00:02:30,620 --> 00:02:33,240 Belə ki funksiyası, bu verməyəcəklərini mövcud ki, əgər gözəl? 51 00:02:33,240 --> 00:02:36,690 Sonra narahat olmazdı printf nə, nə% s və bütün 52 00:02:36,690 --> 00:02:39,400 ki, bu çətinliklər bütün maraqlı. 53 00:02:39,400 --> 00:02:40,570 Onlar faydalıdır. 54 00:02:40,570 --> 00:02:44,700 >> Belə ki, çap adı, təəssüf ki, deyil, 40 plus il əvvəl bir icad. 55 00:02:44,700 --> 00:02:45,980 Heç kəs yazmaq üçün düşündüm. 56 00:02:45,980 --> 00:02:48,300 Amma bir olan gözəlliyi var yalnız kimi proqramlaşdırma dili 57 00:02:48,300 --> 00:02:52,930 Not belə, xüsusi blokları müəyyən edə bilərsiniz C və ən hər hansı bir dil, siz 58 00:02:52,930 --> 00:02:57,260 öz funksionallığı müəyyən edə bilərsiniz öz funksiyaları müəyyən edir. 59 00:02:57,260 --> 00:03:01,710 Biz əsas əldə Belə ki, baxmayaraq ki, avtomatik pulsuz, biz elan edə bilər 60 00:03:01,710 --> 00:03:02,730 öz funksiyaları. 61 00:03:02,730 --> 00:03:05,670 >> Belə ki, mən burada bir neçə otaq etmək gidiyorum qədər top və mən bəyan etmək gidiyorum mənim 62 00:03:05,670 --> 00:03:08,210 bir baxmaq üçün gedir ki, öz funksiyası az ilk qəribə lakin biz gələcəyik! 63 00:03:08,210 --> 00:03:09,400 geri əvvəl uzun. 64 00:03:09,400 --> 00:03:12,310 Mən bununla, etibarsız demək gidiyorum Bu funksiya ifadə edir 65 00:03:12,310 --> 00:03:16,040 bir şey, bir yan təsiri var, lakin də mənə bir şey qayıtmaq deyil 66 00:03:16,040 --> 00:03:18,810 və ya int almaq eyni şəkildə özü edir string almaq. 67 00:03:18,810 --> 00:03:22,450 Və mən bu funksiyası vermək gidiyorum Çap adı adı, və mən gidiyorum 68 00:03:22,450 --> 00:03:26,470 Bu adam gedir ki, müəyyən simli, mən ki, zəng etmək gidiyorum 69 00:03:26,470 --> 00:03:27,600 string adı. 70 00:03:27,600 --> 00:03:32,100 Mən istəyirəm bir şey zəng, lakin bilər mən Mənim kodu özünü sənədləşdirilməsi olmaq istəyirəm. 71 00:03:32,100 --> 00:03:34,770 Başqa sözlə, siz əgər biri idi Bu faylı açmaq və oxumaq, siz ola bilər 72 00:03:34,770 --> 00:03:39,020 ki, adı nəticə çıxarmaq növ oynamaq üçün ehtimal hansı rolu girdi. 73 00:03:39,020 --> 00:03:42,270 >> İndi ki, aşağıda, mən açıq gedirəm buruq burğu və qapalı buruq brace, 74 00:03:42,270 --> 00:03:47,140 və mən eyni təqib etdik qeyd xətləri yeddi vasitəsilə dörd kimi model 75 00:03:47,140 --> 00:03:51,622 Yaxşı bir həftə plus üçün aşağıdakı olduğunuz İndi xətləri doqquz, demək arasında 76 00:03:51,622 --> 00:03:53,400 Əsas təşkil edən 14. 77 00:03:53,400 --> 00:03:56,160 Başqa sözlə, adı çap bir funksiyası var. 78 00:03:56,160 --> 00:03:58,990 İndi compiler bilmək niyyətində deyil avtomatik olaraq bu şey zəng etmək üçün 79 00:03:58,990 --> 00:04:02,670 Mən sözün yalnız icad, çünki lakin bu əsas zəng hələ biləcəklər 80 00:04:02,670 --> 00:04:08,710 avtomatik, sonra əlbəttə line 13, mən öz funksiyası zəng edirəm. 81 00:04:08,710 --> 00:04:12,805 Və çünki mən bəyan etdik ki, funksiyası up əsas əvvəl xətt dörd, 82 00:04:12,805 --> 00:04:16,579 Bu compiler öyrətmək üçün gedir nə quote, dırnağı bağlamaq, "print adı" 83 00:04:16,579 --> 00:04:18,140 deməkdir və bunu nə. 84 00:04:18,140 --> 00:04:22,700 Mən yeni bir xüsusi verilməsi növ Ben cızın demək, kontekstində blok. 85 00:04:22,700 --> 00:04:27,240 >> Belə ki, burada, mən çox ümumi qoya bilər Mən saxlamaq kodu və ya təkrarlanan model 86 00:04:27,240 --> 00:04:32,300 sinif yazı, printf % S hello,% s / n ", - 87 00:04:32,300 --> 00:04:36,720 88 00:04:36,720 --> 00:04:37,590 Burada qoymaq nə istəyirlər? 89 00:04:37,590 --> 00:04:39,200 S? 90 00:04:39,200 --> 00:04:41,420 Mən bu kontekstdə ad qoymaq istəyirik. 91 00:04:41,420 --> 00:04:43,440 Belə ki, burada bir dichotomy bir qədər bilərsiniz. 92 00:04:43,440 --> 00:04:47,680 Mən öz funksiyası bəyan edirəm Çünki və mən bir qədər özbaşına çağırıb 93 00:04:47,680 --> 00:04:50,880 bu adı çap və mən var, çünki parantez göstərilən bu 94 00:04:50,880 --> 00:04:55,035 funksiyası bir dəlil, növü edir bir string - belə bir söz var 95 00:04:55,035 --> 00:05:00,010 və ya söz və ya bir şey kimi - və Mən ki, dəlil adı zəng alıram 96 00:05:00,010 --> 00:05:04,770 var ki, yalnız dəyişən deməkdir daxilində, belə demək olarsa, adıdır. 97 00:05:04,770 --> 00:05:07,780 >> S nə yalnız iki arasında mövcud buruq aşırma, əlbəttə? 98 00:05:07,780 --> 00:05:12,990 Həqiqətən, yalnız xətt 10 kimi vasitəsilə Yaxşı 14, belə ki, yalnız bazar ertəsi günü kimi istifadə edə bilməz 99 00:05:12,990 --> 00:05:17,650 S, lakin nə edə bilərəm keçmək edilir Çap adını S. 100 00:05:17,650 --> 00:05:21,030 Çap adı məhz belə vermək olur bir alias, sinonimi, bir ləqəb, 101 00:05:21,030 --> 00:05:24,400 bu adı zəng və indi bu istiqamətdə istifadə. 102 00:05:24,400 --> 00:05:26,840 Belə ki, indi Uzaklaştırmak, məni saxla bildirin. 103 00:05:26,840 --> 00:05:31,250 >> Mənə davam və salam edək. 104 00:05:31,250 --> 00:05:32,400 Yaxşı görünür. 105 00:05:32,400 --> 00:05:36,110 Hər hansı bir səhv tüpürmək etməyib. . / Daxil edin salam. 106 00:05:36,110 --> 00:05:37,020 Mənim adı nedir? 107 00:05:37,020 --> 00:05:38,060 David. 108 00:05:38,060 --> 00:05:39,270 Davud salam. 109 00:05:39,270 --> 00:05:41,820 Belə ki, bütün maraqlı deyil, ancaq indi düşünürəm. 110 00:05:41,820 --> 00:05:44,310 İndi həmin tərkib hissəsi var biz Not olduğu kimi 111 00:05:44,310 --> 00:05:45,420 öz funksiyaları edir. 112 00:05:45,420 --> 00:05:46,770 >> Lakin Gotcha bir qədər var. 113 00:05:46,770 --> 00:05:50,620 Mən, həqiqətən, fikir deyil ki, Güman Bu, faktiki vasitəsilə və mən olmadan 114 00:05:50,620 --> 00:05:54,250 həqiqətən bu barədə düşünürük yazdı burada funksiyası aşağı. 115 00:05:54,250 --> 00:05:55,420 Mükəmməl ağlabatan hiss edir. 116 00:05:55,420 --> 00:05:58,440 Not heç bir anlayışı yoxdur Sizin yazıları yer. 117 00:05:58,440 --> 00:06:00,670 Siz bir, burada, burada bir qədər qoymaq bilər bir qədər burada və bu başlaya bilər 118 00:06:00,670 --> 00:06:03,310 Əgər deyilsə bir az messy baxmaq bu səliqəli yerinə qoymaq, lakin o, deyil 119 00:06:03,310 --> 00:06:05,910 fiziki scripts yerləşir Fərq ekranda idi. 120 00:06:05,910 --> 00:06:09,660 Təəssüf ki, C - bu fərqli Java və Python kimi dillər 121 00:06:09,660 --> 00:06:13,600 və tanış ola bilər ki, başqaları təəssüf C, sifariş edir - ilə 122 00:06:13,600 --> 00:06:15,830 watch nə çünki Fərq İndi nə olacaq. 123 00:06:15,830 --> 00:06:19,010 >> Gedir ki default funksiyası icra etmək, əlbəttə, əsas deyil. 124 00:06:19,010 --> 00:06:22,290 Ana çap adı zəng gedir line səkkiz, amma təəssüf ki, 125 00:06:22,290 --> 00:06:26,660 compiler hətta çap adını bilmək olmaz bu xətt 11 olur qədər mövcud 126 00:06:26,660 --> 00:06:28,520 olan təəssüf ki çox gec olacaq. 127 00:06:28,520 --> 00:06:30,660 Belə ki, salam etmək Agentliyi edək. 128 00:06:30,660 --> 00:06:32,950 İndi lənətləmək, iki səhvlər yaradılan. 129 00:06:32,950 --> 00:06:36,050 Belə ki, indi mənə çox qədər diyirləyin bildirin Birincisi, biz həmişə etmək və lazım 130 00:06:36,050 --> 00:06:39,560 mənə böyle oldu fark, Funksiyası "gizli bəyannaməsi 131 00:06:39,560 --> 00:06:40,540 adını yazdırın. " 132 00:06:40,540 --> 00:06:43,860 >> Beləliklə, biz bu mesajı əvvəl gördüm, funksiyasının örtülü bəyannamə. 133 00:06:43,860 --> 00:06:48,080 Biz səhv belə görmüşəm? 134 00:06:48,080 --> 00:06:49,180 Mən kitabxana daxil etməyib zaman. 135 00:06:49,180 --> 00:06:53,470 Mən cs50.h unutdu və əgər mən almaq istəyirəm string almaq və ya int almaq üçün at yelled. 136 00:06:53,470 --> 00:06:56,880 Amma bu halda, bu funksiya çap ad hüququ, kitabxana deyil? 137 00:06:56,880 --> 00:07:00,230 Belə, Bu faylda sözün var nə həqiqətən problem var? 138 00:07:00,230 --> 00:07:04,660 >> Yaxşı təəssüf C, o, sizi belə olduqca sözün ki, əgər siz 139 00:07:04,660 --> 00:07:08,640 Çap adı adlı bir funksiyası istəyirəm var, ya həyata keçirilməsi üçün 140 00:07:08,640 --> 00:07:11,940 Sizin çox üst funksiyası kodunu aşağı əlçatan var ki, 141 00:07:11,940 --> 00:07:15,070 funksiyaları, lakin səmimi ki, olur çox tez sloppy. 142 00:07:15,070 --> 00:07:18,160 Şəxsən, mən ilk əsas qoyulması kimi o, çox nə aydın, çünki 143 00:07:18,160 --> 00:07:19,890 proqram ilk baxışdan edir. 144 00:07:19,890 --> 00:07:23,290 Və üstəgəl, siz qəribə küncə əldə edə bilərsiniz x zəng etmək istəyirsə hallarda 145 00:07:23,290 --> 00:07:27,530 y lakin y siz x yalnız zəng edə bilər fiziki həqiqətən bir qoymaq bilməz 146 00:07:27,530 --> 00:07:28,540 digər yuxarıda. 147 00:07:28,540 --> 00:07:31,230 >> Amma bu, C edə bilər çıxır çox sadəcə bu həll. 148 00:07:31,230 --> 00:07:34,010 Mən yer bir az qoymaq gidiyorum burada və mən yalnız gidiyorum 149 00:07:34,010 --> 00:07:38,170 preemptively olsa qədər redundantly ki, tədris etmək fikrinizdə 150 00:07:38,170 --> 00:07:42,320 funksiyası mövcuddur compiler çap adını, bir simli edir 151 00:07:42,320 --> 00:07:46,330 və mən zəng etmək gidiyorum bu nöqtəli vergül adı. 152 00:07:46,330 --> 00:07:50,220 >> Indi line dörd belə hansı əvvəl görmədim, bir bəyannamə deyil 153 00:07:50,220 --> 00:07:53,940 funksiyası çap adı, lakin o, yalnız Bu funksiya olacaq bir söz 154 00:07:53,940 --> 00:07:56,620 nəhayət nəticədə, müəyyən həyata keçiriləcək. 155 00:07:56,620 --> 00:08:00,180 İndi mən tək tərk edə bilər, çünki İndi bu tərifi deyil, 156 00:08:00,180 --> 00:08:04,090 son mil həyata keçirilməsi, sort bu həyata keçirilməsi 157 00:08:04,090 --> 00:08:05,130 xüsusi fəaliyyət göstərir. 158 00:08:05,130 --> 00:08:08,450 Belə səmimi bu axmaq, o, annoying var lakin bu C yol və bu 159 00:08:08,450 --> 00:08:12,050 çox sözün götürür çünki və kompüter səmimi, olduğu kimi, 160 00:08:12,050 --> 00:08:16,020 yalnız ona deyir dəqiq nə etmək, və düzəldikdən vacibdir ki,. 161 00:08:16,020 --> 00:08:18,940 >> Belə ki, nəzərə ki, saxlamaq və yenidən başlamaq nümunələri təkrarlanma bilərsiniz. 162 00:08:18,940 --> 00:08:21,850 Əgər varsa Oran, siz var artıq mesajlar qarşılaşmağa başlayır 163 00:08:21,850 --> 00:08:24,700 bu kimi ilk baxışdan görünür tamamilə sirli, ancaq başlamaq əgər 164 00:08:24,700 --> 00:08:29,000 kimi bu açar sözlər axtarmaq üçün Bir "gizli bəyannamə" qeyd 165 00:08:29,000 --> 00:08:32,380 Bu halda funksiyası - səmimi və siz bəzən hətta bir az yaşıl almaq 166 00:08:32,380 --> 00:08:35,010 burada deyir ki, kök simvol məsələ yəqin ki, - 167 00:08:35,010 --> 00:08:40,980 Siz vasitəsilə yol iş başlaya bilər hələ görünməmiş səhv messages. 168 00:08:40,980 --> 00:08:45,860 Yazma haqqında hər hansı bir sualınız üçün Bu yolla öz funksiyası? 169 00:08:45,860 --> 00:08:47,540 >> Bir ki, bir şey edək az daha çekici. 170 00:08:47,540 --> 00:08:51,760 Ki, bir şey yalnız daha çox çap bir yan təsiri, getməmə 171 00:08:51,760 --> 00:08:55,340 irəli və yeni fayl saxlamaq və biz edəcəyik O, baxmayaraq ki, bu positive.c zəng 172 00:08:55,340 --> 00:08:57,600 bir az fərqli olacaq son dəfə qarşı. 173 00:08:57,600 --> 00:09:01,910 Və bu zaman, mən yenidən həyata istəyirəm son zamanların positive.C Məsələn, hansı 174 00:09:01,910 --> 00:09:04,430 istifadəçi verməyə məcbur edir Mənə bir müsbət tam. 175 00:09:04,430 --> 00:09:07,280 Amma mən int son dəfə almaq istifadə etmək idi. 176 00:09:07,280 --> 00:09:10,780 Var idi, əgər gözəl olmazdı funksiyası müsbət int almaq çağırıb 177 00:09:10,780 --> 00:09:13,610 Mən yalnız bu Outsource bilər ki, funksionallığı parçası? 178 00:09:13,610 --> 00:09:16,480 Burada fərq biz edəcəyik edir müsbət int almaq həyata, lakin fərqli 179 00:09:16,480 --> 00:09:20,330 bir yan təsiri olan çap ad - bu kimi mənə bir şey vermədi 180 00:09:20,330 --> 00:09:21,710 nömrə və ya simli - 181 00:09:21,710 --> 00:09:25,510 müsbət int, əlbəttə, gedir almaq ümid edirəm ki, müsbət int qaytarın. 182 00:09:25,510 --> 00:09:26,170 >> Belə ki, bunu edək. 183 00:09:26,170 --> 00:09:30,840 Cs50.h əlavə, standart io.h. daxil 184 00:09:30,840 --> 00:09:33,520 Əsas etibarsız Int. 185 00:09:33,520 --> 00:09:42,160 İndi burada, mən irəli getmək gidiyorum və edək int demək, n zəng, bərabərdir 186 00:09:42,160 --> 00:09:44,270 müsbət int almaq. 187 00:09:44,270 --> 00:09:49,080 Və kimi int artıq mövcuddur almaq heyəti bunu yazdı, çünki gedirəm 188 00:09:49,080 --> 00:09:53,950 ki bu an üçün güman müsbət int var, indi gedirəm 189 00:09:53,950 --> 00:09:57,730 davam və printf demək, ki,% i / n ", n üçün təşəkkür edirik. 190 00:09:57,730 --> 00:10:02,940 191 00:10:02,940 --> 00:10:07,770 >> Bu proqram tərtib İndi əgər, nə mənim terminal baş gedir 192 00:10:07,770 --> 00:10:09,075 Ekranın altındakı pəncərə? 193 00:10:09,075 --> 00:10:11,580 194 00:10:11,580 --> 00:10:13,900 Mən yəqin ki, almaq üçün gidiyorum əvvəlki kimi eyni səhvi. 195 00:10:13,900 --> 00:10:14,570 Belə ki, bu cəhd edək. 196 00:10:14,570 --> 00:10:16,450 Müsbət olun. 197 00:10:16,450 --> 00:10:19,900 Və yenə örtülü bəyannamə funksiyası, müsbət int almaq. 198 00:10:19,900 --> 00:10:21,970 Beləliklə, biz bu həll edə bilər yolları bir neçə. 199 00:10:21,970 --> 00:10:27,310 Mən yalnız bu sadə və saxlamaq gidiyorum Burada bəyannaməsi qoymaq və almaq 200 00:10:27,310 --> 00:10:28,120 müsbət int. 201 00:10:28,120 --> 00:10:29,720 Mən qondarma imza lazımdır. 202 00:10:29,720 --> 00:10:32,410 İmza yalnız istinad ki, estetikasını 203 00:10:32,410 --> 00:10:34,090 Proqramın birinci xətt. 204 00:10:34,090 --> 00:10:37,420 Beləliklə, nə müsbət almaq lazımdır geri int? 205 00:10:37,420 --> 00:10:37,970 >> Belə ki int. 206 00:10:37,970 --> 00:10:41,540 Mən ideal demək, geri ki, müsbət int kimi bir şey, ancaq ki, 207 00:10:41,540 --> 00:10:42,160 mövcud deyil. 208 00:10:42,160 --> 00:10:45,280 Biz görmürsənmi olduğunuz veri arasında növləri, biz ilə məşğul olmaq 209 00:10:45,280 --> 00:10:47,170 biz çox az var ki, əslində məlumat növləri ilə işləmək üçün. 210 00:10:47,170 --> 00:10:50,360 Amma biz int və yalnız qayıda bilər müsbət olacaq güvənirəm. 211 00:10:50,360 --> 00:10:52,690 Bu adlı olacaq müsbət int almaq. 212 00:10:52,690 --> 00:10:55,122 >> İndi necə, onun dəlilləri haqqında? 213 00:10:55,122 --> 00:10:56,440 Hər hansı bir daxil lazımdır? 214 00:10:56,440 --> 00:10:58,280 Hər hansı bir daxil ehtiyac varmı? 215 00:10:58,280 --> 00:11:00,900 Belə ki, bilmək lazım deyil əvvəlcədən bir şey. 216 00:11:00,900 --> 00:11:03,220 Simli, int deyil almaq deyil alın. 217 00:11:03,220 --> 00:11:06,430 Printf edir - bəzi olmalıdır input bu keçdi - və çap adı 218 00:11:06,430 --> 00:11:09,020 Bəzi giriş lazım, amma almaq müsbət int deyil. 219 00:11:09,020 --> 00:11:11,530 Beləliklə, mən açıq-aydın gidiyorum compiler etibarsız demək. 220 00:11:11,530 --> 00:11:13,470 Etibarsız başqa bir şey olmamasıdır. 221 00:11:13,470 --> 00:11:17,990 Belə etibarsız vasitələri heç bir şey daxilində gedir o parantez ki, nöqtəli vergül. 222 00:11:17,990 --> 00:11:20,840 >> İndi mənim fayl altındakı - və anal yenidən, mən yalnız olan alıram cür 223 00:11:20,840 --> 00:11:23,640 burada üst əsas qoyaraq, hansı yaxşı təcrübə bu şəkildə, çünki, 224 00:11:23,640 --> 00:11:26,220 Siz və ya başqası zaman Sizin faylını açır 225 00:11:26,220 --> 00:11:27,400 funksionallığı hüququ var. 226 00:11:27,400 --> 00:11:29,660 Siz kvadrat bir dalış edə bilərsiniz. 227 00:11:29,660 --> 00:11:34,190 Belə ki, indi ki, bu cüt üçün gidiyorum müsbət int void almaq, ancaq mən deyiləm 228 00:11:34,190 --> 00:11:35,430 İndi bir nöqtəli vergül edib gedir. 229 00:11:35,430 --> 00:11:38,280 Mən buruq aşırma açmaq üçün gidiyorum və indi borc lazımdır 230 00:11:38,280 --> 00:11:39,700 Bazar ertəsi bəzi fikirlər. 231 00:11:39,700 --> 00:11:44,450 >> Siz geri etdiyim kimi, biz bir şey idi Aşağıdakı isə nə kimi 232 00:11:44,450 --> 00:11:45,830 şey doğru idi. 233 00:11:45,830 --> 00:11:46,630 Və nə idi? 234 00:11:46,630 --> 00:11:51,540 Mən vermək kimi bir şey idi Mənə bir müsbət tam, 235 00:11:51,540 --> 00:11:52,430 tez az bit. 236 00:11:52,430 --> 00:11:53,540 Mən istəyirəm hər hansı bir söz istifadə edə bilər. 237 00:11:53,540 --> 00:11:54,960 Və sonra mən nə istifadə? 238 00:11:54,960 --> 00:11:59,530 Int n, int almaq bərabərdir bu arqumentlər yoxdur. 239 00:11:59,530 --> 00:12:00,550 >> Və fark. 240 00:12:00,550 --> 00:12:04,680 Istifadə zaman, funksiyanı zəng zaman Funksiyanı, siz boşluq qoymaq deyil. 241 00:12:04,680 --> 00:12:08,570 Bir elan zaman yalnız bunu funksiyası compiler tədris nə 242 00:12:08,570 --> 00:12:09,780 bunu gözləmək lazımdır. 243 00:12:09,780 --> 00:12:11,650 Beləliklə, siz qoymaq lazım deyil orada özünüzü ləğv. 244 00:12:11,650 --> 00:12:12,940 >> İndi mənim vəziyyət nə idi? 245 00:12:12,940 --> 00:12:19,670 Yaxşı, n, müsbət bərabər deyil lakin yalnız yalançı kodu var. 246 00:12:19,670 --> 00:12:22,530 Belə ki, necə daha çox pakizə bu ifadə edirsiniz? 247 00:12:22,530 --> 00:12:24,090 Belə ki, daha az və ya sıfıra bərabərdir. 248 00:12:24,090 --> 00:12:26,250 Belə ki, təkrar edə bilərsiniz qeyd daha az və ya bərabərdir. 249 00:12:26,250 --> 00:12:28,100 Ayrı-ayrı iki belə olsa simvollar, siz bunu edə bilər 250 00:12:28,100 --> 00:12:29,350 kimi sizin klaviatura. 251 00:12:29,350 --> 00:12:33,950 >> Amma ki, bir səhv hələ də var Mən keçən dəfə qədər berbat. 252 00:12:33,950 --> 00:12:36,950 Mən bəyan var - 253 00:12:36,950 --> 00:12:37,460 dəqiq. 254 00:12:37,460 --> 00:12:39,640 Mən kənarda elan var loop edir. 255 00:12:39,640 --> 00:12:44,180 Ona görə də mən burada n qoymaq lazımdır və mən deyil Burada yenidən bəyan etmək istəyirəm 256 00:12:44,180 --> 00:12:46,480 deyə yeni bir dəyişən almaq. 257 00:12:46,480 --> 00:12:48,860 Mən burada bir dəyər təyin etmək istəyirik. 258 00:12:48,860 --> 00:12:54,320 >> İndi Mən burada aparılan deyiləm. 259 00:12:54,320 --> 00:12:57,290 Mənə qabaqda özümü imkan və mən bitirdim iddia. 260 00:12:57,290 --> 00:13:01,220 Müsbət olun, və indi yeni bir səhv var. 261 00:13:01,220 --> 00:13:04,550 Nəzarət sonu çatıb qeyri-boşluq fəaliyyət göstərir. 262 00:13:04,550 --> 00:13:07,760 Yeni hata beledir Belə ki, lakin, əgər cür sözləri hər ayrı tease, o, 263 00:13:07,760 --> 00:13:09,620 yəqin yanlış nə göstərişlər. 264 00:13:09,620 --> 00:13:11,240 >> Nəzarət. 265 00:13:11,240 --> 00:13:14,250 Control yalnız sifariş etmək deməkdir bir proqram əməliyyatları. 266 00:13:14,250 --> 00:13:16,510 Kompüter nəzarət və bir şey yanlış getdi. 267 00:13:16,510 --> 00:13:18,510 Belə ki, ilin sonuna çatır qeyri-boşluq fəaliyyət göstərir. 268 00:13:18,510 --> 00:13:21,760 Nə funksiyası Şübhəlinin istinad? 269 00:13:21,760 --> 00:13:24,790 Nə funksiyası qeyri-etibarsız edir? 270 00:13:24,790 --> 00:13:27,400 Belə ki, müsbət int almaq və bir az ki, yaxşı qarıxdırıcı, 271 00:13:27,400 --> 00:13:29,010 olmadığına görə qüvvədən düşmüş növü var. 272 00:13:29,010 --> 00:13:33,070 Onun üçün etibarsız bir dəqiqləşdirilməsi var mübahisələri, lakin onun çıxış etmək niyyətindədir 273 00:13:33,070 --> 00:13:34,540 tipli n olmaq. 274 00:13:34,540 --> 00:13:37,260 Belə ki, sol sözü olan geri növü deyilən. 275 00:13:37,260 --> 00:13:40,320 Burada daxili söz sıfır və ya daha çox arqumentlər 276 00:13:40,320 --> 00:13:41,970 funksiyası edir ki,. 277 00:13:41,970 --> 00:13:44,060 >> Beləliklə, mən nə etməliyəm? 278 00:13:44,060 --> 00:13:47,650 Mənim kodu Bu baxımdan line 21 yerləşir hazırda Sayrışma tez İndi ki, 279 00:13:47,650 --> 00:13:51,430 müsbət int daxilində var n adlı dəyişən. 280 00:13:51,430 --> 00:13:55,200 Nasıl əsas geri verə bilərəm? 281 00:13:55,200 --> 00:13:55,960 Sözün. 282 00:13:55,960 --> 00:13:59,320 N nöqtəli vergül qayıt. 283 00:13:59,320 --> 00:14:04,090 >> Belə ki, yalnız kimi Colton bir parça döndü düşmə mənə bir cavab kağız 284 00:14:04,090 --> 00:14:07,020 kiçik qara kağız ki, parça da bunu müzakirə qutusu, 285 00:14:07,020 --> 00:14:10,100 kodu, sözün yalnız qayıtmaq yazmaq Colton sanki n, və bu 286 00:14:10,100 --> 00:14:12,140 mənə bir şey fiziki geri verilməsi. 287 00:14:12,140 --> 00:14:15,870 Bu halda, neler əldə edilir müsbət int geri əl gedir 288 00:14:15,870 --> 00:14:19,220 nə ehtimalla müsbət var kimə tam? 289 00:14:19,220 --> 00:14:21,380 Ki, dəyəri harada son edir? 290 00:14:21,380 --> 00:14:29,080 Bu n, bu dəyişən bitir, və sonra biz line doqquz davam. 291 00:14:29,080 --> 00:14:31,920 >> Belə ki, başqa sözlə, qaydasında əməliyyatlar, bu proqram başlayır 292 00:14:31,920 --> 00:14:34,430 , icra və compiler həyata keçirir oh, siz kitabxana istəyirsiniz? 293 00:14:34,430 --> 00:14:36,310 Mənə grab içerisinde nə gidelim. 294 00:14:36,310 --> 00:14:37,750 Oh, Siz standart IO kitabxana istəyirsiniz? 295 00:14:37,750 --> 00:14:39,660 Mənə grab içerisinde nə gidelim. 296 00:14:39,660 --> 00:14:44,510 Compiler özü üçün nə deyir bu xətt dörd xit zaman? 297 00:14:44,510 --> 00:14:47,980 Oh, siz həyata keçirilməsi üçün vəd funksiyası müsbət almaq adlanır, lakin 298 00:14:47,980 --> 00:14:50,820 biz sonra o geri almaq lazımdır bu xətt bir şey. 299 00:14:50,820 --> 00:14:53,450 >> Int əsas boşluq yalnız burada vasitələri mənim proqramının içalat. 300 00:14:53,450 --> 00:14:54,990 Line yeddi yalnız bir buruq brace edir. 301 00:14:54,990 --> 00:14:59,540 Line səkkiz vermək, sol deyib bir tamsayı üçün mənə 32 bit, bu n deyirik. 302 00:14:59,540 --> 00:15:02,160 Sağ tərəfində, bu müsbət int almaq etdi. 303 00:15:02,160 --> 00:15:07,120 İndi gələk fasilə ki, hekayə indi, çünki Mən kursor aşağı hərəkət saxlamaq yoxdur. 304 00:15:07,120 --> 00:15:11,720 Mənim kursor indi burada qalır, çünki İndi müsbət int həyata almaq. 305 00:15:11,720 --> 00:15:13,100 Int n elan edilir. 306 00:15:13,100 --> 00:15:14,040 Aşağıdakı etməyin. 307 00:15:14,040 --> 00:15:16,090 Printf Mənə bir müsbət tam verir. 308 00:15:16,090 --> 00:15:19,740 >> , Istifadəçi bir int alın n onu saxlamaq, və bəlkə təkrar edirik. 309 00:15:19,740 --> 00:15:23,010 Bu loop bu kodu bilər o deməkdir ki, daha bu kimi icra və aşağı 310 00:15:23,010 --> 00:15:25,810 və yenidən, ancaq istifadəçi zaman nəhayət əməkdaşlıq və mənə müsbət verir 311 00:15:25,810 --> 00:15:31,750 int, Mən məqam da, xətt 21 hit nömrə geri təhvil olan və biri 312 00:15:31,750 --> 00:15:34,280 İndi qeyd etmək lazımdır? 313 00:15:34,280 --> 00:15:35,070 Nine. 314 00:15:35,070 --> 00:15:39,010 Nəzarət, necə deyərlər, qaytarır doqquz girdi. 315 00:15:39,010 --> 00:15:40,650 Məsul indi ki, xətt var. 316 00:15:40,650 --> 00:15:43,250 >> Belə ki, bütün baş vermişdir nə var Bu başlıq altında, lakin 317 00:15:43,250 --> 00:15:46,480 biz printf kimi funksiyaları istifadə etdiyiniz zaman və ya hətta simli almaq başqası 318 00:15:46,480 --> 00:15:50,600 Sizin üçün yazdığı, nəzarət təqdim edilmişdir off başqasının code line 319 00:15:50,600 --> 00:15:51,290 xətti ilə xətti ilə. 320 00:15:51,290 --> 00:15:53,770 Bu, sadəcə biz bunu görürük və biz bilmədi oldu həqiqətən bu onu tam təsvir etməyə bilər 321 00:15:53,770 --> 00:15:57,620 bəzi digər Proqramı çünki sabit fayl 322 00:15:57,620 --> 00:16:00,000 bizə unbeknownst. 323 00:16:00,000 --> 00:16:02,100 Elə əslində tərtib edək və indi bu axır. 324 00:16:02,100 --> 00:16:03,890 >> Müsbət olun. 325 00:16:03,890 --> 00:16:05,260 Tərəqqi ki, tərtib edir. 326 00:16:05,260 --> 00:16:06,650 . / Müsbət. 327 00:16:06,650 --> 00:16:08,020 Mənə bir müsbət tam verin. 328 00:16:08,020 --> 00:16:08,800 Çətin olsun. 329 00:16:08,800 --> 00:16:10,430 1 Mənfi. 330 00:16:10,430 --> 00:16:11,360 Zero. 331 00:16:11,360 --> 00:16:13,370 Nin 50 verim. 332 00:16:13,370 --> 00:16:18,100 50 üçün təşəkkür edirik, və nəzarət İndi qayıdıb. 333 00:16:18,100 --> 00:16:21,750 Hər hansı sual, sonra, ki? 334 00:16:21,750 --> 00:16:23,180 Bəli? 335 00:16:23,180 --> 00:16:25,630 >> [Işitilemez]. 336 00:16:25,630 --> 00:16:26,130 >> Bir daha demək. 337 00:16:26,130 --> 00:16:27,860 Oh, yaxşı sualdır. 338 00:16:27,860 --> 00:16:31,100 Belə ki, burada paralel bilərsiniz ki, Mən bir küncündə kəsici cür edirəm. 339 00:16:31,100 --> 00:16:35,420 Line 12, mən deyən alıram, müsbət int almaq bir int qaytarır, lakin eyni ilə 340 00:16:35,420 --> 00:16:39,660 məntiq, indi səbəb dayanır ki, line altı, mən deyən alıram əsas qaytarır 341 00:16:39,660 --> 00:16:44,040 bir int, lakin biz heç vaxt proqramlar hər hansı idi? 342 00:16:44,040 --> 00:16:46,470 Biz qeyd heç vaxt etdik Bu açar sözü qayıt. 343 00:16:46,470 --> 00:16:49,970 >> Belə ki, ən azı, C çıxır ki, Biz istifadə etdiyiniz bu versiyası 344 00:16:49,970 --> 00:16:55,750 1999-cu ildə edilən, texniki, bu sizin üçün avtomatik olaraq baş. 345 00:16:55,750 --> 00:16:59,300 Dunya bir proqram və həyata keçirilməsi əsas adlı funksiyası həyata 346 00:16:59,300 --> 00:17:04,230 ki, funksiya sıfır qayıdacaqlar default yoxsa demək yoxsa, 347 00:17:04,230 --> 00:17:05,849 və sıfır yalnız bir konqres edir. 348 00:17:05,849 --> 00:17:09,430 Dünya bununla da sıfır qaytarır bütün yaxşı olduğunu ifadə edən 349 00:17:09,430 --> 00:17:13,040 səmərəli bizə tərk dörd milyard getmək mümkün şeylər 350 00:17:13,040 --> 00:17:17,530 yanlış ki, biz bir qayıtmaq, əgər ki, Bu o deməkdir ki, bir kod demek bilər 351 00:17:17,530 --> 00:17:18,310 şey yanlış getdi. 352 00:17:18,310 --> 00:17:20,589 Biz o deməkdir ki, iki qayıtmaq bilər Bu başqa bir şey yanlış getdi. 353 00:17:20,589 --> 00:17:23,440 Biz dörd milyard qayıtmaq bilər Bu başqa bir şey yanlış getdi deməkdir. 354 00:17:23,440 --> 00:17:27,170 >> Və indi öz haqqında düşünüyorsanız PC və ya Mac, siz geri bilər ki, 355 00:17:27,170 --> 00:17:29,610 bəzən sirli hata mesajları almaq Əgər olduğunu proqram 356 00:17:29,610 --> 00:17:32,650 istifadə edərək, və bəzən bir insan var dostluq təsviri, lakin var 357 00:17:32,650 --> 00:17:35,265 tez-tez kodu və ya bir neçə Ekranda? 358 00:17:35,265 --> 00:17:37,800 Bu ağla deyil, yalnız bunun üçün bir göz tutun. 359 00:17:37,800 --> 00:17:40,790 Bu adətən nə bu kodları istinad edilir. 360 00:17:40,790 --> 00:17:44,200 Onlar və Microsoft Word daxil olduğunuz digər proqramlar ki, siz bir fayl əgər 361 00:17:44,200 --> 00:17:48,850 şirkəti ilə səhv hesabat, siz onlara, oh, mən səhv sayı 45 var. 362 00:17:48,850 --> 00:17:51,750 Və şirkətin bəzi proqramçı geri ki arayabilirsiniz onun 363 00:17:51,750 --> 00:17:54,940 Mən etdi, çünki kodu və demək, oh, ki Bu səhv və nə istifadəçi 364 00:17:54,940 --> 00:17:56,240 bu mesajı almışdır. 365 00:17:56,240 --> 00:17:59,490 >> Amma səmimi, yalnız bir az var yayındırır və bir az yorucu 366 00:17:59,490 --> 00:18:02,130 ən azı bizim ki, bağlamaq ilk bir neçə proqramları, biz var belə 367 00:18:02,130 --> 00:18:02,970 bu omitting edilmişdir. 368 00:18:02,970 --> 00:18:07,450 Sizin Lakin bütün bu zaman hər bir funksiyaları əsas gizli bu olmuşdur 369 00:18:07,450 --> 00:18:11,600 xətti avtomatik olaraq sizin üçün əlavə etmək üçün compiler, sadəcə Konvensiyanı 370 00:18:11,600 --> 00:18:13,172 Bir müddət edin. 371 00:18:13,172 --> 00:18:14,620 >> [Işitilemez]. 372 00:18:14,620 --> 00:18:16,250 >> Siz əsas daxil etmək lazım deyil. 373 00:18:16,250 --> 00:18:16,700 Bu gözəl. 374 00:18:16,700 --> 00:18:20,260 Siz olsaydı daxil lazımdır bu kimi bir funksiyanı həyata keçirir. 375 00:18:20,260 --> 00:18:22,850 Əks halda funksiyası düz iş deyil. 376 00:18:22,850 --> 00:18:24,480 Amma əsas, bu lazım deyil. 377 00:18:24,480 --> 00:18:28,450 Bir həftə və ya iki, biz əldə başlarsınız ki, vərdiş halına bir dəfə biz başlamaq istəyirəm 378 00:18:28,450 --> 00:18:29,690 səhvlər signifying. 379 00:18:29,690 --> 00:18:32,550 Sual Həqiqətən yaxşı. 380 00:18:32,550 --> 00:18:36,880 >> Qeyd etmək üçün sürətli şifahi fasilə ki, bu cümə, biz nahar malik olmayacaq 381 00:18:36,880 --> 00:18:39,980 ilə per se, ancaq nahar malik olacaq tələbə və heyəti bəzi. 382 00:18:39,980 --> 00:18:42,940 Siz bizə qoşulmaq istəyirsinizsə, hiss cs50.net/rsvp getmək üçün pulsuz. 383 00:18:42,940 --> 00:18:45,030 Bu cümə PM 6:00. 384 00:18:45,030 --> 00:18:47,990 Space, həmişə olduğu kimi, məhdud, lakin biz edəcəyik təxminən bu bunu davam 385 00:18:47,990 --> 00:18:51,420 həftəlik əsasında kosmik əgər bu həftə həyata çalışır. 386 00:18:51,420 --> 00:18:56,160 >> Beləliklə, biz off tərk cliffhanger Bazar ertəsi strings həqiqətən ki idi 387 00:18:56,160 --> 00:19:00,520 daxil dizine olan yalnız sizin deməkdir ki, ilk xarakter əldə edə bilərsiniz 388 00:19:00,520 --> 00:19:03,770 İkinci xarakteri, üçüncü karakter və s, siz, çünki 389 00:19:03,770 --> 00:19:07,860 səmərəli kimi simli hesab hello, bu halda olan beş 390 00:19:07,860 --> 00:19:09,670 qutuları daxilində məktublar. 391 00:19:09,670 --> 00:19:13,370 Və o hər əldə edə bilərsiniz nə sintaksis etdi qutuları ilə biz 392 00:19:13,370 --> 00:19:15,230 Bazar ertəsi bilərlərmi? 393 00:19:15,230 --> 00:19:16,760 Bu kvadrat mötərizədə klavyenizdeki. 394 00:19:16,760 --> 00:19:18,980 Yalnız yeri sıfır getmək deməkdir ki,. 395 00:19:18,980 --> 00:19:22,840 >> Biz sıfır hesablanması başlamaq, belə ki, bracket sıfır h, bracket bir bildirir 396 00:19:22,840 --> 00:19:25,170 e bildirir, və s. 397 00:19:25,170 --> 00:19:28,490 Biz olduğunuz zaman belə bütün vaxt, zaman "Salam" da strings istifadə və yazmağa 398 00:19:28,490 --> 00:19:31,250 və "dünya" və başqa şeylər haqqında ekran, bu saxlanılır edilmişdir 399 00:19:31,250 --> 00:19:32,820 bu kimi qutuları. 400 00:19:32,820 --> 00:19:33,370 Və bir tahmin edir. 401 00:19:33,370 --> 00:19:37,470 Hər qutusu fiziki nədir təmsil etmir Sizin kompüter daxilində? 402 00:19:37,470 --> 00:19:38,250 >> [Işitilemez]. 403 00:19:38,250 --> 00:19:39,150 >> Üzr istəyirik? 404 00:19:39,150 --> 00:19:39,580 >> Simvol. 405 00:19:39,580 --> 00:19:44,760 >> Halda əlbəttə ki, bir karakter Belə ki, strings və xarakter sadəcə 406 00:19:44,760 --> 00:19:46,800 səkkiz bit və ya bir byte. 407 00:19:46,800 --> 00:19:49,550 Beləliklə, siz yəqin ki, ən azı yayğın var onunla tanış ki, 408 00:19:49,550 --> 00:19:50,500 kompüter yaddaş var. 409 00:19:50,500 --> 00:19:52,110 Bu yaddaş iki növ azı var. 410 00:19:52,110 --> 00:19:54,810 Bir siz saxlamaq, sabit disk deyil daimi mövzusu və var 411 00:19:54,810 --> 00:19:57,400 Siz film ola bilər, adətən, böyük belə və musiqi və s. 412 00:19:57,400 --> 00:20:04,010 >> Sonra siz yaddaş bir növü var RAM R-A-M, Random Access adlı 413 00:20:04,010 --> 00:20:07,510 Yaddaş və bu yaddaş növü Sizin kompüter zaman istifadə olunur ki, 414 00:20:07,510 --> 00:20:11,520 Əgər güc itirmək və ya əgər çalışan batareya ştampların, saxlanılır ki, bir şey 415 00:20:11,520 --> 00:20:15,300 Əgər güc itirmək əgər RAM yox bu deyil, ümumiyyətlə, çünki 416 00:20:15,300 --> 00:20:16,060 israrlı. 417 00:20:16,060 --> 00:20:19,120 Siz adətən, bu gün var bu konsert, bəlkə daha iki gigs. 418 00:20:19,120 --> 00:20:23,490 Və RAM ayaq çox var ki, sabit disk daha çox daha sürətli 419 00:20:23,490 --> 00:20:27,390 və ya hətta bərk dövlət, bu gün sürücüler lakin o, adətən daha bahalı, belə 420 00:20:27,390 --> 00:20:28,480 onu az. 421 00:20:28,480 --> 00:20:32,400 >> Bu gün söhbət həqiqətən istinad Belə ki, RAM, yaddaş bu cür ki, 422 00:20:32,400 --> 00:20:35,270 güc var ki, yalnız var bilgisayarınıza daxil qidalanır olunur. 423 00:20:35,270 --> 00:20:40,530 Belə ki, H-E-L-L-O yazın zaman, Enter klaviatura, H bir gedir 424 00:20:40,530 --> 00:20:44,550 RAM byte, E gedir RAM bir byte, kimi 425 00:20:44,550 --> 00:20:45,800 Sözün istirahət. 426 00:20:45,800 --> 00:20:49,010 Beləliklə, biz bacardıq nə geri son dəfə bunu bu idi. 427 00:20:49,010 --> 00:20:53,940 Mənə davam və faylı açmaq edək biz string.c adlanır və Xatırladaq ki, 428 00:20:53,940 --> 00:20:56,860 bir az baxdı ki, bu kimi bir şey. 429 00:20:56,860 --> 00:20:59,860 Mənə həqiqətən geri roll və dəyişdirmək imkan o, bu kimi baxdı dəqiq nə 430 00:20:59,860 --> 00:21:02,654 s simli uzunluğu. 431 00:21:02,654 --> 00:21:04,560 >> Belə ki, burada proqram oldu. 432 00:21:04,560 --> 00:21:08,530 Biz CS50 kitabxana belə daxildir biz string almaq istifadə edə bilərsiniz. 433 00:21:08,530 --> 00:21:11,400 Biz standart io.h daxildir biz printf istifadə edə bilərsiniz. 434 00:21:11,400 --> 00:21:13,580 Niyə biz string.h daxil idi? 435 00:21:13,580 --> 00:21:16,980 Bu barədə bazar ertəsi yeni idi. 436 00:21:16,980 --> 00:21:18,230 Beləliklə, biz simli uzunluğu istədi. 437 00:21:18,230 --> 00:21:19,090 Str Leng. 438 00:21:19,090 --> 00:21:21,470 İnsanlar il əvvəl qərar ədalətli qısa olsun. 439 00:21:21,470 --> 00:21:24,290 Bunun əvəzinə "string uzunluğu," zəng edək ki, "küç Leng" zəng və imkan 440 00:21:24,290 --> 00:21:28,540 out, və ki, ki, dünya rəqəm biz string.h ilə əldə nə. 441 00:21:28,540 --> 00:21:29,390 >> Bu tanış edir. 442 00:21:29,390 --> 00:21:30,320 Bu tanış edir. 443 00:21:30,320 --> 00:21:31,450 Bu tanış edir. 444 00:21:31,450 --> 00:21:32,370 Bu, bir az yeni. 445 00:21:32,370 --> 00:21:35,420 Line 22 - və biz geri gəlmək lazımdır Bu, indi bilirəm - 446 00:21:35,420 --> 00:21:37,880 və yalnız olan bu bilirik ki, sənədlərin və ya oxumaq 447 00:21:37,880 --> 00:21:39,010 Əgər siz artıq C bilirdi - 448 00:21:39,010 --> 00:21:41,510 string bəzən qıymaq bilər almaq. 449 00:21:41,510 --> 00:21:45,130 Istifadəçi həqiqətən çəkişmə və ya əgər uncooperative və o, yalnız 450 00:21:45,130 --> 00:21:49,450 klaviatura bir şey yazın və ya deyil klaviatura belə çox növləri ki, 451 00:21:49,450 --> 00:21:53,760 o, kompüter yaddaşında overwhelms nəzəriyyəsi, simli qayıtmaq bilər almaq 452 00:21:53,760 --> 00:21:56,270 bir başqa bir şey simvol simli. 453 00:21:56,270 --> 00:22:01,930 Bu adlı xüsusi dəyər qayıtmaq bilər Bütün caps, N-U-L-L, və bu edir NULL 454 00:22:01,930 --> 00:22:03,390 yalnız bir qondarma sentinel dəyəri. 455 00:22:03,390 --> 00:22:08,010 Bu bildirir ki, xüsusi bir dəyəri var pis bir şey bu halda baş verib. 456 00:22:08,010 --> 00:22:10,520 Bu simli olmamasıdır. 457 00:22:10,520 --> 00:22:16,190 >> Belə ki, mən sadəcə belə ki kontrol alıram null uzun sözün qısası küçəsi Leng və 458 00:22:16,190 --> 00:22:20,230 C ilə gəlib ki, digər funksiyaları, əgər onlar bir simli gözləmək ancaq onları keçmək 459 00:22:20,230 --> 00:22:23,630 bir simli olmaması, siz keçmək əgər onlara, kompüter və ya proqram null 460 00:22:23,630 --> 00:22:25,000 yalnız açıq qəza edəcək. 461 00:22:25,000 --> 00:22:25,610 Bu asmaq olacaq. 462 00:22:25,610 --> 00:22:27,250 Bəzi səhv mesaj qədər atmaq edəcək. 463 00:22:27,250 --> 00:22:28,690 Bad şeylər olacaq. 464 00:22:28,690 --> 00:22:31,130 Bu hələ belə olsa yaxşı müəyyən deyil - 465 00:22:31,130 --> 00:22:33,730 bu həftə daha məntiqli ya da iki - line 22, bu, yalnız bir deyil 466 00:22:33,730 --> 00:22:38,790 özünü müdafiə səhv yoxlanılması misal yalnız halda bir dəfə həyata 467 00:22:38,790 --> 00:22:42,040 bir milyon bir şey, yanlış gedir az mənim proqram qəza deyil. 468 00:22:42,040 --> 00:22:45,960 >> S deyil Belə ki, pis bir şey bərabərdir Mən loop bu var və bu idi 469 00:22:45,960 --> 00:22:47,710 biz digər olduğu sintaksis yeni parça. 470 00:22:47,710 --> 00:22:51,580 Mən iterating loop üçün var sıfır s uzunluğu haqqında. 471 00:22:51,580 --> 00:22:56,140 Və sonra burada, mən s həyata çap edilib bracket i, lakin nə mən bütün% c istifadə etməyib 472 00:22:56,140 --> 00:23:00,770 əvəzinə% s ani bir belə s bir simli olsa? 473 00:23:00,770 --> 00:23:02,110 Bu, doğru bir xarakteri var? 474 00:23:02,110 --> 00:23:06,560 S, simli, lakin s bracket bir şey i sıfır olduğu s bracket i 475 00:23:06,560 --> 00:23:10,380 bir və ya bir iki, bir fərdin simli xarakterli və belə 476 00:23:10,380 --> 00:23:14,970 ki, printf məlumat lazımdır ki, həqiqətən gözləmək bir karakter var. 477 00:23:14,970 --> 00:23:18,096 >> Və sonra geri çağırır, bu nə idi proqram həqiqətən nə? 478 00:23:18,096 --> 00:23:19,848 >> Sütunlar onu çap. 479 00:23:19,848 --> 00:23:21,120 >> Bəli, məhz. 480 00:23:21,120 --> 00:23:24,990 Bu, sadəcə mən yazın söz çap bir sütun, satır başına bir xarakter. 481 00:23:24,990 --> 00:23:26,190 Belə ki, bu bir daha nəzər salaq. 482 00:23:26,190 --> 00:23:27,810 Belə ki, simli edir. 483 00:23:27,810 --> 00:23:30,200 OK tərtib. . / String. 484 00:23:30,200 --> 00:23:35,560 Mənə H-E-L-L-O yazın edək daxil edin və Həqiqətən mən, satır başına bir onu almaq. 485 00:23:35,560 --> 00:23:37,280 >> Mənə burada bir optimallaşdırma edək. 486 00:23:37,280 --> 00:23:40,240 Siz xüsusilə də əgər, bu barədə düşünüyorsanız Sizdən əvvəl var proqramlaşdırılmış sonra 487 00:23:40,240 --> 00:23:43,340 line 24 arguably bir təsirsizlik. 488 00:23:43,340 --> 00:23:46,160 Başqa sözlə, bu, mütləq deyil ən yaxşı dizayn. 489 00:23:46,160 --> 00:23:50,200 Sadə, ən azı bir dəfə str Leng nə unutmayın, lakin bu 490 00:23:50,200 --> 00:23:52,640 potensial lal bir şey edir. 491 00:23:52,640 --> 00:23:54,863 Nə ola bilər? 492 00:23:54,863 --> 00:23:56,280 >> [Işitilemez]. 493 00:23:56,280 --> 00:23:56,800 >> Eynilə elə. 494 00:23:56,800 --> 00:24:00,340 Bu s uzunluğu kontrol oldu hər bir zaman olsa da, 495 00:24:00,340 --> 00:24:02,980 H-E-L-L-O həmişə gedir beş simvol olmalıdır. 496 00:24:02,980 --> 00:24:05,490 Bu loop vasitəsilə hər vaxt, Beş dəyişən deyil. 497 00:24:05,490 --> 00:24:08,750 Mən incrementing, lakin nə edilə bilər hər üzrə s uzunluğu 498 00:24:08,750 --> 00:24:09,690 Bu loop iteration? 499 00:24:09,690 --> 00:24:15,810 Bu beş deyil, beş deyil, beş deyil, və lakin mən yenə bu xahiş edirəm 500 00:24:15,810 --> 00:24:18,320 təkrar və təkrar sual. 501 00:24:18,320 --> 00:24:20,750 İndi səmimi, kompüter belə lənətləmək edir sürətli, heç bir fərq olacaq 502 00:24:20,750 --> 00:24:23,780 Bu halda fərq, lakin bu cür yoxsul dizayn qərarları bilər 503 00:24:23,780 --> 00:24:28,330 compiler özü qədər əlavə edin başlayacaq sizin üçün düzeltmek üçün cəhd vermir 504 00:24:28,330 --> 00:24:30,630 bu adətən da, verməyəcəklərini Aracın ən. 505 00:24:30,630 --> 00:24:31,540 >> Beləliklə, mən bunu gedirəm. 506 00:24:31,540 --> 00:24:34,580 Mən sonra vergül əlavə etmək gidiyorum mənim ilk dəyişən, i. 507 00:24:34,580 --> 00:24:37,310 Mən özümü başqa verəcəyəm dəyişən, yalnız, bu zəng n 508 00:24:37,310 --> 00:24:41,330 sonra nömrələri üçün konvensiya və Ben simli dəyəri N təyin etmək niyyətindədir 509 00:24:41,330 --> 00:24:42,530 s uzunluğu. 510 00:24:42,530 --> 00:24:46,060 Və sonra dəyişdirmək gidiyorum mənim vəziyyəti nə olacaq? 511 00:24:46,060 --> 00:24:51,960 Mən vəziyyəti dəyişdirmək üçün gidiyorum i n daha az müddət. 512 00:24:51,960 --> 00:24:55,700 >> Belə ki, indi, mən neçə dəfə am s uzunluğu yoxlanılması? 513 00:24:55,700 --> 00:25:00,110 Sonra, lakin ona qarşı i yoxlamaq üçün OK n təkrar o indi, çünki 514 00:25:00,110 --> 00:25:03,170 dəyərlər əslində dəyişən deyil. 515 00:25:03,170 --> 00:25:06,020 İndi artıq, yalnız bilirik ki, siz istənilən vaxt funksiyası zəng, bir az var 516 00:25:06,020 --> 00:25:09,930 Siz mane yerüstü çatmadı, həqiqətən olan heç funksiyaları istifadə edərək, lakin 517 00:25:09,930 --> 00:25:12,750 kod xətti var əlbəttə zaman belə - və xətləri olacaq 518 00:25:12,750 --> 00:25:15,490 uzun əvvəl daha maraqlı - yerləşir əgər düşünmək imkanı var mən 519 00:25:15,490 --> 00:25:18,320 Bu kodu yazın, nə qədər bu dəfə icra edəcək? 520 00:25:18,320 --> 00:25:20,950 Siz vaxt ərzində görmeye başlarsınız proqramları icrası bilər 521 00:25:20,950 --> 00:25:21,660 həqiqətən dəyişir. 522 00:25:21,660 --> 00:25:24,110 >> Əslində problem biri var edir illər ərzində görülmüş keçmiş cəlb 523 00:25:24,110 --> 00:25:27,600 sizə geri bilər, tətbiq həftə sıfır, bir yazım checker, lakin 524 00:25:27,600 --> 00:25:31,380 yardım üçün nəzərdə tutulmuşdur ki, checker oxumaq Bir 150,000 lüğət plus 525 00:25:31,380 --> 00:25:32,860 biz uşaqlar verir ki, söz. 526 00:25:32,860 --> 00:25:37,100 Siz kodu yazmaq lazımdır ki, yük RAM o sözləri, belə ki, daxil 527 00:25:37,100 --> 00:25:40,700 biz kimi qutuları ekranda an gördüm siz əvvəl və sonra kimi sürətli 528 00:25:40,700 --> 00:25:43,740 bilər, bir cavab lazımdır şəklindəki sualına, bu söz 529 00:25:43,740 --> 00:25:44,280 misspelled? 530 00:25:44,280 --> 00:25:45,420 Bu söz misspelled mı? 531 00:25:45,420 --> 00:25:46,770 Bu söz misspelled mı? 532 00:25:46,770 --> 00:25:49,525 >> Və biz etdik nə kimi bir şey illər ərzində görülmüş keçmiş, onu açıq 533 00:25:49,525 --> 00:25:53,500 bir opt-in isteğe əsasında, A olsa növ rəqabət vasitəsi olan 534 00:25:53,500 --> 00:25:59,470 daha az RAM və daha az istifadə edən tələbələr vaxt, az CPU dövründən son 535 00:25:59,470 --> 00:26:02,640 bir az üst qədər burda lider board və ya biz qoymaq ki, sıralama 536 00:26:02,640 --> 00:26:04,770 biz var kimi əlbəttə ana son illər ərzində görülmüş. 537 00:26:04,770 --> 00:26:08,100 Belə ki, yenə tamamilə isteğe, lakin bu dizayn imkanları danışır 538 00:26:08,100 --> 00:26:11,250 bir dəfə irəlidə biz başlamaq ki, bu bəzi üstün tikinti 539 00:26:11,250 --> 00:26:14,010 əsas bloklar. 540 00:26:14,010 --> 00:26:16,780 >> Belə ki, mənim üçün bu diaqram geri gidelim yalnız bir an və bir az aşkar 541 00:26:16,780 --> 00:26:17,610 bir şey daha. 542 00:26:17,610 --> 00:26:21,400 Bu, həqiqətən bir simli və biz qəbul etdik bir neçə kitabxana üstünlüyü, 543 00:26:21,400 --> 00:26:25,150 olan var standart io.h - 544 00:26:25,150 --> 00:26:26,110 >> Printf. 545 00:26:26,110 --> 00:26:27,860 >> Printf, digər şeylər arasında. 546 00:26:27,860 --> 00:26:31,540 int almaq və simli almaq olan cs50.h, və s, string.h, hansı 547 00:26:31,540 --> 00:26:32,570 str Leng idi. 548 00:26:32,570 --> 00:26:34,800 Başqa hələ var həyata Lakin bu çevrilir. 549 00:26:34,800 --> 00:26:38,540 Açığı, çox və header çox var funksiyaları bəyan fayllar 550 00:26:38,540 --> 00:26:43,320 kitabxanalar üçün, lakin bu ctype.h edir həqiqətən qədər olacaq 551 00:26:43,320 --> 00:26:46,900 gedirəm, çünki əlverişli irəli getmək və bir həyata keçirilməsi üçün 552 00:26:46,900 --> 00:26:48,120 burada digər proqram. 553 00:26:48,120 --> 00:26:52,420 >> Mənə irəli getmək və bir şey açmaq edək Mən adlı əvvəlcədən yazıb 554 00:26:52,420 --> 00:26:55,750 capitalize.c, və bir-qoy necə bu işləri bir göz. 555 00:26:55,750 --> 00:27:00,340 Mən bu versiyası istifadə alıram Qeyd edək ki, bu, üç tanış faylları. 556 00:27:00,340 --> 00:27:04,110 Line 18, Ben Qeyd edək ki, mətn xətti alınması. 557 00:27:04,110 --> 00:27:07,660 Line 21 Notice, mən iddia edirəm ki, aşağıdakı kodu gedir 558 00:27:07,660 --> 00:27:12,170 istifadəçi tipli nə olursa olsun, s kapitallaşdırmalıdır və necə ki, bunu edirəm? 559 00:27:12,170 --> 00:27:13,300 Yaxşı, mən alaraq alıram - 560 00:27:13,300 --> 00:27:14,750 dərs keçən zaman öyrəndim - 561 00:27:14,750 --> 00:27:18,370 Mən və N elan və iterating alıram dizeyi olan simvol artıq. 562 00:27:18,370 --> 00:27:22,720 Və sonra bu blok nə 27 vasitəsilə line 24 kod 563 00:27:22,720 --> 00:27:24,550 layman nin baxımından bunu? 564 00:27:24,550 --> 00:27:27,766 565 00:27:27,766 --> 00:27:29,730 >> Geri məktubu kiçik. 566 00:27:29,730 --> 00:27:30,430 >> Eynilə elə. 567 00:27:30,430 --> 00:27:35,920 Əgər s bracket i - əgər i-ci s xarakteri, spesifik deyil 568 00:27:35,920 --> 00:27:40,220 simli ilə char, daha böyükdür və ya bərabər kiçik və - 569 00:27:40,220 --> 00:27:42,670 ki, ikiqat işareti Xatırladaq demek və - 570 00:27:42,670 --> 00:27:46,810 və eyni xarakter, s bracket i ki, z kiçik az və ya bərabər, 571 00:27:46,810 --> 00:27:50,600 o, bir və ya b və ya c və ya deməkdir ki, nöqtə, nöqtə, nöqtə və ya deməkdir z, 572 00:27:50,600 --> 00:27:51,340 bu kiçik var. 573 00:27:51,340 --> 00:27:52,900 Mən bu halda nə etmək istəyirsiniz? 574 00:27:52,900 --> 00:27:55,010 Yaxşı, mən bir qədər bu edə bilərsiniz cryptically, lakin 575 00:27:55,010 --> 00:27:56,160 nin Bundan tease bildirin. 576 00:27:56,160 --> 00:28:00,210 >> Mən printf zəng gedirəm,% c yazdıran Mən bu nəşr etmək istəyirəm, çünki 577 00:28:00,210 --> 00:28:01,580 ekranda xarakter. 578 00:28:01,580 --> 00:28:06,650 Mən o s bracket i, etmək gidiyorum i-ci s xarakterli, sonra niyə 579 00:28:06,650 --> 00:28:12,330 Mən burada bu kiçik oyun edirəm eksi kapitalı kiçik? 580 00:28:12,330 --> 00:28:16,352 Ki, vermək nə gedir mənə, ümumiyyətlə? 581 00:28:16,352 --> 00:28:18,600 >> [Işitilemez]. 582 00:28:18,600 --> 00:28:19,390 >> Eynilə elə. 583 00:28:19,390 --> 00:28:20,860 Mən, həqiqətən, xatırlamıram - 584 00:28:20,860 --> 00:28:24,390 bu kapitalın A. 65 Mən, həqiqətən deyil idi bir kiçik, nə xatırlayıram, 585 00:28:24,390 --> 00:28:25,540 lakin heç bir məsələ. 586 00:28:25,540 --> 00:28:26,580 Kompüter bilir. 587 00:28:26,580 --> 00:28:30,380 Belə deyərək, bir minus kiçik kapital A, onu qəribə 588 00:28:30,380 --> 00:28:33,530 başqa bir char çıxarılaraq, lakin başlıq altında chars nə var? 589 00:28:33,530 --> 00:28:34,520 Onlar yalnız ədəd istəyirik. 590 00:28:34,520 --> 00:28:36,980 Bu ədəd hər hansı Belə ki, kompüter xatırlayıram bildirin 591 00:28:36,980 --> 00:28:38,240 insan deyil, məndən. 592 00:28:38,240 --> 00:28:41,710 >> Belə bir bir minus kapital kiçik Mənə bir fərq verəcəyəm. 593 00:28:41,710 --> 00:28:45,370 Bu 32 olmaq olur ki, olacaq kiçik b və kapital B işi 594 00:28:45,370 --> 00:28:45,930 və s. 595 00:28:45,930 --> 00:28:47,710 Bu təşəkkürlə, ardıcıl qalır. 596 00:28:47,710 --> 00:28:51,930 Mən mahiyyətcə deyən alıram Beləliklə, almaq məktub kiçik ki, off çıxmaq 597 00:28:51,930 --> 00:28:55,340 standart fərq ki, səmərəli dəyişikliklər s bracket I 598 00:28:55,340 --> 00:28:59,400 böyük, əlbəttə ki, kiçik, Mənim həqiqətən düşünmək olmadan 599 00:28:59,400 --> 00:29:03,040 və ya Unutmayın, bu nə idi zaman səkkiz danışdıq nömrələri 600 00:29:03,040 --> 00:29:04,800 könüllü səhnəsinə gəldi? 601 00:29:04,800 --> 00:29:08,800 Bu deyil indi vaxt, başqa, əgər müəyyən bir kiçik məktub 602 00:29:08,800 --> 00:29:10,400 line 24, yalnız çap. 603 00:29:10,400 --> 00:29:12,590 Mən yalnız toxunmaq istəyirəm ki, simvol 604 00:29:12,590 --> 00:29:14,410 əslində ilk kiçik. 605 00:29:14,410 --> 00:29:15,150 >> Belə ki, bu nəzər salaq. 606 00:29:15,150 --> 00:29:17,400 Kapitallaşdırmaq olun. 607 00:29:17,400 --> 00:29:18,470 Tərtib olunmuş, OK. 608 00:29:18,470 --> 00:29:19,730 . / Kapitallaşdırmaq. 609 00:29:19,730 --> 00:29:23,530 Və mənə H-E-L-L-O yazın bildirin kiçik olaraq, daxil edin. 610 00:29:23,530 --> 00:29:26,370 Və bu valyutaya çevrilmişdir fark böyük daxil. 611 00:29:26,370 --> 00:29:27,940 Mənə daha bu nə edək fərqli bir söz. 612 00:29:27,940 --> 00:29:32,720 Necə D-A-V-I-D haqqında ilk D bir ad olaraq kapitallaşdırılır adətən var? 613 00:29:32,720 --> 00:29:33,560 Daxil edin. 614 00:29:33,560 --> 00:29:34,870 Hələ doğru bildiriş. 615 00:29:34,870 --> 00:29:40,250 Bu, sadəcə ilk D dəyişməz outputted başqa tikintisi vasitəsilə. 616 00:29:40,250 --> 00:29:42,170 >> Belə bir, sonra, unutmayın burada şeyi cüt. 617 00:29:42,170 --> 00:29:45,060 Əgər iki yoxlamaq istəyirsinizsə biri, bir şəraiti, siz və onlara 618 00:29:45,060 --> 00:29:46,500 biz proqnozlaşdırılan birlikdə. 619 00:29:46,500 --> 00:29:49,900 Bu şəkildə simvol müqayisə edə bilərsiniz və səmərəli simvol kimi müalicə 620 00:29:49,900 --> 00:29:53,050 nömrələri, lakin səmimi, bu belə lənətləmək edir sirli Yadımdadır gedən heç alıram 621 00:29:53,050 --> 00:29:56,510 sıfırdan bu ilə gəlmək üçün necə çox üçün vasitəsilə əsaslandırma olmadan 622 00:29:56,510 --> 00:29:57,140 vaxt bir az. 623 00:29:57,140 --> 00:30:00,590 >> Gözəl olmazdı əgər kimsə həyata adlı bir funksiyası var yazdı 624 00:30:00,590 --> 00:30:05,390 ya doğru mənə cavab bilər aşağı saxta, bu xarakterli kiçik deyil? 625 00:30:05,390 --> 00:30:09,350 Yaxşı təşəkkürlə, kim yazdı ctype.h dəqiq etdi. 626 00:30:09,350 --> 00:30:15,540 Məni bura qalxmaq və c ctype əlavə edək növləri, və indi mənə burada enmək imkan və 627 00:30:15,540 --> 00:30:18,820 bu xətti aşağıdakı kimi yenidən yazmaq. 628 00:30:18,820 --> 00:30:27,510 >> Bu deyirlər Belə aşağı, mən iddia, s bracket i, sonra silmək üçün gidiyorum 629 00:30:27,510 --> 00:30:29,400 ümumiyyətlə bu iki satır. 630 00:30:29,400 --> 00:30:32,570 Belə ki, indi başqası, mən ümid edirəm yazdı adlı funksiyası aşağıdır və bu, 631 00:30:32,570 --> 00:30:36,250 etdilər və onlar elan növbə həyata bu ctype.h daxilində. 632 00:30:36,250 --> 00:30:39,480 İndi line 27 tərk etmək gidiyorum tək, mən line 31 tərk etmək gidiyorum 633 00:30:39,480 --> 00:30:41,890 tək, amma sonra nə qədər fərq Mənim kodu up dartılmış. 634 00:30:41,890 --> 00:30:42,690 İndi təmiz deyil. 635 00:30:42,690 --> 00:30:47,250 Bu nəzərdən az çətindir İndi funksiyası, üstəlik, çünki 636 00:30:47,250 --> 00:30:50,080 belə gözəl yalnız adına deyir nə. 637 00:30:50,080 --> 00:30:51,520 >> Belə ki, indi bu saxlamaq üçün gedirəm. 638 00:30:51,520 --> 00:30:52,930 Mən Uzaklaştırmak gedirəm. 639 00:30:52,930 --> 00:30:56,650 Və ola bilər yalnız Not kimi Booleans, Boolean dəyərlər doğru və ya 640 00:30:56,650 --> 00:31:01,530 yalan ki, dəqiq nə edir səmərəli yekunları aşağı. 641 00:31:01,530 --> 00:31:02,960 Mənə derleyeceğiz edək. 642 00:31:02,960 --> 00:31:04,500 Mənə yenidən run edək. 643 00:31:04,500 --> 00:31:07,350 İndi isə daha edək H-E-L-L-O, daxil edin. 644 00:31:07,350 --> 00:31:07,970 Ki, olduqca yaxşı. 645 00:31:07,970 --> 00:31:10,150 Və daha cəhd, mən əmin olun bir şey qıymaq etməyib. 646 00:31:10,150 --> 00:31:11,670 Bu həmçinin kapitallaşdırılır. 647 00:31:11,670 --> 00:31:14,190 >> Amma bu kifayət qədər yaxşı deyil, çünki Mən gedən heç alıram ki, başqa şey 648 00:31:14,190 --> 00:31:19,090 Mən, həqiqətən, onun vasitəsilə iş halda xatırlayıram diqqətlə üzərində, demək, kağız deyil 649 00:31:19,090 --> 00:31:19,920 Bu lənətləmək xətt. 650 00:31:19,920 --> 00:31:23,450 Olsaydı, gözəl olmaz üst adlı bir funksiyası? 651 00:31:23,450 --> 00:31:26,930 Yaxşı orada çıxır həmçinin ctype.h edir. 652 00:31:26,930 --> 00:31:30,150 Mən irəli getmək və yazın gidiyorum - 653 00:31:30,150 --> 00:31:31,340 mənə line geri gətirmək imkan verir. 654 00:31:31,340 --> 00:31:36,430 Əvəzində bu burada, mənim irəli gedək və demək% c üçün əvəz 655 00:31:36,430 --> 00:31:42,110 Bu funksiya zəng nəticəsində s i-ci xarakterinə yuxarı. 656 00:31:42,110 --> 00:31:45,430 İndi onu əldə bildiriş bir az balanslı. 657 00:31:45,430 --> 00:31:48,870 Mən nə qədər takip var Mən açdı və qapalı etdik parantez. 658 00:31:48,870 --> 00:31:50,050 >> Belə ki, indi hətta təmiz deyil. 659 00:31:50,050 --> 00:31:53,460 İndi bu proqram yaxşı oxuyan və bu, çünki daha yaxşı arguably nəzərdə 660 00:31:53,460 --> 00:31:56,450 çox, daha çox oxunaqlı, lakin heç doğru edək. 661 00:31:56,450 --> 00:31:57,600 Kapitallaşdırmaq olun. 662 00:31:57,600 --> 00:31:58,930 . / Kapitallaşdırmaq. 663 00:31:58,930 --> 00:32:03,220 H-E-L-L-O. Gəlin, bir daha çalıştırın D-A-V-I-D. OK, belə ki, biz hələ də istəyirik 664 00:32:03,220 --> 00:32:04,250 forma olduqca yaxşı. 665 00:32:04,250 --> 00:32:06,030 >> Amma indi üst. 666 00:32:06,030 --> 00:32:09,720 Mən bir daha var ki, təklif zəriflik biz olacaqdıq edə bilər 667 00:32:09,720 --> 00:32:12,820 həqiqətən bərkidin bilər ki, həqiqətən gözəl Bu kodu və həqiqətən bizə beş vermək 668 00:32:12,820 --> 00:32:15,150 Məsələn dizayn beş, həyata. 669 00:32:15,150 --> 00:32:16,510 Qurtarmaq üçün gözəl nə olardı? 670 00:32:16,510 --> 00:32:20,770 Yaxşı, necə lənətləmək uzun bu blok baxmaq kod sadə bir şey etmək kifayətdir. 671 00:32:20,770 --> 00:32:23,850 >> İndi bir kənara, siz ola bilər kimi bu ilin super bölmədə görüldü 672 00:32:23,850 --> 00:32:27,570 həftə sonu, siz ciddi ehtiyac yoxdur buruq aşırma yalnız bir zaman 673 00:32:27,570 --> 00:32:32,180 biz təklif olsa belə kod xətti çox edir ki, saxlamaq 674 00:32:32,180 --> 00:32:36,190 Not U-formalı olduğu kimi, daha aydın blokları, filial daxilində budur. 675 00:32:36,190 --> 00:32:40,170 Üst Amma əgər bu, gözəl olmazdı , giriş verilmiş, o çevrilib 676 00:32:40,170 --> 00:32:44,730 bu deyil, əgər böyük və nə ki, əks halda gözəl olsa 677 00:32:44,730 --> 00:32:47,210 artıq böyük var? 678 00:32:47,210 --> 00:32:49,620 Sadəcə vasitəsilə keçmək və tək buraxın. 679 00:32:49,620 --> 00:32:50,660 >> Belə ki, bəlkə ki, yoxdur. 680 00:32:50,660 --> 00:32:52,990 Mən cəhd və yalnız ümid edə bilər , lakin mənə bildirin ki, 681 00:32:52,990 --> 00:32:54,450 başqa bir şey tanıdacaq. 682 00:32:54,450 --> 00:32:57,440 Əvəzində bu daxili terminal istifadə pəncərəsini aşağı burada Xatırladaq ki, 683 00:32:57,440 --> 00:33:01,130 bu meydanda qara icon siz verir mən tam bilər ki, böyük terminal pəncərə 684 00:33:01,130 --> 00:33:02,260 Mən istəyirəm əgər ekrana? 685 00:33:02,260 --> 00:33:05,820 Belə ki, onlar növ işin istəyirik çıxır adlı, lakin deyilən bu şeyi var 686 00:33:05,820 --> 00:33:10,970 man pages, manual pages, qısa üçün insan, və mən bu ilə daxil ola bilərsiniz 687 00:33:10,970 --> 00:33:14,515 yazaraq Man - 688 00:33:14,515 --> 00:33:15,570 Ne tür istəyirsiniz? 689 00:33:15,570 --> 00:33:17,830 Üst Man. 690 00:33:17,830 --> 00:33:21,090 >> Bir var, əgər artıq qeyd ilə, kompüter daxilində fəaliyyət 691 00:33:21,090 --> 00:33:23,970 Bu halda yalnız olan cihaz əməliyyat sistemi Linux, o gedir 692 00:33:23,970 --> 00:33:27,920 Mənə bir qədər sirli set vermək çıxış, ancaq zamanla tapa bilərsiniz ki, 693 00:33:27,920 --> 00:33:31,720 həmişə olduqca çox formatlanması Eyni belə ki, istifadə almaq üçün başlayın. 694 00:33:31,720 --> 00:33:35,130 Üst üst bildiriş və yəqin eyni sənədləri edir 695 00:33:35,130 --> 00:33:35,680 aşağı üçün. 696 00:33:35,680 --> 00:33:38,740 Bəzi kəsici edilib Kim yazdı guşələrindən və bir səhifə bütün qoydu. 697 00:33:38,740 --> 00:33:40,720 Bunlar "məqsədi həyat çevirmək üçün 698 00:33:40,720 --> 00:33:42,780 yuxarı və ya kiçik məktub. 699 00:33:42,780 --> 00:33:46,290 >> Adam səhifə Sinopsis altında edək ki, Mən nə fayl mənə dərs deyir 700 00:33:46,290 --> 00:33:48,130 Bu şey istifadə etmək üçün daxil. 701 00:33:48,130 --> 00:33:51,320 Bu mənim bu üçün imza verən oldu funksiyaları, onların hər ikisi, hətta 702 00:33:51,320 --> 00:33:53,510 biz indi yalnız olsa bir qayğı. 703 00:33:53,510 --> 00:33:54,730 Burada indi təsviri deyil. 704 00:33:54,730 --> 00:33:58,800 Üst məktubu çevirir mümkün olduqda c böyük etmək. 705 00:33:58,800 --> 00:34:02,280 >> Hələ ibrətamiz, amma mənə bildirin ki, indi geri dəyərinin altında şey baxmaq 706 00:34:02,280 --> 00:34:03,520 geri təhvil oldu. 707 00:34:03,520 --> 00:34:08,600 Belə ki, geri dəyəri edir ki, bu valyutaya çevrilmişdir məktub və ya c əgər 708 00:34:08,600 --> 00:34:09,870 dönüşüm mümkün deyildi. 709 00:34:09,870 --> 00:34:11,202 C nədir? 710 00:34:11,202 --> 00:34:12,560 >> Orijinal xarakter. 711 00:34:12,560 --> 00:34:15,370 >> Orijinal xarakteri və biz bilirik tərəfindən yenə də qədər davam edir ki, 712 00:34:15,370 --> 00:34:19,179 referat və kim bu yazmışdır funksiyası yalnız qərara aldı ki, giriş 713 00:34:19,179 --> 00:34:22,909 yuxarı və aşağı sadəcə özbaşına c adlandırmaq gedir. 714 00:34:22,909 --> 00:34:24,909 Onlar ən çox bir şey çağırıb bilər istədikləri, lakin onlar bu saxlanılır 715 00:34:24,909 --> 00:34:26,270 c kimi sadə. 716 00:34:26,270 --> 00:34:27,880 Mən adam səhifə müraciət etdik. 717 00:34:27,880 --> 00:34:31,870 Bu cümlə mənə reassures ki, əgər bir kiçik məktub deyil, bu, 718 00:34:31,870 --> 00:34:34,969 yalnız C, mənə geri verir Mən xilas edə bilərsiniz deməkdir mükəmməl, 719 00:34:34,969 --> 00:34:36,199 mənim başqa vəziyyəti. 720 00:34:36,199 --> 00:34:39,679 >> Mənə gedit geri bildirin, İndi mənə yalnız bunu bildirin. 721 00:34:39,679 --> 00:34:41,960 Mən printf bəyanat surəti gedirəm. 722 00:34:41,960 --> 00:34:45,969 Mən qabaqda və sağ daxili getmək gidiyorum loop çap üçün həyata və almaq 723 00:34:45,969 --> 00:34:48,760 tikinti əgər indi bu bütün xilas. 724 00:34:48,760 --> 00:34:51,860 Pis bir fikir deyil və bu, çox idi çox düzgün və uyğun 725 00:34:51,860 --> 00:34:54,100 biz təbliğ etdik hər şey ancaq lazım deyil. 726 00:34:54,100 --> 00:34:57,070 Ən qısa zamanda bir neçə kitabxana həyata kimi funksiyası başqa kimsə var 727 00:34:57,070 --> 00:35:01,340 yazmış, və ya bəlkə başqa yerdə yazdı fayl, həqiqətən, istifadə edə bilərsiniz 728 00:35:01,340 --> 00:35:02,690 kodu kısaltın başlayın. 729 00:35:02,690 --> 00:35:06,080 >> Və mən yaxşı stil kimi şeylər deyəndə, Bu şəxs adlanır ki, 730 00:35:06,080 --> 00:35:11,490 edir əvvəllər yuxarı və ya fəaliyyət aşağı gözəl faydalıdır, çünki 731 00:35:11,490 --> 00:35:12,900 onlar çox təsviri istəyirik. 732 00:35:12,900 --> 00:35:16,120 Siz funksiyaları zəng etmək istəmirəm olan x və y və z, 733 00:35:16,120 --> 00:35:19,620 çox, çox az mənası. 734 00:35:19,620 --> 00:35:25,160 Ki, seriyası Sualınız irəliləyişlər? 735 00:35:25,160 --> 00:35:28,010 >> Belə ki, biri demək kifayətdir takeaways hətta öz problem kimi 736 00:35:28,010 --> 00:35:30,960 dəsti - bəlkə problem müəyyən bir, lakin əlbəttə P hətta iki və irəli qurmaq 737 00:35:30,960 --> 00:35:34,380 Onlar doğru olduğunuzda mütləq deyil onlar yalnız mükəmməl demək 738 00:35:34,380 --> 00:35:36,155 hələ və ya xüsusilə yaxşı dizayn. 739 00:35:36,155 --> 00:35:38,420 Yəni digər ox var haqqında fikirləşməliyik. 740 00:35:38,420 --> 00:35:41,730 Belə ki, bu bir simli içərisində Bir var kompüter yaddaş, lakin əgər 741 00:35:41,730 --> 00:35:46,180 H-E-L-L-O kimi simvol bütün dəstə RAM daxilində və güman 742 00:35:46,180 --> 00:35:51,330 Siz proqram string almaq zəng Belə ki, neçə dəfə 743 00:35:51,330 --> 00:35:54,200 Əgər bir string almaq zəng yenidən string almaq çağırırıq. 744 00:35:54,200 --> 00:35:55,880 Yaxşı, nə olacaq zamanla baş? 745 00:35:55,880 --> 00:35:59,170 >> Başqa sözlə, siz bir xətt varsa kimi kontekstdə kodu olsa yerinə, 746 00:35:59,170 --> 00:36:02,120 string s olur - 747 00:36:02,120 --> 00:36:02,960 bunu edək. 748 00:36:02,960 --> 00:36:05,270 String adı string almaq bərabərdir. 749 00:36:05,270 --> 00:36:08,590 Belə kodu ki, xətti deməkdir Güman onun adı üçün istifadəçi xahiş. 750 00:36:08,590 --> 00:36:14,580 Kodu Bu yeni xətt soruşmaq üçün nəzərdə tutulur onun və ya onun məktəb üçün istifadəçi, və 751 00:36:14,580 --> 00:36:15,920 Bu yeni xətti və s. 752 00:36:15,920 --> 00:36:18,150 Biz xahiş saxlamaq Güman başqa üçün istifadəçi və 753 00:36:18,150 --> 00:36:19,750 bir və digər simli. 754 00:36:19,750 --> 00:36:22,390 Onlar yaddaş qalmaq olacaq eyni zamanda. 755 00:36:22,390 --> 00:36:24,280 Bir başqa döymək niyyətində deyil. 756 00:36:24,280 --> 00:36:26,420 School digər üzerine deyil. 757 00:36:26,420 --> 00:36:28,520 Amma onlar bütün yerləşir etmək yaddaş başa? 758 00:36:28,520 --> 00:36:32,030 >> Yaxşı, biz ekranda çəkmək başlamaq əgər, biz bu şey istifadə edə bilərsiniz 759 00:36:32,030 --> 00:36:35,800 burada Kara Tahta kimi bu qara əgər düzbucaqlı mənim kompüter təmsil 760 00:36:35,800 --> 00:36:39,800 yaddaş, mən özbaşına başlamaq üçün gidiyorum az kvadratlar daxil qədər ayırıcı, 761 00:36:39,800 --> 00:36:42,120 hər təmsil edən və yaddaş bir byte. 762 00:36:42,120 --> 00:36:46,560 Açığı, siz RAM bir gigabyte varsa bu gün, bir milyard bayt var 763 00:36:46,560 --> 00:36:49,540 kompüter yaddaş, belə ki, Bu meydanların bir milyard. 764 00:36:49,540 --> 00:36:52,110 Beləliklə, bu, demək kifayətdir miqyaslı həqiqətən deyil. 765 00:36:52,110 --> 00:36:58,250 >> Ancaq biz bütün bu rəsm davam edə bilər aydın meydanların miqyasını və bu deyil 766 00:36:58,250 --> 00:37:01,260 kollektiv təmsil mənim kompüter yaddaş. 767 00:37:01,260 --> 00:37:03,136 İndi nöqtə, nöqtə, nöqtə olduğu edəcəyik. 768 00:37:03,136 --> 00:37:06,260 Belə ki, başqa sözlə, mən indi təklif get simli istifadəçi mənə vermək 769 00:37:06,260 --> 00:37:07,350 simli, nə olar? 770 00:37:07,350 --> 00:37:14,270 Əgər "salam" olduğunu başa istifadəçi növləri qədər H-E-L-L-O. Amma güman 771 00:37:14,270 --> 00:37:15,720 istifadəçi sonra növləri - 772 00:37:15,720 --> 00:37:17,250 Əslində, mən görmüşük lazım deyil salam biz xahiş edirik, çünki 773 00:37:17,250 --> 00:37:18,330 onların adları onlara. 774 00:37:18,330 --> 00:37:20,580 Beləliklə, mən bunu edə bilər, əgər geri gidelim. 775 00:37:20,580 --> 00:37:26,130 >> Belə ki, mənim ad üçün D-A-V-I-D I növü, əgər lakin Xatırladaq ki, ikinci xətt 776 00:37:26,130 --> 00:37:29,220 kodu yenidən string almaq edildi onların məktəb almaq üçün. 777 00:37:29,220 --> 00:37:32,090 Söz harada ki, istifadəçi növbəti getmək davam növləri? 778 00:37:32,090 --> 00:37:38,290 Bəli, bəlkə daxil olacaq H-A-R-V-A-R-D. Mən var Belə ki, hətta 779 00:37:38,290 --> 00:37:41,560 iki satır kimi tərtib, bu yalnız Sizin bayt bütün dəstə 780 00:37:41,560 --> 00:37:42,710 kompüter RAM. 781 00:37:42,710 --> 00:37:46,560 İndi mən, çünki bir problem indi var Bu çox ağlabatan ildə RAM istifadə 782 00:37:46,560 --> 00:37:49,910 lakin sadəlövh şəkildə sort, nə edə bilərsiniz yəqin ayırmaq deyil? 783 00:37:49,910 --> 00:37:52,640 784 00:37:52,640 --> 00:37:54,680 Bir başlayır və harada bir başa, sağ? 785 00:37:54,680 --> 00:37:55,860 Onlar birlikdə blurring cür istəyirik. 786 00:37:55,860 --> 00:37:57,920 >> Belə ki, kompüter çıxır Bunu deyil. 787 00:37:57,920 --> 00:38:04,720 Mənə həqiqətən vaxt geri hərəkət edək bir neçə simvol və yerinə Harvard 788 00:38:04,720 --> 00:38:09,570 istifadəçi adı dərhal sonra gedir, istifadəçi həqiqətən arxasında olur 789 00:38:09,570 --> 00:38:12,000 pərdə xüsusi bir xarakter tərəfindən daxil 790 00:38:12,000 --> 00:38:13,885 onun üçün kompüter. 791 00:38:13,885 --> 00:38:19,470 / 0, əks halda nul xarakter kimi tanınan annoyingly N-U-L adlı deyil, 792 00:38:19,470 --> 00:38:22,190 N-U-L-L, ancaq kimi / 0 yazın. 793 00:38:22,190 --> 00:38:27,130 Bu, yalnız bütün sıfır bit var bir marker edir ilk sözü arasında olan istifadəçi 794 00:38:27,130 --> 00:38:28,290 tipli və ikinci. 795 00:38:28,290 --> 00:38:33,020 >> Harvard həqiqətən artıq bitir Belə ki, simvolların Bu ardıcıllığı kimi 796 00:38:33,020 --> 00:38:36,110 və bir daha / 0. 797 00:38:36,110 --> 00:38:41,690 Bu olan, başqa sözlə, tərəfindən Sentinel dəyərlər, səkkiz bitişik sıfır 798 00:38:41,690 --> 00:38:45,220 bit, indi ayırmaq başlaya bilər bir-bir xarakter. 799 00:38:45,220 --> 00:38:49,720 Belə ki, "salam" dır nə bütün bu vaxt həqiqətən, a / 0 ilə "salam" və 800 00:38:49,720 --> 00:38:53,580 eyni zamanda, orada güc çox yaxşı çox bir az daha çox RAM olmaq 801 00:38:53,580 --> 00:38:56,400 kompüter daxilində. 802 00:38:56,400 --> 00:38:57,810 >> Mənə indi başqa bir şey edək. 803 00:38:57,810 --> 00:39:01,800 O çıxır ki, bu meydanların bütün biz, onlar, bəli, rəsm olduğunuz 804 00:39:01,800 --> 00:39:06,140 strings, lakin ümumiyyətlə, bu şeyləri seriallarda var. 805 00:39:06,140 --> 00:39:10,590 Bir sıra yalnız yaddaş yığın edir ki, geri geri geri geri 806 00:39:10,590 --> 00:39:15,130 və adətən yolu ilə bir sıra istifadə Bu kvadrat mötərizə notation edir. 807 00:39:15,130 --> 00:39:18,210 Belə ki, biz bu bir qədər görmək olacaq zamanla, lakin mənə davam imkan və 808 00:39:18,210 --> 00:39:21,160 açmaq, İT yaş zəng edək. 809 00:39:21,160 --> 00:39:23,920 Və biz nə edə biləcəyimizi qeyd həmin tövsiyələr, bir az 810 00:39:23,920 --> 00:39:25,750 Burada az daha sintaksis. 811 00:39:25,750 --> 00:39:29,270 >> Belə ki, bu proqramın xətti 17 - həqiqətən, mənə ilk proqram run edək 812 00:39:29,270 --> 00:39:30,770 belə ki, biz bu şey nə görə bilərsiniz. 813 00:39:30,770 --> 00:39:33,530 Mənə əsrlər etmək zəng edək Bu proqram tərtib edir. 814 00:39:33,530 --> 00:39:34,950 . / Əsrlər. 815 00:39:34,950 --> 00:39:36,480 Otaqda neçə adam var? 816 00:39:36,480 --> 00:39:38,020 Üç çağırın. 817 00:39:38,020 --> 00:39:39,575 Ilk şəxs yaşı? 818 00:39:39,575 --> 00:39:42,710 18, 19, və 20. 819 00:39:42,710 --> 00:39:46,770 İndi bir qədər ridiculously, yalnız bir proqram əsrlərdə həmin etmişdir 820 00:39:46,770 --> 00:39:47,740 üç nəfər. 821 00:39:47,740 --> 00:39:50,390 >> Belə ki, imkanı aydın var Burada bəzi əyləncə hesab üçün. 822 00:39:50,390 --> 00:39:51,560 Təşəkkürlə, riyaziyyat doğrudur. 823 00:39:51,560 --> 00:39:54,720 18 getdi 19 19 getdi 20 və s. 824 00:39:54,720 --> 00:39:58,510 Amma nə həqiqətən olmaq üçün nəzərdə oldu illüstrativ burada saxlanılması edirik necə 825 00:39:58,510 --> 00:40:00,190 bu üç xalq yaş. 826 00:40:00,190 --> 00:40:02,370 Mənə nə Yakınlaştırmak edək burada gedir. 827 00:40:02,370 --> 00:40:06,240 >> Belə ki, birinci, bu ilk bir neçə xətləri olmalıdır olduqca tanış edilməlidir. 828 00:40:06,240 --> 00:40:08,770 Mən yalnız üçün istifadəçi isteyen alıram oda insanların sayı. 829 00:40:08,770 --> 00:40:11,490 Sonra istifadə int almaq və nə alıram isə təkrar və təkrar edirik. 830 00:40:11,490 --> 00:40:15,780 Biz əvvəl model gördük, amma sonra line 27 yeni və həqiqətən olduqca 831 00:40:15,780 --> 00:40:18,160 faydalı və olacaq getdikcə faydalı. 832 00:40:18,160 --> 00:40:21,620 Nə line 27 fərqli Qeyd edək ki, Mən elan görünür ki, 833 00:40:21,620 --> 00:40:23,960 adlı yaş int, lakin gözləyin. 834 00:40:23,960 --> 00:40:27,140 Bu, sadəcə int yaş deyil. 835 00:40:27,140 --> 00:40:30,130 Bu kvadrat mötərizədə var olan daxili n. 836 00:40:30,130 --> 00:40:35,150 >> Bu çərçivədə Belə ki, bracket n deyil, Amma burada bir printf bəyanat daxilində 837 00:40:35,150 --> 00:40:44,370 Bu yeganə line 27 bu xətt , mənə n ints vermək deyərkən, hər biri 838 00:40:44,370 --> 00:40:46,080 növü int edir. 839 00:40:46,080 --> 00:40:49,870 Beləliklə, bu, bu, necə deyərlər, bir vedrə deyil bu halda, üç integers geri 840 00:40:49,870 --> 00:40:52,770 Geri ki, mən səmərəli üç dəyişənlər var. 841 00:40:52,770 --> 00:40:54,890 Alternativ olmaq aydın, bu olardı. 842 00:40:54,890 --> 00:40:57,400 >> Mən istəyirdim Əgər ilk tələbə yaş, Mən bunu bilər. 843 00:40:57,400 --> 00:40:59,520 Mən istəyirdim Əgər ikinci tələbə yaş Mən bunu bilər. 844 00:40:59,520 --> 00:41:01,860 Mən istəyirdim Əgər üçüncü tələbə yaş, Mən bunu bilər. 845 00:41:01,860 --> 00:41:04,320 Və Allah qorusun, biz hər kəsin ehtiyac Bu otaqda yaş - 846 00:41:04,320 --> 00:41:07,670 Mən demək, bu surəti bir çox bir heck ki, təkrar və yenidən yapışdırıb. 847 00:41:07,670 --> 00:41:10,870 Və üstəgəl bir dəfə mən bu proqram tərtib başqa bir tələbə həyata üzərində gedən əgər 848 00:41:10,870 --> 00:41:14,200 ki, qapı, indi mənim nömrəsi dəyişənlərin düzgün deyil. 849 00:41:14,200 --> 00:41:17,450 >> Belə ki, nə bir sıra haqqında gözəl olduğu kimi özünüz hiss başlamaq tezliklə 850 00:41:17,450 --> 00:41:20,190 çıxarmaq və yapıştırma, bahis ki var ən yaxşı yanaşma. 851 00:41:20,190 --> 00:41:22,240 Bir sıra potensial dinamikdir. 852 00:41:22,240 --> 00:41:24,610 Mən əvvəlcədən neçə nəfər bilmirəm , oda olacaq 853 00:41:24,610 --> 00:41:28,670 lakin mən onların n lazım bilmirəm və mən lazımdır Zamanı gəlincə n anlamaq. 854 00:41:28,670 --> 00:41:35,500 Kodu Bu xətt indi deməkdir, mənə ver Bu kimi görünür ki, yaddaş yığın 855 00:41:35,500 --> 00:41:40,380 burada ekranda qutuları sayı n tamamilə asılı olduğunu 856 00:41:40,380 --> 00:41:42,010 istifadəçi kimi daxil tipli 857 00:41:42,010 --> 00:41:44,850 >> Belə ki, indi bu proqramın qalan nə biz, həqiqətən, olduqca oxşar 858 00:41:44,850 --> 00:41:46,860 yalnız simvol ilə idi. 859 00:41:46,860 --> 00:41:49,970 Mən loop üçün var bildiriş line 30 başlayır. 860 00:41:49,970 --> 00:41:54,920 Mən array almaq hüququ sonra, mən y n üçün sıfır qədər bərabər olan təkrarlamaq. 861 00:41:54,920 --> 00:41:58,890 Mən yalnız bu ibrətamiz printf var məktub deyərək mənə yaş vermək 862 00:41:58,890 --> 00:42:03,690 şəxs #% i, belə ki, bir nömrəli, iki nömrəli, sayı üç. 863 00:42:03,690 --> 00:42:04,730 Və mən niyə belə etdiniz? 864 00:42:04,730 --> 00:42:08,870 Açığı, insanlar bir saymaq üstünlük verirlər kompüter alimləri isə up haqqında, 865 00:42:08,870 --> 00:42:09,620 up sıfır. 866 00:42:09,620 --> 00:42:11,700 kompüter elm deyilik Bu cür proqram istifadə ki, biz istəyirik 867 00:42:11,700 --> 00:42:13,990 yalnız hesablama başlamaq niyyətindəyik normal insanlar kimi bir at. 868 00:42:13,990 --> 00:42:17,630 >> İndi line 33, bir az fərq syntax müxtəlif parça. 869 00:42:17,630 --> 00:42:23,710 Tipli dəyişən I-ci yaş array bir int almaq üçün gedir. 870 00:42:23,710 --> 00:42:25,770 İndi nəhayət, bu yalnız Burada hesab aşağı. 871 00:42:25,770 --> 00:42:29,200 Mən iddia ayrı bir loop qərar bir müddət bu indi keçir, 872 00:42:29,200 --> 00:42:31,400 ayrı-ayrı loop, bu xətlər icra. 873 00:42:31,400 --> 00:42:35,810 >> , Nəfər Mən indi bir il olacaq dək təvəllüd, amma bu xəbər deyil 874 00:42:35,810 --> 00:42:36,500 i Dəyişən. 875 00:42:36,500 --> 00:42:38,390 İndi% int i edir. 876 00:42:38,390 --> 00:42:43,210 Ilk tutucu kimi bildiriş, mən i plus 1 plug, belə ki, biz kimi saymaq 877 00:42:43,210 --> 00:42:44,250 normal şəxs. 878 00:42:44,250 --> 00:42:49,190 Və sonra onların yaş dəyəri üçün i dək təvəllüd, mən yaş bracket almaq 879 00:42:49,190 --> 00:42:52,980 i - və nə mən burada bir plus edirəm? 880 00:42:52,980 --> 00:42:53,760 Onlar yalnız yaşlı. 881 00:42:53,760 --> 00:42:55,030 O, proqramlar mənim axmaq seçimi var. 882 00:42:55,030 --> 00:42:56,810 Onlar yalnız bir il yaşlı. 883 00:42:56,810 --> 00:42:59,770 Mən hər hansı bir sayı yazın bilər Mən, həqiqətən, orada istəyirəm. 884 00:42:59,770 --> 00:43:02,430 >> Beləliklə, nə həqiqətən bütün var burada aktuallığını? 885 00:43:02,430 --> 00:43:07,610 Yaxşı, mənə, həqiqətən, geri hərəkət edək burada və şəkil çəkmək 886 00:43:07,610 --> 00:43:10,830 irəli yalan nə. 887 00:43:10,830 --> 00:43:15,720 Biz sonrakı məşğul olacaq nə Problem Set iki ildə dabbling edir 888 00:43:15,720 --> 00:43:17,070 Kriptoqrafiya dünya. 889 00:43:17,070 --> 00:43:22,500 Beləliklə, bu simvol bir simli, belə bir çox chars ardıcıllığı, və nə 890 00:43:22,500 --> 00:43:23,750 Bu nə deyir? 891 00:43:23,750 --> 00:43:28,530 892 00:43:28,530 --> 00:43:30,600 Bu online versiya deyil slaytların. 893 00:43:30,600 --> 00:43:35,880 >> Mən bir, bu bərabərdir ki, iddia bir çox ildən axmaq reklam 894 00:43:35,880 --> 00:43:39,950 əvvəl həqiqətən xatırlayıram bilər ki, mənşəyinə biri. 895 00:43:39,950 --> 00:43:42,740 Beləliklə, bu şifreleme bir nümunəsidir və ya Kriptoqrafiya. 896 00:43:42,740 --> 00:43:46,150 Əgər istəyirsinizsə ki, çıxır faktiki informasiya və ya pay göndər 897 00:43:46,150 --> 00:43:49,310 təhlükəsiz kimsə ilə məlumat bu kimi bir mesajı kimi, siz 898 00:43:49,310 --> 00:43:50,500 məktublar dırmaşma. 899 00:43:50,500 --> 00:43:53,170 Lakin adətən sözlər təsadüfi Pişmiş deyil. 900 00:43:53,170 --> 00:43:56,365 Onlar bir şəkildə permuted və ya dəyişdirilə edirik bir şəkildə ki - oops. 901 00:43:56,365 --> 00:43:59,040 Ki, növbəti dəfə əyləncə spoyler var. 902 00:43:59,040 --> 00:44:04,390 >> Belə ki, yəqin nə eşleyebilirsiniz Ki baxımı B. Diqqət O 903 00:44:04,390 --> 00:44:05,420 kapitallaşma-müdrik. 904 00:44:05,420 --> 00:44:07,960 Göründüyü r e olur. 905 00:44:07,960 --> 00:44:14,000 Göründüyü F-H-E-R S-U-R-E olur. Belə bir Xəritəçəkmə var çıxır, və 906 00:44:14,000 --> 00:44:18,720 bu halda olduqca axmaq var hər kəs bunu həyata fiqurlu əgər birdən? 907 00:44:18,720 --> 00:44:21,440 Bu adlı bir şeydir Rot 13, 13 qayıt. 908 00:44:21,440 --> 00:44:24,760 Bu şifreleme stupidest edir mexanizmlər sözün yalnız çünki 909 00:44:24,760 --> 00:44:29,160 , məktubları hər biri 13 edər mənada axmaq ki, yalnız əgər 910 00:44:29,160 --> 00:44:31,890 əllərinizi pulsuz vaxt bir az var və qələm, və ya yalnız düşünmək 911 00:44:31,890 --> 00:44:35,260 Sizin rəhbəri ilə, siz cəhd edə bilər bütün mümkün əlavələr - bir, iki, 912 00:44:35,260 --> 00:44:38,470 üç nöqtə, yalnız nöqtə, nöqtə, 25 bütün əlifbası döndürme ve 913 00:44:38,470 --> 00:44:40,860 Nəhayət, siz anlamaq lazımdır nə bu mesaj. 914 00:44:40,860 --> 00:44:43,700 Əgər bu kimi bir şey idi əgər Sizin mesaj keçər məktəb 915 00:44:43,700 --> 00:44:46,830 ən yaxşı dostu, sizin grade məktəb əgər müəllim sadəcə oxuyun 916 00:44:46,830 --> 00:44:50,320 mesajı və kobud, həlli məcbur siz kazanılmış ola bilər 917 00:44:50,320 --> 00:44:52,550 ki, bir cavab. 918 00:44:52,550 --> 00:44:54,970 >> İndi əlbəttə, real dünyada, Kriptoqrafiya daha inkişaf etmiş. 919 00:44:54,970 --> 00:45:00,120 Bu, mətn parçasını edir istifadəçi adı və ki, kompüter sistemi 920 00:45:00,120 --> 00:45:03,630 parol, demək olar ki, bizim bütün etmək, və Bu nə Parolu güc deyil 921 00:45:03,630 --> 00:45:07,260 sabit saxlanılır əgər kimi baxmaq ancaq şifrəli olaraq sürücü. 922 00:45:07,260 --> 00:45:11,050 Bu məktubların yalnız bir rotasiya deyil Bir B və B Bu C. edir 923 00:45:11,050 --> 00:45:15,620 daha çox inkişaf etmiş, lakin istifadə ümumiyyətlə gizli əsas kimi tanınan nə 924 00:45:15,620 --> 00:45:16,690 Kriptoqrafiya. 925 00:45:16,690 --> 00:45:20,210 Bu şəkil aşağıdakı deyir bir neçə nişanlar hekayə. 926 00:45:20,210 --> 00:45:22,250 >> Sol, biz nə biz düz mətn zəng edəcəyik. 927 00:45:22,250 --> 00:45:25,420 Kriptoqrafiya, düz dünya mətn yalnız orijinal mesaj 928 00:45:25,420 --> 00:45:29,050 İngilis və ya Fransız yazılı və ya heç bir dil. 929 00:45:29,050 --> 00:45:32,405 Siz onu şifrelemek etmək istəyirsinizsə, biz keçmək lazımdır bu pictorially bir asma kilit ilə, belə ki, 930 00:45:32,405 --> 00:45:35,580 alqoritm bəzi növ, bəzi funksiyası Kimsə yazırdı ki, ya proqram 931 00:45:35,580 --> 00:45:39,880 məktubları inşallah ki scrambles daha dolaşıq yalnız 13 əlavə 932 00:45:39,880 --> 00:45:40,980 onların hər birinə. 933 00:45:40,980 --> 00:45:43,780 >> Siz ki, prosesi çıxmaq nə orta orada cyphertext adlanır. 934 00:45:43,780 --> 00:45:44,850 Bir sexy söz cür. 935 00:45:44,850 --> 00:45:47,630 Bu, yalnız bu şifrəli vasitələri düz mətn versiyası. 936 00:45:47,630 --> 00:45:52,570 Və həmin gizli olduğu zaman 13 və ya mənfi 13, sizə edə bilərlər 937 00:45:52,570 --> 00:45:54,970 kimi decrypt bir mesaj. 938 00:45:54,970 --> 00:45:57,770 >> Belə ki, problem şeylər arasında, iki Set Siz Hacker əgər edəcəyik 939 00:45:57,770 --> 00:46:01,860 Edition, siz kodu yazmaq lazımdır figuring bu parol çat 940 00:46:01,860 --> 00:46:05,170 nə onlar idi və necə idi Biz nə olsa şifrelenmiş, siz bir az vermək 941 00:46:05,170 --> 00:46:06,460 yol boyunca rəhbərliyi. 942 00:46:06,460 --> 00:46:09,320 Standard Edition, biz təqdim ciphers bir neçə şifreleme 943 00:46:09,320 --> 00:46:12,400 mexanizmlər, bir Sezar, bir adlı Vigenere adlı ki, hələ də 944 00:46:12,400 --> 00:46:16,100 A olur yerləşir fırlanma ciphers bir şey, B bir şey olur, lakin 945 00:46:16,100 --> 00:46:18,820 program bunu etmək lazımdır həqiqətən bir sirr var olacaq, çünki 946 00:46:18,820 --> 00:46:22,840 adətən bir sıra olan cəlb düyməsi və ya bir söz ki, yalnız 947 00:46:22,840 --> 00:46:26,420 göndərən və bu alan messages anlamalıdır. 948 00:46:26,420 --> 00:46:28,660 >> İndi, bu həqiqətən incarnations var real dünyada. 949 00:46:28,660 --> 00:46:32,910 Bu, məsələn, kiçik yetim edir Annie gizli decoder ring, və 950 00:46:32,910 --> 00:46:35,180 həqiqətən, bu həyata keçirə bilər fırlanma ciphers - 951 00:46:35,180 --> 00:46:37,930 A bir şey olur, B olur bir şey - Seyyar bir neçə ilə, 952 00:46:37,930 --> 00:46:40,840 xarici bir, içəridə bir belə ki, siz təkər dönüşümlü və ya 953 00:46:40,840 --> 00:46:44,170 üzük, siz həqiqətən sıralamaq bilər müxtəlif hərflərlə məktublar, 954 00:46:44,170 --> 00:46:45,430 gizli kodu əldə. 955 00:46:45,430 --> 00:46:48,110 Bu gün üçün cliffhanger kimi, nə mən nə istədiyiniz düşündüm bir az 956 00:46:48,110 --> 00:46:52,170 throwback ki, siz TV döndərsələr dekabrın 24-də, siz izləyə bilərsiniz 957 00:46:52,170 --> 00:46:55,390 üçün film reklam nauseum Ard-arda 24 saat. 958 00:46:55,390 --> 00:47:06,030 Amma bu gün üçün, burada açmaq lazımdır və bizə yalnız iki dəqiqə vermək 959 00:47:06,030 --> 00:47:13,493 pedaqoji müvafiq Christmas Story Ralphie adlı bir adamcıq ilə. 960 00:47:13,493 --> 00:47:14,400 >> [Video playback] 961 00:47:14,400 --> 00:47:17,420 >> -Ola bütün və çeşitli ki, məlum Ralph Parker bununla təyin olunur bir 962 00:47:17,420 --> 00:47:20,650 Kiçik yetim Annie gizli üzvü dairə və bütün etmək hüququna malikdir 963 00:47:20,650 --> 00:47:23,460 fərqlənmə və faydaları ona baş. 964 00:47:23,460 --> 00:47:25,990 >> , Little Yetim Annie-imzalanmışdır. 965 00:47:25,990 --> 00:47:30,100 Mürəkkəblə, Pierre Andre Countersigned. 966 00:47:30,100 --> 00:47:34,270 Onur və faydaları artıq doqquz yaşında. 967 00:47:34,270 --> 00:47:39,440 >> [RADİO ÜZRƏ qışqırır] 968 00:47:39,440 --> 00:47:40,770 >> Hadi ilə əldə edək. 969 00:47:40,770 --> 00:47:44,965 Mən bütün caz lazım deyil qaçaqçı və Pirates. 970 00:47:44,965 --> 00:47:48,270 >> Üçün sabah gecə dinlə qara bağlanması macəra 971 00:47:48,270 --> 00:47:49,650 pirat gəmi. 972 00:47:49,650 --> 00:47:53,320 İndi Annie gizli üçün vaxt Əgər üzvləri üçün mesaj 973 00:47:53,320 --> 00:47:55,720 gizli dairənin. 974 00:47:55,720 --> 00:47:56,580 , Uşaq unutmayın. 975 00:47:56,580 --> 00:48:01,720 Annie gizli Circle Yalnız üzvlər Annie gizli mesaj deşifre bilər. 976 00:48:01,720 --> 00:48:05,872 Unutmayın, Annie siz asılı olaraq. 977 00:48:05,872 --> 00:48:08,670 B2 üçün sancaqlar seçin. 978 00:48:08,670 --> 00:48:11,000 Burada bir mesaj. 979 00:48:11,000 --> 00:48:12,335 12, 11, 2 - 980 00:48:12,335 --> 00:48:14,670 >> -Mən ilk gizli görüş edirəm. 981 00:48:14,670 --> 00:48:19,720 >> -25, 14, 11, 18, 16 - 982 00:48:19,720 --> 00:48:21,650 >> -Pierre böyük səs gecə idi. 983 00:48:21,650 --> 00:48:24,830 Hesab edirəm ki, bu gecə mesaj deyə bilər həqiqətən çox əhəmiyyətli idi. 984 00:48:24,830 --> 00:48:26,400 >> -3, 25. 985 00:48:26,400 --> 00:48:28,540 Bu Annie özü bir mesaj var. 986 00:48:28,540 --> 00:48:30,086 Unutmayın, hər kəs demək deyil. 987 00:48:30,086 --> 00:48:34,370 988 00:48:34,370 --> 00:48:38,710 >> -90 Saniyə sonra, mən yalnız otaq Ben evin olduğu doqquz bir oğlan 989 00:48:38,710 --> 00:48:42,668 gizlilik və deşifre oturmaq bilər. 990 00:48:42,668 --> 00:48:47,628 Aha, B. Mən növbəti getdi. 991 00:48:47,628 --> 00:48:53,060 E. ilk sözü "ola" dir. S. İndi daha asan gəlirdi. 992 00:48:53,060 --> 00:48:54,980 U. 25. 993 00:48:54,980 --> 00:48:55,940 Ki, R. var 994 00:48:55,940 --> 00:48:56,900 >> , Ralphie on-Hadi. 995 00:48:56,900 --> 00:48:57,860 I go gerek. 996 00:48:57,860 --> 00:48:59,780 >> -I'll, sağ aşağı Ma ola bilər. 997 00:48:59,780 --> 00:49:01,030 Gee harika. 998 00:49:01,030 --> 00:49:04,300 999 00:49:04,300 --> 00:49:08,220 >> -T. O. əmin olun. 1000 00:49:08,220 --> 00:49:09,500 Nə əmin olun? 1001 00:49:09,500 --> 00:49:11,660 Little Yetim nə idi Annie demək çalışır? 1002 00:49:11,660 --> 00:49:12,844 Nə əmin olun? 1003 00:49:12,844 --> 00:49:14,732 >> -Ralphie, Randy getmək üçün var. 1004 00:49:14,732 --> 00:49:16,148 Siz çıxmaq xahiş edəcək? 1005 00:49:16,148 --> 00:49:17,092 >> -Bütün sağ, Ma. 1006 00:49:17,092 --> 00:49:18,510 Mən doğru olacaq. 1007 00:49:18,510 --> 00:49:20,270 >> -I yaxın artıq əldə edilmişdir. 1008 00:49:20,270 --> 00:49:21,823 Gərginlik dəhşətli idi. 1009 00:49:21,823 --> 00:49:23,045 Bu nə idi? 1010 00:49:23,045 --> 00:49:26,510 Planetin taleyi bilər balansında asmaq. 1011 00:49:26,510 --> 00:49:28,985 >> -Ralphie, Randy nin gerek gedin. 1012 00:49:28,985 --> 00:49:32,680 >> -I'll üçün sağ çıxmaq yüksək səslə ağlayır. 1013 00:49:32,680 --> 00:49:33,956 >> -Demək olar ki, var. 1014 00:49:33,956 --> 00:49:35,140 Mənim barmaqları uçdu. 1015 00:49:35,140 --> 00:49:36,880 Mənim fikir bir polad tələ idi. 1016 00:49:36,880 --> 00:49:38,010 Hər pore vibrasiyaya. 1017 00:49:38,010 --> 00:49:39,878 Demək olar ki, aydın idi. 1018 00:49:39,878 --> 00:49:43,210 Bəli, bəli, bəli, bəli, bəli. 1019 00:49:43,210 --> 00:49:49,030 >> Sizin Ovaltine içmək əmin-olun. 1020 00:49:49,030 --> 00:49:50,280 Ovaltine? 1021 00:49:50,280 --> 00:49:53,980 1022 00:49:53,980 --> 00:49:55,230 A crummy kommersiya? 1023 00:49:55,230 --> 00:49:58,572 1024 00:49:58,572 --> 00:50:00,694 Köpək oğlu. 1025 00:50:00,694 --> 00:50:01,900 >> [END video playback] 1026 00:50:01,900 --> 00:50:04,260 >> HOPARLÖR 1: Bu CS50 olduğunu, Problem Set iki olacaq. 1027 00:50:04,260 --> 00:50:06,305 Növbəti həftə baxın. 1028 00:50:06,305 --> 00:50:08,800 >> HOPARLÖR 2: növbəti CS50, bu olur. 1029 00:50:08,800 --> 00:50:11,060 >> HOPARLÖR 1: biz belə bir mövzu Beləliklə, uzaq baxdı 1030 00:50:11,060 --> 00:50:12,220 funksiyası göstəricilərinə ki. 1031 00:50:12,220 --> 00:50:14,540 İndi bir funksiyası pointer yalnız ictimai üçün ünvan 1032 00:50:14,540 --> 00:50:17,000 lakin çox kimi funksiyası - 1033 00:50:17,000 --> 00:50:18,250 bir oğlu - 1034 00:50:18,250 --> 00:50:19,670