1 00:00:00,000 --> 00:00:12,410 >> [Музика свира] 2 00:00:12,410 --> 00:00:12,830 >> Малан ДАВИД: У реду. 3 00:00:12,830 --> 00:00:13,370 Добродошао назад. 4 00:00:13,370 --> 00:00:16,510 То је ЦС50, а то је Једна недеља, Наставак. 5 00:00:16,510 --> 00:00:20,050 Дакле, један од разлога што смо пролазили око технологијама као што су 6 00:00:20,050 --> 00:00:24,120 Гоогле Стакло је да они долазе са нешто познат као АПИ, 7 00:00:24,120 --> 00:00:25,980 Апплицатион Программинг Интерфаце. 8 00:00:25,980 --> 00:00:28,830 И шта то значи да је са право фајлове и са правом 9 00:00:28,830 --> 00:00:32,850 документација, ви у ствари можете писати софтвер за чак уређаје попут ових. 10 00:00:32,850 --> 00:00:36,200 >> И оно што имамо на уму ка семестара крај је, ако је пројекат 11 00:00:36,200 --> 00:00:39,310 укључује, рецимо, Гоогле би стекло жалба, видећемо шта можемо да урадимо у 12 00:00:39,310 --> 00:00:42,220 Услови вас провлачење са неким позајмица хардвер као и 13 00:00:42,220 --> 00:00:46,500 јавно доступних АПИ, тако да можете заправо почети израда софтвера 14 00:00:46,500 --> 00:00:48,630 који ради на том истом Гоогле стакла. 15 00:00:48,630 --> 00:00:51,710 >> Други уређај који смо играо у последње време смо мислили да је можда 16 00:00:51,710 --> 00:00:53,910 забава на крају семестра је Ова мала ствар овде. 17 00:00:53,910 --> 00:00:56,860 То се зове скок покрета, а шта си видети је технички 18 00:00:56,860 --> 00:01:00,280 реклама за уређај, али је не говори о томе шта овај 19 00:01:00,280 --> 00:01:01,240 Уређај је способан. 20 00:01:01,240 --> 00:01:05,550 И, такође, долази са преко АПИ којима можете писати софтвер за 21 00:01:05,550 --> 00:01:10,545 контролишете свој рачунар на начин баш свиђа ово овде један-минутни филм. 22 00:01:10,545 --> 00:01:12,070 >> [ВИДЕО РЕПРОДУКЦИЈА] 23 00:01:12,070 --> 00:02:08,002 24 00:02:08,002 --> 00:02:08,590 >> [ЕНД ВИДЕО РЕПРОДУКЦИЈА] 25 00:02:08,590 --> 00:02:11,190 >> Управо сада, овај уређај се дешава са се спровести као мали УСБ 26 00:02:11,190 --> 00:02:14,290 конектор који можете да прикључите на вашем рачунар, али не бих се изненадио 27 00:02:14,290 --> 00:02:17,930 ако дуго пре него што имамо ове врсте технологије у наредном серије рачунара 28 00:02:17,930 --> 00:02:20,510 и Мац, тако да можете, заиста, интеракцију са њом у 29 00:02:20,510 --> 00:02:21,650 начин као што је то. 30 00:02:21,650 --> 00:02:24,250 У ствари, оно што сам мислио да ћу ја, такође, је Повукао сам се мало демонстрацију 31 00:02:24,250 --> 00:02:25,860 програм који долази са овим софтвером. 32 00:02:25,860 --> 00:02:28,700 Тако сам ставио мало сензор испред мог лаптопа. 33 00:02:28,700 --> 00:02:32,420 >> И као што видите, већ остварује да ми је рука ту 34 00:02:32,420 --> 00:02:33,400 контролише га. 35 00:02:33,400 --> 00:02:37,900 И све што ова апликација ради је несметано мале ствари овако. 36 00:02:37,900 --> 00:02:41,080 Али, можете да видите да је, заиста, Имам пет прстију тамо. 37 00:02:41,080 --> 00:02:44,270 Ако можемо да се то да уради свих 10, можете замислити уредан клавир 38 00:02:44,270 --> 00:02:45,390 апликација или као. 39 00:02:45,390 --> 00:02:47,820 Дакле, ако желите да дође до после наставе данас и игра са тим како 40 00:02:47,820 --> 00:02:49,720 добро, ви сте добродошли да. 41 00:02:49,720 --> 00:02:52,930 Дакле, више о томе ка крају семестра. 42 00:02:52,930 --> 00:02:54,420 >> Дакле, неколико административних најаве. 43 00:02:54,420 --> 00:02:58,690 Једна, до одељак овог петка у подне на цс60.нет/сецтион. 44 00:02:58,690 --> 00:03:01,260 То је УРЛ адреса на курс је као почетну. 45 00:03:01,260 --> 00:03:04,010 У међувремену, међутим, суперсецтионс ће дебитовати у недељу. 46 00:03:04,010 --> 00:03:07,800 Суперсецтионс су једнократни ствар, зато што нам је потребно неко време да се ради 47 00:03:07,800 --> 00:03:09,470 ко је у којој секција и где. 48 00:03:09,470 --> 00:03:12,280 >> Дакле Ово долази недељу, неће бити један одељак за оне мање удобан, 49 00:03:12,280 --> 00:03:14,040 један одељак за оне удобније. 50 00:03:14,040 --> 00:03:16,110 А они од вас негде у између су добродошли да иду у 51 00:03:16,110 --> 00:03:17,850 или оба или ниједан. 52 00:03:17,850 --> 00:03:19,150 Оба ће бити снимљен. 53 00:03:19,150 --> 00:03:22,740 Они ће бити у већем аудиторијуму од секција нормално би било унутра 54 00:03:22,740 --> 00:03:26,110 Али, циљ је да вас опремити са неки комфор са проблемом један сет, 55 00:03:26,110 --> 00:03:29,910 са Ц, са ЦС50 апарата, овај викенд, чак и пре него што сте сазнали своју 56 00:03:29,910 --> 00:03:31,050 формално секција задатак. 57 00:03:31,050 --> 00:03:34,700 Тако ћете срести своју ТФ и ваш мањи Група сецтионматес у око 58 00:03:34,700 --> 00:03:36,350 за недељу дана времена. 59 00:03:36,350 --> 00:03:38,200 >> Радно време, у међувремену, су дешава. 60 00:03:38,200 --> 00:03:41,020 Да ли их искористе вечерас или сутра увече, ако желите. 61 00:03:41,020 --> 00:03:43,460 Проблем 0 скуп заказан је у петак. 62 00:03:43,460 --> 00:03:46,680 Ово је дан касније од редовном четвртак. 63 00:03:46,680 --> 00:03:50,410 Али проблем са сетом 1, видећете да он укључује неке загревање 64 00:03:50,410 --> 00:03:52,770 вежбе са којима сте ви да проширите своје 65 00:03:52,770 --> 00:03:54,660 Четвртак рок до петка. 66 00:03:54,660 --> 00:03:58,410 Проблем 1 сет, у међувремену, дебитоваће на сајту је наравно ово долази 67 00:03:58,410 --> 00:04:02,000 Петак, ако желите да се склупча са као што сам то некада давно крајем 68 00:04:02,000 --> 00:04:04,370 Петак вече у својој соби. 69 00:04:04,370 --> 00:04:07,660 >> Дакле цс50.нет/апплианце је место где можете добити апарат ЦС50 70 00:04:07,660 --> 00:04:09,040 да смо почели да користе у понедељак. 71 00:04:09,040 --> 00:04:10,140 Ми ћемо га користити мало више данас. 72 00:04:10,140 --> 00:04:14,040 Али будите сигурни да је проблем сет 1 спецификација ће вас провести кроз 73 00:04:14,040 --> 00:04:16,490 управо су кораци које треба да је горе и трчање. 74 00:04:16,490 --> 00:04:22,120 Дакле, не брините о томе ради да је пре Псет 1 ако радије не бих. 75 00:04:22,120 --> 00:04:22,660 >> У реду. 76 00:04:22,660 --> 00:04:27,180 Дакле, ми смо гледали у понедељак у изворном коду, али у контексту новог 77 00:04:27,180 --> 00:04:30,895 програмски језик, односно Ц и Ц, за разлику од нуле, није графички. 78 00:04:30,895 --> 00:04:32,270 То није делове слагалице. 79 00:04:32,270 --> 00:04:34,450 То је више налик енглески синтакса. 80 00:04:34,450 --> 00:04:37,140 А ту је и пар корака у писаној форми, а заправо ради 81 00:04:37,140 --> 00:04:41,650 Програм у Ц, јер поред извора Код овако, потребно је нешто 82 00:04:41,650 --> 00:04:42,890 зове компајлер. 83 00:04:42,890 --> 00:04:46,682 И у смислу лаике, шта нема компајлер уради за нас? 84 00:04:46,682 --> 00:04:47,650 Да. 85 00:04:47,650 --> 00:04:51,040 >> СТУДЕНТ: Он конвертује код да пишете на 1с и 0с. 86 00:04:51,040 --> 00:04:51,151 >> ДАВИД Малан: Добро. 87 00:04:51,151 --> 00:04:53,580 Дакле, он конвертује код који пишемо да 0с и 1с. 88 00:04:53,580 --> 00:04:57,730 Он конвертује такозвани изворни код у објекат код, други који изгледа 89 00:04:57,730 --> 00:04:59,140 мало нешто овако. 90 00:04:59,140 --> 00:05:02,860 И то је ваш процесор, мозак унутрашњост рачунар, да због 91 00:05:02,860 --> 00:05:06,280 људи који су створили те рачунаре, Знам шта ти низови 92 00:05:06,280 --> 00:05:07,460 1с и 0с од просека. 93 00:05:07,460 --> 00:05:08,640 >> Можда то значи отисак. 94 00:05:08,640 --> 00:05:10,265 Можда то значи додатак. 95 00:05:10,265 --> 00:05:11,610 Можда то значи одузимање. 96 00:05:11,610 --> 00:05:13,350 Можда то значи приказати графички. 97 00:05:13,350 --> 00:05:16,870 Постоје предефинисани обрасци бита да је свет одлучио значе 98 00:05:16,870 --> 00:05:17,700 одређене ствари. 99 00:05:17,700 --> 00:05:20,760 Међутим, за највећи део у овом курсу, ћемо радити на вишем нивоу, и 100 00:05:20,760 --> 00:05:24,180 ми ћемо узети здраво за готово да постоји ствари као што су компајлери које могу 101 00:05:24,180 --> 00:05:27,670 чине нашу функцију изворног кода на начин на који желимо. 102 00:05:27,670 --> 00:05:31,660 >> Дакле, програм прво писао прошле недеље а онда је почео да се порт, тако да 103 00:05:31,660 --> 00:05:33,920 говоре, да Ц прошле Понедељак, био је то. 104 00:05:33,920 --> 00:05:35,700 Када се кликне зелена застава, поздрави. 105 00:05:35,700 --> 00:05:37,430 То је, наравно, написан у Огреби. 106 00:05:37,430 --> 00:05:40,710 И ја тврдио да је еквивалентно Програм у Ц изгледао мало 107 00:05:40,710 --> 00:05:41,520 нешто овако. 108 00:05:41,520 --> 00:05:45,050 >> Дакле, оно што сам мислио да ћемо урадити у почетку је, хајде да задиркују, осим што изгледа, на први поглед 109 00:05:45,050 --> 00:05:48,790 поглед, додуше, као и прилично тајанствен синтакса, али ћете почети да приметити 110 00:05:48,790 --> 00:05:50,160 обрасци веома брзо. 111 00:05:50,160 --> 00:05:53,770 Оно што такође ћемо радити данас је обезбедити Ви са менталним модел за неке 112 00:05:53,770 --> 00:05:57,280 канонска, неки стандардни конструкти у програмирању. 113 00:05:57,280 --> 00:06:00,420 А онда ћемо заправо ћете се руке прљави неке примере, као и. 114 00:06:00,420 --> 00:06:04,140 >> Дакле, за оне од вас удобније, схватају да ове недеље, а онда следећи 115 00:06:04,140 --> 00:06:05,940 недеља може врло добро бити мало прегледа. 116 00:06:05,940 --> 00:06:08,810 Али, посебно када хакер издање 1 сет проблема излази на 117 00:06:08,810 --> 00:06:12,330 Наравно, сајт је у петак, ја мислим видећете да чак и попуните 118 00:06:12,330 --> 00:06:15,390 неке празнине током следеће недеље или два, Ви ћете почети да се све више 119 00:06:15,390 --> 00:06:18,410 изазов и сусрет нове и новије ствари. 120 00:06:18,410 --> 00:06:21,310 >> Па хајде да зафркавати поред овог програма неколико линија у исто време. 121 00:06:21,310 --> 00:06:24,140 На самом врху, имамо оно што је технички зове 122 00:06:24,140 --> 00:06:25,950 Претпроцесор директива. 123 00:06:25,950 --> 00:06:30,510 Ово је само линија кода који каже да обухвати садржај датотеке, 124 00:06:30,510 --> 00:06:35,080 зове стандардни И / Н, стандардни улаз - или, извини, стандардни И / О, стандардна 125 00:06:35,080 --> 00:06:38,670 улаз / излаз, ч., унутра мог сопственог програма. 126 00:06:38,670 --> 00:06:41,670 >> Другим речима, ако сам написао ово Програм са једноставним уређивачем текста као 127 00:06:41,670 --> 00:06:45,260 гедит, једноставније еквивалент нешто као Мицрософт Ворд, да 128 00:06:45,260 --> 00:06:50,970 инструкција, # инцлуде стдио.х, само ће рећи компајлер, зграби 129 00:06:50,970 --> 00:06:56,080 Садржај те друге датотеке, стдио.х, и налепите га овде. 130 00:06:56,080 --> 00:06:57,090 >> Сада, зашто ме брига? 131 00:06:57,090 --> 00:07:01,850 Шта ми тражимо је унутар овог фајла зове стдио.х, која се чува 132 00:07:01,850 --> 00:07:05,490 негде на мом хард диску, или у овом случај, негде у ЦС50 апарат? 133 00:07:05,490 --> 00:07:06,635 Неко други је ставио ту за мене. 134 00:07:06,635 --> 00:07:09,910 Али, шта је у њему? 135 00:07:09,910 --> 00:07:13,020 >> Да, па то је декларација принтф функција зове. 136 00:07:13,020 --> 00:07:17,400 Дакле принтф функција која подсећа приказује речи и знакове и 137 00:07:17,400 --> 00:07:20,160 бројеви на екрану у мојој надметања. 138 00:07:20,160 --> 00:07:21,220 Али ја нисам написао. 139 00:07:21,220 --> 00:07:22,230 ЦС50 није написала. 140 00:07:22,230 --> 00:07:26,990 Неко је написао да је година, и они су суштини нам је дао рецепт за то 141 00:07:26,990 --> 00:07:29,110 у датотеку под називом стдио.х. 142 00:07:29,110 --> 00:07:33,240 Тако да прва линија само ми даје приступ на функције које је неко други 143 00:07:33,240 --> 00:07:36,500 написао пре неколико година, међу што су принтф. 144 00:07:36,500 --> 00:07:39,450 >> Сада, следећа линија ћу да махнем рука у, бар до следеће недеље. 145 00:07:39,450 --> 00:07:43,620 Али за сада, знам да инт маин () је суштини еквивалент ово 146 00:07:43,620 --> 00:07:46,310 жуте слагалице када зелена застава кликнули. 147 00:07:46,310 --> 00:07:49,510 Свет, пре много година, одлучио је да, ако пишете програм 148 00:07:49,510 --> 00:07:53,150 језик који се звао Ц, почнете ваш програм са линије 149 00:07:53,150 --> 00:07:54,410 да изгледа. 150 00:07:54,410 --> 00:07:57,650 За само недељу дана, то ће бити осећај шта је инт, што је празнина. 151 00:07:57,650 --> 00:08:00,840 Али, за сада, само мислим о томе као ове жуте слагалица. 152 00:08:00,840 --> 00:08:04,550 >> Сада поред, имамо коврџаву браце праћен од другог блиског коврџаве браце, 153 00:08:04,550 --> 00:08:05,240 да тако кажем. 154 00:08:05,240 --> 00:08:07,430 И видећемо током ове програма у Ц, као и 155 00:08:07,430 --> 00:08:08,930 Јава и ПХП. 156 00:08:08,930 --> 00:08:11,345 А ово само обухвати сродних линија кода. 157 00:08:11,345 --> 00:08:14,600 Суштини отворена коврџава заграда каже, долази неки код. 158 00:08:14,600 --> 00:08:17,590 И затворени коврџава браће, који је постављена у другом правцу, само 159 00:08:17,590 --> 00:08:19,920 значи, да је за релевантни код. 160 00:08:19,920 --> 00:08:22,970 >> Тако сочно ред у овај први Програм је последња, принтф, 161 00:08:22,970 --> 00:08:25,080 цитирам-завршити цитат, здраво свет. 162 00:08:25,080 --> 00:08:30,670 И ја назвао ствар између цитира шта последњи пут? 163 00:08:30,670 --> 00:08:31,285 Тако да је ниска. 164 00:08:31,285 --> 00:08:35,309 А Стринг је само тецхие термин за низ 165 00:08:35,309 --> 00:08:37,169 карактера, реч, фраза. 166 00:08:37,169 --> 00:08:39,380 Чак и једно слово могао бити двоструко цитирао. 167 00:08:39,380 --> 00:08:41,840 Али то је секвенца нула или више знакова. 168 00:08:41,840 --> 00:08:43,650 >> Обрнута коса црта-н, међутим, изгледа мало чудно. 169 00:08:43,650 --> 00:08:46,290 Али, то једноставно значи нешто једноставно на рачунар. 170 00:08:46,290 --> 00:08:48,060 Шта је обрнута коса црта-н? 171 00:08:48,060 --> 00:08:48,570 Нова линија. 172 00:08:48,570 --> 00:08:52,490 Дакле, то је само посебан редослед знакова да је свет одлучио 173 00:08:52,490 --> 00:08:56,880 средство стави прелом реда тамо, јер компајлер ће заиста добити 174 00:08:56,880 --> 00:09:02,280 збуњен, обично, ако вас, веома разумљиво, али погрешно, само 175 00:09:02,280 --> 00:09:04,570 ударају Ентер да стави нове линије у вашем коду. 176 00:09:04,570 --> 00:09:07,150 Морате бити мало више експлицитан у знак обрнуте косе-н. 177 00:09:07,150 --> 00:09:10,540 >> И ми ћемо видети да постоји неколико других таквих обрасце за специјалне карактере. 178 00:09:10,540 --> 00:09:14,340 На пример, ако сте хтели да пустите ум лута у корнер случај, 179 00:09:14,340 --> 00:09:18,080 Претпостављам да сам желео да одштампате двоструки цитат на екрану за 180 00:09:18,080 --> 00:09:21,840 било ког разлога, да се чини да бити мало проблематично, зар не? 181 00:09:21,840 --> 00:09:24,990 Јер ако ставим дуплу цитат у средина "Хелло, Ворлд," за шта год 182 00:09:24,990 --> 00:09:30,120 разлог, зашто вам се то чини потенцијално проблематично? 183 00:09:30,120 --> 00:09:32,180 Она разбија стринг. 184 00:09:32,180 --> 00:09:34,700 >> Компајлер је само програм. 185 00:09:34,700 --> 00:09:37,210 Програм као компајлер це једноставно да читају ваш горњи код у дну, 186 00:09:37,210 --> 00:09:37,990 лева на десно. 187 00:09:37,990 --> 00:09:41,850 А ако види, уместо три двоструким наводницима два, то неће знати 188 00:09:41,850 --> 00:09:45,210 Ако мислите да је ствар у лево треба да буде ниска, или да се ствар 189 00:09:45,210 --> 00:09:46,570 право, или је цела ствар. 190 00:09:46,570 --> 00:09:50,560 То је двосмислено, па шта типично компајлер ће урадите је само одлепим, 191 00:09:50,560 --> 00:09:53,710 а ти дати поруку о грешци, и учинити да се баве овим проблемима. 192 00:09:53,710 --> 00:09:58,120 >> Дакле, с обзиром да је обрнута коса црта-н означава нови линија, шта би сада својим инстинктима 193 00:09:58,120 --> 00:10:02,610 почети да се, ако сте желели да се укључи нешто попут аномалија двоструко 194 00:10:02,610 --> 00:10:06,210 цитирају унутрашњост овог иначе берзи ниска? 195 00:10:06,210 --> 00:10:07,640 Обрнута коса црта-двоструки цитат. 196 00:10:07,640 --> 00:10:09,630 И тако ћемо видети ово врсту обрасца превише. 197 00:10:09,630 --> 00:10:12,490 >> Ако желите да урадите нешто мало чудно, видећете да 198 00:10:12,490 --> 00:10:15,060 решења често следе образац, и инверзно 199 00:10:15,060 --> 00:10:17,150 означава бекство секвенцу. 200 00:10:17,150 --> 00:10:20,320 И то само значи нешто посебно који треба да представља у 201 00:10:20,320 --> 00:10:21,060 другачији начин. 202 00:10:21,060 --> 00:10:23,830 Што се тиче како се представљају косу црту, добро, ми ћемо 203 00:10:23,830 --> 00:10:24,550 вратити на то. 204 00:10:24,550 --> 00:10:26,930 Али, одговор је, такође, у ствари превише очигледно. 205 00:10:26,930 --> 00:10:31,080 >> Па хајде да сада уведе неки други програмирање конструкти 206 00:10:31,080 --> 00:10:31,915 које сте видели у нуле. 207 00:10:31,915 --> 00:10:34,790 Вероватно сте узети здраво за готово Већ ако сте већ заронио у 208 00:10:34,790 --> 00:10:36,060 Проблем сет 0. 209 00:10:36,060 --> 00:10:40,950 Али, хајде да сада уводи у синтаксу Ц за ове иначе прилично интуитиван 210 00:10:40,950 --> 00:10:42,300 идеје, бар неке од њих. 211 00:10:42,300 --> 00:10:45,570 >> Дакле, овај појам условом или грана, а раније смо 212 00:10:45,570 --> 00:10:49,330 представљени га са кодом који је изгледао овако са леве стране у Сцратцх - 213 00:10:49,330 --> 00:10:52,200 ако је к мање од и, онда реците - 214 00:10:52,200 --> 00:10:56,760 уместо тога сада у Ц - дозволите ми брус у на најједноставнијем случају - 215 00:10:56,760 --> 00:11:01,235 Ми једноставно рећи, ако је, отворите заграда, нешто тачно - 216 00:11:01,235 --> 00:11:04,190 Булов израз ће ићи где сам рекао стање - 217 00:11:04,190 --> 00:11:08,170 затвори заграда, онда шта је унутар тих заграда. 218 00:11:08,170 --> 00:11:11,020 >> Дакле, овде се, великих заграда су врста као што је Сцратцх 219 00:11:11,020 --> 00:11:12,460 У облика слагалице комада. 220 00:11:12,460 --> 00:11:14,890 Да оно што је унутар ових заграда. 221 00:11:14,890 --> 00:11:16,790 У овом случају, смањи смањи. 222 00:11:16,790 --> 00:11:19,720 А ово је приметити напред сласх, не обрнуту косу црту. 223 00:11:19,720 --> 00:11:21,440 Коса црта, коса црта, за оне који су програмирани 224 00:11:21,440 --> 00:11:23,370 пре, само значи - 225 00:11:23,370 --> 00:11:24,190 то је само коментар. 226 00:11:24,190 --> 00:11:26,630 Коментар није ред кода, по себи. 227 00:11:26,630 --> 00:11:30,200 То је линија коју енглеског, људски, писали за себе да 228 00:11:30,200 --> 00:11:33,540 Можда вас подсећају на нешто, да објаснити себи, да се објасни 229 00:11:33,540 --> 00:11:35,260 неко други, што је шифра ради. 230 00:11:35,260 --> 00:11:37,050 То је само описни коментар. 231 00:11:37,050 --> 00:11:40,880 >> Сада, наравно, можемо да имамо двосмерну раскршћу управо на овај начин, 232 00:11:40,880 --> 00:11:43,930 тространо раскршћу радећи ово, а ако наставите ово 233 00:11:43,930 --> 00:11:47,570 образац, можете имати четири смера, пет-шест начин, начин рачва на путу ако 234 00:11:47,570 --> 00:11:50,150 треба да обради, заиста, да многи услови. 235 00:11:50,150 --> 00:11:52,010 А онда овде приметити паралелизам - 236 00:11:52,010 --> 00:11:55,070 иф (услов), иф (услов), и једини који је мало 237 00:11:55,070 --> 00:11:58,010 чудно је последња, која је само то остало. 238 00:11:58,010 --> 00:12:01,170 Али опет, то је идентичан, концептуално, на шта смо урадили 239 00:12:01,170 --> 00:12:04,690 већ, иако синтакса ће потребно мало навикавања. 240 00:12:04,690 --> 00:12:07,730 >> Сада, у овом примеру, постоје нека друга чудна синтакса. 241 00:12:07,730 --> 00:12:11,220 Ми видимо принтф опет, отворен заграде, и затвори заграда. 242 00:12:11,220 --> 00:12:13,190 И унутрашњост је наводника. 243 00:12:13,190 --> 00:12:17,060 Заграде, у контексту од принтф, идите на левој 244 00:12:17,060 --> 00:12:18,160 и праву? 245 00:12:18,160 --> 00:12:22,190 Шта ћемо показати да цитирали ниска као уопште? 246 00:12:22,190 --> 00:12:23,320 >> Дакле, то је аргумент. 247 00:12:23,320 --> 00:12:26,620 Сваки пут када имате функцију, као што је принтф, а затим и отворена заграда 248 00:12:26,620 --> 00:12:30,330 затвори заграда и нешто у то, да ли је ниска, или 249 00:12:30,330 --> 00:12:34,420 цео број, или било шта друго, што у између те заграде назива се 250 00:12:34,420 --> 00:12:35,110 аргумент. 251 00:12:35,110 --> 00:12:37,910 >> И управо аргумент утиче Понашање ове функције. 252 00:12:37,910 --> 00:12:39,990 У овом случају, прилично је јасно како. 253 00:12:39,990 --> 00:12:44,480 к <и је оно што се преноси у, да тако кажем, као аргумент. 254 00:12:44,480 --> 00:12:47,720 И принтф ће принт управо то. 255 00:12:47,720 --> 00:12:51,590 Јер сигурно, пре је особа године који спроводи иф имали појма 256 00:12:51,590 --> 00:12:55,000 оно што смо људска наследници били ће се користити за инт. 257 00:12:55,000 --> 00:12:58,610 Зато аргументи постоје, да утичу на понашање након функција је 258 00:12:58,610 --> 00:12:59,450 било написано. 259 00:12:59,450 --> 00:13:00,780 >> Сада, боолеан израз. 260 00:13:00,780 --> 00:13:02,470 Видели смо ово раније у нуле. 261 00:13:02,470 --> 00:13:06,680 Испоставило се да у Ц могуће је "или" их заједно, да тако кажем. 262 00:13:06,680 --> 00:13:10,930 Две вертикалне пруге значи да је овај блок кода, ово урадили, ће 263 00:13:10,930 --> 00:13:15,350 извршава ако је први услов тачан или други услов. 264 00:13:15,350 --> 00:13:17,710 И иако можда нисте урадили ово нуле, ти заиста могао 265 00:13:17,710 --> 00:13:20,580 уради у нуле, а можете изрази себе другачије - 266 00:13:20,580 --> 00:13:25,300 ако је први услов и други услов су истините, онда шта је 267 00:13:25,300 --> 00:13:27,160 унутар великих заграда. 268 00:13:27,160 --> 00:13:31,210 >> И баш као што на страну, то је разлог дупли Амперсанд и двоструки 269 00:13:31,210 --> 00:13:34,610 вертикална трака, на крају ћемо видети да једна вертикална трака и 270 00:13:34,610 --> 00:13:38,710 једним Амперсанд заправо имају различите што значи у Ц. Дакле, за сада, 271 00:13:38,710 --> 00:13:41,840 да се дуплирање симбола је намерно. 272 00:13:41,840 --> 00:13:45,070 >> Па хајде да уведу, укратко, овај други мало синтаксе. 273 00:13:45,070 --> 00:13:48,940 Ово не сасвим преносе на Огреби, али ја тврдим да могу 274 00:13:48,940 --> 00:13:55,190 спроводи појам ако друго, ако друго, ако је друго, ако користите елсе 275 00:13:55,190 --> 00:13:56,760 нешто што се зове свитцх изјаву. 276 00:13:56,760 --> 00:14:00,820 А једини разлог то стварно постоји је само да вам дам, програмер, 277 00:14:00,820 --> 00:14:05,470 мало другачији начин решавања неких проблем, иако је логично 278 00:14:05,470 --> 00:14:07,340 не даје никакве нове могућности. 279 00:14:07,340 --> 00:14:08,530 >> Под тим мислим на то. 280 00:14:08,530 --> 00:14:13,330 Када кажете прекидач, а затим размак, а онда пар заграда, унутра 281 00:14:13,330 --> 00:14:14,570 од којих се израз - 282 00:14:14,570 --> 00:14:18,010 и то може бити мало не-очигледна у почетку, али то није аргумент, 283 00:14:18,010 --> 00:14:20,680 технички, јер је прекидач није функција. 284 00:14:20,680 --> 00:14:24,230 Дакле, за сада, само претпоставити да користимо заграде у различитим местима 285 00:14:24,230 --> 00:14:25,250 из различитих разлога. 286 00:14:25,250 --> 00:14:29,310 >> Дакле, прекидач на изразу значи да могу да ставио променљиву унутар оних 287 00:14:29,310 --> 00:14:31,350 заграде где пише израз. 288 00:14:31,350 --> 00:14:33,090 А онда, ако то променљива - 289 00:14:33,090 --> 00:14:35,400 Претпостављам да се зове к, а то је само цео број - 290 00:14:35,400 --> 00:14:38,900 Ја онда могу набројати на мом слајду Овде нешто овако. 291 00:14:38,900 --> 00:14:41,690 Ако је к променљива мој, и ја Желим да урадим нешто ако је к 292 00:14:41,690 --> 00:14:43,480 једнака 1, ја могу то да урадим. 293 00:14:43,480 --> 00:14:46,660 >> Ако бих уместо тога желе да ураде нешто ако је к 2, ја могу то да урадим. 294 00:14:46,660 --> 00:14:50,390 Иначе, ако желим да урадим нешто друго потпуно, ја могу да имам случај у подразумевани 295 00:14:50,390 --> 00:14:52,750 том случају ја ова друга ствар. 296 00:14:52,750 --> 00:14:58,730 Дакле, у том смислу, то је еквивалентно ако је к једнако једнак 1, иначе, ако друго, 297 00:14:58,730 --> 00:15:01,150 али ја то сада помињем само зато ћемо га поново видети. 298 00:15:01,150 --> 00:15:03,720 Али, за сада, само знам да постоји. 299 00:15:03,720 --> 00:15:04,220 >> У реду. 300 00:15:04,220 --> 00:15:07,660 Дакле, ово су последњи пар мало више комплекс на први поглед, али они 301 00:15:07,660 --> 00:15:09,385 нешто прилично једноставно. 302 00:15:09,385 --> 00:15:14,410 За петљу у Ц је комад кода који само ради нешто поново и 303 00:15:14,410 --> 00:15:15,330 изнова и изнова. 304 00:15:15,330 --> 00:15:17,590 И само досадне ствар је то је да је мало загонетан 305 00:15:17,590 --> 00:15:21,380 да изрази себе у овој цикличне образац, али свет стандардизовани на 306 00:15:21,380 --> 00:15:22,450 следећи начин. 307 00:15:22,450 --> 00:15:25,760 >> Када користите за петљу, имате заградама поново. 308 00:15:25,760 --> 00:15:27,570 И приметио два зарез тамо. 309 00:15:27,570 --> 00:15:34,380 Та два зарез три одвојена различити изрази унутрашњост 310 00:15:34,380 --> 00:15:35,020 заграде. 311 00:15:35,020 --> 00:15:37,170 Један је такозвани инитиализатионс. 312 00:15:37,170 --> 00:15:38,830 Један од њих је тзв стање. 313 00:15:38,830 --> 00:15:40,210 А један је тзв исправке. 314 00:15:40,210 --> 00:15:43,240 >> Погледао у апстрактно, ово је потпуно не-очигледна, па хајде да погледамо 315 00:15:43,240 --> 00:15:44,630 на конкретном примеру. 316 00:15:44,630 --> 00:15:46,720 У Огреби смо имали понављања блок. 317 00:15:46,720 --> 00:15:50,670 И овај блок каже поновите 10 пута, кажу "Здраво, свете." Дозволите ми да тврде за 318 00:15:50,670 --> 00:15:53,810 сада, а ми ћемо се вратити на ово, и то, такође, ће се упознају са 319 00:15:53,810 --> 00:15:57,345 пре него што дуго, еквивалент Ц број се може рећи да је то - 320 00:15:57,345 --> 00:16:02,320 за изјаве и простора, пар заграде, приметите зарез у 321 00:16:02,320 --> 00:16:05,730 тамо, што одвојите три различита ствари, иницијализацију, на 322 00:16:05,730 --> 00:16:07,320 стање, и ажурирање. 323 00:16:07,320 --> 00:16:08,840 >> И Погоди шта Прво се ради. 324 00:16:08,840 --> 00:16:10,690 Инт и = 0. 325 00:16:10,690 --> 00:16:15,120 У смислу грубо лаик, оно што је да раде за нас, вероватно? 326 00:16:15,120 --> 00:16:15,590 Тако да. 327 00:16:15,590 --> 00:16:19,630 То је декларисање променљиве под називом И, и то је дајући какву вредност? 328 00:16:19,630 --> 00:16:20,220 0. 329 00:16:20,220 --> 00:16:24,280 Дакле, то је стварање променљиву зове И, складиштење вредност 0 у њему. 330 00:16:24,280 --> 00:16:26,420 То је такозвани иницијализација. 331 00:16:26,420 --> 00:16:29,360 >> У реду, сад сам тврдио раније да је средњи ствари, ја 332 00:16:29,360 --> 00:16:31,760 <10, је услов. 333 00:16:31,760 --> 00:16:32,730 Дакле, шта се ради? 334 00:16:32,730 --> 00:16:36,560 Па, шта ради када се петља за Програм са петље за води, је 335 00:16:36,560 --> 00:16:41,050 сваки пут када рачунар ради кроз Ова петља, одозго на доле, на врх 336 00:16:41,050 --> 00:16:43,740 дно, баш као и ви урадили када рачунајући себе и седе, 337 00:16:43,740 --> 00:16:47,090 опет и опет и опет, рачунар ће 338 00:16:47,090 --> 00:16:48,560 Провери тај услов. 339 00:16:48,560 --> 00:16:51,140 А ако и је мање од 10, да ће то урадити поново. 340 00:16:51,140 --> 00:16:53,100 Ако и је мање од 10, да ће то урадити поново. 341 00:16:53,100 --> 00:16:55,030 Ако и је мање од десет, да ће то урадити поново. 342 00:16:55,030 --> 00:16:57,330 Тако да изгледа да сугерише да Надам се да се мења. 343 00:16:57,330 --> 00:16:59,010 У супротном, имали бисмо бесконачну петља. 344 00:16:59,010 --> 00:17:02,590 И заиста, ја се мења, јер Последња ствар после зареза тамо 345 00:17:02,590 --> 00:17:05,569 је помало загонетан синтакса и + +. 346 00:17:05,569 --> 00:17:07,630 Али они од вас који ово радили пре, то само значи 347 00:17:07,630 --> 00:17:08,609 једноставно ста? 348 00:17:08,609 --> 00:17:09,730 >> СТУДЕНТИ: [изнео ВОИЦЕС]. 349 00:17:09,730 --> 00:17:10,740 >> ДАВИД Малан: Додајте 1 до И. 350 00:17:10,740 --> 00:17:11,819 Прираст и. 351 00:17:11,819 --> 00:17:13,910 Дакле, видели смо огреботина слагалицу комад за то, у ствари. 352 00:17:13,910 --> 00:17:18,230 То није личило и + +, али то једноставно значи, једноставно, повећавати 353 00:17:18,230 --> 00:17:24,040 вреднују и за 1 сваки пут када се то уради. 354 00:17:24,040 --> 00:17:26,910 Дакле буквално, почнете од иницијализација И на 0. 355 00:17:26,910 --> 00:17:29,520 Затим проверите стање. 356 00:17:29,520 --> 00:17:31,070 Да ли је 0 мање од 10? 357 00:17:31,070 --> 00:17:31,730 Да. 358 00:17:31,730 --> 00:17:32,910 Ми идемо кроз петљу. 359 00:17:32,910 --> 00:17:35,150 >> Следећа ствар коју тврдим рачунара урадити је да ће 360 00:17:35,150 --> 00:17:35,910 за повећање и. 361 00:17:35,910 --> 00:17:37,080 Тако да сам сада је 1. 362 00:17:37,080 --> 00:17:37,940 Она проверава стање. 363 00:17:37,940 --> 00:17:39,290 1. Да ли је мање од 10? 364 00:17:39,290 --> 00:17:39,930 Наравно. 365 00:17:39,930 --> 00:17:41,030 Дакле, поново ради. 366 00:17:41,030 --> 00:17:43,580 Онда се повећава и до 2 +. 367 00:17:43,580 --> 00:17:44,610 2. Да ли је мање од 10? 368 00:17:44,610 --> 00:17:45,230 Да. 369 00:17:45,230 --> 00:17:46,670 И опет и опет и опет. 370 00:17:46,670 --> 00:17:50,070 И на крају, због плус-плуссинг, добијамо да сам износи 10. 371 00:17:50,070 --> 00:17:51,675 Да ли је 10 мање од 10? 372 00:17:51,675 --> 00:17:52,990 Па, очигледно не. 373 00:17:52,990 --> 00:17:55,320 И то је тачка у којој фор петља само зауставља. 374 00:17:55,320 --> 00:17:58,320 А ако имате више кода на екран доле, рачунар 375 00:17:58,320 --> 00:18:01,620 наставља да уместо воде тај код. 376 00:18:01,620 --> 00:18:05,380 >> Па опет, иако ово ће изгледају и осећају мало чудно у 377 00:18:05,380 --> 00:18:07,830 Прво, свакако за оне који никада програмирао раније, што 378 00:18:07,830 --> 00:18:11,640 буквално смањује концептуално за шта је иначе веома 379 00:18:11,640 --> 00:18:14,330 једноставна слагалица комад у Огреби. 380 00:18:14,330 --> 00:18:19,130 >> У реду, обећао сам да бих бити и других аналога у нуле. 381 00:18:19,130 --> 00:18:20,060 Превише Овде је тај. 382 00:18:20,060 --> 00:18:21,700 И видели смо овог кратко последњи пут. 383 00:18:21,700 --> 00:18:23,530 Али запамтите заувек блокира у Огреби? 384 00:18:23,530 --> 00:18:25,490 То је само ради нешто заувек? 385 00:18:25,490 --> 00:18:27,470 Сам тврдио да бисте могли да примените то на овај начин. 386 00:18:27,470 --> 00:18:29,740 И ви у ствари можете спроведе ово у гомилу различитих начина. 387 00:18:29,740 --> 00:18:34,260 >> Али, док је петља је само другачији Начин на Ц за себе изражавања. 388 00:18:34,260 --> 00:18:37,080 На крају крајева, ви не можете да урадите све са вхиле петље да сте 389 00:18:37,080 --> 00:18:38,360 не може са за петљу. 390 00:18:38,360 --> 00:18:41,430 Дакле, они су на крају дан функционално исти. 391 00:18:41,430 --> 00:18:43,840 Али, то вам омогућава да се изразите мало другачије у 392 00:18:43,840 --> 00:18:44,850 следећи начин. 393 00:18:44,850 --> 00:18:49,720 >> Са вхиле петље, то је оно што је у заграде која је поново проверавају и 394 00:18:49,720 --> 00:18:51,050 изнова и изнова. 395 00:18:51,050 --> 00:18:55,100 И чим тај израз је лажан, онда петља се зауставља извршавање, 396 00:18:55,100 --> 00:18:57,890 и рачунар наставља да покренути било коју другу шифру 397 00:18:57,890 --> 00:18:59,230 имају у датотеци. 398 00:18:59,230 --> 00:19:02,180 >> Али оно што је интересантно овде је да сам буквално откуца тачно. 399 00:19:02,180 --> 00:19:06,680 А истина је врста Боолеан вредности, вредност тачно или нетачно. 400 00:19:06,680 --> 00:19:09,750 Дакле, да истина икада постати ако лажно Буквално смо 401 00:19:09,750 --> 00:19:11,970 је тешко кодирана у мој програм? 402 00:19:11,970 --> 00:19:12,470 Тако да нема. 403 00:19:12,470 --> 00:19:13,730 То је мало чудно да сам ја ово урадио. 404 00:19:13,730 --> 00:19:15,190 Али, истина је истина. 405 00:19:15,190 --> 00:19:16,320 Нема плус-плуссинг. 406 00:19:16,320 --> 00:19:17,820 Нема користи од варијабли у овде. 407 00:19:17,820 --> 00:19:22,740 Па зато што сам хард-цодед док истина, ово петља ће увек да процени 408 00:19:22,740 --> 00:19:24,090 опет и опет и опет. 409 00:19:24,090 --> 00:19:27,660 >> Па колико пута је здраво свет ће штампати на екрану? 410 00:19:27,660 --> 00:19:28,170 Заувек. 411 00:19:28,170 --> 00:19:31,980 Бесконачан број пута док се не батерија умре или неки други спољни 412 00:19:31,980 --> 00:19:32,730 догађај деси. 413 00:19:32,730 --> 00:19:35,880 Дакле, ово вероватно није најбољи програм писати, јер уколико корисник 414 00:19:35,880 --> 00:19:38,660 никада не може да напустите свој програм, то је вероватно није оно што сте намеравали. 415 00:19:38,660 --> 00:19:41,070 >> Али понекад, програми треба да имају бесконачну петља. 416 00:19:41,070 --> 00:19:44,050 На пример, ако ваш рачунар има Сат на њој, сигурно би 417 00:19:44,050 --> 00:19:48,130 лепо ако ваш сат то се ажурирати сама заувек, мада некада 418 00:19:48,130 --> 00:19:50,500 Друга или једном минут или тако нешто. 419 00:19:50,500 --> 00:19:53,690 Дакле, чак и бесконачне петље имају своје место. 420 00:19:53,690 --> 00:19:54,360 >> У реду. 421 00:19:54,360 --> 00:19:55,190 На крају, овај. 422 00:19:55,190 --> 00:19:57,770 А ово је мало другачије функционално, а ми ћемо се вратити на 423 00:19:57,770 --> 00:19:59,460 ово вероватно у Псет 1. 424 00:19:59,460 --> 00:20:02,370 Али постоји још једна врста петље назвао уради док петљи. 425 00:20:02,370 --> 00:20:07,100 А једина разлика између до вхиле петље и, кажу, док петљу, 426 00:20:07,100 --> 00:20:11,120 услов је да се не проверава пре него што изврши код, али после 427 00:20:11,120 --> 00:20:12,080 извршите код. 428 00:20:12,080 --> 00:20:15,380 Дакле, на врху за време петља, а док до 429 00:20:15,380 --> 00:20:16,560 проверава да ли је на дну. 430 00:20:16,560 --> 00:20:21,370 >> А то само значи да док петља обично извршава више пута 431 00:20:21,370 --> 00:20:24,630 или мање пута него у вхиле петље? 432 00:20:24,630 --> 00:20:30,810 Потенцијално више пута, јер је то док петља се јасно каже ово, 433 00:20:30,810 --> 00:20:34,600 тек после чега сте проверили ако је услов унутар 434 00:20:34,600 --> 00:20:35,980 заграде је тачно. 435 00:20:35,980 --> 00:20:37,940 >> Тако да ћемо видети поново вероватно у Псет 1. 436 00:20:37,940 --> 00:20:41,150 Ако сте икада желели да урадите нешто на најмање једном, а онда можда још 437 00:20:41,150 --> 00:20:43,350 пута, ово је добар изградити за коришћење. 438 00:20:43,350 --> 00:20:46,970 Али, док је петља, насупрот томе, да ли ће Прво проверите у каквом је стању. 439 00:20:46,970 --> 00:20:50,660 И то је за петље у Ц, не док, док, и за петље. 440 00:20:50,660 --> 00:20:54,700 И опет, они мап прилично лепо назад да се почеше, осим овај не 441 00:20:54,700 --> 00:20:57,350 сасвим имају исти аналог у нуле. 442 00:20:57,350 --> 00:20:58,880 >> Па, шта кажеш, сада, променљиве? 443 00:20:58,880 --> 00:21:02,600 Дакле, ово је како сам проглашен за променљиву синтаксички неки дан. 444 00:21:02,600 --> 00:21:06,440 Имао сам инт, који сам тврдио је цео број. 445 00:21:06,440 --> 00:21:09,690 Сам тада имала променљиву зове бројач, а затим зарез. 446 00:21:09,690 --> 00:21:11,070 Дакле, шта је ова линија кода ради? 447 00:21:11,070 --> 00:21:14,540 То је, једноставно, изјављујући променљива - 448 00:21:14,540 --> 00:21:17,940 који је, тражећи рачунар, дај ми део меморије, дај ми неке делове - у 449 00:21:17,940 --> 00:21:19,450 коју може да ускладишти шта? 450 00:21:19,450 --> 00:21:20,300 Инт. 451 00:21:20,300 --> 00:21:23,570 А зарез само значи Крај линије кода. 452 00:21:23,570 --> 00:21:25,500 >> Сада, друга линија је вероватно прилично гуессабле. 453 00:21:25,500 --> 00:21:29,710 Шта је бројач = 0; ради? 454 00:21:29,710 --> 00:21:31,690 То је додељивање 0 да се супротстави. 455 00:21:31,690 --> 00:21:33,470 И то је друга ствар то је мало досадно 456 00:21:33,470 --> 00:21:34,540 против, кажу, алгебре. 457 00:21:34,540 --> 00:21:39,110 Док је у алгебри, знак једнакости значи једнако, овде у Ц, једнак 458 00:21:39,110 --> 00:21:40,470 знак значи задатак. 459 00:21:40,470 --> 00:21:45,380 Значи, шта је ставио на право у оно што је на левој страни. 460 00:21:45,380 --> 00:21:49,030 И ми ћемо видети још један симбол, једнако једнако, ако желимо да заиста тестирати 461 00:21:49,030 --> 00:21:50,570 за квалитет, помало љутито. 462 00:21:50,570 --> 00:21:52,590 >> Али ово је мало неефикасан. 463 00:21:52,590 --> 00:21:55,090 То је врста нервира да имам да декларишете променљиву и 464 00:21:55,090 --> 00:21:56,110 онда му дати вредност. 465 00:21:56,110 --> 00:21:59,380 Дакле, Ц ствари нам омогућава да поједностави и урадимо све одједном. 466 00:21:59,380 --> 00:22:01,330 Можете да прогласи променљива на левој страни. 467 00:22:01,330 --> 00:22:04,590 Још увек можете да урадите задатак на право да стављањем знака једнакости у 468 00:22:04,590 --> 00:22:05,030 средњи. 469 00:22:05,030 --> 00:22:08,740 Дакле, на крају дана, ова два еквивалент, али овај, искрено, 470 00:22:08,740 --> 00:22:11,840 је вероватно боље навика да се у само зато што је нешто мање 471 00:22:11,840 --> 00:22:15,040 код, то је мало лакше за читање, и то само затеже горе 472 00:22:15,040 --> 00:22:17,470 ваш код, да тако кажем. 473 00:22:17,470 --> 00:22:22,120 >> Има ли питања до сада о петљи, о варијабли, по условима, на 474 00:22:22,120 --> 00:22:27,001 Боолеанс, било технички или концептуално? 475 00:22:27,001 --> 00:22:28,010 У реду. 476 00:22:28,010 --> 00:22:30,690 Тако сада овај следећи добија мало интересантније. 477 00:22:30,690 --> 00:22:34,790 И ово је пример сам ставио прошле Време је само огреботина пресликава пример 478 00:22:34,790 --> 00:22:35,820 више на Ц. 479 00:22:35,820 --> 00:22:36,580 >> Дакле, функција. 480 00:22:36,580 --> 00:22:38,110 У смислу лаике, шта је функција? 481 00:22:38,110 --> 00:22:42,900 482 00:22:42,900 --> 00:22:44,350 Мора да буде смелији са одговором. 483 00:22:44,350 --> 00:22:45,020 Шта је функција? 484 00:22:45,020 --> 00:22:46,320 >> СТУДЕНТ: Да ли нешто. 485 00:22:46,320 --> 00:22:46,780 >> ДАВИД Малан: Шта је то? 486 00:22:46,780 --> 00:22:48,000 >> СТУДЕНТ: Да ли нешто. 487 00:22:48,000 --> 00:22:48,710 >> Малан ДАВИД: Да ли нешто. 488 00:22:48,710 --> 00:22:49,000 ОК. 489 00:22:49,000 --> 00:22:49,590 Почећемо тамо. 490 00:22:49,590 --> 00:22:51,270 Дакле, функција ради нешто. 491 00:22:51,270 --> 00:22:55,160 Дакле, то је део кода који је у суштини спроводи другде да 492 00:22:55,160 --> 00:22:56,620 заиста уради нешто. 493 00:22:56,620 --> 00:23:00,180 Сада, оно што је занимљиво у вези функције је да је потребно унос, 494 00:23:00,180 --> 00:23:02,710 и може да произведе излаз. 495 00:23:02,710 --> 00:23:05,090 И хајде да ствари узме погледај ово. 496 00:23:05,090 --> 00:23:09,030 >> Дакле, човек иза завесе било намерно малопре. 497 00:23:09,030 --> 00:23:10,320 Овде имамо табелу. 498 00:23:10,320 --> 00:23:13,010 Али, претпоставимо да је ово у ствари представља велику кутију. 499 00:23:13,010 --> 00:23:14,940 Дакле, то је такозвана црна кутија. 500 00:23:14,940 --> 00:23:19,800 И уопште, у дизајну, у компјутер наука, црне кутије подразумева само 501 00:23:19,800 --> 00:23:22,510 комада функционалности које неко реализовала, а ви не 502 00:23:22,510 --> 00:23:26,140 неопходно знати, или брига како је то спроводи испод хаубе. 503 00:23:26,140 --> 00:23:28,960 Само стало да ова црна кутија, које сада ћемо почети позива 504 00:23:28,960 --> 00:23:30,730 функција, ради нешто. 505 00:23:30,730 --> 00:23:34,710 >> Тако, на пример, ако је ова црна кутија на фаза овде представља принтф, 506 00:23:34,710 --> 00:23:38,040 функција, ја знам из претходних примера принтф да траје један или више 507 00:23:38,040 --> 00:23:40,910 аргументе, а прва од њих аргументи треба да буде ниска, као што је 508 00:23:40,910 --> 00:23:44,780 "Здраво, свете." Па, ако сам особа писање програма, а ја желим 509 00:23:44,780 --> 00:23:50,460 принтф да користите, ја, на пример, може узме парче празног папира овде и 510 00:23:50,460 --> 00:23:55,060 црни маркер и писати на њему - 511 00:23:55,060 --> 00:23:56,580 Погрешно сам "свет" - 512 00:23:56,580 --> 00:23:59,560 Х-Е-Л-Л-О. 513 00:23:59,560 --> 00:24:04,220 >> Тако да ћу узети мој црни фломастер и ја ћу писати, као велики и читљив колико могу на 514 00:24:04,220 --> 00:24:07,260 ово парче папира, "Здраво, свете," И сада тврде да је мој аргумент. 515 00:24:07,260 --> 00:24:09,740 Ово је стринг заступљени са комад белог папира. 516 00:24:09,740 --> 00:24:13,030 И мој улаз сада на функцији принтф ће бити то. 517 00:24:13,030 --> 00:24:18,250 Тако сам принтф зовем, пролазећи тај аргумент као улаз у њу. 518 00:24:18,250 --> 00:24:22,110 519 00:24:22,110 --> 00:24:26,740 >> И сад, ја не знам како је особа која је написао иф то урадио пре много година, али 520 00:24:26,740 --> 00:24:31,110 Ја знам из свог тог документације његова сврха у животу је да одштампате оно што сам 521 00:24:31,110 --> 00:24:34,410 обезбеди да је као улаз. 522 00:24:34,410 --> 00:24:40,630 И тако, иако је примена је за мене без знања 523 00:24:40,630 --> 00:24:44,170 испод хаубе, сада Видим, ох, то се ради. 524 00:24:44,170 --> 00:24:45,740 Је штампан нешто на екрану. 525 00:24:45,740 --> 00:24:49,070 И сада контролу програма, ако постоји било више линија кода, би 526 00:24:49,070 --> 00:24:51,070 су се вратили у мени. 527 00:24:51,070 --> 00:24:52,290 И тако је чињеница да је Колтон - 528 00:24:52,290 --> 00:24:55,370 благословио његово срце, овде се крије испод сто пред свима вама - 529 00:24:55,370 --> 00:24:59,530 је намерно у то не знам и не занима ме колико је принтф 530 00:24:59,530 --> 00:25:00,100 спроводи. 531 00:25:00,100 --> 00:25:03,390 Ја само знам, опет, из свог документација, шта то ради и како ја 532 00:25:03,390 --> 00:25:05,040 ја би требало да га користе. 533 00:25:05,040 --> 00:25:09,140 >> Сада, подсетити да принтф могао добити мало софистициранији. 534 00:25:09,140 --> 00:25:12,220 Опет, ми само говоримо о еквивалент од рецимо блока Сцратцх-а. 535 00:25:12,220 --> 00:25:14,230 Али сам исто то урадио прошли пут. 536 00:25:14,230 --> 00:25:17,270 Желео сам да направим хелло програм мало динамичнији и не само тешко 537 00:25:17,270 --> 00:25:19,740 Код нешто као "свет", а дефинитивно није тешко код нешто 538 00:25:19,740 --> 00:25:22,520 произвољно као Д-А-В-И-Д у програм. 539 00:25:22,520 --> 00:25:27,510 Хтео сам да пита корисника за његов или њен име, а затим урадите нешто са 540 00:25:27,510 --> 00:25:29,720 да стринг који они пружају. 541 00:25:29,720 --> 00:25:32,690 >> Дакле, постоји нешто мало другачије овде. принтф, малочас, 542 00:25:32,690 --> 00:25:35,860 је, заиста, нешто уради, али је нису вратили ништа. 543 00:25:35,860 --> 00:25:36,020 Зар не? 544 00:25:36,020 --> 00:25:38,910 Колтон није ми додати ништа назад, нема парче папира. 545 00:25:38,910 --> 00:25:40,320 Постојао је само споредни ефекат. 546 00:25:40,320 --> 00:25:44,510 Мој пружање "хелло, ворлд", као Аргумент да Колтон резултирала 547 00:25:44,510 --> 00:25:48,420 пропратни ефекат речи, неке речи, се појављује на екрану. 548 00:25:48,420 --> 00:25:51,350 >> гетстринг, иако је мало другачије. гетстринг је такође 549 00:25:51,350 --> 00:25:54,590 функционишу, али то даје неку вредност. 550 00:25:54,590 --> 00:25:56,370 То не само да естетски споредни ефекат. 551 00:25:56,370 --> 00:26:00,230 То ме у ствари даје, особа позивање или коришћењем функције, 552 00:26:00,230 --> 00:26:01,320 нешто назад. 553 00:26:01,320 --> 00:26:05,740 Дакле, у овом случају, је гетстринг зове са отвореним гетстринг 554 00:26:05,740 --> 00:26:07,510 заграда, близу заграда. 555 00:26:07,510 --> 00:26:11,370 Гетстринг ли, дакле, узети сви аргументи или мишљење? 556 00:26:11,370 --> 00:26:12,340 Не, то не чини. 557 00:26:12,340 --> 00:26:14,460 Његова сврха у животу је само да би стринг. 558 00:26:14,460 --> 00:26:16,910 Потребно је да нема више детаља од тога. 559 00:26:16,910 --> 00:26:20,430 Дакле, дозволите ми да иде напред и да се претварам, Поново, ова црна кутија није принтф, 560 00:26:20,430 --> 00:26:25,160 али гетстринг, и пусти ме, лице писања овог програма, позовите или користите 561 00:26:25,160 --> 00:26:29,720 гетстринг од само писање Г-е-Т-С-Т-Р-И-Н-Г, отворена заграда, близу 562 00:26:29,720 --> 00:26:32,170 заграда, гетстринг. 563 00:26:32,170 --> 00:26:36,920 >> Сада, немам појма како особље ЦС50 спроводи гетстринг, али знам да 564 00:26:36,920 --> 00:26:41,240 ако довољно дуго, то ће урадити свој нешто испод хаубе, можда користећи 565 00:26:41,240 --> 00:26:44,940 неке променљиве, можда користећи неке услови, можда користите неке петље, 566 00:26:44,940 --> 00:26:48,170 Можда користите неке функције, можда користе - 567 00:26:48,170 --> 00:26:52,290 Само покушавам да одуговлачење - можда помоћу неке друге програмирање функције. 568 00:26:52,290 --> 00:26:55,350 Али, ако сам довољно дуго - у стварности, на рачунару, то се дешава 569 00:26:55,350 --> 00:26:56,270 супер брзи - 570 00:26:56,270 --> 00:26:59,910 ако довољно дуго, ова функција гетстринг ће добити низ 571 00:26:59,910 --> 00:27:04,060 од стране корисника, који је вероватно куцање то се на њиховом тастатури, и 572 00:27:04,060 --> 00:27:08,090 онда, када гетстринг врши све они ликови из корисника 573 00:27:08,090 --> 00:27:14,080 и њихово складиштење у стринг, који функција, гетстринг, ће имати 574 00:27:14,080 --> 00:27:17,990 спреман за мене неки излаз који сам ја ће да се преузме путем 575 00:27:17,990 --> 00:27:19,470 Оператор додељивања. 576 00:27:19,470 --> 00:27:25,390 >> И ако одем, заиста, на излазу овде, Обоси је великодушно 577 00:27:25,390 --> 00:27:29,900 учествовао је, не знајући за то унапред, пишући своје име на ово 578 00:27:29,900 --> 00:27:33,100 променљива, која се представља стринг. 579 00:27:33,100 --> 00:27:35,640 Сада, оператор доделе средства, чак и иако ово може осећати помало 580 00:27:35,640 --> 00:27:38,790 сувишан, ја заправо треба урадити да направи своју копију ово. 581 00:27:38,790 --> 00:27:40,700 Јер на левој руци страна - Упс! - 582 00:27:40,700 --> 00:27:45,760 Приметићете да сам у суштини имају ниску име на левој страни. 583 00:27:45,760 --> 00:27:48,280 Дакле, ја ћу такође да мој примерак овог. 584 00:27:48,280 --> 00:27:50,990 А ово је мало беле лажи, зато што ћемо видети у недељу или две да 585 00:27:50,990 --> 00:27:54,100 време да жице нису ствари оно што они изгледају. 586 00:27:54,100 --> 00:27:56,700 >> Али за сада, овде је повратна вредност. 587 00:27:56,700 --> 00:28:00,160 Ево мог копија након тога коришћењем оператора доделе. 588 00:28:00,160 --> 00:28:01,790 А сада, шта желим да урадим следеће? 589 00:28:01,790 --> 00:28:04,080 Ми сада имамо други две линије кода. 590 00:28:04,080 --> 00:28:05,640 Зато сада желим да принтф позовете. 591 00:28:05,640 --> 00:28:08,500 Хајде сада да се претварамо да црно кутија је поново да буду 592 00:28:08,500 --> 00:28:10,210 принтф и не гетстринг. 593 00:28:10,210 --> 00:28:12,200 >> Принтф овај пут ће се узети колико аргументе? 594 00:28:12,200 --> 00:28:14,890 595 00:28:14,890 --> 00:28:16,770 Тако изгледа, то је као два. 596 00:28:16,770 --> 00:28:18,860 Постоје две зарези у тамо, али један од тих навода, то је 597 00:28:18,860 --> 00:28:20,220 унутар знакова навода. 598 00:28:20,220 --> 00:28:23,190 Дакле, први аргумент је буквално Биће ово. 599 00:28:23,190 --> 00:28:31,850 Х-Е-Л-Л-О, зарез, посто е, бацксласх-н. 600 00:28:31,850 --> 00:28:36,560 И сада не пружа један аргумент, али два аргументи принтф. 601 00:28:36,560 --> 00:28:39,530 >> А шта је требало да урадим иф са ова два улаза након што их прође у 602 00:28:39,530 --> 00:28:42,050 као аргументи? 603 00:28:42,050 --> 00:28:45,360 Требало би да се на други их, који сам назвао име, па 604 00:28:45,360 --> 00:28:48,660 Други комад папира сам написао напоље Малопре се зове име. 605 00:28:48,660 --> 00:28:53,550 То ће конектор на вредности унутар те променљиве у чувару места, 606 00:28:53,550 --> 00:28:58,310 % С, тако да је, опет, само у трену време, ми ћемо видети ефекат страни од 607 00:28:58,310 --> 00:29:04,180 принтф што се зове, где смо сада не види "хелло, ворлд", него "Здраво, 608 00:29:04,180 --> 00:29:04,710 Обоси ". 609 00:29:04,710 --> 00:29:08,730 >> Дакле, велики аплауз за обојицу наши волонтери, само један од њих знао 610 00:29:08,730 --> 00:29:12,010 ово би могло да се дешава. 611 00:29:12,010 --> 00:29:12,990 У реду. 612 00:29:12,990 --> 00:29:16,480 Дакле, можда, једноставно је, Свакако, ако сте већ упознати 613 00:29:16,480 --> 00:29:20,190 са што, надам се нећеш заборавити да посебно визуелни како 614 00:29:20,190 --> 00:29:21,220 функције раде. 615 00:29:21,220 --> 00:29:23,000 >> Дакле, постоји више од гетстринг. 616 00:29:23,000 --> 00:29:26,020 Унутар ЦС50 библиотеке, ту је гомила функција, од којих 617 00:29:26,020 --> 00:29:29,510 се капитализују само да јасно да смо писали ове функције. 618 00:29:29,510 --> 00:29:33,610 Типично, у Ц, скоро сваки други Функција ћете користити је мала. 619 00:29:33,610 --> 00:29:36,190 Али, ми смо намерно користили слова само да то буде јасно ово 620 00:29:36,190 --> 00:29:39,880 Тренинг су точкови од сорти да ћемо користити за само неколико недеља да 621 00:29:39,880 --> 00:29:42,890 поједноставити процес добијања унос од корисника. 622 00:29:42,890 --> 00:29:46,740 >> ЦС50 библиотека не ради ништа да нисте сами могли урадити 623 00:29:46,740 --> 00:29:50,230 Управо користећи Ц кода из олдсцхоол уџбеник. 624 00:29:50,230 --> 00:29:53,310 Али, опет, ми их користимо као тренинг точкови сорти за само неколико 625 00:29:53,310 --> 00:29:57,250 недеља, тако да можемо да се отараси сложености која убрзо ћете схватити 626 00:29:57,250 --> 00:30:00,460 себе, да уради нешто као релативно једноставно као и добијање 627 00:30:00,460 --> 00:30:02,080 унос од корисника. 628 00:30:02,080 --> 00:30:05,540 >> Дакле, знате да ћете имати приступ да гетцхар, ГетДоубле - 629 00:30:05,540 --> 00:30:06,050 двапут. 630 00:30:06,050 --> 00:30:07,050 Вхат'с - и онда ГетФлоат. 631 00:30:07,050 --> 00:30:07,600 Шта је пловак? 632 00:30:07,600 --> 00:30:09,382 Почнимо тамо. 633 00:30:09,382 --> 00:30:10,600 >> СТУДЕНТ: [ИНАУДИБЛЕ]. 634 00:30:10,600 --> 00:30:10,790 >> Малан ДАВИД: Да. 635 00:30:10,790 --> 00:30:12,120 То је број са децималом. 636 00:30:12,120 --> 00:30:15,930 Дакле, док је инт је цео број, који само је број од 0 до 9, 637 00:30:15,930 --> 00:30:18,940 неки број понављања истог, пловак је нешто 638 00:30:18,940 --> 00:30:20,100 са децималном тачком. 639 00:30:20,100 --> 00:30:26,090 И двоструко, у међувремену, је такође број са децималом, али више 640 00:30:26,090 --> 00:30:28,160 бројеви после децималне тачка, потенцијално. 641 00:30:28,160 --> 00:30:30,040 >> Тако ћемо се вратити на ово пре дуго. 642 00:30:30,040 --> 00:30:34,560 Али обично, сваки од ових типова подаци, сваки од ових типова променљивих 643 00:30:34,560 --> 00:30:39,380 да библиотека као што је наша да се вратите на Ви, користите различит број битова 644 00:30:39,380 --> 00:30:40,290 складиштење информација. 645 00:30:40,290 --> 00:30:43,910 Типично, Знак, што само значи један лик, користи 8 бита. 646 00:30:43,910 --> 00:30:47,490 И то је заправо у складу са нашом бајт волонтера који су прошле недеље 647 00:30:47,490 --> 00:30:50,410 дошао и представља један АСЦИИ знак у исто време. 648 00:30:50,410 --> 00:30:51,850 Дакле Цхар је 8 бита. 649 00:30:51,850 --> 00:30:54,430 >> Пловак се дешава да се 32 бита, обично. 650 00:30:54,430 --> 00:30:59,230 И двоструко, као што можете погодити, је заправо 64 бита, што је само још, 651 00:30:59,230 --> 00:31:01,360 што значи да можете имати већи бројеви или више прецизности. 652 00:31:01,360 --> 00:31:03,000 Али, опет, више о томе неки други пут. 653 00:31:03,000 --> 00:31:06,550 ГетЛонгЛонг, у међувремену, мада глупо именован, је заиста само 654 00:31:06,550 --> 00:31:10,770 цео број који је дупло већи, дупло дуг, потенцијално, као редовни 655 00:31:10,770 --> 00:31:12,940 цео број, 64 уместо 32 бита. 656 00:31:12,940 --> 00:31:14,560 И ГетСтринг смо користили. 657 00:31:14,560 --> 00:31:18,870 >> Али, испоставља се, у ЦС50 библиотеци, који се реализује, као што ћемо видети, у 658 00:31:18,870 --> 00:31:23,560 облик две датотеке, од којих се зове цс50.х, има још два 659 00:31:23,560 --> 00:31:24,770 типови података у њој. 660 00:31:24,770 --> 00:31:29,700 Боолеанс не постоје у језику Ц. Можете симулира их користећи само 1с и 0с 661 00:31:29,700 --> 00:31:30,850 кроз своје програме. 662 00:31:30,850 --> 00:31:35,500 Али, ми смо у библиотеци ЦС50 створили симболи "истинито" и "лажно" 663 00:31:35,500 --> 00:31:38,580 да представља 1 и 0, тако да не да хард нешто код 664 00:31:38,580 --> 00:31:39,810 буквално као 1 и 0. 665 00:31:39,810 --> 00:31:40,980 Али, видећемо то поново. 666 00:31:40,980 --> 00:31:42,330 >> Стринг, такође, не постоји. 667 00:31:42,330 --> 00:31:44,520 И зато сам поменуо да је мало беле лажи за сада. 668 00:31:44,520 --> 00:31:46,660 Али ми ћемо те одлепите слој пре дуго. 669 00:31:46,660 --> 00:31:49,540 Али за сада, је ниска низ знакова. 670 00:31:49,540 --> 00:31:51,790 >> У међувремену, у Ц, ви заиста имају различите типове података. 671 00:31:51,790 --> 00:31:53,200 Обратите пажњу на то су мала. 672 00:31:53,200 --> 00:31:56,960 Тако функције сте видели малочас су функције написао ЦС50 том 673 00:31:56,960 --> 00:32:02,310 вратиће вам вредност која се налази у једну од ових категорија. 674 00:32:02,310 --> 00:32:06,730 >> Пар преварити листова само да засади семе овде. принтф не само 675 00:32:06,730 --> 00:32:08,600 С% узети као носиоци. 676 00:32:08,600 --> 00:32:13,490 Потребно је% д за децимални целе бројеве, или% Радила бих као добро. 677 00:32:13,490 --> 00:32:19,450 % Ф је покретном зарезу. % Ц је за Чар, ако желите да се прикључите само један 678 00:32:19,450 --> 00:32:23,510 карактер у стринг Преформаттед као што смо радили, можете да користите Ц%. 679 00:32:23,510 --> 00:32:28,490 >> А онда, помало љутито, ЛЛД% је за дуго, дуго децимални цео број, 680 00:32:28,490 --> 00:32:31,050 што само значи да ако вам је потребно заиста велики број и користите нешто 681 00:32:31,050 --> 00:32:35,450 назвао дуго дуго, који ћемо доћи назад на у псет, можете да користите% за ЛЛД 682 00:32:35,450 --> 00:32:40,700 принтф рећи, прикључите заиста велики цео број овде путем своје друге или 683 00:32:40,700 --> 00:32:41,830 неки други аргумент. 684 00:32:41,830 --> 00:32:45,700 >> И на крају, ја сам обећао да постоји неколико других бекство 685 00:32:45,700 --> 00:32:47,670 секвенце које принтф подржава. 686 00:32:47,670 --> 00:32:49,160 Видели смо обрнуту косу црту-н. 687 00:32:49,160 --> 00:32:50,510 Обрнута коса црта-Р можете видети. 688 00:32:50,510 --> 00:32:51,780 То је нека врста старе школе ствар. 689 00:32:51,780 --> 00:32:55,920 Ако сте икада користили прави писаћој машини година пре и повукао на курбле 690 00:32:55,920 --> 00:32:59,810 који не само ротирали точкић да померите линију, такође преселио 691 00:32:59,810 --> 00:33:03,730 Цела ствар скроз на преко лево, добро, само косу црту-Р 692 00:33:03,730 --> 00:33:06,480 суштини помера курсор леђа на почетак реда 693 00:33:06,480 --> 00:33:07,830 не померајући га. 694 00:33:07,830 --> 00:33:09,780 Али, опет, више о томе, можда, у будућности. 695 00:33:09,780 --> 00:33:13,670 >> Обрнута коса црта-цитат, обрнута коса црта-двоструки цитат, бацксласх-обрнута коса црта је 696 00:33:13,670 --> 00:33:16,600 решење загонетке сићушно Сам алудирао раније. 697 00:33:16,600 --> 00:33:18,920 И бацксласх-0 је заправо прилично занимљиво. 698 00:33:18,920 --> 00:33:21,470 Али ми ћемо се вратити на да је пре дуго. 699 00:33:21,470 --> 00:33:25,640 >> Зато ме пустите у, сада, ЦС50 апарата, и хајде да ствари раде 700 00:33:25,640 --> 00:33:28,930 брзо загревање са једним од примера ми смо већ, а затим пређите на 701 00:33:28,930 --> 00:33:31,160 нешто мало сложеније. 702 00:33:31,160 --> 00:33:34,980 Дакле, ако ја отворим свој програм звао гедит - 703 00:33:34,980 --> 00:33:36,840 ово је мој графички уредник. 704 00:33:36,840 --> 00:33:38,460 И ја могу да урадим - 705 00:33:38,460 --> 00:33:39,820 дозволите ми да тај прозор - 706 00:33:39,820 --> 00:33:42,720 путем ове иконе Овде доле, гедит, у доњем левом 707 00:33:42,720 --> 00:33:44,170 угао поред менија. 708 00:33:44,170 --> 00:33:48,670 >> Ја ћу ићи напред и напредује, и сачувате овај пример у, рецимо, Џоне 709 00:33:48,670 --> 00:33:49,660 Харвардова фолдер. 710 00:33:49,660 --> 00:33:52,690 Џон Харвардова фасцикла је управо његов дом директоријум где све своје фајлове живи 711 00:33:52,690 --> 00:33:53,340 подразумевано. 712 00:33:53,340 --> 00:33:58,410 И ја ћу да сачувате ово као фајл који се зове здраво-0.ц. 713 00:33:58,410 --> 00:34:01,260 И ја сам изабрао то име једноставно тако да поравнат са узорка кода на 714 00:34:01,260 --> 00:34:04,210 Наравно аутора и ИоуТубе мрежи. 715 00:34:04,210 --> 00:34:06,320 >> Сада ћу почети да напишем свој први програм. 716 00:34:06,320 --> 00:34:08,469 Дозволите ми да увећате за читљивост. 717 00:34:08,469 --> 00:34:12,760 И ја ћу ићи напред и рећи инт Главни празнина, која се само тако 718 00:34:12,760 --> 00:34:14,900 жути комад слагалице који почиње програм. 719 00:34:14,900 --> 00:34:18,290 Стечен сам навику над године отвара своју коврџаву браце, онда 720 00:34:18,290 --> 00:34:22,000 Такође га затворите, а затим да се вратимо на где желим да ставим код, само 721 00:34:22,000 --> 00:34:24,630 јер ми помаже да све уравнотежен, нарочито као што су моји 722 00:34:24,630 --> 00:34:25,880 програм добије дуго. 723 00:34:25,880 --> 00:34:29,239 >> И сада, овде, ја ћу да наставим и кажу, инт, цитирам Крај цитата, 724 00:34:29,239 --> 00:34:34,330 Здраво свете, обрнута коса црта-н, близу цитат, затвори заграда, тачка и зарез. 725 00:34:34,330 --> 00:34:38,100 Тако да само понављам све што смо узимали здраво за готово до сада. 726 00:34:38,100 --> 00:34:39,270 Сада ћу да умањите. 727 00:34:39,270 --> 00:34:43,030 >> И овај прозор терминала овде, шта ми је дозвољено да радим у ово црно 728 00:34:43,030 --> 00:34:44,389 и бели прозор? 729 00:34:44,389 --> 00:34:46,977 Шта могу да га користе? 730 00:34:46,977 --> 00:34:49,770 Дакле, ово је место где сам покренути команде и где могу да састави ствари. 731 00:34:49,770 --> 00:34:50,620 И ја ћу да га једноставно. 732 00:34:50,620 --> 00:34:52,780 Идем да користите програм Нека се зове, што није 733 00:34:52,780 --> 00:34:54,020 технички компајлер. 734 00:34:54,020 --> 00:34:56,360 Зове Цланг компајлер, али Вратићемо се на то за 735 00:34:56,360 --> 00:34:57,190 недељу или две је време. 736 00:34:57,190 --> 00:35:03,410 >> За сада, само ћу да маке здраво-0, али оне који су били 737 00:35:03,410 --> 00:35:07,050 поређењем у вашем уму оно што сам управо откуцан на шта је требало да откуца може 738 00:35:07,050 --> 00:35:10,180 Већ знам да сам урадио нешто није у реду. 739 00:35:10,180 --> 00:35:12,160 Дакле, јасно је да је неке грешке. 740 00:35:12,160 --> 00:35:16,742 Пре него што сам чак и погледајте шта су они, било мисли о томе шта сам урадио погрешно? 741 00:35:16,742 --> 00:35:18,590 >> СТУДЕНТИ: [изнео ВОИЦЕС]. 742 00:35:18,590 --> 00:35:18,840 >> Малан ДАВИД: Да. 743 00:35:18,840 --> 00:35:20,640 Недостаје ми хеадер фајл библиотеке. 744 00:35:20,640 --> 00:35:24,240 Било који од ових фајлова. Х називају се заглавље датотеке, и они су колективно 745 00:35:24,240 --> 00:35:25,680 припадају ствари називају библиотекама. 746 00:35:25,680 --> 00:35:28,030 Библиотеке су само комади кода да други људи написали. 747 00:35:28,030 --> 00:35:32,140 Тако је стандардни [? и] библиотека? је колекција фајлова који садрже код 748 00:35:32,140 --> 00:35:33,330 да други људи написали. 749 00:35:33,330 --> 00:35:34,820 >> Тако ми недостаје то. 750 00:35:34,820 --> 00:35:36,520 Па зашто ја добијам поруку о грешци? 751 00:35:36,520 --> 00:35:40,840 Па, дозволите ми да поново помицати у мој прозор терминала овде. 752 00:35:40,840 --> 00:35:44,310 И нажалост, у Ц, као у много програмски језици, посебно 753 00:35:44,310 --> 00:35:47,830 ако је све ново за вас, грешка поруке су прецизни, али они су и 754 00:35:47,830 --> 00:35:48,620 прилично загонетан. 755 00:35:48,620 --> 00:35:51,720 А грешка овде, у црвено, је "Имплицитно декларисање библиотека функција 756 00:35:51,720 --> 00:35:57,660 принтф са типа ", а онда Сцроллс у следећи ред, "инт цхар *, 757 00:35:57,660 --> 00:36:00,220 ... "То је стварно огромна брзо. 758 00:36:00,220 --> 00:36:04,420 >> Али оно што би требало да почне да се уради, ако је, опет, нови на све ово, само да 759 00:36:04,420 --> 00:36:06,010 почињу да траже кључне речи. 760 00:36:06,010 --> 00:36:08,770 Јасно је, ја не могу да разумем пола речи видим још увек. 761 00:36:08,770 --> 00:36:10,140 Ви ћете, међутим, у року од недељу дана. 762 00:36:10,140 --> 00:36:11,230 Али ја принтф видим. 763 00:36:11,230 --> 00:36:14,310 И то би требало да почне, пре дуго, да освежим памћење, у реду, инт. 764 00:36:14,310 --> 00:36:15,210 Нешто није у реду са инт. 765 00:36:15,210 --> 00:36:16,580 Да ли сам то чини погрешно? 766 00:36:16,580 --> 00:36:18,130 Не, не изгледа као да - ох. 767 00:36:18,130 --> 00:36:21,350 Ја не могу да га користе уколико не предајем компајлер да она постоји. 768 00:36:21,350 --> 00:36:25,220 И тако, опет, иде са својим инстинктима, чак и ако не разумем стварно 769 00:36:25,220 --> 00:36:26,510 стварне поруке о грешкама. 770 00:36:26,510 --> 00:36:30,240 >> И заиста, решење је да се само укључите је на врху датотеке 771 00:36:30,240 --> 00:36:34,340 тако, ресавинг мој досије са Контрола-С или Филе менију. 772 00:36:34,340 --> 00:36:36,730 А ако се вратимо доле, Ја ћу ово да обришете. 773 00:36:36,730 --> 00:36:39,150 Контрола-Л је само леп начин за брисање екрана. 774 00:36:39,150 --> 00:36:44,870 А онда ћу да откуцате "направи здраво 0 "Ентер, а сада сам још увек видим 775 00:36:44,870 --> 00:36:47,710 криптичан секвенца симбола, али Вратићемо се на то. 776 00:36:47,710 --> 00:36:49,230 То је оно што чини ради за вас. 777 00:36:49,230 --> 00:36:52,590 То аутоматизује процес преузимања прилично нервира укључује команде 778 00:36:52,590 --> 00:36:54,050 Звека, стварна компајлер. 779 00:36:54,050 --> 00:36:57,460 Али, чињеница да сам добио нема грешака значи да је ово требало да ради. 780 00:36:57,460 --> 00:37:00,630 >> Тако да ја сад идем да радим - дозволите ми да увећате опет - 781 00:37:00,630 --> 00:37:07,070 ./хелло-0 Ентер, и заиста, ја видим "Здраво, свете." Дакле, хајде да сада повећа 782 00:37:07,070 --> 00:37:12,105 ово икада тако нешто само да понове кораци смо намеравали. 783 00:37:12,105 --> 00:37:15,370 Ја ћу да преименује ово са Сачувај као да хелло1.ц. 784 00:37:15,370 --> 00:37:20,300 А сада ћу да декларишете променљиву зове име, па стринг име, 785 00:37:20,300 --> 00:37:23,420 и ја ћу га ставити у Вредност цитатом-Ункуоте 786 00:37:23,420 --> 00:37:27,030 Д-В-И-Д затвори цитат-зарез. 787 00:37:27,030 --> 00:37:31,150 А сада ћу да замени "свет" са оним што чувар места за серију? 788 00:37:31,150 --> 00:37:32,200 % С. 789 00:37:32,200 --> 00:37:35,040 >> А сада, колико треба да аргументи принтф Искористите ово време? 790 00:37:35,040 --> 00:37:35,700 Дакле, два. 791 00:37:35,700 --> 00:37:37,090 И одем ван знакова навода. 792 00:37:37,090 --> 00:37:39,330 Укуцамо "име" после зареза. 793 00:37:39,330 --> 00:37:41,550 Али, ја сам урадио нешто друго није у реду овај пут. 794 00:37:41,550 --> 00:37:43,940 Али, хајде да претпоставимо да ја нисам схвате да још. 795 00:37:43,940 --> 00:37:44,910 Пусти ме овде. 796 00:37:44,910 --> 00:37:48,850 >> И запазите, такође, постаје ми мало досадно да куцате "чине здраво 0" све 797 00:37:48,850 --> 00:37:50,180 време, "направи", и све то. 798 00:37:50,180 --> 00:37:53,270 Дакле, испада, у Линус можете често ударио стрелицу нагоре на вашем 799 00:37:53,270 --> 00:37:56,850 тастатуре, а ви у ствари можете помицати кроз све команде које сам 800 00:37:56,850 --> 00:37:58,830 извршена пре само сада. 801 00:37:58,830 --> 00:38:02,040 Дакле, ако то урадим, горе, горе, ту је направити здраво 0. 802 00:38:02,040 --> 00:38:02,610 Не желим то. 803 00:38:02,610 --> 00:38:05,450 Ја само желим да се то промени у Здраво 1 овог пута, Ентер. 804 00:38:05,450 --> 00:38:07,620 На крају, то ће уштедите мало времена. 805 00:38:07,620 --> 00:38:08,150 >> У реду. 806 00:38:08,150 --> 00:38:09,520 Нажалост, ту је грешка. 807 00:38:09,520 --> 00:38:10,980 Тако да ме помицати горе. 808 00:38:10,980 --> 00:38:13,120 Ово изгледа као да сам заиста искасапили овог програма. 809 00:38:13,120 --> 00:38:16,530 Мислим, мој Боже, то је две линије кода, и њене линије 10 грешака. 810 00:38:16,530 --> 00:38:18,800 Али погледајте на горњем прво. 811 00:38:18,800 --> 00:38:21,640 Коришћење непријављеног идентификатор стринг. 812 00:38:21,640 --> 00:38:23,270 Да ли мислим стандардни и н? 813 00:38:23,270 --> 00:38:23,930 Не нисам. 814 00:38:23,930 --> 00:38:24,940 Мислио сам стринг. 815 00:38:24,940 --> 00:38:29,390 >> Али где је стринг променљива Тип изјавио, дд кажемо? 816 00:38:29,390 --> 00:38:30,730 Тако да је у ЦС50 библиотеке. 817 00:38:30,730 --> 00:38:33,740 Дакле, то није довољно, у ових првих пар недеља, само да користи 818 00:38:33,740 --> 00:38:34,860 што нам даје Ц. 819 00:38:34,860 --> 00:38:38,120 Такође ћу да се овде, и ја могао ставити изнад или испод, али ћу 820 00:38:38,120 --> 00:38:40,340 само ти абецедно да ствари уредно. 821 00:38:40,340 --> 00:38:43,470 Ја ћу укључити цс50.х, који је унапред инсталиран на 822 00:38:43,470 --> 00:38:44,900 сте на ЦС50 апарата. 823 00:38:44,900 --> 00:38:47,640 И то је опен соурце, па чак и људи на интернету може да га употреби на њиховој 824 00:38:47,640 --> 00:38:48,450 своје рачунаре. 825 00:38:48,450 --> 00:38:50,700 Али то долази са ЦС50 апарата. 826 00:38:50,700 --> 00:38:55,320 >> Дакле, сада да се вратимо и поново компајлирате ово са 1 чине здраво. 827 00:38:55,320 --> 00:38:55,710 Проклетство. 828 00:38:55,710 --> 00:38:57,240 Још једна грешка. 829 00:38:57,240 --> 00:38:59,370 Дозволите ми помицати до првог, мада. 830 00:38:59,370 --> 00:39:00,630 Ово је мало сложен. 831 00:39:00,630 --> 00:39:03,830 Мулти-карактер карактер константа. 832 00:39:03,830 --> 00:39:04,890 То ме не помаже. 833 00:39:04,890 --> 00:39:08,220 Али, погледајте, Цланг је макар мало бит пристојан, где са мало 834 00:39:08,220 --> 00:39:11,890 зелена уметање симбола, она каже Овде је место где сам забрљао. 835 00:39:11,890 --> 00:39:16,160 Зашто се то показује, да са мало зелена стрелица, на један цитат следећег 836 00:39:16,160 --> 00:39:18,290 на моје име? 837 00:39:18,290 --> 00:39:20,880 >> Дакле, то је једна од ствари које сте управо навићи, нарочито ако сте били 838 00:39:20,880 --> 00:39:23,980 програмирање у Питхон-у, или ЈаваСцрипт, или други језици у којима овај детаљ 839 00:39:23,980 --> 00:39:24,560 није битно. 840 00:39:24,560 --> 00:39:25,740 У Ц, није свеједно. 841 00:39:25,740 --> 00:39:29,520 Ако проглашења стринг, који је секвенца од 0 или више карактера, 842 00:39:29,520 --> 00:39:32,280 заправо да користите наводнике. 843 00:39:32,280 --> 00:39:36,670 Тако да сам у ствари треба да се промени ово поново за отварање цитат, затворите цитат, са 844 00:39:36,670 --> 00:39:37,800 наводници. 845 00:39:37,800 --> 00:39:41,610 Појединачне цитати имају своје место, али само када користите појединца 846 00:39:41,610 --> 00:39:44,100 слова, али више о томе други пут. 847 00:39:44,100 --> 00:39:46,550 За сада, наводници су неопходни. 848 00:39:46,550 --> 00:39:50,460 >> Па сад, да се вратимо на мој терминал прозор, направити здраво 1. 849 00:39:50,460 --> 00:39:51,450 А ко је сигуран? 850 00:39:51,450 --> 00:39:53,800 Да ли је овај програм сада иде да правилно саставити? 851 00:39:53,800 --> 00:39:58,250 852 00:39:58,250 --> 00:39:58,540 ОК. 853 00:39:58,540 --> 00:39:59,780 Дакле, нас троје да ово. 854 00:39:59,780 --> 00:40:00,280 У реду. 855 00:40:00,280 --> 00:40:01,190 Ентер. 856 00:40:01,190 --> 00:40:02,440 И то је заправо урадио. 857 00:40:02,440 --> 00:40:05,130 Тако да нема грешака овај пут, чак и мада овај програм је ушло мало 858 00:40:05,130 --> 00:40:05,840 сложенији. 859 00:40:05,840 --> 00:40:10,110 Ако ја сад дот цртица Здраво 1, Ентер, то ће рећи "здраво, Давид." 860 00:40:10,110 --> 00:40:11,750 >> Али, хајде да трећи итерацију овога, где 861 00:40:11,750 --> 00:40:13,380 Програм је заиста динамичан. 862 00:40:13,380 --> 00:40:16,770 Дозволите ми да иде напред и промените датотеку име, само због усклађености са 863 00:40:16,770 --> 00:40:20,410 датотеке које ћете имати на располагању теби после мрежи. 864 00:40:20,410 --> 00:40:21,620 Ентер. 865 00:40:21,620 --> 00:40:25,510 А сада ћу да одем у и не продавница "Давид" фиксирани овде. 866 00:40:25,510 --> 00:40:28,826 Шта сам могао да урадим да веома једноставно побољшати овај програм? 867 00:40:28,826 --> 00:40:30,520 >> Могу да позовем гетстринг. 868 00:40:30,520 --> 00:40:33,240 Можда је мало не јасно шта је да се деси, па идем 869 00:40:33,240 --> 00:40:38,470 да заправо додати још једну линију, принтф, и рећи име, дебелог црева, затворите цитат, само 870 00:40:38,470 --> 00:40:40,790 да дају кориснику брз на екрану. 871 00:40:40,790 --> 00:40:42,980 А сада ћу да овде иде, а ја сам намеравате да користите свој пречицу. 872 00:40:42,980 --> 00:40:47,680 Идем да иде горе, горе, и промените здраво 1. до Хелло 2, Ентер. 873 00:40:47,680 --> 00:40:49,260 И срећом, ја напредујемо. 874 00:40:49,260 --> 00:40:52,720 >> А сада ћу да одем горе до тачке сласх Поздрав и 875 00:40:52,720 --> 00:40:54,690 промени на 2, Ентер. 876 00:40:54,690 --> 00:40:55,650 А сада мој програм - 877 00:40:55,650 --> 00:40:57,700 Ја ћу повећати - постаје мало лепша. 878 00:40:57,700 --> 00:41:02,190 Име ће бити, рецимо Роб овај пут, Ентер, здраво, Роб. 879 00:41:02,190 --> 00:41:03,260 Ми то можемо поново. 880 00:41:03,260 --> 00:41:05,360 Име, Лорен, Ентер. 881 00:41:05,360 --> 00:41:07,820 Име, Јосиф, Ентер. 882 00:41:07,820 --> 00:41:11,596 Име, хајде да покушамо да се тешко, Ентер. 883 00:41:11,596 --> 00:41:12,410 Ех. 884 00:41:12,410 --> 00:41:14,680 То није баш буба. 885 00:41:14,680 --> 00:41:16,090 Дакле, то је само мало ружна. 886 00:41:16,090 --> 00:41:18,640 Дакле, можда би могао да реши ово у будућности, не сада. 887 00:41:18,640 --> 00:41:20,840 >> Али, како би инстиктивно иде о решавању 888 00:41:20,840 --> 00:41:21,990 то посебан изазов? 889 00:41:21,990 --> 00:41:23,710 Само изгледа глупо. 890 00:41:23,710 --> 00:41:27,320 Како избећи ствари изгледа глупо? 891 00:41:27,320 --> 00:41:29,890 Тако да смо могли да урадимо, у реду, чуо сам пар ствари, стање и петља. 892 00:41:29,890 --> 00:41:33,340 Могли би да користите, један, услов, да проверите шта је дужина низа 893 00:41:33,340 --> 00:41:34,190 корисник нам је дао? 894 00:41:34,190 --> 00:41:37,100 А ако је 0, то је само цитирам Крај цитата, они само притисните ентер, затим 895 00:41:37,100 --> 00:41:38,930 можда би требало да се дере на њих и затражити да их поново. 896 00:41:38,930 --> 00:41:39,970 Али како да их подстакне опет? 897 00:41:39,970 --> 00:41:44,230 Па, чуо сам и петље, и сам могао то урадити поново и поново и поново 898 00:41:44,230 --> 00:41:47,010 пита корисника за исту ствар. 899 00:41:47,010 --> 00:41:48,880 >> Па, хајде да урадимо још један пример користећи различите 900 00:41:48,880 --> 00:41:50,620 Функција у ЦС50 библиотеци. 901 00:41:50,620 --> 00:41:52,330 Дозволите ми да завршим ову датотеку. 902 00:41:52,330 --> 00:41:53,510 Дозволите ми да направим нови. 903 00:41:53,510 --> 00:41:58,510 И ја ћу га звати аддер.ц, само зато лако је урадити једноставну аритметику, 904 00:41:58,510 --> 00:42:00,890 иако ће то бити потпуно ундервхелминг са оним што можете да урадите 905 00:42:00,890 --> 00:42:02,250 са било којим модерним рачунаром. 906 00:42:02,250 --> 00:42:03,750 >> Али, дозволите ми да иде напред и сада - 907 00:42:03,750 --> 00:42:10,680 Научио сам лекцију прошли пут - укључити цс50.х, укључују стдио.х, инт 908 00:42:10,680 --> 00:42:14,170 Главни празнина, која, за сада, само ћу преузме на слепу веру, али ћемо претпоставити 909 00:42:14,170 --> 00:42:16,380 да ће разумети шта то значи пре дуго. 910 00:42:16,380 --> 00:42:21,030 И ја ћу да кажем нешто као "дај ми инт." 911 00:42:21,030 --> 00:42:22,140 >> И сад, како да ја добијем инт? 912 00:42:22,140 --> 00:42:26,820 Желим да на крају прогласи променљиву зове к типа инт и 913 00:42:26,820 --> 00:42:29,240 сачувати у њему цео број од корисника. 914 00:42:29,240 --> 00:42:29,970 Дакле, то је залогај. 915 00:42:29,970 --> 00:42:35,680 Али, ако неко жели да предложи, како ја изјављујем целобројну зове к? 916 00:42:35,680 --> 00:42:36,310 Инт. 917 00:42:36,310 --> 00:42:37,430 >> Дакле, то је заиста тако једноставно. 918 00:42:37,430 --> 00:42:38,240 Дај ми инт. 919 00:42:38,240 --> 00:42:39,070 Назовите то к. 920 00:42:39,070 --> 00:42:40,580 Сада употребљавамо оператор додељивања. 921 00:42:40,580 --> 00:42:43,400 И како да сачувате од оставио вредност корисника? 922 00:42:43,400 --> 00:42:47,310 Не желим да позовем гетстринг, очигледно, већ Тоноване. 923 00:42:47,310 --> 00:42:49,060 Сви аргументи? 924 00:42:49,060 --> 00:42:49,350 Не. 925 00:42:49,350 --> 00:42:51,870 Тако да је отворена заграда, затвори заграда одмах, а затим 926 00:42:51,870 --> 00:42:53,440 зарез завршава линију. 927 00:42:53,440 --> 00:42:54,930 >> Сада ме пусти да радим ово поново. 928 00:42:54,930 --> 00:42:57,070 Дај ми још једну инт. 929 00:42:57,070 --> 00:43:01,850 Овај пут ћу урадити инт, хајде да зову и, једнако Тоноване. 930 00:43:01,850 --> 00:43:05,060 А сад ме пусти да радим нешто супер-једноставан као нека математика. 931 00:43:05,060 --> 00:43:14,340 Дакле принтф, сума је% д Чувар места за инт. 932 00:43:14,340 --> 00:43:20,030 И% Д, периода, обрнута коса црта-н. 933 00:43:20,030 --> 00:43:20,360 >> У реду. 934 00:43:20,360 --> 00:43:21,670 Дакле, то није стварно математика. 935 00:43:21,670 --> 00:43:25,500 Али, ако желим да кажем збир ово Вредност плус ова вредност једнака ово 936 00:43:25,500 --> 00:43:29,320 друга вредност, колико аргументи у укупно треба да буде принтф давање, 937 00:43:29,320 --> 00:43:30,520 на крају? 938 00:43:30,520 --> 00:43:31,420 Дакле четири, зар не? 939 00:43:31,420 --> 00:43:33,790 Овај стринг а онда су три вредности. 940 00:43:33,790 --> 00:43:37,560 Дакле, к је прво желим да будем прикључени први на% д. 941 00:43:37,560 --> 00:43:39,270 година ће бити следећи. 942 00:43:39,270 --> 00:43:42,030 >> И сад ја сам хтео да кажем З, али з не постоји. 943 00:43:42,030 --> 00:43:43,190 Али, то није велика ствар. 944 00:43:43,190 --> 00:43:45,440 Јер шта би ти инстинктивно учинити, нарочито ако сте имали 945 00:43:45,440 --> 00:43:47,820 графиконима Калкулатор, шта куцате? 946 00:43:47,820 --> 00:43:48,760 Шта мислите о Кс плус И? 947 00:43:48,760 --> 00:43:50,200 Дакле, то није стварна променљива. 948 00:43:50,200 --> 00:43:51,820 То је само збир два остале променљиве. 949 00:43:51,820 --> 00:43:53,170 И то је потпуно легитимно. 950 00:43:53,170 --> 00:43:56,630 Ц сигурно разуме једноставна аритметика овако. 951 00:43:56,630 --> 00:43:58,450 >> Зарез, сачувајте. 952 00:43:58,450 --> 00:44:02,080 Сада пусти ме доле и маке Аддер, Ентер. 953 00:44:02,080 --> 00:44:04,100 Нема грешке, тако да је то напредак превише. 954 00:44:04,100 --> 00:44:04,890 Упишите сабирача. 955 00:44:04,890 --> 00:44:07,100 И још једна пречица на тастатури, ако почнете да се досађујете 956 00:44:07,100 --> 00:44:08,760 са свим командама - 957 00:44:08,760 --> 00:44:12,650 ако почнете да куцате команду, као што је тачка сласх оглас, а то је где се продаје 958 00:44:12,650 --> 00:44:16,020 досада почиње у, обично можете погодити Таб да рачунар заврши 959 00:44:16,020 --> 00:44:20,510 Остатак фразе за вас, ако то није двосмислена шта би требало да дође после оглас. 960 00:44:20,510 --> 00:44:23,950 >> Дакле, дозволите ми сада ићи напред и кликнете на дугме Ентер. 961 00:44:23,950 --> 00:44:27,490 Дајте ми један инт, 1, 2, и Срећом, то је 3.. 962 00:44:27,490 --> 00:44:29,900 Али, као и увек, програме за тестирање не би требало да се сведе на 963 00:44:29,900 --> 00:44:30,820 само да пробам једном. 964 00:44:30,820 --> 00:44:35,560 Да покушам случај угла, као негативна 1, ми 1, и да је један 965 00:44:35,560 --> 00:44:36,210 проверава се као добро. 966 00:44:36,210 --> 00:44:38,870 И вероватно желите да урадите нешто више ригорозно тестирање, али сам лепа 967 00:44:38,870 --> 00:44:40,630 задовољни у којој је то у. 968 00:44:40,630 --> 00:44:43,110 >> Па, сад да пробамо други програм да овај пут користи 969 00:44:43,110 --> 00:44:44,620 Мало друге синтаксе. 970 00:44:44,620 --> 00:44:46,100 Дозволите ми да креирате нову датотеку. 971 00:44:46,100 --> 00:44:51,050 Назваћу ову цондитионс0.ц да поравнате са неким на мрежи код узорка. 972 00:44:51,050 --> 00:44:55,550 И дозволите ми да иде напред и учинити укључују цс50.х, укључују 973 00:44:55,550 --> 00:45:00,320 стдио.х, у главном празнини - 974 00:45:00,320 --> 00:45:01,030 ОК. 975 00:45:01,030 --> 00:45:01,850 Ту смо. 976 00:45:01,850 --> 00:45:03,010 Имамо стандардне општенаменским. 977 00:45:03,010 --> 00:45:08,170 >> И овај пут ћу рећи принтф, "Ја бих се инт, молим вас", само да 978 00:45:08,170 --> 00:45:10,030 чине брза мало више пријатељски. 979 00:45:10,030 --> 00:45:11,620 А сада желим да се инт од корисника. 980 00:45:11,620 --> 00:45:15,010 Ја ћу да га зову н овај пут, само н јер звучи као број. 981 00:45:15,010 --> 00:45:18,140 Тоноване, а сад, шта Желим да радим са њим? 982 00:45:18,140 --> 00:45:21,640 Па, ако је н - и ја ћу увећате - 983 00:45:21,640 --> 00:45:25,930 ако је н веће од 0, желим да урадите следеће - 984 00:45:25,930 --> 00:45:36,060 принтф "Изабрао си позитиван број." Иначе, ја ћу инт типа "Ви 985 00:45:36,060 --> 00:45:37,870 Изабрао негативан 986 00:45:37,870 --> 00:45:39,650 број "У реду.. 987 00:45:39,650 --> 00:45:44,410 Дакле овај програм, иако сам то урадио брзо, изгледа право синтаксички. 988 00:45:44,410 --> 00:45:45,010 Да пробам ово. 989 00:45:45,010 --> 00:45:46,890 Направите Стање 0. 990 00:45:46,890 --> 00:45:47,710 Изгледа да ради. 991 00:45:47,710 --> 00:45:49,230 Стање 0, унесите. 992 00:45:49,230 --> 00:45:51,910 Хајде да дамо од 50 инт. 993 00:45:51,910 --> 00:45:53,160 Изабрао сам позитиван број. 994 00:45:53,160 --> 00:45:54,230 Хајде да пробамо поново. 995 00:45:54,230 --> 00:45:54,930 Стање 0. 996 00:45:54,930 --> 00:45:56,260 Негативно 50. 997 00:45:56,260 --> 00:45:57,290 Изабрао сам негативан број. 998 00:45:57,290 --> 00:46:00,350 >> Али сада, дозволите ми да изаберете оно што ћемо задржати позивајући корнер случај, што је више 999 00:46:00,350 --> 00:46:04,702 интересантан случај да мислите вам може дати неке проблеме, 0. 1000 00:46:04,702 --> 00:46:07,940 Сада, ја сам прилично сигуран да је ово један од они кутак случајеви где је нула 1001 00:46:07,940 --> 00:46:12,330 ни позитивно ни негативно, па зато програма, иако у синтаксички 1002 00:46:12,330 --> 00:46:15,440 исправи - она ​​саставља, то ради - није логички исправан. 1003 00:46:15,440 --> 00:46:21,050 Дакле, шта је једноставно поправити овде ако желим да открије, ако желите да управљате н 1004 00:46:21,050 --> 00:46:23,840 износи 0. одвојено? 1005 00:46:23,840 --> 00:46:32,980 >> Дакле, ако је н једнако 0, онда ја желим да кажем нешто као принтф "Изабрали сте 0". 1006 00:46:32,980 --> 00:46:33,990 Да пробам ово сада. 1007 00:46:33,990 --> 00:46:38,320 Дозволите ми да се вратим овде, јасно мој прозор, и рецомпиле. 1008 00:46:38,320 --> 00:46:38,690 Хм. 1009 00:46:38,690 --> 00:46:39,770 Једна грешка генеришу. 1010 00:46:39,770 --> 00:46:41,630 Али, да ли желите да проверите Ако је н једнако 0. 1011 00:46:41,630 --> 00:46:44,230 1012 00:46:44,230 --> 00:46:47,720 >> Па опет, још једна глупа ствар да се навикне, знак једнакости је 1013 00:46:47,720 --> 00:46:48,910 Оператор додељивања. 1014 00:46:48,910 --> 00:46:52,240 Дакле, то је заправо грешка у томе, технички, иако компајлер 1015 00:46:52,240 --> 00:46:56,450 штитила од себе, ми бисмо технички бити копирање 0 у Н, који 1016 00:46:56,450 --> 00:46:57,590 није оно што ја желим. 1017 00:46:57,590 --> 00:47:00,950 Желим да тестирате за равноправност са једнако једнако. 1018 00:47:00,950 --> 00:47:03,390 И тако да сада може да буде мој боље решење. 1019 00:47:03,390 --> 00:47:07,810 >> Дозволите ми да ово заправо поново сачувате као, рецимо, цондитионс1, да буде нова и побољшана. 1020 00:47:07,810 --> 00:47:10,480 Тако да сада ако компајлирате ово, то би услове - 1021 00:47:10,480 --> 00:47:16,960 упс - направити цондитионс1 тачка сласх цондитионс1, Ентер, "Ја бих инт, 1022 00:47:16,960 --> 00:47:18,760 молим "Ја. да идем напред и упишите 50. 1023 00:47:18,760 --> 00:47:19,660 То је још увек добра. 1024 00:47:19,660 --> 00:47:21,200 Негативно 50, и даље добро. 1025 00:47:21,200 --> 00:47:24,920 0, и то је заиста,, открити да сам изабрао 0. 1026 00:47:24,920 --> 00:47:28,200 >> Дакле, шта још могу да урадим сада са овим? 1027 00:47:28,200 --> 00:47:32,280 Па, свакако да све урадим сложене ствари. 1028 00:47:32,280 --> 00:47:37,240 Али оно што желим да предложим је да завршимо на овој поруци овде. 1029 00:47:37,240 --> 00:47:41,680 Ако се попните се ово, ви ћете видети, можда, омиљени цртани твој 1030 00:47:41,680 --> 00:47:43,326 до данас сте могли Никада нисам разумео. 1031 00:47:43,326 --> 00:47:46,550 1032 00:47:46,550 --> 00:47:49,520 И то је о квалитету смеха требало би да се са ЦС шалама. 1033 00:47:49,520 --> 00:47:51,060 Дакле, то је отприлике то. 1034 00:47:51,060 --> 00:47:54,900 >> Али више убедљив, мислио сам да Дајте нам мало задиркивање за понедељак. 1035 00:47:54,900 --> 00:47:56,430 Тако смо почели да користе целе бројеве. 1036 00:47:56,430 --> 00:47:57,510 Сте говорили смо да плута. 1037 00:47:57,510 --> 00:48:00,120 Чак смо из дублова, који, опет, ти бројеви 1038 00:48:00,120 --> 00:48:01,390 после децимале. 1039 00:48:01,390 --> 00:48:04,230 >> Али, испоставља се да плута и дубл, и, заиста, компјутери, 1040 00:48:04,230 --> 00:48:08,470 у основи, не могу да изразе неке вредности прецизно. 1041 00:48:08,470 --> 00:48:12,840 Ми знамо из математике класа које можете имати било који број бројева након 1042 00:48:12,840 --> 00:48:13,510 децимална тачка. 1043 00:48:13,510 --> 00:48:16,460 А можете чак ставити вертикалну црту да кажем ово да траје заувек. 1044 00:48:16,460 --> 00:48:18,810 >> Нажалост, не можете то чини на рачунару. 1045 00:48:18,810 --> 00:48:20,400 И тако кутак случајева јављају. 1046 00:48:20,400 --> 00:48:23,120 На пример, претпоставимо да сте раде нешто финансијски. 1047 00:48:23,120 --> 00:48:25,700 Радите математику са процентима, и 1048 00:48:25,700 --> 00:48:27,030 са доларима и центима. 1049 00:48:27,030 --> 00:48:29,230 А ти немој центи нужно линију горе. 1050 00:48:29,230 --> 00:48:34,120 Па, испоставило се да су фракције паре могу почети да саберете када 1051 00:48:34,120 --> 00:48:37,250 узору са рачунарског система на такав начин да паметно 1052 00:48:37,250 --> 00:48:39,100 људи могу искористити. 1053 00:48:39,100 --> 00:48:42,650 >> А оне који нису видели, ја бих да вам дам 30 секунди за задиркивање 1054 00:48:42,650 --> 00:48:48,290 диван филм познат као канцеларијски простор, који ће дају слику 1055 00:48:48,290 --> 00:48:51,205 Проблем који се бави прва ствар у понедељак. 1056 00:48:51,205 --> 00:48:53,960 Ако бисмо могли да смањите звук мало, ја вам дам 30 1057 00:48:53,960 --> 00:48:55,495 секунди пословног простора. 1058 00:48:55,495 --> 00:48:55,770 >> [ВИДЕО РЕПРОДУКЦИЈА] 1059 00:48:55,770 --> 00:48:59,000 >> -Мислим, да, ви нисте били приказују се и ви да задржим свој посао. 1060 00:48:59,000 --> 00:49:00,620 >> -У ствари, ја сам се промовише. 1061 00:49:00,620 --> 00:49:03,240 >> -Ја могу програмирати вирус који би рип то место ван велики пут. 1062 00:49:03,240 --> 00:49:04,430 >> -Па, како то функционише? 1063 00:49:04,430 --> 00:49:06,782 >> -Сваки пут када је трансакција банка се камата обрачунава, и тамо 1064 00:49:06,782 --> 00:49:10,160 су хиљаде дана, рачунар се завршава са ових фракција цента. 1065 00:49:10,160 --> 00:49:12,030 >> -Али ја не идем у ништа нелегално. 1066 00:49:12,030 --> 00:49:12,660 >> -Илегалне? 1067 00:49:12,660 --> 00:49:15,075 Самир, ово је Америка. 1068 00:49:15,075 --> 00:49:16,570 >> -Морамо да кунем се. 1069 00:49:16,570 --> 00:49:19,070 >> -Ако нико не зна за ово али нас, у реду? 1070 00:49:19,070 --> 00:49:21,920 Без породице, без девојке, нико. 1071 00:49:21,920 --> 00:49:22,700 >> -Наравно. 1072 00:49:22,700 --> 00:49:23,320 >> -Слажем се. 1073 00:49:23,320 --> 00:49:24,280 >> -Не брини, човече. 1074 00:49:24,280 --> 00:49:25,640 Нећу никоме рећи било. 1075 00:49:25,640 --> 00:49:26,504 >> [ЕНД ВИДЕО РЕПРОДУКЦИЈА] 1076 00:49:26,504 --> 00:49:30,030 >> ДАВИД Малан: Дакле, онда, је ЦС50, да је канцеларијски простор, а све 1077 00:49:30,030 --> 00:49:31,465 смисла у понедељак. 1078 00:49:31,465 --> 00:49:33,940 Видимо се онда. 1079 00:49:33,940 --> 00:49:37,880 >> НАРАТОР: На следећем ЦС50, Роб подешава да буду ван 1080 00:49:37,880 --> 00:49:39,130 Харвард оброк плана. 1081 00:49:39,130 --> 00:49:56,160