1 00:00:00,000 --> 00:00:12,510 2 00:00:12,510 --> 00:00:13,870 >> Роб: Во ред. 3 00:00:13,870 --> 00:00:16,770 Добредојдовте на првиот дел. 4 00:00:16,770 --> 00:00:17,480 Јас сум Роб. 5 00:00:17,480 --> 00:00:18,806 >> JOSEPH: Јас сум Јосиф. 6 00:00:18,806 --> 00:00:21,540 >> Роб: Значи, ние ќе се нурне право внатре 7 00:00:21,540 --> 00:00:23,420 Првото нешто да се зборува за е апаратот. 8 00:00:23,420 --> 00:00:27,150 Па се надевам дека повеќето од вас имаат преземале тоа веќе. 9 00:00:27,150 --> 00:00:37,180 Но може да се види инструкции на cs50.net/appliance. 10 00:00:37,180 --> 00:00:38,430 О Боже, сега сум самосвест. 11 00:00:38,430 --> 00:00:44,590 12 00:00:44,590 --> 00:00:45,430 Јас се уште го слушам. 13 00:00:45,430 --> 00:00:47,232 >> JOSEPH: Леле, што звучи како тоа е дезориентирани. 14 00:00:47,232 --> 00:00:52,460 >> Роб: Значи некои луѓе се имаат проблеми со него, па не чекајте до 15 00:00:52,460 --> 00:00:54,940 последен момент на проблемот во собата да се се обиде да го реши апарати и 16 00:00:54,940 --> 00:00:56,320 дознаваат дека тоа не е работа. 17 00:00:56,320 --> 00:00:59,010 >> JOSEPH: И ако нешто не работи и ви треба помош, можете да одат на 18 00:00:59,010 --> 00:01:03,390 cs50.net/discussion каде што имаат форум каде што можете 19 00:01:03,390 --> 00:01:04,110 може да ја објавите вашата прашања. 20 00:01:04,110 --> 00:01:06,655 И ние ќе дојдеме до нив на крајот. 21 00:01:06,655 --> 00:01:07,490 >> Роб: Во ред. 22 00:01:07,490 --> 00:01:12,180 Значи тоа е она што апарати изгледа. 23 00:01:12,180 --> 00:01:15,480 Повторно, тоа е само сосема посебен оперативен систем кој работи во рамките на 24 00:01:15,480 --> 00:01:19,440 што оперативниот систем што се работи на вашиот лаптоп. 25 00:01:19,440 --> 00:01:24,450 И главните работи што ќе биде со користење се gedit. 26 00:01:24,450 --> 00:01:28,050 Па се надевам дека ова нема веќе стане познат сајт. 27 00:01:28,050 --> 00:01:29,470 На терминалот. 28 00:01:29,470 --> 00:01:31,890 >> И ти исто така може да се кандидира Хром во рамките на апаратот. 29 00:01:31,890 --> 00:01:33,860 Имало неколку луѓе кои се изјасниле интернет 30 00:01:33,860 --> 00:01:35,390 не работи во апаратот. 31 00:01:35,390 --> 00:01:38,090 А некои од нив се само претпоставува дека не би требало да биде 32 00:01:38,090 --> 00:01:39,190 интернет во уредот. 33 00:01:39,190 --> 00:01:40,750 Но да, постои треба да биде интернет. 34 00:01:40,750 --> 00:01:44,000 35 00:01:44,000 --> 00:01:46,410 >> Јас ќе го кажам токму сега, но тоа не го прави навистина значи ништо. 36 00:01:46,410 --> 00:01:50,680 Ако на интернет не е работа, тоа е она што имаат тенденција да треба 37 00:01:50,680 --> 00:01:52,180 да се кандидира за да го поправам. 38 00:01:52,180 --> 00:01:55,602 Ако имате прашања поврзани со интернетот, не се сеќавам тоа, само да го објавите на 39 00:01:55,602 --> 00:01:57,560 Дискутираат и ние ќе каже, работи тоа. 40 00:01:57,560 --> 00:02:00,420 Но, на интернет треба да се работи. 41 00:02:00,420 --> 00:02:06,650 >> Значи единствената друга работа - Да, ништо друго е навистина релевантни. 42 00:02:06,650 --> 00:02:08,979 Но само сакав да истакнам дека - 43 00:02:08,979 --> 00:02:13,290 види во оваа долниот десен агол. 44 00:02:13,290 --> 00:02:16,530 Па секој од вашите апарати треба имаат IP адреса. 45 00:02:16,530 --> 00:02:22,350 А подоцна и во семестар, оваа IP адреса адреса ќе стане повеќе релевантни кога 46 00:02:22,350 --> 00:02:27,230 си работат на веб стр-сет, бидејќи ќе бидете во можност да пристапите до 47 00:02:27,230 --> 00:02:32,310 веб си работат на од вашиот локалните Хром со користење на оваа IP адреса. 48 00:02:32,310 --> 00:02:35,400 >> Но, она што сакам да се користи само ИП адресата за - и вие не мора да го направите ова, јас 49 00:02:35,400 --> 00:02:37,460 само сакам да го истакнам - 50 00:02:37,460 --> 00:02:39,540 е тука. 51 00:02:39,540 --> 00:02:42,910 Значи ова е терминален прозорец за мојот Mac, тоа не е во 52 00:02:42,910 --> 00:02:44,580 Апаратот на сите. 53 00:02:44,580 --> 00:02:47,190 И можете да барате до она што оваа команда го прави тоа. 54 00:02:47,190 --> 00:02:51,855 Но јас ќе одам да SSH директно на мојот апарати. 55 00:02:51,855 --> 00:02:53,410 Јас не знам што IP адреса е. 56 00:02:53,410 --> 00:02:54,300 >> JOSEPH: 168 - 57 00:02:54,300 --> 00:02:56,080 >> 168.224.1.0. 58 00:02:56,080 --> 00:02:59,950 >> Роб: Значи еднаш сум се направи со ова, се логирам 59 00:02:59,950 --> 00:03:05,450 Сега, во основа, ова е идентично со терминален прозорец во рамките на мојот апарати. 60 00:03:05,450 --> 00:03:10,280 Па јас доста всушност никогаш не работел од рамките на апарати себе. 61 00:03:10,280 --> 00:03:12,550 Јас само секогаш го работи во позадина минимизиран 62 00:03:12,550 --> 00:03:15,890 и SSHed во тоа. 63 00:03:15,890 --> 00:03:24,270 >> Прашањето со ова е да не се случува да бидат во можност да го користите gedit лесно 64 00:03:24,270 --> 00:03:25,600 директно од ова. 65 00:03:25,600 --> 00:03:31,500 Но, ако сакате да се биде вистински кул хакер, тогаш треба да се навикнеш на 66 00:03:31,500 --> 00:03:34,220 командната линија текст едитор во секој случај. 67 00:03:34,220 --> 00:03:39,620 Па VIM и Emacs и Нано, сите овие се различни алтернативи. 68 00:03:39,620 --> 00:03:41,560 Нано има тенденција да биде најлесно. 69 00:03:41,560 --> 00:03:45,006 И мислам дека нема синтакса за нагласување. 70 00:03:45,006 --> 00:03:47,620 О, не, таа целосно го прави тоа. 71 00:03:47,620 --> 00:03:49,870 Значи можете да го користите Нано, бидејќи дека еден е прилично лесно. 72 00:03:49,870 --> 00:03:52,000 >> Гледаш сите овие команди на дното. 73 00:03:52,000 --> 00:03:54,750 Оваа мала морков симбол. 74 00:03:54,750 --> 00:03:57,620 Ако не го видел, да ќе Најверојатно ги гледам многу сега. 75 00:03:57,620 --> 00:04:02,350 Тоа обично значи дека контролата морков, како на дното-лев агол на вашата тастатура 76 00:04:02,350 --> 00:04:04,130 контрола карактер. 77 00:04:04,130 --> 00:04:07,260 Па еве тоа е ми кажуваше долу тука - 78 00:04:07,260 --> 00:04:08,710 ох, тоа не е отсечени ако јас зумирате внатре 79 00:04:08,710 --> 00:04:11,040 Значи контрола, X е како Одам да излезете. 80 00:04:11,040 --> 00:04:14,710 И тоа вели дека може да ја погоди Y за Да, за заштеда, N за бр 81 00:04:14,710 --> 00:04:17,190 Па тоа е Нано. 82 00:04:17,190 --> 00:04:22,860 >> VIM и Emacs имаат тенденција да бидат малку повеќе комплицирана и огромно. 83 00:04:22,860 --> 00:04:28,840 Но, можете да се навикнеш на него, а потоа ќе ти се допадне. 84 00:04:28,840 --> 00:04:30,590 Значи тоа е тоа. 85 00:04:30,590 --> 00:04:31,720 >> JOSEPH: Нема потреба да го сторат тоа. 86 00:04:31,720 --> 00:04:31,840 >> Роб: Да. 87 00:04:31,840 --> 00:04:37,510 Вие сте слободни да го користите gedit за Остатокот на семестарот. 88 00:04:37,510 --> 00:04:40,630 Така било апаратот поврзани прашања? 89 00:04:40,630 --> 00:04:42,820 Или мислите дека имате било какви мисли за тоа што друг треба да се зборува за тоа 90 00:04:42,820 --> 00:04:43,610 апаратот? 91 00:04:43,610 --> 00:04:43,996 Да. 92 00:04:43,996 --> 00:04:47,720 >> ЗВУЧНИК 1: Кога ќе SSHed во вашиот работа, беше лозинка Crimson? 93 00:04:47,720 --> 00:04:48,390 >> Роб: Да. 94 00:04:48,390 --> 00:04:50,170 Лозинка за доста сè во апаратот ќе 95 00:04:50,170 --> 00:04:52,473 да биде Crimson. 96 00:04:52,473 --> 00:04:56,517 >> ЗВУЧНИК 2: Инсталирајте како вистински ИРО на апаратот, тоа ќе функционира? 97 00:04:56,517 --> 00:04:59,200 98 00:04:59,200 --> 00:05:07,290 >> Роб: Претпоставувам Затемнувањето го имаат Fedora верзија, во кој случај, да, 99 00:05:07,290 --> 00:05:08,420 можете да го направите тоа. 100 00:05:08,420 --> 00:05:10,875 Тоа е веројатно не се навистина достоен за тоа. 101 00:05:10,875 --> 00:05:11,742 >> ЗВУЧНИК 2: OK. 102 00:05:11,742 --> 00:05:15,924 Така, тоа е веројатно е полесно ако сакав да го користите Eclipse, само користење на мајчин и 103 00:05:15,924 --> 00:05:17,646 а потоа вчитајте ги за - 104 00:05:17,646 --> 00:05:21,090 >> Роб: О, тоа е, исто така, веројатно е полесно. 105 00:05:21,090 --> 00:05:24,046 Но, можете да го добие работа во рамките на апаратот. 106 00:05:24,046 --> 00:05:27,740 >> JOSEPH: И за камерата, прашањето беше, може да инсталирате друг 107 00:05:27,740 --> 00:05:29,490 ИРО во внатрешноста на уредот? 108 00:05:29,490 --> 00:05:31,520 >> Роб: Eclipse биде пример за ИРО. 109 00:05:31,520 --> 00:05:34,800 110 00:05:34,800 --> 00:05:36,050 Било која друга апарати прашања? 111 00:05:36,050 --> 00:05:38,250 112 00:05:38,250 --> 00:05:38,680 Во ред е. 113 00:05:38,680 --> 00:05:44,920 >> Па ние сега ќе се движи кон командната линија интерфејс поврзани нешта, па CLI. 114 00:05:44,920 --> 00:05:47,990 И повторно, јас сум само ќе работат во тука, бидејќи ова е идентична со 115 00:05:47,990 --> 00:05:52,780 работат во терминален прозорец во рамките на апаратот. 116 00:05:52,780 --> 00:05:54,160 Како е тоа фонт барате? 117 00:05:54,160 --> 00:05:55,970 Дали е тоа доволно голема? 118 00:05:55,970 --> 00:05:57,000 Во ред е. 119 00:05:57,000 --> 00:06:02,480 >> Па така постојат многу команди кои треба да се прилично се користи за да 120 00:06:02,480 --> 00:06:04,490 текот на семестарот. 121 00:06:04,490 --> 00:06:09,480 На двете големи за навигацијата се ls, листа слики во овој директориум; и 122 00:06:09,480 --> 00:06:11,380 CD, така да го променат директориум. 123 00:06:11,380 --> 00:06:18,390 За да можам да го променам десктоп и потоа многу заедничка шема е cd до 124 00:06:18,390 --> 00:06:22,550 директориум и веднаш ls што во директориумот. 125 00:06:22,550 --> 00:06:25,540 >> Луѓето, исто така понекогаш не сфаќаат дека јазиче завршување е нешто. 126 00:06:25,540 --> 00:06:28,370 Па како CD, Сандачето, а потоа погоди јазиче. 127 00:06:28,370 --> 00:06:30,790 Јас речиси никогаш тип надвор целата работа. 128 00:06:30,790 --> 00:06:32,920 А потоа, ако јас удираш јазиче Повторно, тоа ќе автоматски 129 00:06:32,920 --> 00:06:33,670 проектот листата за мене. 130 00:06:33,670 --> 00:06:37,000 Па може да се cd vhosts, локалниот компјутер. 131 00:06:37,000 --> 00:06:39,880 И тоа е само случува да - 132 00:06:39,880 --> 00:06:43,380 во случај да не сте слушнале поимот пред, директориум е само друг збор 133 00:06:43,380 --> 00:06:45,170 за папката. 134 00:06:45,170 --> 00:06:49,930 Па сега ако те видам - 135 00:06:49,930 --> 00:06:51,810 ајде да донесат дека до врвот. 136 00:06:51,810 --> 00:06:55,380 >> Па сега ако те видам во загради, можете види малку тилда, коса црта, vhost, 137 00:06:55,380 --> 00:06:56,810 коса црта, локалниот компјутер. 138 00:06:56,810 --> 00:07:00,040 Па тилда, кој се однесува на мојот домашен директориум. 139 00:07:00,040 --> 00:07:03,090 Тоа е директориум сте кога ќе SSH внатре 140 00:07:03,090 --> 00:07:05,660 Тоа е директориумот сте во кога ќе се отвори терминал. 141 00:07:05,660 --> 00:07:08,650 Тоа е каде што ќе започне. 142 00:07:08,650 --> 00:07:13,110 И така јас сум во внатрешноста на мојата домашен директориум, и јас сум внатрешноста на vhost 143 00:07:13,110 --> 00:07:14,475 директориумот во внатрешноста на мојата домашен директориум. 144 00:07:14,475 --> 00:07:19,670 И тогаш јас сум внатрешноста на локалната домаќин директориум внатре во тоа. 145 00:07:19,670 --> 00:07:23,740 >> Па некои други корисни работи со CD - 146 00:07:23,740 --> 00:07:29,220 или добро, воопшто, па точка секогаш се однесува на тековниот директориум. 147 00:07:29,220 --> 00:07:31,130 CD, точка е прилично безвреден команда. 148 00:07:31,130 --> 00:07:35,150 Но тоа се менува со тековниот директориум. 149 00:07:35,150 --> 00:07:38,230 А повеќе корисна во смисла на CD-то е точка, точка, која е 150 00:07:38,230 --> 00:07:40,220 само одат нагоре една папка. 151 00:07:40,220 --> 00:07:43,360 >> И се напомене дека овие - 152 00:07:43,360 --> 00:07:48,610 Сакам да кажам адреси, но овие симболи, точка, и точка, точка, кои работат 153 00:07:48,610 --> 00:07:51,740 за доста било команда си ќе треба да се размислува за работи. 154 00:07:51,740 --> 00:07:55,370 Па како CD-то е веројатно каде што ќе биде користење на повеќето, но тие не се 155 00:07:55,370 --> 00:07:56,780 работи кои само cd разбира. 156 00:07:56,780 --> 00:07:59,980 Тоа е доста нешто целата своја командната линија разбира. 157 00:07:59,980 --> 00:08:01,932 Многу од програми се разбере точка и точка, точка. 158 00:08:01,932 --> 00:08:04,830 159 00:08:04,830 --> 00:08:09,090 >> Па други полезни - CD, цртичка. 160 00:08:09,090 --> 00:08:13,460 Така што ќе ме донесе до Последниот директориум во кој бев внатре 161 00:08:13,460 --> 00:08:15,980 Па понекогаш и јас ќе се направи такво нешто, ох, јас работам тука. 162 00:08:15,980 --> 00:08:21,110 И гледам некои грешка со нешто и Јас ќе одам испита тоа со одење на 163 00:08:21,110 --> 00:08:24,020 некои случајни директориум некаде. 164 00:08:24,020 --> 00:08:25,260 И јас не знам дали тоа ќе дозволете ми таму. 165 00:08:25,260 --> 00:08:25,720 Тоа ќе. 166 00:08:25,720 --> 00:08:27,615 Па тогаш правам што сакам во овој директориум. 167 00:08:27,615 --> 00:08:28,950 Бла, бла, бла, бла, бла. 168 00:08:28,950 --> 00:08:31,770 А јас бев како, добро, јас сакам да се вратам на местото каде што беше. 169 00:08:31,770 --> 00:08:34,490 CD, цртичка, и тоа ме носи десен бек. 170 00:08:34,490 --> 00:08:39,970 >> Па ќе одам да се фрли многу од овие на тебе денес. 171 00:08:39,970 --> 00:08:43,730 Јас не очекувам да се запаметат сите од нив. 172 00:08:43,730 --> 00:08:46,170 Тоа е вид на само знам дека тие постојат. 173 00:08:46,170 --> 00:08:48,690 А потоа подоцна кога сте како, хм, сакам да се вратиме на 174 00:08:48,690 --> 00:08:51,870 директориум дека јас бев само на, О, чекај, нешто како што постои. 175 00:08:51,870 --> 00:08:53,980 Вие не треба да се само напишете во на целиот директориум повторно. 176 00:08:53,980 --> 00:08:56,090 >> JOSEPH: и на крајот ќе само користете ги одново и одново, и 177 00:08:56,090 --> 00:08:57,830 тоа ќе стане мускулите меморија. 178 00:08:57,830 --> 00:09:00,090 >> Роб: Да. 179 00:09:00,090 --> 00:09:02,930 Па, како што реков и порано, дека тилда е Вашиот домашен директориум. 180 00:09:02,930 --> 00:09:04,820 За да можам да CD, тилда. 181 00:09:04,820 --> 00:09:07,280 Но јас дури и не мора да се направи тоа ако јас само - 182 00:09:07,280 --> 00:09:09,760 Јас ќе се вратам во директориумот, па тоа не е бесмислен пример. 183 00:09:09,760 --> 00:09:14,560 Но, ако јас само го прават CD, тоа е, исто така, исто како, одете на мојот домашен директориум. 184 00:09:14,560 --> 00:09:18,380 185 00:09:18,380 --> 00:09:19,880 Јас команда, К 186 00:09:19,880 --> 00:09:24,015 >> JOSEPH: Можете исто така да напишете јасни, збор, и тоа треба да го тргнат. 187 00:09:24,015 --> 00:09:28,650 >> Роб: И мислам дека, исто така, контрола, L, исто така, го прави тоа. 188 00:09:28,650 --> 00:09:29,690 Значи многу различни начини. 189 00:09:29,690 --> 00:09:34,070 Мислам дека постојат некои разлики, каде што јасни и контрола, L ќе само 190 00:09:34,070 --> 00:09:37,280 навистина го турнам на врвот и Јас се уште може да дојдете назад. 191 00:09:37,280 --> 00:09:40,580 Команда, К буквално уништува сè, и ќе 192 00:09:40,580 --> 00:09:42,960 не може да дојдете назад. 193 00:09:42,960 --> 00:09:45,530 Во најмала рака, тоа е како тоа функционира во iTerm2. 194 00:09:45,530 --> 00:09:48,690 Не знам како другите работи - 195 00:09:48,690 --> 00:09:49,360 ох. 196 00:09:49,360 --> 00:09:55,450 >> Со SSHing, па ако сте на Windows, ви се случува да мора да преземете PuTTY 197 00:09:55,450 --> 00:10:02,360 со цел да SSH бидејќи Windows не имаат како вграден во SSH алатка. 198 00:10:02,360 --> 00:10:06,150 Од Macs, можете само да SSH директно од терминал. 199 00:10:06,150 --> 00:10:08,755 200 00:10:08,755 --> 00:10:09,690 OK. 201 00:10:09,690 --> 00:10:11,840 Прашања? 202 00:10:11,840 --> 00:10:19,260 >> Со ls, па нешто да се навикнеш на со повеќето од овие команди е - 203 00:10:19,260 --> 00:10:20,060 добро, јас само ќе направи еден. 204 00:10:20,060 --> 00:10:21,310 Ls, цртичка, л. 205 00:10:21,310 --> 00:10:26,330 Па цртичка, л е она што ние ќе да се јавите на знаме да се ls. 206 00:10:26,330 --> 00:10:30,770 И многу од овие команди имаат знамиња дека може да се помине за нив. 207 00:10:30,770 --> 00:10:35,020 Значи во овој случај, цртичка, л е знаме што ја кажува да ми даде целосна 208 00:10:35,020 --> 00:10:37,850 листа на сите информации на овие датотеки. 209 00:10:37,850 --> 00:10:44,790 >> Така можеме да видиме дека тука десктоп беше пат е изменета на 30 јули во 12:54. 210 00:10:44,790 --> 00:10:47,160 Превземања беше изменета на 6 септември. 211 00:10:47,160 --> 00:10:52,350 Овие се сегашната големина и бајти од овие директориуми. 212 00:10:52,350 --> 00:10:54,412 Вие не треба да се разбере сето ова. 213 00:10:54,412 --> 00:11:00,380 >> Овој материјал е на лево, овие drwx е, кој ќе стане многу повеќе релевантни 214 00:11:00,380 --> 00:11:02,290 подоцна, кога ќе треба да се занимаваат со - 215 00:11:02,290 --> 00:11:05,900 што треба да прави со кои има дозвола да се погледне во овие датотеки. 216 00:11:05,900 --> 00:11:09,880 И така, ако не беа единствените корисник на овој компјутер, ќе бидете во можност да 217 00:11:09,880 --> 00:11:13,345 да речеме, во ред, јас треба да биде само една дозволено да се погледне во оваа датотека или јас сум 218 00:11:13,345 --> 00:11:14,870 ќе им овозможи на сите да се погледне во оваа датотека. 219 00:11:14,870 --> 00:11:17,710 Па некој друг на мојот компјутер може да се погледне на овој фајл. 220 00:11:17,710 --> 00:11:22,190 221 00:11:22,190 --> 00:11:25,600 Јас дури и не знаат што е ова - што значи овој направам? 222 00:11:25,600 --> 00:11:26,840 >> JOSEPH: Јас не сум сосема сигурен, всушност. 223 00:11:26,840 --> 00:11:27,705 >> Роб: Не знам. 224 00:11:27,705 --> 00:11:30,530 >> JOSEPH: Но, ако не знаете, постои корисна команда која можете да го користите 225 00:11:30,530 --> 00:11:31,680 да ви кажам што на излез значи. 226 00:11:31,680 --> 00:11:33,780 И ако го напишете во човекот пред команда - 227 00:11:33,780 --> 00:11:35,000 така M-A-N. Роб: Човекот. 228 00:11:35,000 --> 00:11:37,690 Значи човек е уште еден што е многу корисно. 229 00:11:37,690 --> 00:11:39,540 И човекот, ЛС. 230 00:11:39,540 --> 00:11:47,320 Па човекот страници, тие имаат и команди кои ви се случува да биде со користење на 231 00:11:47,320 --> 00:11:50,330 во командната линија, и тие исто така имаат функции кои ќе бидат релевантни 232 00:11:50,330 --> 00:11:52,530 со C. Така може да се човек - 233 00:11:52,530 --> 00:11:53,720 и јас игнорирани 3. 234 00:11:53,720 --> 00:11:57,410 Но, човекот 3 printf ќе донесе до C верзија на printf. 235 00:11:57,410 --> 00:12:01,030 Но, ако јас само го прават човекот printf, ова е ќе донесе до командната printf 236 00:12:01,030 --> 00:12:03,540 што се случува во командната линија. 237 00:12:03,540 --> 00:12:05,730 >> Значи човек, ЛС. 238 00:12:05,730 --> 00:12:09,030 Човекот страници може да биде прилично огромна. 239 00:12:09,030 --> 00:12:12,770 Тука, сепак, ќе видите листата на сите овие знамиња кои ls 240 00:12:12,770 --> 00:12:14,300 разбира. 241 00:12:14,300 --> 00:12:17,876 Па ако одиме да цртичка, л, и - 242 00:12:17,876 --> 00:12:19,300 Јас сум само ќе фрли ова во вас. 243 00:12:19,300 --> 00:12:23,050 Но, со цел да се бараат, сакате прво да ја погоди прашање 244 00:12:23,050 --> 00:12:24,780 марка или црта копче. 245 00:12:24,780 --> 00:12:26,040 Значи намали. 246 00:12:26,040 --> 00:12:29,000 >> И тогаш јас може да се бара за она што го сакате. 247 00:12:29,000 --> 00:12:33,780 Па јас ќе одам да се намали за цртичка, л. 248 00:12:33,780 --> 00:12:35,110 И таму беше. 249 00:12:35,110 --> 00:12:37,450 Па користат долго листата формат. 250 00:12:37,450 --> 00:12:40,060 Тоа не да ми помогне да дознаам што дека одредена колона значеше, но јас 251 00:12:40,060 --> 00:12:44,480 претпостави некаде во тука тоа ќе се објасни дека. 252 00:12:44,480 --> 00:12:48,740 Па користат човекот страници за било команда дека не веднаш да се разбере. 253 00:12:48,740 --> 00:12:51,080 >> Јас сум прилично сигурни дека може дури и човек, човек. 254 00:12:51,080 --> 00:12:53,070 Интерфејс за онлајн референтни прирачници. 255 00:12:53,070 --> 00:12:57,700 256 00:12:57,700 --> 00:13:03,570 О, едно последно оној кој е можеби малку релевантен ls, цртичка, а. 257 00:13:03,570 --> 00:13:08,490 Па известување, ако јас само го направи ЛС, Јас се овие датотеки пет. 258 00:13:08,490 --> 00:13:11,480 Ако го направам ls, цртичка, а, јас добие многу повеќе датотеки. 259 00:13:11,480 --> 00:13:15,350 Па нешто заедничко помеѓу сите овие нови датотеки е точка однапред. 260 00:13:15,350 --> 00:13:21,220 >> Па на конвенцијата е дека датотеката која почнува со точка е скриена. 261 00:13:21,220 --> 00:13:25,300 Значи, вие не сакате да се види дека датотека, не сакаат да го имаат плеткаме со 262 00:13:25,300 --> 00:13:26,750 Вашиот директориумот. 263 00:13:26,750 --> 00:13:30,020 Тоа е само кога ќе се експлицитно побара, сите во право, ls, цртичка, а, покажи ми. 264 00:13:30,020 --> 00:13:32,830 А се залага за сите датотеки, вклучувајќи скриени оние. 265 00:13:32,830 --> 00:13:37,260 266 00:13:37,260 --> 00:13:39,270 Па некои други команди. 267 00:13:39,270 --> 00:13:41,323 Ох, прашања во тој момент? 268 00:13:41,323 --> 00:13:41,746 Да. 269 00:13:41,746 --> 00:13:45,914 >> ЗВУЧНИК 3: Кога ќе го направите ls, А, она што е точка, точка? 270 00:13:45,914 --> 00:13:46,870 >> Роб: О. 271 00:13:46,870 --> 00:13:48,780 Значи ова е она што јас го зборувам. 272 00:13:48,780 --> 00:13:50,890 Тоа е истото каде Можам да како CD, точка, точка. 273 00:13:50,890 --> 00:13:56,790 Толку технички, точка и точка, точка се додадени фајлови кои постојат во секој 274 00:13:56,790 --> 00:14:03,620 директориумот каде што точка на датотеката се однесува на тековниот директориум. 275 00:14:03,620 --> 00:14:06,930 Значи, ако јас CD, точка, јас сум само ќе да остане во директориумот. 276 00:14:06,930 --> 00:14:10,870 И точка, точка секогаш се однесува на претходниот директориум едно ниво нагоре. 277 00:14:10,870 --> 00:14:18,200 Па ако одам во трупци и ls, цртичка, Ал, Ќе видам точка, точка. cd до точка, точка 278 00:14:18,200 --> 00:14:20,390 ме носи кон претходниот директориум. 279 00:14:20,390 --> 00:14:24,530 280 00:14:24,530 --> 00:14:25,780 Да. 281 00:14:25,780 --> 00:14:27,160 282 00:14:27,160 --> 00:14:28,110 OK. 283 00:14:28,110 --> 00:14:33,070 >> Значи уште прилично важен команда е РМ. 284 00:14:33,070 --> 00:14:35,650 Значи тоа е она што ние ќе да се користи да се отстрани. 285 00:14:35,650 --> 00:14:38,100 И дозволете ми да всушност прават уште команда во прв план. 286 00:14:38,100 --> 00:14:39,610 Па mkdir. 287 00:14:39,610 --> 00:14:42,770 Mkdir е како можете да креирање на директориуми. 288 00:14:42,770 --> 00:14:47,530 И јас ќе се создаде привремен директориум и да си одат во таа привремен директориум. 289 00:14:47,530 --> 00:14:49,590 И како што се очекуваше, тоа е празна. 290 00:14:49,590 --> 00:14:53,680 Но, ако јас ls, цртичка, а, јас се уште имаат точка и точка, точка, бидејќи точка се однесува на 291 00:14:53,680 --> 00:14:54,480 на тековниот директориум. 292 00:14:54,480 --> 00:14:56,170 И точка, точка се однесува на претходниот директориум. 293 00:14:56,170 --> 00:14:58,700 И оние секогаш ќе постои, без разлика директориумот во кој се наоѓате 294 00:14:58,700 --> 00:15:01,910 295 00:15:01,910 --> 00:15:09,010 >> И ова е сосема непотребно команда, но на допир. 296 00:15:09,010 --> 00:15:11,880 Јас сум само да го користите, затоа што тоа е лесен начин да се создаде датотеки. 297 00:15:11,880 --> 00:15:16,180 Па допрете допрете б, допир в е само ќе создаде додадени фајлови: нарекува три, 298 00:15:16,180 --> 00:15:17,845 b, и c, кои се целосно празна. 299 00:15:17,845 --> 00:15:20,450 300 00:15:20,450 --> 00:15:24,980 Значи поентата на мене создавајќи оние во прво место е само, така што РМ е 301 00:15:24,980 --> 00:15:26,250 како можеме да ги отстрани. 302 00:15:26,250 --> 00:15:27,850 Па РМ,. 303 00:15:27,850 --> 00:15:30,960 Тоа се случува да ме праша, отстранете редовно празна датотека на? 304 00:15:30,960 --> 00:15:33,170 И тогаш ќе речам дека Да. 305 00:15:33,170 --> 00:15:39,090 >> Значи, ако јас се знае за сигурно што сакам да избрише таа датотека без да биде 306 00:15:39,090 --> 00:15:44,500 предочено, отстранете редовни празна датотека?, тогаш РМ, цртичка, ѓ се случува да биде 307 00:15:44,500 --> 00:15:48,230 знаме што вели, ги принуди отстрани без дури и ми се прашува, ох, дали сте 308 00:15:48,230 --> 00:15:49,710 сигурни дека сакате да ја избришете датотеката? 309 00:15:49,710 --> 00:15:50,810 Да, јас сум сигурен. 310 00:15:50,810 --> 00:15:56,050 Па РМ, цртичка, fb само ќе го прават тоа без да побара. 311 00:15:56,050 --> 00:15:57,950 >> Па ајде направи нешто повеќе директориуми. 312 00:15:57,950 --> 00:16:03,670 mkdir, tmp2, CD, tmp2, во допир со, на допир б. 313 00:16:03,670 --> 00:16:04,300 OK. 314 00:16:04,300 --> 00:16:08,180 Па сега сакам да го отстраните tmp2 како директориум. 315 00:16:08,180 --> 00:16:10,316 Па РМ tmp2. 316 00:16:10,316 --> 00:16:12,920 Вие не може да ги отстраните tmp2, тоа е директориум. 317 00:16:12,920 --> 00:16:21,370 Значи прашањето овде е дека РМ не го прави тоа веднаш работат на директориуми. 318 00:16:21,370 --> 00:16:26,530 Тоа е само наменета за датотеки како не-директориум датотеки. 319 00:16:26,530 --> 00:16:30,800 >> И така што можеме да направиме тука е РМ, цртичка, Р. 320 00:16:30,800 --> 00:16:35,160 Дека се залага за рекурзивно, кои би можеле да не значи ништо сеуште. 321 00:16:35,160 --> 00:16:38,280 Но кога ќе стигнете до рекурзија, тоа ќе значи повеќе. 322 00:16:38,280 --> 00:16:43,540 Па РМ, цртичка, Р tmp2 се случува да се рекурзивно одат во тој директориум. 323 00:16:43,540 --> 00:16:45,540 Па слезе во директориумот tmp2? 324 00:16:45,540 --> 00:16:47,330 Да, ајде да одиме во тоа. 325 00:16:47,330 --> 00:16:49,360 Сакаме да се отстрани tmp2 / a? 326 00:16:49,360 --> 00:16:49,745 Да. 327 00:16:49,745 --> 00:16:51,830 Сакаме да се отстрани tmp2 / б? 328 00:16:51,830 --> 00:16:52,840 Да. 329 00:16:52,840 --> 00:16:55,170 Сега сакаме да се отстрани директориумот tmp2? 330 00:16:55,170 --> 00:16:56,040 Да. 331 00:16:56,040 --> 00:16:58,410 Па сега директориумот и сè внатре 332 00:16:58,410 --> 00:16:59,660 тоа е отстранета. 333 00:16:59,660 --> 00:17:02,850 334 00:17:02,850 --> 00:17:07,250 >> Таму е технички команда rmdir кои можете да ги користите за да го отстраните 335 00:17:07,250 --> 00:17:11,670 директориуми, но тоа само дела на празни директориуми во секој случај. 336 00:17:11,670 --> 00:17:14,109 И да се види дека, ајде да направи mkdir, tmp2 повторно. 337 00:17:14,109 --> 00:17:15,940 Tmp2, допрете. 338 00:17:15,940 --> 00:17:16,800 OK. 339 00:17:16,800 --> 00:17:22,770 Значи, ако јас се обидувам да се отстрани dirtmp2, тоа ќе велат, директориум не е празен. 340 00:17:22,770 --> 00:17:29,540 Па јас доста никогаш не го користат отстрани реж команда, сепак, бидејќи РМ, цртичка, 341 00:17:29,540 --> 00:17:35,140 r ќе работи на празен директориуми и не-празни директориуми. 342 00:17:35,140 --> 00:17:37,760 >> И, исто така, ако не сакате да мора да одат преку дека целиот процес на 343 00:17:37,760 --> 00:17:40,720 слегувате во директориумот и отстранување на секој поединец датотека, RM, 344 00:17:40,720 --> 00:17:44,190 цртичка, РФ, tmp2. 345 00:17:44,190 --> 00:17:45,670 А сега тоа го нема. 346 00:17:45,670 --> 00:17:51,220 >> Нешто да се биде внимателен за е РМ, цртичка, RF. 347 00:17:51,220 --> 00:17:53,660 И тоа ги плаши мене да дури да ја напишеш, бидејќи ако јас случајно 348 00:17:53,660 --> 00:17:55,090 притиснете ентер или нешто. 349 00:17:55,090 --> 00:18:02,735 Па РМ, цртичка, РФ, тилда би, без ме прашува, ѓ не го извести 350 00:18:02,735 --> 00:18:05,670 мене, тој автоматски ќе го отстрани целиот мој домашен директориум и 351 00:18:05,670 --> 00:18:06,780 што е во него. 352 00:18:06,780 --> 00:18:11,460 Па може ќе помислите дека е глупав нешто да се направи. 353 00:18:11,460 --> 00:18:12,830 И добро, тоа е. 354 00:18:12,830 --> 00:18:18,600 >> Но, тоа може да се случи многу лесно со несреќа ако, да речеме, сакав да се отстрани 355 00:18:18,600 --> 00:18:21,640 мојата коса црта, vhost директориум. 356 00:18:21,640 --> 00:18:26,610 И само во брзо пишување, Јас случајно го направите тоа. 357 00:18:26,610 --> 00:18:31,880 Која ќе го отстрани рекурзивно двете ми домашен директориум и vhost директориум 358 00:18:31,880 --> 00:18:35,450 во овој конкретен директориум дека само се случува да не постои во моментов. 359 00:18:35,450 --> 00:18:39,520 Но, ова, сепак, ќе се отстранат целиот мој домашен директориум. 360 00:18:39,520 --> 00:18:43,090 Барем со тоа што не има ѓ, дека ќе ме натера во прв план. 361 00:18:43,090 --> 00:18:45,670 И јас би биде како, ох, не, јас не сакаат да го направат тоа. 362 00:18:45,670 --> 00:18:50,570 Но луѓето, коса црта, вклучувајќи мене имаат тенденција да се влезе во 363 00:18:50,570 --> 00:18:53,090 навика секогаш RF-ИНГ. 364 00:18:53,090 --> 00:18:58,713 Дури и редовните датотеки кои јас само може да РМ, в, се трудам да само РМ, цртичка, РФ, в. 365 00:18:58,713 --> 00:19:01,330 Но, бидете внимателни кога сте RF-ИНГ. 366 00:19:01,330 --> 00:19:03,160 >> ЗВУЧНИК 4: Што значи C направам? 367 00:19:03,160 --> 00:19:11,570 >> Роб: C е Зборувам за тоа Ц датотека во овој директориум, дека РМ, в. 368 00:19:11,570 --> 00:19:15,730 >> JOSEPH: И уште опасно, ако користите ѕвезда, тоа се однесува на се што е во 369 00:19:15,730 --> 00:19:16,450 директориумот. 370 00:19:16,450 --> 00:19:20,040 Значи она што најчесто имаат тенденција да направите е јас ќе одат во директориумот и сакам да 371 00:19:20,040 --> 00:19:21,510 Отстрани ги сите датотеки во таму. 372 00:19:21,510 --> 00:19:23,640 Па РМ, цртичка, РФ, ѕвезда. 373 00:19:23,640 --> 00:19:25,700 >> Роб: Да. 374 00:19:25,700 --> 00:19:26,780 RM, цртичка, РФ, ѕвезда. 375 00:19:26,780 --> 00:19:29,530 >> JOSEPH: И ако не сте внимателни што директориум сте во - 376 00:19:29,530 --> 00:19:33,340 Јас не сум бил во Temp, но јас бев случајно во мојот домашен директориум, 377 00:19:33,340 --> 00:19:35,450 тогаш јас ќе се отстрани сè во мојот домашен директориум. 378 00:19:35,450 --> 00:19:39,095 И јас сум всушност направиле тоа порано, и Мислам дека го направиле тоа порано или 379 00:19:39,095 --> 00:19:40,640 Џеј има направено тоа порано. 380 00:19:40,640 --> 00:19:42,480 >> Роб: Сум случајно отстранета - 381 00:19:42,480 --> 00:19:44,480 па го игнорираат тоа команда за малку. 382 00:19:44,480 --> 00:19:45,800 >> JOSEPH: Не е забавно. 383 00:19:45,800 --> 00:19:52,650 >> Роб: Значи во коса црта bin директориумот е куп на бинарни датотеки, каде што таму ќе 384 00:19:52,650 --> 00:19:54,840 биде запознаен оние како ѕвекот. 385 00:19:54,840 --> 00:20:00,740 Па, ѕвекот и во основа сите овие работи кои јас сум вклучен на командата 386 00:20:00,740 --> 00:20:02,060 линија се во оваа црта bin директориумот. 387 00:20:02,060 --> 00:20:03,090 >> JOSEPH: Како ли е тука. 388 00:20:03,090 --> 00:20:06,285 >> Роб: Значи точка, коса црта, ls ќе листа овој директориум. 389 00:20:06,285 --> 00:20:08,120 >> JOSEPH: Rm е, исто така, во овој директориум. 390 00:20:08,120 --> 00:20:12,770 >> Роб: Имам случајно РМ, RF-ед бин, кои ги отстранија било команда можев 391 00:20:12,770 --> 00:20:14,380 можеби некогаш сакате. 392 00:20:14,380 --> 00:20:18,085 Кои потоа јас само го инсталирате на нови апарати во тој момент. 393 00:20:18,085 --> 00:20:20,170 >> JOSEPH: Значи да се биде многу внимателен кога го користите оваа команда. 394 00:20:20,170 --> 00:20:21,120 >> ПУБЛИКАТА: [нечујни]? 395 00:20:21,120 --> 00:20:22,640 >> Роб: Да. 396 00:20:22,640 --> 00:20:24,135 Тоа е исто така лоша навика да се влезе. 397 00:20:24,135 --> 00:20:27,920 398 00:20:27,920 --> 00:20:30,170 Ако забележите, јас сум сега - 399 00:20:30,170 --> 00:20:33,580 добро, вие не може да се забележи, но мојата зум-во можеби може. 400 00:20:33,580 --> 00:20:35,360 Па јас сум сега root @ апаратот. 401 00:20:35,360 --> 00:20:39,790 Па jharvard е корисник сакаме да го секогаш да биде во употреба. 402 00:20:39,790 --> 00:20:43,820 Коренот е оној кој има дозвола да се направи апсолутно ништо. 403 00:20:43,820 --> 00:20:50,260 >> Така забележите кога сум jharvard, ако јас се обидувам да CD - 404 00:20:50,260 --> 00:20:52,461 она што е директориумот кој? 405 00:20:52,461 --> 00:20:53,980 Ох, коренот е добар пример. 406 00:20:53,980 --> 00:20:54,950 Па CD, корен. 407 00:20:54,950 --> 00:20:56,030 Пристапот е одбиен. 408 00:20:56,030 --> 00:21:00,060 Затоа што ако ние се погледне на овој оглас - 409 00:21:00,060 --> 00:21:02,410 и повторно, вие не мора да се целосно се разбере ова. 410 00:21:02,410 --> 00:21:09,210 Но, овие три цртички велат дека не дозволувајте било кој друг 411 00:21:09,210 --> 00:21:11,120 корисникот во овој директориум. 412 00:21:11,120 --> 00:21:14,540 И директориум случува да се во сопственост на корисникот root. 413 00:21:14,540 --> 00:21:20,310 >> Значи фактот дека јас сум jharvard и не оној кој не е корен е дозволено во 414 00:21:20,310 --> 00:21:23,490 овој директориум, тоа значи дека јас сум ќе добие дозвола негираше кога 415 00:21:23,490 --> 00:21:25,160 се обиде да cd во неа. 416 00:21:25,160 --> 00:21:31,370 Значи, кога јас сум корен, имам дозвола да направи апсолутно ништо, вклучувајќи 417 00:21:31,370 --> 00:21:34,660 избришете од суштинско значење датотеки на апаратот и 418 00:21:34,660 --> 00:21:36,640 уништи целата работа. 419 00:21:36,640 --> 00:21:41,240 >> Па тоа е лоша навика да се влезе само скитници околу 420 00:21:41,240 --> 00:21:43,650 оперативен систем како root. 421 00:21:43,650 --> 00:21:46,520 Да го сторам тоа во секој случај. 422 00:21:46,520 --> 00:21:48,710 Прашања? 423 00:21:48,710 --> 00:21:52,230 И јас ќе излезете корен, се држат како jharvard. 424 00:21:52,230 --> 00:21:54,510 OK. 425 00:21:54,510 --> 00:21:55,820 >> Повеќе релевантни команди. 426 00:21:55,820 --> 00:22:03,975 Па ќе се вратам во нашиот Temp, на Командата mv се залага за потег. 427 00:22:03,975 --> 00:22:05,450 Можете да се движите со. 428 00:22:05,450 --> 00:22:07,610 Сега сакаме да го наречеме б, па сега се вика б. 429 00:22:07,610 --> 00:22:10,650 Или можеби сакаме да се движиме б до една папка. 430 00:22:10,650 --> 00:22:12,730 Па сега празен овој директориум е. 431 00:22:12,730 --> 00:22:15,410 Јас ќе се вратам на моето домашен директориум, и можеме да видиме дека б е тука, бидејќи 432 00:22:15,410 --> 00:22:19,230 домашен директориум е еден директориум за разлика од директориумот, која б биле внатре 433 00:22:19,230 --> 00:22:24,710 434 00:22:24,710 --> 00:22:26,580 >> Постои, исто така ср. 435 00:22:26,580 --> 00:22:33,210 Па ср е копија супер секција, точка, текст. 436 00:22:33,210 --> 00:22:35,750 Јас може да го наречеме е, точка, текст. 437 00:22:35,750 --> 00:22:39,780 Сега имаме двете супер секција, точка, текст, и на, точка, текст. 438 00:22:39,780 --> 00:22:41,340 Ова исто така работи на директориуми. 439 00:22:41,340 --> 00:22:44,040 440 00:22:44,040 --> 00:22:46,560 Јас RF-ед една датотека. 441 00:22:46,560 --> 00:22:48,200 Па CP - 442 00:22:48,200 --> 00:22:51,710 добро, прво нека се обиде CP, мали, tmp2. 443 00:22:51,710 --> 00:22:53,220 Па испуштањето директориум мали. 444 00:22:53,220 --> 00:22:57,440 Толку слична на РМ, на стандардното однесување е да не работат на директориуми. 445 00:22:57,440 --> 00:23:01,570 >> И повторно, слично на РМ, стандардно однесување - и, добивање на тоа да работат 446 00:23:01,570 --> 00:23:04,230 со директориумите е, цртичка-R далеку. 447 00:23:04,230 --> 00:23:09,240 Па копирајте рекурзивно на температура директориумот во tmp2. 448 00:23:09,240 --> 00:23:13,700 Па сега имаме и мали и tmp2, и дека не е толку корисни, бидејќи мали 449 00:23:13,700 --> 00:23:16,814 беше празна, на прво место. 450 00:23:16,814 --> 00:23:18,660 Tmp2. 451 00:23:18,660 --> 00:23:22,680 >> Сега ајде да го копирате мали во tmp2. 452 00:23:22,680 --> 00:23:27,900 И гледаме дека tmp2 исто така има датотека А, бидејќи директориумот и 453 00:23:27,900 --> 00:23:32,220 Сè што во внатрешноста на тој Директориум копирале. 454 00:23:32,220 --> 00:23:36,000 И дека може да биде малку корисен ако, да речеме си работат 455 00:23:36,000 --> 00:23:38,860 на проблемот се постави еден - 456 00:23:38,860 --> 00:23:41,320 или, всушност, подоцна проблемот се поставува уште поважно, бидејќи таму 457 00:23:41,320 --> 00:23:43,660 ќе биде целиот куп на датотеки и работи. 458 00:23:43,660 --> 00:23:47,010 >> Но само сакате да, за разделно Второ, сте како, добро, јас сум 459 00:23:47,010 --> 00:23:50,210 ќе да пробате нешто различно. 460 00:23:50,210 --> 00:23:57,860 Дозволете ми да го копирате целиот мој pset1 директориумот во pset1 резерви, така што ако 461 00:23:57,860 --> 00:24:01,490 Јас се заокружи нарезници работите, не можам да врати се назад во мојата копија на директориумот. 462 00:24:01,490 --> 00:24:07,340 Постојат посоодветни начини на versioning поддршка на Вашиот код, но 463 00:24:07,340 --> 00:24:10,610 ова е секогаш брз начин да се само да се направи дека имате копија на нешто 464 00:24:10,610 --> 00:24:11,860 дека сте за да го измените. 465 00:24:11,860 --> 00:24:16,974 466 00:24:16,974 --> 00:24:27,090 >> Па ехо е исто така еден-оф команда која вид на sillily само ќе се печати на 467 00:24:27,090 --> 00:24:31,540 командната линија токму она што сакавте да ехо. 468 00:24:31,540 --> 00:24:32,680 Па ехо Здраво. 469 00:24:32,680 --> 00:24:35,420 Ние само ќе се печати Здраво. 470 00:24:35,420 --> 00:24:38,030 Ехо Здраво светот. 471 00:24:38,030 --> 00:24:39,800 Ние ќе се печати Здраво светот. 472 00:24:39,800 --> 00:24:44,350 Кој доаѓа во употреба кога ќе започне комбинирање команди. 473 00:24:44,350 --> 00:24:48,300 >> И повторно, не очекувајте да се целосно се разбере ова сеуште, но тоа е 474 00:24:48,300 --> 00:24:49,910 нешто да се види. 475 00:24:49,910 --> 00:24:52,470 А потоа, ако сте Googling за примери или да сфатите што сакате да направите 476 00:24:52,470 --> 00:24:55,030 нешто, тоа може да биде корисно. 477 00:24:55,030 --> 00:24:59,020 Па ајде, како пример, така ls, цртичка, л. 478 00:24:59,020 --> 00:25:01,160 Па тука гледам излез на ЛС, цртичка, л. 479 00:25:01,160 --> 00:25:06,560 И јас велам, ОК, јас сакам да продавница, во којашто во датотека. 480 00:25:06,560 --> 00:25:11,620 Сето ова излез тука, сакам да се стави во посебен фајл. 481 00:25:11,620 --> 00:25:16,080 >> Значи ова малку поголема од симбол е она што ние ќе треба да се јавам. 482 00:25:16,080 --> 00:25:18,570 Ние сме пренасочување на излез во датотека. 483 00:25:18,570 --> 00:25:21,680 Ајде да се јавите на датотека бла, затоа што тоа е она што јас имаат тенденција да секогаш го наречеме. 484 00:25:21,680 --> 00:25:26,430 Па сега можеме да видиме ние имаме поднесе бла, токму тука. 485 00:25:26,430 --> 00:25:30,270 И ако ја отвори, јас ќе видам што е точно на излез од командата 486 00:25:30,270 --> 00:25:31,990 дека само што трчаше. 487 00:25:31,990 --> 00:25:36,020 И слично, можете да - 488 00:25:36,020 --> 00:25:41,260 ако ова беше излез на датотека, овој е да се добие влез од датотека. 489 00:25:41,260 --> 00:25:45,790 490 00:25:45,790 --> 00:25:47,050 Што е команда која јас - 491 00:25:47,050 --> 00:25:49,620 >> JOSEPH: Мислам дека можете да го користите помалку или повеќе, веројатно. 492 00:25:49,620 --> 00:25:53,031 >> Роб: Но, како за само помалку бла? 493 00:25:53,031 --> 00:25:53,930 Не знам. 494 00:25:53,930 --> 00:25:57,870 Ако дојде во ова сценарио, како има psets дека тоа е корисно за. 495 00:25:57,870 --> 00:25:59,950 >> JOSEPH: Можете да цевка во ехо. 496 00:25:59,950 --> 00:26:02,920 Цевка на датотеката во ехо да ја видите. 497 00:26:02,920 --> 00:26:04,060 >> Роб: Тоа е луле. 498 00:26:04,060 --> 00:26:04,860 >> JOSEPH: Извини. 499 00:26:04,860 --> 00:26:06,190 >> Роб: Во ред. 500 00:26:06,190 --> 00:26:12,720 Значи ова е излез на датотека. 501 00:26:12,720 --> 00:26:18,700 Ова е да се добие текстот од датотеката и го предаде на програмата. 502 00:26:18,700 --> 00:26:20,560 И ќе видите овој човек. 503 00:26:20,560 --> 00:26:24,410 Значи ова е вид на прави и двете одеднаш. 504 00:26:24,410 --> 00:26:28,310 И всушност, јас ќе се воведе две нови команди само за да го искористи тоа. 505 00:26:28,310 --> 00:26:33,060 >> Историјата е корисна команда која е само ќе испечатите листата на 506 00:26:33,060 --> 00:26:34,940 ништо што некогаш сум го извршите командата линија. 507 00:26:34,940 --> 00:26:38,290 Па ќе видиме тука сè што имам се одржува целиот овој период. 508 00:26:38,290 --> 00:26:39,540 Многу ли е. 509 00:26:39,540 --> 00:26:41,570 510 00:26:41,570 --> 00:26:48,470 >> И уште една корисна команда е grep дека нејзината цел е да пребарување преку 511 00:26:48,470 --> 00:26:52,060 текст во потрага по модели, добро, во потрага по она што ви 512 00:26:52,060 --> 00:26:53,310 сакате да барате. 513 00:26:53,310 --> 00:26:59,770 И така корисна употреба тука е, да речеме ние сакаме да го дофати историја. 514 00:26:59,770 --> 00:27:03,860 И сакам да се погледне за команди каде што - што е 515 00:27:03,860 --> 00:27:05,000 корисна за да барате? 516 00:27:05,000 --> 00:27:06,898 >> JOSEPH: [нечујни]? 517 00:27:06,898 --> 00:27:09,710 >> Роб: Или ајде да се погледне за сите допре, за која било причина. 518 00:27:09,710 --> 00:27:13,850 Значи тоа е она што ќе изгледа. 519 00:27:13,850 --> 00:27:15,560 А вие не мора да се целосно разбирам тоа. 520 00:27:15,560 --> 00:27:20,570 Но, идејата е тука, историјата е давање иста излезна тоа го правеше тука 521 00:27:20,570 --> 00:27:25,030 каде што е печатење на целата историја на сето она што некогаш сум ја стартувате. 522 00:27:25,030 --> 00:27:27,030 Ние тогаш се поминува тоа - 523 00:27:27,030 --> 00:27:30,230 па наместо тоа печатење на екран, ние сакаме да мине на 524 00:27:30,230 --> 00:27:34,640 команда grep кој е во потрага по сите случаи на зборот допир. 525 00:27:34,640 --> 00:27:40,280 >> И така со користење на овој комбинација на алатки историја и grep, можам да видам, во ред, 526 00:27:40,280 --> 00:27:44,820 тука е сите на команди некогаш сум ја се кандидира, и тука е малку заеднички еден. 527 00:27:44,820 --> 00:27:45,510 Ние сме на дното. 528 00:27:45,510 --> 00:27:47,930 И тоа е, исто така, ми дава команда Јас само се стрча кои имаа 529 00:27:47,930 --> 00:27:51,240 Зборот допир во неа. 530 00:27:51,240 --> 00:27:58,500 Но цевката е прилично корисна работа за комбинирање на повеќе програми. 531 00:27:58,500 --> 00:28:04,670 А всушност, тоа е кратенка за ајде мене излез историјата да поднесе бла, и 532 00:28:04,670 --> 00:28:10,190 дозволете ми да grep со користење на датотека бла како и она што сакам да се погледне во текот. 533 00:28:10,190 --> 00:28:13,460 Па цевката е само кратенка за овие две команди. 534 00:28:13,460 --> 00:28:13,950 Да. 535 00:28:13,950 --> 00:28:15,306 >> ЗВУЧНИК 4: [нечујни]? 536 00:28:15,306 --> 00:28:16,556 >> Роб: Да. 537 00:28:16,556 --> 00:28:20,142 538 00:28:20,142 --> 00:28:21,110 Што е - 539 00:28:21,110 --> 00:28:21,858 Ох. 540 00:28:21,858 --> 00:28:24,820 Ајде да се тестираат. 541 00:28:24,820 --> 00:28:29,170 Па мачка, куче, риба. 542 00:28:29,170 --> 00:28:33,770 Па сакам да grep. 543 00:28:33,770 --> 00:28:37,680 Цртичка, R, повторно, ќе биде рекурзивно, па сакам да се спушти надолу 544 00:28:37,680 --> 00:28:38,870 сите директориуми. 545 00:28:38,870 --> 00:28:43,210 Сакам да рекурзивно grep за сите - и дозволете ми привремено добие 546 00:28:43,210 --> 00:28:44,460 ова надвор од патот. 547 00:28:44,460 --> 00:28:48,650 548 00:28:48,650 --> 00:28:50,740 Игнорираат мене. 549 00:28:50,740 --> 00:28:51,360 OK. 550 00:28:51,360 --> 00:28:56,740 >> Па сакам да привремено grep за сите случаи на зборот риба. 551 00:28:56,740 --> 00:29:00,510 И така тука она што јас го правам е grepping рекурзивно за зборот риба. 552 00:29:00,510 --> 00:29:05,410 И ѕвезда значи над сите овие слики во овој директориум. 553 00:29:05,410 --> 00:29:08,930 И така тоа ми даде Дозвола одбиен, поради тоа што не е дозволено да се прочита дека 554 00:29:08,930 --> 00:29:10,060 особено датотека. 555 00:29:10,060 --> 00:29:14,040 Но, тоа се пронајдени риби во датотека, на тестот. 556 00:29:14,040 --> 00:29:18,450 >> Јас, исто така може да се каже, посебно, јас само сакате да се погледне во датотеката бла, во 557 00:29:18,450 --> 00:29:19,580 кој случај тоа нема да најдам ништо. 558 00:29:19,580 --> 00:29:20,990 Јас само сакам да се погледне во датотеката, тест. 559 00:29:20,990 --> 00:29:22,240 Тоа ќе најдете риба. 560 00:29:22,240 --> 00:29:25,980 561 00:29:25,980 --> 00:29:29,260 Тоа е прилично корисна команда да знаете воопшто. 562 00:29:29,260 --> 00:29:31,640 Постојат некои алтернативи на grep кои би требало да бидат повеќе 563 00:29:31,640 --> 00:29:36,780 програмер пријателски, но се трудам да се уште да се врати на grep. 564 00:29:36,780 --> 00:29:38,030 Прашања? 565 00:29:38,030 --> 00:29:39,965 566 00:29:39,965 --> 00:29:40,919 OK. 567 00:29:40,919 --> 00:29:42,520 >> Дали постојат други команди? 568 00:29:42,520 --> 00:29:45,270 Ох. 569 00:29:45,270 --> 00:29:48,370 Само еднократна што јас секогаш најдете да биде забавно е Cal. 570 00:29:48,370 --> 00:29:55,610 Така забележите кога јас сум во оваа прекрасна полн екран, немам како врвот 571 00:29:55,610 --> 00:29:56,720 лентата со алатки или ништо. 572 00:29:56,720 --> 00:29:59,530 Значи Cal само ми дава убаво малку календар кој е во право 573 00:29:59,530 --> 00:30:02,380 сега отсечени, претпоставувам. 574 00:30:02,380 --> 00:30:04,770 Но убаво малку команда. 575 00:30:04,770 --> 00:30:06,540 >> JOSEPH: Тоа е [нечујни]. 576 00:30:06,540 --> 00:30:09,170 Други команди кои може да имаат види вклучуваат ѕвекот и ги направи. 577 00:30:09,170 --> 00:30:11,180 Ќе одиме над нив во повеќе детали подоцна. 578 00:30:11,180 --> 00:30:13,400 Но, ако сте биле работат на на PSET, треба да бидат 579 00:30:13,400 --> 00:30:15,160 запознаени со нив. 580 00:30:15,160 --> 00:30:16,640 >> Роб: Во ред. 581 00:30:16,640 --> 00:30:18,520 Прашања во врска со командната линија работи? 582 00:30:18,520 --> 00:30:22,450 583 00:30:22,450 --> 00:30:23,260 Во ред е. 584 00:30:23,260 --> 00:30:27,416 Па ајде да се движи кон некои C-поврзани работи. 585 00:30:27,416 --> 00:30:28,666 Променливи математика. 586 00:30:28,666 --> 00:30:39,078 587 00:30:39,078 --> 00:30:40,060 OK. 588 00:30:40,060 --> 00:30:45,230 Значи исто како и имавме математика во нула, исто така можете да го користите математика во C. 589 00:30:45,230 --> 00:30:49,270 >> Пред да се дојде до таа во целост, па променливи. 590 00:30:49,270 --> 00:30:53,920 Се сеќавам дека секогаш кога ќе прогласат променлива како int x или y плови, можете 591 00:30:53,920 --> 00:30:56,710 мора да го даде внесете пред името на променливата. 592 00:30:56,710 --> 00:31:03,020 Па видови видовме досега се int, плови, двојно, долго долго, што јас 593 00:31:03,020 --> 00:31:06,150 всушност не знам дали ние сме види дека досега. 594 00:31:06,150 --> 00:31:07,700 >> Постојат некои други оние. 595 00:31:07,700 --> 00:31:09,990 Ние сме се види знак. 596 00:31:09,990 --> 00:31:13,920 Таму е краток, кој е како тоа е спротивно на долго долго каде што тоа е 597 00:31:13,920 --> 00:31:16,650 помал од цел број. 598 00:31:16,650 --> 00:31:18,580 Ние исто така се гледа стринг. 599 00:31:18,580 --> 00:31:23,070 Значи она што е посебно за стринг? 600 00:31:23,070 --> 00:31:25,350 Зошто јас би рекол дека е не е доста како int? 601 00:31:25,350 --> 00:31:27,030 >> ЗВУЧНИК 4: Тоа навистина не постои. 602 00:31:27,030 --> 00:31:27,990 >> Роб: Да. 603 00:31:27,990 --> 00:31:31,820 Значи единствената причина имаме низа е затоа што кога ќе се направи 604 00:31:31,820 --> 00:31:33,215 хаш, вклучуваат cs50.h. 605 00:31:33,215 --> 00:31:36,530 606 00:31:36,530 --> 00:31:42,670 И ќе видиме примери на ова подоцна - ох, тоа не се справува со тоа добро - 607 00:31:42,670 --> 00:31:46,160 каде cs50.h прави нешто по должината на линиите на видот 608 00:31:46,160 --> 00:31:49,230 дефиниција, знак ѕвезда, стринг. 609 00:31:49,230 --> 00:31:53,280 >> И така тоа е велејќи дека ние дури и не знаете што е знак ѕвезда е сеуште. 610 00:31:53,280 --> 00:31:56,770 Но, ова е велејќи дека ние сакаме стринг. 611 00:31:56,770 --> 00:32:00,250 Секое место сте биле со стринг, би можеле да се користат знак ѕвезда, 612 00:32:00,250 --> 00:32:04,670 која всушност е тип кој постои во C јазикот. 613 00:32:04,670 --> 00:32:06,680 Но, ние ќе дојдеме до тоа. 614 00:32:06,680 --> 00:32:07,860 Ох, и тоа оди десен бек. 615 00:32:07,860 --> 00:32:10,170 Уредни. 616 00:32:10,170 --> 00:32:15,370 >> Па истото со bool каде вистински и лажни. 617 00:32:15,370 --> 00:32:22,510 Тоа не е навистина вградениот тип во C. Наместо тоа, тоа е само, значи овој треба 618 00:32:22,510 --> 00:32:23,740 вредноста нула? 619 00:32:23,740 --> 00:32:26,200 Тогаш ние само ќе се разгледа тоа да биде лажна. 620 00:32:26,200 --> 00:32:27,350 Дали ова има вредност - 621 00:32:27,350 --> 00:32:30,530 добро, значи овој треба било вредност што не е нула? 622 00:32:30,530 --> 00:32:32,200 Тогаш ние ќе го сметаат за да биде вистина. 623 00:32:32,200 --> 00:32:35,940 Така што едно е точно, две е точно, ништо нула е вистина. 624 00:32:35,940 --> 00:32:38,710 625 00:32:38,710 --> 00:32:42,790 Значи тоа се тие. 626 00:32:42,790 --> 00:32:47,624 Прашања за прогласување променливи и променлива видови и сето тоа? 627 00:32:47,624 --> 00:32:48,100 Да. 628 00:32:48,100 --> 00:32:52,384 >> ЗВУЧНИК 4: За долго долго, во книгата, тој рече дека мораше да биде долго долго int. 629 00:32:52,384 --> 00:32:54,288 Но, само долго долго ќе работите? 630 00:32:54,288 --> 00:32:58,210 631 00:32:58,210 --> 00:33:01,470 >> Роб: Значи овие тип изменувачи. 632 00:33:01,470 --> 00:33:04,170 Па int x. 633 00:33:04,170 --> 00:33:07,710 Така и ние може да се каже непотпишана int x. 634 00:33:07,710 --> 00:33:09,640 Можеме да кажеме краток int x. 635 00:33:09,640 --> 00:33:12,570 Можеме да кажеме долго долго int x. 636 00:33:12,570 --> 00:33:17,250 Но доста било која од овие работи кои ги само рече, непотпишана int, кратки int, 637 00:33:17,250 --> 00:33:21,480 долго долго int, можете да се ослободите од ИНТ и тоа само ќе ја преземе 638 00:33:21,480 --> 00:33:22,510 дека ќе значеше Инт. 639 00:33:22,510 --> 00:33:26,045 Па непотпишана X, кој едноставно значи - 640 00:33:26,045 --> 00:33:29,400 знаете како нормално со int, може да се каже x е еднаква на негативните 3? 641 00:33:29,400 --> 00:33:31,636 Со непотпишана int, дека не можеш. 642 00:33:31,636 --> 00:33:34,480 >> JOSEPH: И повторно, за камерата, Прашањето е, она што е разликата 643 00:33:34,480 --> 00:33:37,796 помеѓу долго долго int и само долго долго? 644 00:33:37,796 --> 00:33:38,410 >> Роб: Да. 645 00:33:38,410 --> 00:33:42,850 Па јас ќе речиси никогаш пишуваат долго долго int. 646 00:33:42,850 --> 00:33:44,100 Јас ќе напишам долго долго. 647 00:33:44,100 --> 00:33:47,770 648 00:33:47,770 --> 00:33:50,636 >> JOSEPH: Било какви прашања? 649 00:33:50,636 --> 00:33:51,886 >> Роб: OK. 650 00:33:51,886 --> 00:33:56,180 651 00:33:56,180 --> 00:34:02,390 Толку глупо малку потсетување на тоа е како декларираме променлива и се иницијализира 652 00:34:02,390 --> 00:34:04,450 променлива и се изјасни друг променлива и се иницијализира 653 00:34:04,450 --> 00:34:05,870 сите во еден чекор тоа. 654 00:34:05,870 --> 00:34:09,370 Па декларација на променливата и иницијализација променлива немаат 655 00:34:09,370 --> 00:34:11,120 да но може да биде во иста линија. 656 00:34:11,120 --> 00:34:15,409 657 00:34:15,409 --> 00:34:20,060 >> Значи имаме стандард математика оператори дека сте навикнати да - 658 00:34:20,060 --> 00:34:22,199 плус, минус, јаз, пати. 659 00:34:22,199 --> 00:34:24,389 Постои, исто така modulo, кој ќе видиме. 660 00:34:24,389 --> 00:34:29,060 Не постои, барем во Ц, вграден во власта 661 00:34:29,060 --> 00:34:31,765 степенување коректорски знак оператор. 662 00:34:31,765 --> 00:34:33,770 Па, таму е коректорски знак оператор, но тоа не е моќ. 663 00:34:33,770 --> 00:34:34,239 >> JOSEPH: Но, тоа не е степенување, Да. 664 00:34:34,239 --> 00:34:36,210 >> Роб: Не користете го коректорски знак да се претпостави дека тоа значи 665 00:34:36,210 --> 00:34:39,980 како квадрат или whatever. 666 00:34:39,980 --> 00:34:42,289 Па некои работи да се има ум за поделба. 667 00:34:42,289 --> 00:34:46,282 668 00:34:46,282 --> 00:34:48,880 Јас ќе застане. 669 00:34:48,880 --> 00:34:51,315 Така прогласи иницијализира одговор. 670 00:34:51,315 --> 00:34:54,670 Па ние велиме плови одговор е еднаква на 1 поделено со 10. 671 00:34:54,670 --> 00:34:57,500 Печати одговор на две децимални места. 672 00:34:57,500 --> 00:35:02,180 >> И ова е вид на нешто што јас би човекот printf да дознаам дека 673 00:35:02,180 --> 00:35:05,110 она што е грижам се%, дот, 2е значи? 674 00:35:05,110 --> 00:35:07,930 И тоа само значи, добро, игнорирање на 0,2. 675 00:35:07,930 --> 00:35:10,420 И%, f е она што ние ги користиме да се печати да се плови. 676 00:35:10,420 --> 00:35:15,370 0,2 е велејќи дека, печатење дека плови со две децимални места. 677 00:35:15,370 --> 00:35:19,600 Значи оваа програма има баг, и може да го виделе ова досега во некои 678 00:35:19,600 --> 00:35:20,870 пред CS разбира. 679 00:35:20,870 --> 00:35:22,170 Но што е тоа баг? 680 00:35:22,170 --> 00:35:23,050 >> ЗВУЧНИК 5: Нулта. 681 00:35:23,050 --> 00:35:24,130 >> Роб: Да. 682 00:35:24,130 --> 00:35:29,630 Значи, кога велиме, одговорот е еднаква на 1 поделено со 10, сакаме 683 00:35:29,630 --> 00:35:31,610 одговор да биде 0,1. 684 00:35:31,610 --> 00:35:37,450 Но 1 поделено со 10, 1 е цел број, 10 е цел број. 685 00:35:37,450 --> 00:35:41,060 И така, кога правиме цел број поделено со цел број, ние ќе се вратам 686 00:35:41,060 --> 00:35:42,190 цел број. 687 00:35:42,190 --> 00:35:43,660 Значи 1 поделено со 10 е 0,1. 688 00:35:43,660 --> 00:35:46,760 >> Бидејќи тоа треба да ни даде цел број, тоа е само ќе да фрлаат дека 689 00:35:46,760 --> 00:35:49,410 децимално место и да кажам дека одговорот е 0. 690 00:35:49,410 --> 00:35:55,314 И така, кога ние печати одговори тука, тоа се случува да се печати 0.00. 691 00:35:55,314 --> 00:35:58,430 >> JOSEPH: И само како забелешка, тоа всушност фрла она што е по 692 00:35:58,430 --> 00:35:59,390 децимална точка. 693 00:35:59,390 --> 00:36:03,180 Значи, ако наместо имаше 6 поделено со 10, што можеле да помислат дека тоа ќе ви даде 694 00:36:03,180 --> 00:36:05,200 0,6, а потоа ќе се заокружи на 1. 695 00:36:05,200 --> 00:36:10,520 Но, всушност, она што се случува кога пишувате задачи е тоа што таа капки што е 696 00:36:10,520 --> 00:36:11,470 по децималната точка. 697 00:36:11,470 --> 00:36:13,020 Значи 0,6 не стане 0. 698 00:36:13,020 --> 00:36:13,370 >> Роб: Да. 699 00:36:13,370 --> 00:36:15,160 И ние ќе каже скратувајќи за тоа. 700 00:36:15,160 --> 00:36:21,760 Значи секогаш кога ќе го дадат на int, на децимална се скратени. 701 00:36:21,760 --> 00:36:23,980 Па фикс за тоа - постои всушност две. 702 00:36:23,980 --> 00:36:27,890 И јас одам да го стори тоа второ, затоа што ова е многу полесно поправам. 703 00:36:27,890 --> 00:36:32,670 >> Значи една фикс е да се користи плови во поделбата. 704 00:36:32,670 --> 00:36:34,720 И навистина, имате само да се направи еден од нив плови. 705 00:36:34,720 --> 00:36:37,400 Но тоа е малку појасна само да се направи двете од нив лебди. 706 00:36:37,400 --> 00:36:41,170 Значи 1,0 поделено со 10,0 е поделба две плови. 707 00:36:41,170 --> 00:36:43,970 Значи одговорот ќе завршат да бидат плови, и така ќе 708 00:36:43,970 --> 00:36:48,050 правилно печати 0,10 тука. 709 00:36:48,050 --> 00:36:52,220 >> Нешто што не работат толку добро за тоа е, добро, сигурно, тоа беше лесно 710 00:36:52,220 --> 00:36:56,240 доволно да го конвертирате 1 на плови со тоа што 1.0. 711 00:36:56,240 --> 00:37:02,180 Но, што ако, наместо имавме два цели броја како int x е еднаква на 1 и int y 712 00:37:02,180 --> 00:37:05,660 е еднакво на 10, а потоа сакавме да се x поделено со y? 713 00:37:05,660 --> 00:37:10,420 Така што не е лесно да се само направи x.0 или нешто слично. 714 00:37:10,420 --> 00:37:12,790 >> Па фикс за кои е лиење. 715 00:37:12,790 --> 00:37:19,780 Па кастинг е начин во C за претворање на од една променлива видот на друг. 716 00:37:19,780 --> 00:37:22,320 Па еве, 1 е цел број. 717 00:37:22,320 --> 00:37:27,050 И со ставање на овој плови пред тоа, ние сме кастинг 1 до плови. 718 00:37:27,050 --> 00:37:30,350 Па така ова ќе се претвори 1 до 1,0. 719 00:37:30,350 --> 00:37:33,380 И ова ќе се претвори 10 до 10.0. 720 00:37:33,380 --> 00:37:36,790 >> А потоа работите се однесуваат слично на претходната верзија ние само покажа 721 00:37:36,790 --> 00:37:42,190 каде што, како што се очекува, ќе го добиеме 0,10 и тоа ќе се печати тоа. 722 00:37:42,190 --> 00:37:44,120 И можеме да го направите ова со променливи, исто така. 723 00:37:44,120 --> 00:37:47,376 Значи можеме да кажеме, плови х поделено со плови y. 724 00:37:47,376 --> 00:37:48,626 >> JOSEPH: Било какви прашања? 725 00:37:48,626 --> 00:37:54,182 726 00:37:54,182 --> 00:38:00,090 >> Роб: Значи исто како и во редовни математика, имаме оператор предност. 727 00:38:00,090 --> 00:38:06,960 Па во математика, ти си поголема веројатност да го наречеме ред на операции. 728 00:38:06,960 --> 00:38:09,890 Еве, на официјалната термин е оператор предност. 729 00:38:09,890 --> 00:38:15,230 Но операторот предност, или повеќето оператори, е како што би очекувале. 730 00:38:15,230 --> 00:38:22,660 >> Значи исто како во математика, 2 пати 10 е ќе треба да се групираат поблиску отколку 731 00:38:22,660 --> 00:38:25,410 овој 10 поделено со 2, а потоа 2. 732 00:38:25,410 --> 00:38:29,745 Редоследот на операциите, тоа ќе го стори 2 пати 10, 10 поделено со 2, а потоа 733 00:38:29,745 --> 00:38:32,720 тоа ќе го стори 20 плус 5 плус 2. 734 00:38:32,720 --> 00:38:37,020 Па тоа е како што се очекуваше, а можете да го користите заграда во групата изрази. 735 00:38:37,020 --> 00:38:41,063 Не можете да користите загради во групата изрази. 736 00:38:41,063 --> 00:38:41,544 Да? 737 00:38:41,544 --> 00:38:43,468 >> ЗВУЧНИК 5: Можеш ли да всушност само да се вратиме една секунда? 738 00:38:43,468 --> 00:38:47,316 Можете да го дадат int во стринг? 739 00:38:47,316 --> 00:38:53,330 >> Роб: Значи во C, можете да го дадат ништо дека сакате да го нешто што сакате. 740 00:38:53,330 --> 00:38:55,600 Тоа не значи дека тоа е добра работа да се направи. 741 00:38:55,600 --> 00:38:59,760 Па кога ќе фрли int да стринг, тоа значи - 742 00:38:59,760 --> 00:39:03,240 и ние ќе се влезе во оваа многу потемелно - 743 00:39:03,240 --> 00:39:03,720 >> JOSEPH: Многу подоцна. 744 00:39:03,720 --> 00:39:06,840 >> Роб: Не сакав да кажам многу подоцна, па се обидов да ги променам моите реченица. 745 00:39:06,840 --> 00:39:13,370 Ние ќе се влезе во неа многу потемелно подоцна каде навистина, кога имате 746 00:39:13,370 --> 00:39:14,810 стринг променлива - 747 00:39:14,810 --> 00:39:17,160 па низа може да се произволно долго, нели? 748 00:39:17,160 --> 00:39:21,850 И ние сме биле велејќи дека int е четири бајти и долго долго е осум 749 00:39:21,850 --> 00:39:23,620 bytes и плови е четири бајти. 750 00:39:23,620 --> 00:39:29,520 Па стринг, исто како int, само што има одреден број на бајти на него. 751 00:39:29,520 --> 00:39:31,800 И дека ќе биде четири бајти. 752 00:39:31,800 --> 00:39:34,750 >> Но низа може да биде прилично произволно долго, нели? 753 00:39:34,750 --> 00:39:40,190 Значи Здраво светот веќе, ако тоа е 10 карактери или што и да, тоа е веќе 754 00:39:40,190 --> 00:39:42,670 ќе биде во текот на 4 бајти Јас може да се вклопат во низа. 755 00:39:42,670 --> 00:39:51,140 И така како жици навистина работи е дека тие се таму каде што во меморија што низа 756 00:39:51,140 --> 00:39:52,380 се чува. 757 00:39:52,380 --> 00:39:57,290 >> И така, овде, кога велам низа x еднакво Здраво светот, во внатрешноста на x е 758 00:39:57,290 --> 00:40:01,840 само велејќи, ох, Здраво светот се чуваат на ова место во меморијата. 759 00:40:01,840 --> 00:40:07,060 Значи, ако ние се обидуваме да го дадат цел број на жица, па ние се обидуваме да го протолкува 760 00:40:07,060 --> 00:40:10,500 некои случајни дел од меморијата како стринг. 761 00:40:10,500 --> 00:40:14,465 И дека речиси секогаш крши работи. 762 00:40:14,465 --> 00:40:17,040 >> JOSEPH: Но, ако тоа ги збунува вас, ние ќе го покрива 763 00:40:17,040 --> 00:40:17,550 повеќе во длабочина подоцна. 764 00:40:17,550 --> 00:40:17,850 >> Роб: Да. 765 00:40:17,850 --> 00:40:20,540 Ова е местото каде што се случува да се влезе во совети. 766 00:40:20,540 --> 00:40:25,485 И дека е значаен парче на две недели од овој курс. 767 00:40:25,485 --> 00:40:28,275 >> ЗВУЧНИК 6: Дали работи како објекти на други јазици или не навистина? 768 00:40:28,275 --> 00:40:34,050 >> Роб: Значи на други јазици, предмети ќе бидат претставени со покажувачи. 769 00:40:34,050 --> 00:40:37,070 770 00:40:37,070 --> 00:40:38,793 Тоа не е една иста работа, иако. 771 00:40:38,793 --> 00:40:42,110 772 00:40:42,110 --> 00:40:42,910 Било кој мисли? 773 00:40:42,910 --> 00:40:43,760 >> JOSEPH: Не 774 00:40:43,760 --> 00:40:44,185 Не мисли. 775 00:40:44,185 --> 00:40:44,980 >> Роб: OK. 776 00:40:44,980 --> 00:40:46,994 >> JOSEPH: Next. 777 00:40:46,994 --> 00:40:48,255 >> Роб: Само одат со тоа. 778 00:40:48,255 --> 00:40:48,670 Во ред е. 779 00:40:48,670 --> 00:40:51,120 Па modulo. 780 00:40:51,120 --> 00:40:53,900 Исто како и ние имаме плус, минус, делат и размножуваат. 781 00:40:53,900 --> 00:40:56,720 Па modulo е оној што може Не сум ја видел досега. 782 00:40:56,720 --> 00:40:59,540 И тоа само вели, им даде на ме на остатокот од. 783 00:40:59,540 --> 00:41:02,850 Значи 55% 10. 784 00:41:02,850 --> 00:41:06,840 Остатокот од прави 55 поделени од 10 ќе биде 5. 785 00:41:06,840 --> 00:41:09,630 Значи 55% 10 е 5. 786 00:41:09,630 --> 00:41:12,260 И 3% 5 ќе биде 3. 787 00:41:12,260 --> 00:41:14,180 8% 8 ќе биде 0. 788 00:41:14,180 --> 00:41:15,903 16% 15 ќе биде 1. 789 00:41:15,903 --> 00:41:20,670 >> JOSEPH: Една работа е да се напомене со ова, исто така, тоа не би можеле да работат како што се очекува 790 00:41:20,670 --> 00:41:22,700 ако користите негативен број. 791 00:41:22,700 --> 00:41:26,215 Толку негативни 5% 4, некои луѓе Можеби мислите дека е - 792 00:41:26,215 --> 00:41:28,890 793 00:41:28,890 --> 00:41:33,808 што ние би помислиле негативни 5% 4 ќе биде? 794 00:41:33,808 --> 00:41:34,792 >> ЗВУЧНИК 5: Еден. 795 00:41:34,792 --> 00:41:37,920 >> JOSEPH: Значи некои луѓе велат едно, некои луѓе велат негативна. 796 00:41:37,920 --> 00:41:38,450 Но, она што - 797 00:41:38,450 --> 00:41:40,820 >> Роб: Јас дури и не ќе има рече еден од нив. 798 00:41:40,820 --> 00:41:42,370 >> JOSEPH: Два, жалам. 799 00:41:42,370 --> 00:41:43,240 Некои луѓе велат - 800 00:41:43,240 --> 00:41:43,450 >> Роб: Три. 801 00:41:43,450 --> 00:41:43,800 >> JOSEPH: Три? 802 00:41:43,800 --> 00:41:44,890 >> Роб: Негативни - 803 00:41:44,890 --> 00:41:45,950 она што беше - негативни пет - 804 00:41:45,950 --> 00:41:47,100 >> JOSEPH: Три, три, три. 805 00:41:47,100 --> 00:41:48,450 Жал. 806 00:41:48,450 --> 00:41:51,910 Бидејќи modulo, генерално, кога сте види на друго место, тоа обично значи 807 00:41:51,910 --> 00:41:54,000 се вратат позитивно број, нели? 808 00:41:54,000 --> 00:42:01,160 >> Роб: Значи, кога велиме во математика,% 10, тие имаат тенденција да сакаат да ви даде - 809 00:42:01,160 --> 00:42:05,980 ако ние современи од 10, тогаш ние очекуваме да добие број помеѓу 0 и 9. 810 00:42:05,980 --> 00:42:09,860 Овде, што не е случај дека ќе добиете негативни броеви се вратија. 811 00:42:09,860 --> 00:42:15,898 >> JOSEPH: Значи негативното 5% 4 ќе биде негативен 1. 812 00:42:15,898 --> 00:42:19,325 >> Роб: Но, тоа е ретка дека сте МО-ИНГ негативни броеви да почне. 813 00:42:19,325 --> 00:42:25,490 814 00:42:25,490 --> 00:42:25,970 Прескокнете го овој. 815 00:42:25,970 --> 00:42:27,314 >> JOSEPH: Да. 816 00:42:27,314 --> 00:42:29,420 >> Роб: Meh. 817 00:42:29,420 --> 00:42:29,990 OK. 818 00:42:29,990 --> 00:42:36,400 Значи едно последно нешто да се истакне за плови е тоа е опасно однесување, 819 00:42:36,400 --> 00:42:39,850 но лебди не се точно застапеност. 820 00:42:39,850 --> 00:42:46,190 Па ќе се вратам на бајти повторно, се сеќавам дека int е секогаш четири бајти и 821 00:42:46,190 --> 00:42:47,830 плови е секогаш четири бајти. 822 00:42:47,830 --> 00:42:51,340 Значи пример Лукас е прилично добар. 823 00:42:51,340 --> 00:42:55,730 >> Значи мислам на 1 поделено со 3. 824 00:42:55,730 --> 00:42:57,800 Па 0,3333333. 825 00:42:57,800 --> 00:43:03,540 Ако јас само 32 бита, како може Јас се сместат 0,33333 точно? 826 00:43:03,540 --> 00:43:07,250 И, можеби, за која било причина, ви велам, во ред, добро, да речеме 827 00:43:07,250 --> 00:43:13,210 дека ова особено 1011001, ајде да само да кажам дека треба да биде 0,333333. 828 00:43:13,210 --> 00:43:16,960 Па, имате само ограничен број на оние делови, така што е невозможно да се 829 00:43:16,960 --> 00:43:22,550 претставуваат секоја подвижна запирка вредност дадена само 32 бита. 830 00:43:22,550 --> 00:43:25,580 >> Па, тоа е невозможно да се претставува било подвижна запирка вредност дадена бесконечна - 831 00:43:25,580 --> 00:43:28,480 Па, со оглед било конечен број на битови. 832 00:43:28,480 --> 00:43:38,265 Значи прашањето тука е, добро, кога ние се користи да се печати со две децимални места, 833 00:43:38,265 --> 00:43:42,000 ние не правилно го добиете одговорот 0,10. 834 00:43:42,000 --> 00:43:47,510 Но под капакот на моторот, тоа е навистина се чуваат како е можно поблиску до 835 00:43:47,510 --> 00:43:51,790 0,10 оние битови може да ги претставуваат. 836 00:43:51,790 --> 00:43:53,200 Е тоа на следниот слајд? 837 00:43:53,200 --> 00:43:53,830 Или не е тоа? 838 00:43:53,830 --> 00:43:54,660 >> JOSEPH: Да, тоа е тоа. 839 00:43:54,660 --> 00:43:55,750 >> Роб: Blegh, blegh. 840 00:43:55,750 --> 00:43:57,760 >> JOSEPH: Да, може да се само повлече забелешките се малку. 841 00:43:57,760 --> 00:43:59,700 >> Роб: јас сум само ќе да зумирате во на последниот на тоа. 842 00:43:59,700 --> 00:44:00,950 Ох, господе, тоа е [нечујни]. 843 00:44:00,950 --> 00:44:06,089 844 00:44:06,089 --> 00:44:08,300 Па тој број. 845 00:44:08,300 --> 00:44:12,300 Тоа е она што ќе бидат испечатени ако трчаме таа програма. 846 00:44:12,300 --> 00:44:20,340 И ќе забележите дека не е навистина голема работа ако ние сме само се грижат за како 847 00:44:20,340 --> 00:44:21,920 02:58 децимални места. 848 00:44:21,920 --> 00:44:26,700 Како што само првично печатени 0,10, и тоа е причината зошто сме го виделе ништо лошо. 849 00:44:26,700 --> 00:44:31,380 Но еднаш сме го започне да добива во точно, точниот број дека тоа е 850 00:44:31,380 --> 00:44:35,660 претставуваат, гледаме дека тоа не може да точно претставуваат 0,1. 851 00:44:35,660 --> 00:44:40,900 >> И дел од проблемот тука е како, сите во право, тоа е во ред, но, добро, 852 00:44:40,900 --> 00:44:46,120 Прво, што ако ние се обидовме да го направиме, Одговорот е еднаква еднаква на 0,1? 853 00:44:46,120 --> 00:44:49,200 Е дека ќе се врати вистински или лажни? 854 00:44:49,200 --> 00:44:51,850 И така тоа е тешко да се каже. 855 00:44:51,850 --> 00:44:53,330 Мислам дека тоа всушност би можеле да се вратат точно. 856 00:44:53,330 --> 00:44:55,265 Ќе го првиот - 857 00:44:55,265 --> 00:44:56,180 Не знам. 858 00:44:56,180 --> 00:45:00,090 Одговорот е штом еднаш ќе почнете занимаваат со подвижна запирка вредности, вие многу 859 00:45:00,090 --> 00:45:05,150 многу не треба да се користи еднаквост затоа што на оваа непрецизност. 860 00:45:05,150 --> 00:45:09,470 >> И за сите што знаете, тоа е стоти децимално место дека 861 00:45:09,470 --> 00:45:13,670 лебдат точка не беше во можност правилно да се справи. 862 00:45:13,670 --> 00:45:18,180 И така еднаквост само ќе успее дури и иако бројот - ако сте биле 863 00:45:18,180 --> 00:45:24,450 користење на точната бројка, бројот треба се токму истото. 864 00:45:24,450 --> 00:45:27,790 Тоа е во текот на како 50 пресметки со користење на овие пловечки 865 00:45:27,790 --> 00:45:30,270 точка вредности, грешката може да се изгради и горе и нагоре, и 866 00:45:30,270 --> 00:45:31,125 работи едноставно сфаќајте погрешно. 867 00:45:31,125 --> 00:45:33,870 >> JOSEPH: И таму биле навистина Познати примери на ова случување. 868 00:45:33,870 --> 00:45:37,190 Како НАСА инженери добиле овој погрешно, предизвикувајќи ракети да експлодира во 869 00:45:37,190 --> 00:45:38,665 воздухот, откако сте биле лансирани. 870 00:45:38,665 --> 00:45:41,490 И многу прашања како што. 871 00:45:41,490 --> 00:45:41,956 Па је. 872 00:45:41,956 --> 00:45:45,218 >> ЗВУЧНИК 6: Кога ќе се каже 0,3 ѓ, не го скрати останатите? 873 00:45:45,218 --> 00:45:46,468 Или не го заокружуваат нагоре или надолу? 874 00:45:46,468 --> 00:45:48,800 875 00:45:48,800 --> 00:45:50,200 >> Роб: Ќе printf околу неа? 876 00:45:50,200 --> 00:45:52,180 >> JOSEPH: Мислам printf truncates. 877 00:45:52,180 --> 00:45:52,640 >> Роб: OK. 878 00:45:52,640 --> 00:45:59,890 Па ние слично може да оди во спротивна насока на тоа каде, во овој случај, 879 00:45:59,890 --> 00:46:03,320 најблиску тоа би можело да претставуваат 0,1 беше со овој број. 880 00:46:03,320 --> 00:46:06,820 Најблиску тоа би можело да биде во можност да претставува 0,2 во спротивна 881 00:46:06,820 --> 00:46:11,420 насока, ,199999996356 или нешто слично. 882 00:46:11,420 --> 00:46:17,480 Па ако отидовме во таа насока на работи, тогаш printf 0,3 ѓ ќе се врати 883 00:46:17,480 --> 00:46:20,866 1,99 наместо 2,00. 884 00:46:20,866 --> 00:46:22,960 >> JOSEPH: И јас не сум целосно сигурни за тоа. 885 00:46:22,960 --> 00:46:25,430 Можеби ќе сакате да се напише еден мал, малку програма за само провери тоа. 886 00:46:25,430 --> 00:46:29,370 >> Роб: Иако, она што сме сигурни е дека ако сте се обиделе да го дадат дека до 887 00:46:29,370 --> 00:46:33,660 цел број, и леење на int ќе да предизвика таа да се скрати на децимална ако 888 00:46:33,660 --> 00:46:38,140 ќе се обидат да го дадат 1.9999999 до int, ќе добиете 1. 889 00:46:38,140 --> 00:46:41,440 И така обично треба да се користи круг функција во математика библиотека. 890 00:46:41,440 --> 00:46:44,190 891 00:46:44,190 --> 00:46:45,440 Прашања? 892 00:46:45,440 --> 00:46:47,660 893 00:46:47,660 --> 00:46:48,982 OK. 894 00:46:48,982 --> 00:46:54,000 >> JOSEPH: Значи да се пресели на условите и Булова изрази. 895 00:46:54,000 --> 00:46:58,120 Па сте виделе овие пред. 896 00:46:58,120 --> 00:47:07,420 И всушност, дозволете ми да сум сигурен дека моите компјутер е во право формат овде. 897 00:47:07,420 --> 00:47:08,670 Простор. 898 00:47:08,670 --> 00:47:10,630 899 00:47:10,630 --> 00:47:13,870 Жал ми е, ние ќе треба да се занимаваат со малку со исклучување на рабовите. 900 00:47:13,870 --> 00:47:15,830 >> Но, да, вие момци го виделе ова пред во Скреч. 901 00:47:15,830 --> 00:47:19,930 Значи ова токму тука е израз кој се користи во 902 00:47:19,930 --> 00:47:21,250 условен изјава. 903 00:47:21,250 --> 00:47:23,930 Така одговори поголема од нула волја ви кажам точно или неточно. 904 00:47:23,930 --> 00:47:26,530 И овие се навистина важни, бидејќи што ни овозможи да се воведе 905 00:47:26,530 --> 00:47:28,670 логика во нашиот код. 906 00:47:28,670 --> 00:47:32,820 >> Така на пример, ова е програма напишано во Скреч дека го прашува корисникот 907 00:47:32,820 --> 00:47:36,980 за цел број и им кажува дали на број дека тие ви даде е 908 00:47:36,980 --> 00:47:38,690 позитивен или негативен број. 909 00:47:38,690 --> 00:47:42,980 И конверзија овде за да ја видите е прво печатење на изјавата, 910 00:47:42,980 --> 00:47:43,870 ми даде број. 911 00:47:43,870 --> 00:47:45,980 , А потоа можете да ги прашате за цел број. 912 00:47:45,980 --> 00:47:49,870 >> А потоа ја користите условен логика над тука за да се провери дали тој број 913 00:47:49,870 --> 00:47:52,030 е всушност поголема од нула или не. 914 00:47:52,030 --> 00:47:58,960 Значи тука имаме Булова израз внатрешноста на условна Ако изјава. 915 00:47:58,960 --> 00:48:00,660 Дали има било какви прашања? 916 00:48:00,660 --> 00:48:03,030 Дали постојат било какви прашања во врска со тоа? 917 00:48:03,030 --> 00:48:03,950 OK. 918 00:48:03,950 --> 00:48:06,140 >> Па таму е повеќе од само поголема од, се разбира. 919 00:48:06,140 --> 00:48:10,385 Можете да изгради Булова изрази користење на повеќето од видови на работи што можете 920 00:48:10,385 --> 00:48:11,150 би помислил на часот по математика. 921 00:48:11,150 --> 00:48:12,370 Па поголем од. 922 00:48:12,370 --> 00:48:13,740 Кој треба да биде помалку од. 923 00:48:13,740 --> 00:48:14,990 Жал. 924 00:48:14,990 --> 00:48:18,520 925 00:48:18,520 --> 00:48:19,760 И растојанието. 926 00:48:19,760 --> 00:48:22,971 >> Роб: не дај Боже ќе го оставиме тоа. 927 00:48:22,971 --> 00:48:23,620 >> JOSEPH: Во ред. 928 00:48:23,620 --> 00:48:25,950 Па поголем од, помалку од, поголема од или еднаква на, помалку 929 00:48:25,950 --> 00:48:27,070 од или еднаква на. 930 00:48:27,070 --> 00:48:31,980 Ние ги користиме двојно изнесува за да се провери за еднаквост, бидејќи еден е еднакво на средства 931 00:48:31,980 --> 00:48:32,810 задача, нели? 932 00:48:32,810 --> 00:48:33,140 Да. 933 00:48:33,140 --> 00:48:37,130 А потоа ние исто така може да не е еднакво на користење извичник, еднакви. 934 00:48:37,130 --> 00:48:41,530 >> И ова извичник симбол може исто така да биде продолжен, така што ако сакате 935 00:48:41,530 --> 00:48:44,050 за да го превртите било кој вид на Булова изразување, можете да го направите тоа. 936 00:48:44,050 --> 00:48:48,530 Па ова ќе се оцени на точно само ако одговорот е помалку 937 00:48:48,530 --> 00:48:51,240 од или еднаков на нула. 938 00:48:51,240 --> 00:48:53,950 Било какви прашања за тоа? 939 00:48:53,950 --> 00:48:55,180 OK. 940 00:48:55,180 --> 00:48:58,840 >> Така што исто така може да се комбинираат овие изрази со користење на логички и и 941 00:48:58,840 --> 00:48:59,790 логички или. 942 00:48:59,790 --> 00:49:03,530 Значи ова е само симбол и, која треба да биде Shift, 7. 943 00:49:03,530 --> 00:49:07,720 И ова е симбол цевка, која е не е со мали букви Л Тоа е една 944 00:49:07,720 --> 00:49:09,440 дека е во право над Enter копчето. 945 00:49:09,440 --> 00:49:12,870 Па можете да користите две од овие да го симболизира Логичка и логичката или. 946 00:49:12,870 --> 00:49:18,180 >> Значи ова само ќе се вратат точно ако одговорот е еден, два, три или четири. 947 00:49:18,180 --> 00:49:23,030 И ова само ќе се врати точно ако одговорот е надвор од тоа на двете страни. 948 00:49:23,030 --> 00:49:26,190 Па тоа не е еден, два, три, или четири. 949 00:49:26,190 --> 00:49:28,385 И начинот на кој ќе се користи дека во изразот - 950 00:49:28,385 --> 00:49:29,990 >> Роб: Или нула или пет. 951 00:49:29,990 --> 00:49:32,200 >> JOSEPH: Нулта или пет. 952 00:49:32,200 --> 00:49:32,380 Жал. 953 00:49:32,380 --> 00:49:33,320 Да, да, да. 954 00:49:33,320 --> 00:49:34,180 OK. 955 00:49:34,180 --> 00:49:38,980 И овде сега, на ист начин да ќе го користи тој израз, помал 956 00:49:38,980 --> 00:49:42,000 израз страна на Ако условната изјава, исто така, ќе го користат 957 00:49:42,000 --> 00:49:47,800 ист начин од страна само да го стави во внатрешноста на заградите на ако изјава. 958 00:49:47,800 --> 00:49:54,020 Значи ова printf само ќе оган ако одговорот е еден, два, три или четири. 959 00:49:54,020 --> 00:49:56,002 Било какви прашања на комбинирање на изрази? 960 00:49:56,002 --> 00:50:00,450 961 00:50:00,450 --> 00:50:04,240 >> Па таму е уште еден условен Конструирај ние го нарекуваме Ако / друг. 962 00:50:04,240 --> 00:50:08,120 Значи, во основа, ова сега значи, во ред, ако нешто што сакав да се провери не беше 963 00:50:08,120 --> 00:50:11,600 точно, тогаш оди на друг и вршат таа друга акција. 964 00:50:11,600 --> 00:50:15,570 Значи во конкретниов случај, го прашав на корисникот за цел број. 965 00:50:15,570 --> 00:50:17,790 Е цел број поголем од нула? 966 00:50:17,790 --> 00:50:18,310 Да? 967 00:50:18,310 --> 00:50:20,100 Добро, тогаш тие ја искористија позитивен број. 968 00:50:20,100 --> 00:50:22,320 Ако не, тогаш тоа мора да има е негативен или нула. 969 00:50:22,320 --> 00:50:27,530 Па што сте го одбрале негативен број или нула во овој случај. 970 00:50:27,530 --> 00:50:29,235 Да. 971 00:50:29,235 --> 00:50:30,485 Или нула. 972 00:50:30,485 --> 00:50:36,320 973 00:50:36,320 --> 00:50:39,300 >> А потоа ние исто така имаме Ако / Друго, Ако и друго. 974 00:50:39,300 --> 00:50:45,640 Па ова ни овозможува да се изврши низа на работи само ако први пропадне. 975 00:50:45,640 --> 00:50:49,540 Значи во овој случај, сега правиме последните оној што го изберете нула. 976 00:50:49,540 --> 00:50:53,080 Значи, ако тие ни скинале позитивно, ниту негативен број, тогаш тие мора да 977 00:50:53,080 --> 00:50:53,640 собрал нула. 978 00:50:53,640 --> 00:50:56,720 Па тоа само оди надолу синџир вака. 979 00:50:56,720 --> 00:50:59,960 >> Така пример за тоа како Ако е различен од - 980 00:50:59,960 --> 00:51:02,590 АКО / Друго е различен од само низа од Иф. 981 00:51:02,590 --> 00:51:07,680 И ова е заеднички прашање кое луѓето прашуваат е, добро, ако добиете како 982 00:51:07,680 --> 00:51:11,265 95 во CS50, што ова ќе Програмата ви кажам? 983 00:51:11,265 --> 00:51:12,600 >> ЗВУЧНИК 5: Вие доби А 984 00:51:12,600 --> 00:51:13,490 >> JOSEPH: Да. 985 00:51:13,490 --> 00:51:14,960 Имаш секој еден од оние право. 986 00:51:14,960 --> 00:51:17,130 Ти да дојдеш А, имаш Б, ти доби C и D, нели? 987 00:51:17,130 --> 00:51:19,770 Значи сите овие се оценува во ред. 988 00:51:19,770 --> 00:51:23,570 Така, додека 95 е поголем од 90, тоа е исто така, повеќе од 80, тоа е, исто така, 989 00:51:23,570 --> 00:51:25,790 поголема од 70, и тоа е и поголем од 60. 990 00:51:25,790 --> 00:51:27,620 Значи ли сите оние оценки. 991 00:51:27,620 --> 00:51:31,630 И претпоставувам што би само сакаат А 992 00:51:31,630 --> 00:51:34,060 >> На начин да се поправи тоа е да се замени оние со друг / Ако е. 993 00:51:34,060 --> 00:51:37,540 Значи во ова сценарио, гледа дека 95 е поголема од 90, а потоа го прави 994 00:51:37,540 --> 00:51:38,885 не се оцени остатокот на извештаи. 995 00:51:38,885 --> 00:51:41,900 996 00:51:41,900 --> 00:51:43,150 Било какви прашања во врска со тоа? 997 00:51:43,150 --> 00:51:48,580 998 00:51:48,580 --> 00:51:52,470 >> Па таму е уште еден условен вид на структура што ја имаме тука што ние 999 00:51:52,470 --> 00:51:53,390 јавете се прекинувачот изјава. 1000 00:51:53,390 --> 00:51:57,390 Значи ова ви овозможува да се провери во основа што вредноста на голем број ќе се стави 1001 00:51:57,390 --> 00:51:59,000 во прекинувачот изјава е. 1002 00:51:59,000 --> 00:52:03,200 Значи во ова сценарио, ние сме префрлување на н, и ние велиме, ох, ако n е 1003 00:52:03,200 --> 00:52:04,710 , а потоа печати таа изјава. 1004 00:52:04,710 --> 00:52:07,910 А потоа се скрши, што значи излез од прекинувачот изјава. 1005 00:52:07,910 --> 00:52:12,670 >> Ако тоа не беше, а потоа, добро, само на крајот ги проверите сите овие случаи. 1006 00:52:12,670 --> 00:52:16,280 И така се проверува дали е еден или два или три, и тоа отпечатоци соодветно. 1007 00:52:16,280 --> 00:52:19,780 И она што оваа стандардно клучни зборови овде средства е ако тие не влезат во кои било 1008 00:52:19,780 --> 00:52:21,690 од оние, а потоа велат Невалиден. 1009 00:52:21,690 --> 00:52:25,910 Па да речеме го прашувам за n и корисникот ми дава четири. 1010 00:52:25,910 --> 00:52:29,470 Па, тоа се совпаѓа ниту еден од тие случаи, така што ќе се печати она што е во 1011 00:52:29,470 --> 00:52:30,540 стандардно секција. 1012 00:52:30,540 --> 00:52:31,180 Да, прашање? 1013 00:52:31,180 --> 00:52:32,614 >> ЗВУЧНИК 5: Може да ви користи Буловата изрази наместо 1014 00:52:32,614 --> 00:52:33,570 еден, два или три? 1015 00:52:33,570 --> 00:52:36,940 >> JOSEPH: Значи, прашањето е можете да го користите Булова изрази наместо на еден, 1016 00:52:36,940 --> 00:52:37,940 два и три? 1017 00:52:37,940 --> 00:52:40,520 И во C, јас ти верувам не може да го направи тоа. 1018 00:52:40,520 --> 00:52:44,320 Но и во други јазици, кои можеби ќе судрите на крајот на 1019 00:52:44,320 --> 00:52:46,460 семестар како JavaScript, можеш. 1020 00:52:46,460 --> 00:52:50,050 Па, вие ќе треба да се пресмета прв таа вредност, а потоа го користат во 1021 00:52:50,050 --> 00:52:50,650 префрлате изјава. 1022 00:52:50,650 --> 00:52:50,930 Да? 1023 00:52:50,930 --> 00:52:54,760 >> Роб: Значи дел од корист на прекинувач извештаи е мислам на тоа, ако го направи ова 1024 00:52:54,760 --> 00:52:58,680 како Ако / друго, па како ако n е еднаков на е еднаков на една или whatever. 1025 00:52:58,680 --> 00:53:00,300 Друг / Ако n е еднаков еднакво на два, сеедно. 1026 00:53:00,300 --> 00:53:01,960 Друг / Ако n е еднаков еднаква на три. 1027 00:53:01,960 --> 00:53:05,930 Па начинот на кој на програмата ќе се кандидира тоа е секвенцијално ќе одат надолу таа листа 1028 00:53:05,930 --> 00:53:07,500 и да се провери, е n еден? 1029 00:53:07,500 --> 00:53:08,040 Не бе. 1030 00:53:08,040 --> 00:53:09,070 Е n две? 1031 00:53:09,070 --> 00:53:09,490 Не бе. 1032 00:53:09,490 --> 00:53:10,940 Е n три? 1033 00:53:10,940 --> 00:53:11,710 Да. 1034 00:53:11,710 --> 00:53:12,610 Го направите тоа. 1035 00:53:12,610 --> 00:53:15,270 >> Додека со прекинувач извештаи, тоа е во можност да ги собере да биде 1036 00:53:15,270 --> 00:53:16,360 навистина брзо. 1037 00:53:16,360 --> 00:53:19,550 И штом таа вели прекинувач, таа вели, во ред, n е два, јас сум 1038 00:53:19,550 --> 00:53:23,060 веднаш ќе скокаат таму каде што Јас сум би требало да започне извршување. 1039 00:53:23,060 --> 00:53:26,080 Јас не одам да се прво проверете, е n еден, е n две? 1040 00:53:26,080 --> 00:53:28,860 Таа веднаш да почнете да правите она што би требало да се направи. 1041 00:53:28,860 --> 00:53:33,830 >> И поради тоа, не може да земе Булова услови. 1042 00:53:33,830 --> 00:53:36,480 Или на друго место ќе треба да направите секвенцијален, како, сите во право, е n 1043 00:53:36,480 --> 00:53:37,820 поголема од нула? 1044 00:53:37,820 --> 00:53:41,140 Друго е n поголема од 10 или whatever. 1045 00:53:41,140 --> 00:53:44,780 >> JOSEPH: Во овој случај, ако се користи Ако / друго, ако е, тогаш исклучете би 1046 00:53:44,780 --> 00:53:47,792 се кандидира околу три пати побрзо отколку Ако / друго, ако. 1047 00:53:47,792 --> 00:53:53,060 1048 00:53:53,060 --> 00:53:56,040 Ние можеме да реализираме прекинувачот во таква на начин на кој ние не се скрши 1049 00:53:56,040 --> 00:53:57,520 по секој од овие случаи. 1050 00:53:57,520 --> 00:54:00,960 Значи во овој случај, јас сум поделба на броеви кои ние го избираме во еден и 1051 00:54:00,960 --> 00:54:04,250 две не се голем број и три од голем број. 1052 00:54:04,250 --> 00:54:08,290 >> Така што во овој случај, ако n е еден или два, тоа ќе го погоди случај и тогаш ќе 1053 00:54:08,290 --> 00:54:10,640 падне преку, бидејќи нема пауза. 1054 00:54:10,640 --> 00:54:11,610 И тоа ќе се заокружи тука. 1055 00:54:11,610 --> 00:54:15,360 Значи, ако ние да изберете еден, тоа ќе го стори на printf и потоа пауза, така што никој од 1056 00:54:15,360 --> 00:54:17,610 ова е погубен. 1057 00:54:17,610 --> 00:54:21,870 И, се разбира, ако влезат во три или нешто друго, тогаш тоа ќе го прескокне 1058 00:54:21,870 --> 00:54:25,320 тие и не одам таму, и тоа ќе се изврши наместо 1059 00:54:25,320 --> 00:54:27,490 соодветните линија. 1060 00:54:27,490 --> 00:54:29,390 Дали постојат било какви прашања во врска со тоа? 1061 00:54:29,390 --> 00:54:29,780 Да? 1062 00:54:29,780 --> 00:54:32,642 >> ЗВУЧНИК 4: Дали можете да добиете грешка, ако имаше пауза по случај една, туку тоа 1063 00:54:32,642 --> 00:54:34,550 не имаш нешто за тоа да се направи? 1064 00:54:34,550 --> 00:54:37,820 >> JOSEPH: Значи, прашањето е ќе добиете грешка, ако имате пауза по 1065 00:54:37,820 --> 00:54:39,730 случај еден но нема ништо да се направи? 1066 00:54:39,730 --> 00:54:41,520 А одговорот е не. 1067 00:54:41,520 --> 00:54:43,172 Вие не всушност, ќе добиеш грешка. 1068 00:54:43,172 --> 00:54:44,590 Да, мм hmm. 1069 00:54:44,590 --> 00:54:54,540 >> Па како вид на малку промена тука, Одам да се стави printf тука. 1070 00:54:54,540 --> 00:54:55,790 Whoops. 1071 00:54:55,790 --> 00:55:00,994 1072 00:55:00,994 --> 00:55:04,880 Така што ова ќе печати ако Јас се стави еден во како влез? 1073 00:55:04,880 --> 00:55:07,530 1074 00:55:07,530 --> 00:55:07,770 Да. 1075 00:55:07,770 --> 00:55:10,360 Тоа ќе ви каже дека тоа не се голем број два пати, нели? 1076 00:55:10,360 --> 00:55:13,500 Бидејќи тоа ќе го погоди дека првиот случај, тоа не ќе се скрши, и тоа ќе падне 1077 00:55:13,500 --> 00:55:15,730 до вториот случај. 1078 00:55:15,730 --> 00:55:16,950 Било какви прашања во врска со тоа? 1079 00:55:16,950 --> 00:55:18,280 >> Роб: Дали имате едно друго прашање? 1080 00:55:18,280 --> 00:55:20,840 >> JOSEPH: Добро, се излади. 1081 00:55:20,840 --> 00:55:22,400 Во ред е. 1082 00:55:22,400 --> 00:55:25,780 Па таму е нешто друго што ние го нарекуваме троичен оператор кој е во основа на 1083 00:55:25,780 --> 00:55:29,010 Алтернативен синтакса да се прави Ако и тогаш на друго место. 1084 00:55:29,010 --> 00:55:30,470 И тоа ви овозможува да го прават тоа сите на една линија. 1085 00:55:30,470 --> 00:55:34,110 Значи во оваа конкретна програма, Прашувам корисникот за n. 1086 00:55:34,110 --> 00:55:37,190 И ако n е поголем од 100, велам ги тие ја искористија голем број. 1087 00:55:37,190 --> 00:55:39,560 Друг да им каже тие зедов малиот број. 1088 00:55:39,560 --> 00:55:43,030 >> За да можеме да го користите овој навистина долго синтакса, стринг, С, а потоа проверете ако n е 1089 00:55:43,030 --> 00:55:45,260 поголема од 100 и доделите тоа соодветно. 1090 00:55:45,260 --> 00:55:49,450 Но, ние може да направи овој многу повеќе концизен со користење на оваа тројна оператор синтакса 1091 00:55:49,450 --> 00:55:52,090 која вклучува прашање марка и дебелото црево. 1092 00:55:52,090 --> 00:55:55,070 Значи, прашањето марка е суштина поставување на прашање, нели? 1093 00:55:55,070 --> 00:55:56,625 >> Роб: Можеби зумирате на тоа. 1094 00:55:56,625 --> 00:55:57,372 >> JOSEPH: Да. 1095 00:55:57,372 --> 00:56:00,210 Добра поента. 1096 00:56:00,210 --> 00:56:02,550 Значи ова е троичен оператор. 1097 00:56:02,550 --> 00:56:06,100 Јас прв пат го поставуваме прашањето, е n поголема од 100? 1098 00:56:06,100 --> 00:56:09,770 Ако е така, тогаш јас се изврши првиот дел пред дебелото црево. 1099 00:56:09,770 --> 00:56:13,360 Ако не е, тогаш јас се изврши Вториот дел по дебелото црево. 1100 00:56:13,360 --> 00:56:16,640 Па ако n е поголема од 100, потоа ја зема висока и става 1101 00:56:16,640 --> 00:56:18,360 дека во низа е. 1102 00:56:18,360 --> 00:56:22,170 Ако n е помалку од 100, што зема низок а потоа го става тоа во низа е. 1103 00:56:22,170 --> 00:56:30,186 Така што ќе кондензира овој голем парче долу во само дека една линија. 1104 00:56:30,186 --> 00:56:32,010 >> ЗВУЧНИК 5: Дали е тоа популарна? 1105 00:56:32,010 --> 00:56:36,070 >> JOSEPH: Да, тоа е доста популарни, за работи каде во суштина дека сакате да го 1106 00:56:36,070 --> 00:56:38,700 направи една задача врз основа на некој вид на состојба. 1107 00:56:38,700 --> 00:56:43,110 И во овој случај, ние се обидувавме за да доделите вредност на низа s. 1108 00:56:43,110 --> 00:56:44,840 Тоа не е толку - 1109 00:56:44,840 --> 00:56:47,670 Претпоставувам дека навистина не сакале во други случаи. 1110 00:56:47,670 --> 00:56:49,390 Но тоа е особено корисно за оваа задача. 1111 00:56:49,390 --> 00:56:54,490 >> Роб: Тоа е прилично заедничка шема каде што треба некои променлива која 1112 00:56:54,490 --> 00:56:58,200 ви се случува да се каже, ако нешто, во собата оваа променлива една вредност; друг, во собата 1113 00:56:58,200 --> 00:56:59,810 оваа променлива друга вредност. 1114 00:56:59,810 --> 00:57:03,360 А тоа е сценарио каде се користи троичен. 1115 00:57:03,360 --> 00:57:05,220 >> JOSEPH: И вие ќе бидете заштеда многу линии, нели? 1116 00:57:05,220 --> 00:57:08,090 И тоа само прави вашиот код веројатно малку повеќе да се чита. 1117 00:57:08,090 --> 00:57:08,635 Да, прашање? 1118 00:57:08,635 --> 00:57:12,384 >> ЗВУЧНИК 6: За троичен, може да одат, Стринг и еднаквите с, прашалник? 1119 00:57:12,384 --> 00:57:15,280 А потоа би можеле да имаат, да речеме, пет различни опции. 1120 00:57:15,280 --> 00:57:18,310 И во зависност од она што бројот на n беше, би ја одбрале еден од оние? 1121 00:57:18,310 --> 00:57:22,210 >> JOSEPH: Значи, прашањето е, дали има вид на синтакса каде што можете да направите низа 1122 00:57:22,210 --> 00:57:25,910 Кликнете ОК еднаква на n, а потоа имаат повеќе од две опции по тоа прашање марка? 1123 00:57:25,910 --> 00:57:29,740 И едноставен одговор е не, таму не е навистина добар начин да го направите тоа, освен ако 1124 00:57:29,740 --> 00:57:33,850 дека сакате да го гнездо повеќе троичен операторите во еден од друг. 1125 00:57:33,850 --> 00:57:38,050 >> Можете да го направите како N поголема од 100, прашалник, а потоа уште 1126 00:57:38,050 --> 00:57:41,850 тројна оператор, n е поголема од 50, прашалник и гнездо на тој начин. 1127 00:57:41,850 --> 00:57:45,240 Но, во тоа сценарио, кодот е добивање на вид на прочите и неуредна, 1128 00:57:45,240 --> 00:57:47,920 и тоа би можело да биде подобро да се оди само до АКО / Друго изјава во тој момент. 1129 00:57:47,920 --> 00:57:54,530 >> Роб: И, исто така, како од страна на белешка, PHP погрешно го спроведува троичен 1130 00:57:54,530 --> 00:57:58,053 оператор како што вгнезден ternaries дури и не работат како што треба. 1131 00:57:58,053 --> 00:57:58,840 >> JOSEPH: Да. 1132 00:57:58,840 --> 00:58:01,170 Па тоа добива малку збунувачки, особено кога одите 1133 00:58:01,170 --> 00:58:02,145 на различни јазици. 1134 00:58:02,145 --> 00:58:04,810 >> Роб: Тоа е збунувачки доволно јазици се во ред за тоа. 1135 00:58:04,810 --> 00:58:08,030 1136 00:58:08,030 --> 00:58:11,510 >> JOSEPH: Значи всушност, само да се разјаснат, Дали сите знаете што 1137 00:58:11,510 --> 00:58:13,900 % S не овде? 1138 00:58:13,900 --> 00:58:15,650 Било какви прашања во врска со тоа? 1139 00:58:15,650 --> 00:58:19,760 Претпоставувам само за камерата,% s во основа ни овозможува да се стави случаеви 1140 00:58:19,760 --> 00:58:20,790 за низа. 1141 00:58:20,790 --> 00:58:23,920 А потоа на крајот, ние се каже дека променлива сакаме да се стави во овој 1142 00:58:23,920 --> 00:58:25,500 место носителот е ОК. 1143 00:58:25,500 --> 00:58:27,730 Така што во основа ги зема на и тоа го става во тука. 1144 00:58:27,730 --> 00:58:32,130 И тогаш тоа ќе испечатите, сте го одбрале висок или сте го одбрале мал број. 1145 00:58:32,130 --> 00:58:33,770 OK. 1146 00:58:33,770 --> 00:58:36,970 >> Па јамки да ви овозможи да ги вршат работите во кружни движења, нели? 1147 00:58:36,970 --> 00:58:40,300 Може да се соочуваат со овој во Нула во форма на Forever петелки 1148 00:58:40,300 --> 00:58:45,650 или Повторете се додека или Повторете одредена број на пати. 1149 00:58:45,650 --> 00:58:47,540 Значи, зошто е ова добро за нас? 1150 00:58:47,540 --> 00:58:51,500 Па, во C, да речеме имаме овој песна спроведува во Скреч дека 1151 00:58:51,500 --> 00:58:53,450 пее, ова е песна дека никогаш не завршува. 1152 00:58:53,450 --> 00:58:55,710 Тоа само продолжува и натаму и вечно и засекогаш. 1153 00:58:55,710 --> 00:58:59,395 Па, навистина не може да се направи програма дека има бесконечен број на printf 1154 00:58:59,395 --> 00:59:00,850 изјави во тоа, нели? 1155 00:59:00,850 --> 00:59:04,900 >> Така што во овој особено сценарио, еден начин дека можете да направите оваа работа и 1156 00:59:04,900 --> 00:59:09,330 да се направи тоа се печати засекогаш е да се наместо да користите додека јамка. 1157 00:59:09,330 --> 00:59:13,640 Па додека јамка ќе се изврши што е во телото на две загради дека 1158 00:59:13,640 --> 00:59:17,250 припаѓа на тоа врз основа на што состојбата е. 1159 00:59:17,250 --> 00:59:21,170 Така што во овој конкретен пример порано, ако ние сакаме да печати ја оваа засекогаш, што 1160 00:59:21,170 --> 00:59:23,590 може да правиме? 1161 00:59:23,590 --> 00:59:25,190 Па, сигурна сум, нели? 1162 00:59:25,190 --> 00:59:32,290 >> Па овој вид на комбинација на идејата на некои Булова израз 1163 00:59:32,290 --> 00:59:33,610 заедно со јамка. 1164 00:59:33,610 --> 00:59:35,780 И ние дознавме за Булова изрази порано. 1165 00:59:35,780 --> 00:59:39,650 Значи секогаш кога состојбата во внатрешноста на дека додека останува вистина, овој циклус 1166 00:59:39,650 --> 00:59:41,480 ќе се изврши и на и на. 1167 00:59:41,480 --> 00:59:44,640 И во овој случај, ако ние само го снабдување со точно, ова предизвикува бесконечен 1168 00:59:44,640 --> 00:59:49,310 јамка која отпечатоци на песната и натаму и како што саканиот пред без 1169 00:59:49,310 --> 00:59:52,410 има програма со која има бесконечен број на printf извештаи, што е 1170 00:59:52,410 --> 00:59:55,220 не е можно. 1171 00:59:55,220 --> 00:59:57,810 >> Па повеќе убедливо, иако, можете да го користите ова со 1172 00:59:57,810 --> 00:59:59,710 променлив и состојба. 1173 00:59:59,710 --> 01:00:04,420 Па да речеме ние сакаме да се повтори фраза, целосно смахнат, 10 пати. 1174 01:00:04,420 --> 01:00:08,380 Така што можете да направите со време јамка е мора прво да се иницијализира со контра 1175 01:00:08,380 --> 01:00:10,860 променлива надвор од Додека јамка до 10. 1176 01:00:10,860 --> 01:00:14,360 А потоа во основа, секој пат кога ќе одам преку Додека телефонска линија, можете да испечатите 1177 01:00:14,360 --> 01:00:19,090 изјава, а потоа можете да се намали на контра променлива до на крајот, 1178 01:00:19,090 --> 01:00:23,020 во одреден момент, откако ќе се одземе јас доволно пати, 1 од I доволно пати - 1179 01:00:23,020 --> 01:00:27,290 и само да се разјаснат, јас минус минус значи дека е еднаква јас минус 1. 1180 01:00:27,290 --> 01:00:31,280 >> Што во основа ќе донесе јас се спушти до точка каде што некогаш ќе се погоди нула, ова 1181 01:00:31,280 --> 01:00:35,260 состојба не е вистина и па тоа излегува надвор од јамка. 1182 01:00:35,260 --> 01:00:37,045 Така целосно смахнат отпечатоци само 10 пати. 1183 01:00:37,045 --> 01:00:39,550 1184 01:00:39,550 --> 01:00:41,080 Какви прашања во врска додека јамка? 1185 01:00:41,080 --> 01:00:44,580 1186 01:00:44,580 --> 01:00:46,790 OK. 1187 01:00:46,790 --> 01:00:50,550 >> Значи постои начин можеме да го направиме она што ние едноставно направи во повеќе концизен начин со 1188 01:00:50,550 --> 01:00:51,715 она што ние го нарекуваме За јамка. 1189 01:00:51,715 --> 01:00:55,750 Па За циклус се состои од иницијализација, состојба, и 1190 01:00:55,750 --> 01:00:58,950 ажурирање, исто како што имаше пред во овој Додека јамка. 1191 01:00:58,950 --> 01:00:59,890 Па ајде да ги разгледаме. 1192 01:00:59,890 --> 01:01:02,900 Во овој Додека јамка, имавме иницијализација, тогаш имавме 1193 01:01:02,900 --> 01:01:04,260 услов да ја провери. 1194 01:01:04,260 --> 01:01:06,450 А потоа имавме ажурирање чекор на врвот. 1195 01:01:06,450 --> 01:01:10,060 >> Со За јамка, ова во основа се овие три работи и кондензира тоа 1196 01:01:10,060 --> 01:01:11,370 долу во една линија. 1197 01:01:11,370 --> 01:01:15,130 Така првото нешто што го прави тоа во За телефонска линија е иницијализација. 1198 01:01:15,130 --> 01:01:19,090 А потоа ќе се направи точка-запирка, а потоа да го направите на состојбата, која е јас 1199 01:01:19,090 --> 01:01:22,200 поголема од нула оди таму, а потоа ажурирање чекор. 1200 01:01:22,200 --> 01:01:26,470 Значи ова добива изведена на самиот крај на јамка телото. 1201 01:01:26,470 --> 01:01:28,790 Значи овие две програми се суштина еквивалент. 1202 01:01:28,790 --> 01:01:31,960 1203 01:01:31,960 --> 01:01:33,870 >> Било какви прашања? 1204 01:01:33,870 --> 01:01:37,000 Значи она што е една разлика меѓу овие две? 1205 01:01:37,000 --> 01:01:38,000 Секој може да го истакнам? 1206 01:01:38,000 --> 01:01:40,480 Тоа може да биде малку суптилни. 1207 01:01:40,480 --> 01:01:41,930 Тоа е само многу мала разлика. 1208 01:01:41,930 --> 01:01:42,330 Да? 1209 01:01:42,330 --> 01:01:49,008 >> ЗВУЧНИК 5: Вие не ќе можат да ги користат јас променлива надвор од За јамка 1210 01:01:49,008 --> 01:01:49,962 [Нечујни]? 1211 01:01:49,962 --> 01:01:50,900 >> JOSEPH: Токму така. 1212 01:01:50,900 --> 01:01:53,550 Па ова е нешто ние ќе дојдеме до подоцна наречен променлива опсегот. 1213 01:01:53,550 --> 01:01:56,610 Но во суштина, ова int i животи надвор од оваа Додека јамка. 1214 01:01:56,610 --> 01:01:59,800 Па еднаш ова додека јамка е направено извршување, ќе бидете во можност да го користите подоцна 1215 01:01:59,800 --> 01:02:00,880 на во програмата. 1216 01:02:00,880 --> 01:02:05,430 >> Додека со тоа за јамка, ова int i е scoped внатрешноста на оваа За јамка. 1217 01:02:05,430 --> 01:02:10,240 И поради тоа што е внатре на овој дел на За јамка, која започнува 1218 01:02:10,240 --> 01:02:13,200 на голема заграда и завршува со кадрава голема заграда таму. 1219 01:02:13,200 --> 01:02:16,120 Нешто што е прогласена во внатрешноста на тука не може да се користи надвор. 1220 01:02:16,120 --> 01:02:20,420 Значи, ако јас се обидувам да го користам надвор, тоа ќе кажи ми, непријавени симбол. 1221 01:02:20,420 --> 01:02:22,420 А во суштина, јас не би да биде во можност да го користам. 1222 01:02:22,420 --> 01:02:28,460 >> Роб: И добро, пред 10 години, во буквално сите случаи, големите загради се 1223 01:02:28,460 --> 01:02:31,140 она што се користи за да се утврди обемот на променливата. 1224 01:02:31,140 --> 01:02:37,240 Па таму, int i еднакво на 10 е прогласена во внатрешноста на оваа 1225 01:02:37,240 --> 01:02:38,520 во собата на тркалезните загради. 1226 01:02:38,520 --> 01:02:42,530 И така тогаш колку што ќе се обидат да се користи јас пред овој кадрава голема заграда, тоа е во ред. 1227 01:02:42,530 --> 01:02:47,090 1228 01:02:47,090 --> 01:02:51,460 Можете да видите кога ќе напишете направи, можете види цртичка, цртичка, СПБ, еднаква, C99. 1229 01:02:51,460 --> 01:02:57,100 >> Па тоа е понова верзија на C, кој GCC има имплементирано што исто така дава 1230 01:02:57,100 --> 01:02:58,740 оваа кратенка. 1231 01:02:58,740 --> 01:03:03,505 Значи ова се користи за да не се дозволи во В И можете да видите зошто, бидејќи ова int 1232 01:03:03,505 --> 01:03:07,600 I е надвор од оваа кадрава голема заграда, но тоа е уште се смета да биде во 1233 01:03:07,600 --> 01:03:09,750 опсегот на овие големи загради. 1234 01:03:09,750 --> 01:03:14,120 Но, ова е многу погодно работа, и така тоа е добра екстензија. 1235 01:03:14,120 --> 01:03:15,370 >> JOSEPH: Било какви прашања? 1236 01:03:15,370 --> 01:03:17,550 1237 01:03:17,550 --> 01:03:19,260 OK. 1238 01:03:19,260 --> 01:03:22,820 Значи она што е покорисно е дека понекогаш сакаш вид на динамика во 1239 01:03:22,820 --> 01:03:23,410 вашата телефонска линија, нели? 1240 01:03:23,410 --> 01:03:26,350 Вие не сакате само да мора да се печати целосно смахнат цело време, можете 1241 01:03:26,350 --> 01:03:28,650 сакате да одбројува од 10 или така нешто. 1242 01:03:28,650 --> 01:03:32,010 И така можете да го користите контра променлива внатре во тоа јамка, како и. 1243 01:03:32,010 --> 01:03:35,530 И во овој случај, оваа програма е само одбројува од 10 сите на патот надолу. 1244 01:03:35,530 --> 01:03:39,260 И она што не го не ги испечатите? 1245 01:03:39,260 --> 01:03:42,790 Тоа не печати нула, право, затоа што кога - 1246 01:03:42,790 --> 01:03:45,460 Да, тоа, исто така, не печати 11. 1247 01:03:45,460 --> 01:03:49,200 >> Па тоа не печати нула, затоа што кога Јас е нула, се сеќавам, тоа го оценува 1248 01:03:49,200 --> 01:03:52,170 состојбата пред да оди на да се изврши јамка телото. 1249 01:03:52,170 --> 01:03:56,820 И кога ќе е нула, ова е неточно, па тоа не испечатите одбројува 1250 01:03:56,820 --> 01:04:00,200 нула, тоа само отпечатоци од броење долу 10 сите на патот до 1. 1251 01:04:00,200 --> 01:04:03,420 Ако ние всушност сакаа тоа да се печати нула, тогаш ние ќе се стави знак за еднаквост 1252 01:04:03,420 --> 01:04:04,750 По ова поголема од знак. 1253 01:04:04,750 --> 01:04:09,400 1254 01:04:09,400 --> 01:04:10,130 OK. 1255 01:04:10,130 --> 01:04:16,410 >> Значи еден од начините да се направи влез валидација, која е кога ќе побара од корисникот да се направи 1256 01:04:16,410 --> 01:04:18,620 нешто, вие сакате да бидете сигурни дека тие следат вашите упатства, е да се користи 1257 01:04:18,620 --> 01:04:19,400 додека јамка, нели? 1258 01:04:19,400 --> 01:04:22,990 Значи во конкретниов случај, Прашувам за позитивен број, а потоа сум 1259 01:04:22,990 --> 01:04:23,810 чекање за влез. 1260 01:04:23,810 --> 01:04:28,210 >> А потоа ги проверив Додека влез е помала од нула, да ги задржи барајќи од нив. 1261 01:04:28,210 --> 01:04:32,100 Толку колку што тие ми даде голем број тоа не е позитивно, да ги задржи прашува, 1262 01:04:32,100 --> 01:04:33,600 задржи прашува, да ги задржи прашувам. 1263 01:04:33,600 --> 01:04:35,860 Но она што е вид на чудно за ова? 1264 01:04:35,860 --> 01:04:38,570 Или она што не изгледа оптимално за оваа структура, токму тука? 1265 01:04:38,570 --> 01:04:44,282 1266 01:04:44,282 --> 01:04:44,758 Некој? 1267 01:04:44,758 --> 01:04:45,234 Да? 1268 01:04:45,234 --> 01:04:47,614 >> ЗВУЧНИК 6: Ти си се повторува настава двапати. 1269 01:04:47,614 --> 01:04:48,100 >> JOSEPH: Право. 1270 01:04:48,100 --> 01:04:50,090 Значи имаме две printf изјави тука, нели? 1271 01:04:50,090 --> 01:04:53,440 Па таму е начинот на кој ние би можеле да добијат тоа само одредување на оној кој ќе го направи нашата 1272 01:04:53,440 --> 01:04:57,170 кодот полесно да се чита и малку повеќе чист. 1273 01:04:57,170 --> 01:05:00,180 И тогаш ние не би требало да се Влегувај двапати, како и. 1274 01:05:00,180 --> 01:05:03,740 И еден начин можете да го направите ова е со помош на не-Додека јамка. 1275 01:05:03,740 --> 01:05:07,670 >> И на Do-Додека јамка во основа е поинаква форма на време јамка каде 1276 01:05:07,670 --> 01:05:11,460 она што е во рамките на тркалезните загради добива извршува барем еднаш. 1277 01:05:11,460 --> 01:05:14,840 Значи тука, изјавувам, int влез, надвор во прв план. 1278 01:05:14,840 --> 01:05:18,100 А потоа јас само да кажам, ова инструкции додека влез 1279 01:05:18,100 --> 01:05:19,140 е помала од нула. 1280 01:05:19,140 --> 01:05:20,530 Така хитови направи првата. 1281 01:05:20,530 --> 01:05:24,190 Таа секогаш ќе се изврши ова најмалку еднаш, така што секогаш ќе побара од корисникот 1282 01:05:24,190 --> 01:05:25,960 за влез на барем еднаш. 1283 01:05:25,960 --> 01:05:29,390 И тогаш тоа го оценува дека влез, и тоа оди во круг. 1284 01:05:29,390 --> 01:05:30,135 Да, прашање? 1285 01:05:30,135 --> 01:05:32,602 >> ЗВУЧНИК 6: Дали постои начин да го направи тоа [Нечујни] видови, како ако се каже, 1286 01:05:32,602 --> 01:05:34,268 GetString, а некој [нечујни] 1287 01:05:34,268 --> 01:05:35,220 има ли начин да се [нечујни] 1288 01:05:35,220 --> 01:05:40,060 >> JOSEPH: Значи, прашањето е, дали има начин да го направите влез валидација ако корисникот 1289 01:05:40,060 --> 01:05:41,850 не се стави во право тип на променлива? 1290 01:05:41,850 --> 01:05:44,460 Значи, ако ние ја бараме int и тие ни даде низа наместо тоа. 1291 01:05:44,460 --> 01:05:49,110 И во функции кои ги спроведуваме за вас, GetInt, GetString во сите 1292 01:05:49,110 --> 01:05:52,680 тие функции, тие, всушност, веќе направи тој вид на основен тип влез 1293 01:05:52,680 --> 01:05:54,120 валидација под хауба. 1294 01:05:54,120 --> 01:05:57,390 Значи, ако сте со користење на функции кои сме даде тебе, ти навистина не мора да. 1295 01:05:57,390 --> 01:06:01,380 >> Но, ако сакате да се погледне повеќе во тоа како всушност можете да го направите тоа, можете да барате 1296 01:06:01,380 --> 01:06:03,360 под хаубата на датотеката I/O-- 1297 01:06:03,360 --> 01:06:07,990 не поднесе, стандард I / O функции како читање од стандарден влез и 1298 01:06:07,990 --> 01:06:08,580 стандарден излез. 1299 01:06:08,580 --> 01:06:10,630 И можете да добиете подобра смисла за тоа како можете да го направите тоа. 1300 01:06:10,630 --> 01:06:13,670 >> Роб: Едно прашање, сепак, е специјално со примерот што 1301 01:06:13,670 --> 01:06:17,070 рече, да очекуваме низа и јас внесете Инт. 1302 01:06:17,070 --> 01:06:20,110 Како вие би ја каже разликата меѓу намерно сакајќи 1303 01:06:20,110 --> 01:06:23,130 низа 123 наспроти сакаат ИНТ 123? 1304 01:06:23,130 --> 01:06:29,230 Па стринг, тоа е доста нема валидација, тоа е само она што тие 1305 01:06:29,230 --> 01:06:31,600 влезе ќе интерпретираат како стринг. 1306 01:06:31,600 --> 01:06:35,790 >> Int е полесно, бидејќи без разлика на влез ве однесе од корисникот, вие сте 1307 01:06:35,790 --> 01:06:37,470 секогаш имајќи стринг. 1308 01:06:37,470 --> 01:06:40,650 И така што низа тогаш може да провери, се сите овие 1309 01:06:40,650 --> 01:06:44,218 всушност нумерички цифри? 1310 01:06:44,218 --> 01:06:45,170 >> JOSEPH: OK. 1311 01:06:45,170 --> 01:06:46,420 Било какви прашања во врска со Do-Додека јамка? 1312 01:06:46,420 --> 01:06:49,170 >> Роб: О, и ова е, исто така, - 1313 01:06:49,170 --> 01:06:55,130 да се вратам на обемот, малку заеднички грешка се обидува да го користите некои локални 1314 01:06:55,130 --> 01:06:59,540 променлива од рамките на овој Do-Додека јамка внатрешноста на оваа состојба. 1315 01:06:59,540 --> 01:07:02,850 А всушност, ако ние се отрујам ова и рече, int влез еднаква на 1316 01:07:02,850 --> 01:07:06,990 GetInt, а потоа компајлерот ќе се развикам нас, бидејќи влез не постои 1317 01:07:06,990 --> 01:07:08,900 надвор од опсегот на овие големи загради. 1318 01:07:08,900 --> 01:07:10,792 >> JOSEPH: И тоа е причината зошто ние треба оваа постава тука. 1319 01:07:10,792 --> 01:07:13,620 1320 01:07:13,620 --> 01:07:14,630 OK. 1321 01:07:14,630 --> 01:07:17,530 Така што исто така може да се пробие на јамка на почетокот ако сакате да. 1322 01:07:17,530 --> 01:07:21,240 Па ова е еден поинаков начин на спроведување она што ние едноставно се спроведува. 1323 01:07:21,240 --> 01:07:24,340 И наместо користење на состојба во рамките на загради, ние сме со користење на 1324 01:07:24,340 --> 01:07:26,920 Ако изјава во внатрешноста на телото на Do-Додека јамка. 1325 01:07:26,920 --> 01:07:30,000 >> И во основа, кога влезот е конечно поголема од нула, ние ќе 1326 01:07:30,000 --> 01:07:31,000 се пробие на јамка. 1327 01:07:31,000 --> 01:07:33,420 И така ние ќе одат сите на патот надолу тука. 1328 01:07:33,420 --> 01:07:37,920 И можете да видите дека тоа ќе веројатно се претпочита во овој 1329 01:07:37,920 --> 01:07:39,870 сценарио, бидејќи тоа е малку малку почиста и малку 1330 01:07:39,870 --> 01:07:41,380 малку полесно за читање. 1331 01:07:41,380 --> 01:07:45,210 Со оглед на тоа, може да се вид имаат дополнителни линии во неа. 1332 01:07:45,210 --> 01:07:47,890 Тоа е само малку погрда, Претпоставувам, во некоја смисла. 1333 01:07:47,890 --> 01:07:48,530 Да, прашање? 1334 01:07:48,530 --> 01:07:52,178 >> ЗВУЧНИК 4: Ќе се скрши само што се сте надвор од еден сет на загради? 1335 01:07:52,178 --> 01:07:53,080 >> JOSEPH: Право. 1336 01:07:53,080 --> 01:07:58,100 Значи, прашањето е ќе се скрши само да ви од еден циклус? 1337 01:07:58,100 --> 01:07:59,280 А одговорот е да. 1338 01:07:59,280 --> 01:08:04,290 Значи, ако имате вгнездени јамки, за На пример, ако имам за int i изнесува 0 1339 01:08:04,290 --> 01:08:09,040 до 10, а потоа за int j еднаква 0 до 10, ако се пробие на внатрешниот 1340 01:08:09,040 --> 01:08:12,310 јамка, јас сепак ќе одам на надворешниот јамка. 1341 01:08:12,310 --> 01:08:15,760 Па тоа ќе продолжиме вршење на операции на надвор. 1342 01:08:15,760 --> 01:08:17,640 Било какви прашања во врска со тоа? 1343 01:08:17,640 --> 01:08:18,000 Да? 1344 01:08:18,000 --> 01:08:21,760 >> ЗВУЧНИК 5: Но, се скрши само функции за големи загради, а не за други 1345 01:08:21,760 --> 01:08:22,230 изјави? 1346 01:08:22,230 --> 01:08:22,700 [Нечујни] 1347 01:08:22,700 --> 01:08:27,620 >> JOSEPH: Значи, прашањето е ќе се скрши само функција за петелки што е спротивно на 1348 01:08:27,620 --> 01:08:29,014 други изјави од типот ако? 1349 01:08:29,014 --> 01:08:32,950 И да, тоа е случај, бидејќи ти си кршење надвор од јамка, десно, 1350 01:08:32,950 --> 01:08:33,630 во некоја смисла. 1351 01:08:33,630 --> 01:08:37,215 >> Роб: Во огромно мнозинство на случаи, тоа е ова е вид на Ако нешто, 1352 01:08:37,215 --> 01:08:37,660 тогаш се скрши. 1353 01:08:37,660 --> 01:08:41,580 Значи, вие не мора да се разбие да се применуваат на на Ако тоа е завиткување околу неа. 1354 01:08:41,580 --> 01:08:45,250 И, исто така, ова не е многу на јамка, но запомнете дека прекинувачи се исто така 1355 01:08:45,250 --> 01:08:46,340 избувнал од страна паузи. 1356 01:08:46,340 --> 01:08:48,390 Видовме паузи се користат со прекинувачи порано. 1357 01:08:48,390 --> 01:08:52,189 >> JOSEPH: И ти исто така може да ги користат во Додека петелките и За петелки. 1358 01:08:52,189 --> 01:08:54,560 Било какви прашања? 1359 01:08:54,560 --> 01:08:55,830 OK. 1360 01:08:55,830 --> 01:08:57,779 Значи следниот up е функции. 1361 01:08:57,779 --> 01:09:01,500 Така што може да се користи еден од овие BYOB блокови во вашиот одбројување. 1362 01:09:01,500 --> 01:09:04,569 И ова всушност им овозможува на можете да дефинирате група на 1363 01:09:04,569 --> 01:09:05,680 инструкции треба да се следи. 1364 01:09:05,680 --> 01:09:09,569 >> И она што мислам со тоа е ајде да размислиме назад кон математика, десно, алгебра. 1365 01:09:09,569 --> 01:09:13,370 Имате она што ние го нарекуваме функција на x, некои променлива, и да речеме ова 1366 01:09:13,370 --> 01:09:16,080 функција е f на x е еднаква на x плус 5. 1367 01:09:16,080 --> 01:09:20,410 Така што може да замислите ѓ на x како овој црн кутија, која трае 15 и потоа 1368 01:09:20,410 --> 01:09:22,590 произведува 20. 1369 01:09:22,590 --> 01:09:26,630 >> Така поопшто, функцијата е нешто што е потребно некои влезови и 1370 01:09:26,630 --> 01:09:27,880 потоа произведува некои резултати. 1371 01:09:27,880 --> 01:09:31,920 1372 01:09:31,920 --> 01:09:32,960 И зошто се функции добро? 1373 01:09:32,960 --> 01:09:35,189 Тие се добри за голем број на причини. 1374 01:09:35,189 --> 01:09:40,470 Па не некој сакаат да ги преземат прободе во она што организацијата значи? 1375 01:09:40,470 --> 01:09:42,630 Во однос на тоа зошто функции се корисни? 1376 01:09:42,630 --> 01:09:43,090 Да? 1377 01:09:43,090 --> 01:09:44,735 >> ЗВУЧНИК 4: Тоа го прави вашиот кодот повеќе читлив. 1378 01:09:44,735 --> 01:09:45,399 >> JOSEPH: Право. 1379 01:09:45,399 --> 01:09:47,670 Значи една од работите е тоа го прави вашиот код се чита, нели? 1380 01:09:47,670 --> 01:09:53,710 Наместо како int x е еднаква на x пати х пати х, можам да имам коцка на x, 1381 01:09:53,710 --> 01:09:57,190 што е повеќе може да се чита и повеќе разбирлив за читателот. 1382 01:09:57,190 --> 01:10:01,150 >> Организација е, исто така, во однос на расцепувањето на вашиот код во податлив 1383 01:10:01,150 --> 01:10:05,610 делови, така што наместо да се обидува да спроведување сето ова во еден долг секција 1384 01:10:05,610 --> 01:10:09,070 Во главната, може да се вид да го подели во како, Добро, ајде да се напише функција 1385 01:10:09,070 --> 01:10:11,910 да коцка нешто, ајде да се напише функционираат на плоштад нешто. 1386 01:10:11,910 --> 01:10:15,950 На тој начин можете да го подели на мали, малку делови кои може да се справи 1387 01:10:15,950 --> 01:10:18,944 што е спротивно на се обидува да се справи со голем проблем на сите одеднаш. 1388 01:10:18,944 --> 01:10:21,806 >> Роб: Или дури и мал, малку делови кои вие и партнерот може да се справи. 1389 01:10:21,806 --> 01:10:22,283 >> JOSEPH: Да. 1390 01:10:22,283 --> 01:10:23,855 >> Роб: Така, наместо на двете се обидуваш да имплант еден 1391 01:10:23,855 --> 01:10:27,170 функционира во исто време. 1392 01:10:27,170 --> 01:10:28,800 >> JOSEPH: Поедноставување. 1393 01:10:28,800 --> 01:10:30,050 Секој сака да земе се погоди? 1394 01:10:30,050 --> 01:10:33,080 1395 01:10:33,080 --> 01:10:33,410 Да? 1396 01:10:33,410 --> 01:10:34,675 >> ЗВУЧНИК 5: Повеќе повторување. 1397 01:10:34,675 --> 01:10:35,260 >> JOSEPH: Право. 1398 01:10:35,260 --> 01:10:39,210 Значи едно нешто што можете да направите со поедноставување е дека тоа е вид на на 1399 01:10:39,210 --> 01:10:42,520 на истото рамниште како ре-употребливост е дека еднаш јас пишувам коцка функција, можам да 1400 01:10:42,520 --> 01:10:45,410 само го користите дека одново и одново и одново повторно во мојата програма, наместо на пишување 1401 01:10:45,410 --> 01:10:49,610 x пати х пати х одново и одново и одново. 1402 01:10:49,610 --> 01:10:52,980 И поедноставување тука, исто така, само значи тоа го прави вашиот код вид на 1403 01:10:52,980 --> 01:10:55,900 полесно да се debug штом ќе се подели ова горе во функции. 1404 01:10:55,900 --> 01:10:58,250 Затоа што тогаш ќе може да се локализираат каде вашите проблеми вид на се. 1405 01:10:58,250 --> 01:11:00,910 1406 01:11:00,910 --> 01:11:02,160 Било какви прашања? 1407 01:11:02,160 --> 01:11:04,200 1408 01:11:04,200 --> 01:11:06,540 >> Значи уште една идеја е апстракција, нели? 1409 01:11:06,540 --> 01:11:07,390 Оваа црна кутија. 1410 01:11:07,390 --> 01:11:11,360 Како не знаеш што GetInt не да добијат влез од корисникот? 1411 01:11:11,360 --> 01:11:12,510 Ние сме навистина не ви кажав, нели? 1412 01:11:12,510 --> 01:11:15,670 Сите ние сме ви кажале е GetInt не токму она што го вели тоа го прави. 1413 01:11:15,670 --> 01:11:18,440 Па дури и ако ние не ви кажам како тоа функционира, ти сеуште знаат. 1414 01:11:18,440 --> 01:11:21,670 >> Значи во конкретниов случај, тоа е на четворни функција која го прави 1415 01:11:21,670 --> 01:11:24,520 различни нешта за влез за производство на излез. 1416 01:11:24,520 --> 01:11:28,050 И можете да ја зголемат бројот со множење него од страна на четири. 1417 01:11:28,050 --> 01:11:30,790 Или можете да она што ние го нарекуваме малку го префрли од страна на две. 1418 01:11:30,790 --> 01:11:32,960 И ние ќе ги покрие овој малку подоцна. 1419 01:11:32,960 --> 01:11:36,570 И нема потреба да се знае како овој функција всушност функционира како долго како што 1420 01:11:36,570 --> 01:11:37,640 работи како што е наведено. 1421 01:11:37,640 --> 01:11:40,740 >> Значи под хауба, би можел да биде како, се врати влез пати 1422 01:11:40,740 --> 01:11:41,690 осум поделено со две. 1423 01:11:41,690 --> 01:11:42,510 И вие не би знаеле, нели? 1424 01:11:42,510 --> 01:11:44,970 Сите што треба да знаете е тоа го прави она што го кажува. 1425 01:11:44,970 --> 01:11:48,070 Значи тоа е корисна работа за апстракција. 1426 01:11:48,070 --> 01:11:52,910 >> И уште нешто е вид на оваа идеја на локализирање на вашиот код на еден 1427 01:11:52,910 --> 01:11:54,280 особено секција. 1428 01:11:54,280 --> 01:11:57,450 Значи, ако имате проблем, не го стори мора да одат сите над вашиот код се обидува 1429 01:11:57,450 --> 01:11:58,730 за да го надминете каде е проблемот. 1430 01:11:58,730 --> 01:12:00,990 Значи во овој случај, јас се спроведува коцка погрешно. 1431 01:12:00,990 --> 01:12:02,820 Мислев коцка беше множење од страна на три. 1432 01:12:02,820 --> 01:12:05,760 >> Значи во овој случај, ова е една програма дека само го множење со три 1433 01:12:05,760 --> 01:12:06,750 насекаде. 1434 01:12:06,750 --> 01:12:10,910 И таму е друга програма која има констатирано коцка надвор во функција. 1435 01:12:10,910 --> 01:12:14,040 Па сега ако сакам да се поправи мојата грешка тука, морам да се поправи секоја линија 1436 01:12:14,040 --> 01:12:15,620 на код во оваа програма. 1437 01:12:15,620 --> 01:12:19,190 Додека на друга страна, ако јас го користам функција, јас само треба да се промени 1438 01:12:19,190 --> 01:12:20,650 она што не беше во ред на едно место. 1439 01:12:20,650 --> 01:12:25,330 1440 01:12:25,330 --> 01:12:28,730 >> Така во компјутерската наука, ние јавете влезови и излези. 1441 01:12:28,730 --> 01:12:31,640 Влезови се нарекуваат параметри или аргументи, и излези се нарекуваат 1442 01:12:31,640 --> 01:12:32,950 се вратат вредностите. 1443 01:12:32,950 --> 01:12:39,000 И ќе видиме колку овој ни помага вид на дефинира функција во вториот. 1444 01:12:39,000 --> 01:12:41,430 Значи ова е дефиницијата на функцијата за местење Рубикова коцка. 1445 01:12:41,430 --> 01:12:45,110 Така што е потребно за влез, а потоа го враќа тој број пати 1446 01:12:45,110 --> 01:12:47,020 се три пати. 1447 01:12:47,020 --> 01:12:48,020 Па ајде да се скрши оваа надолу. 1448 01:12:48,020 --> 01:12:53,090 >> Па ние имаме функцијата header, која основа се состои од три работи. 1449 01:12:53,090 --> 01:12:56,050 Значи имаме параметри, кои се, како што реков порано, 1450 01:12:56,050 --> 01:12:57,680 влезови во оваа функција. 1451 01:12:57,680 --> 01:12:59,300 А потоа ние им даде на функцијата име. 1452 01:12:59,300 --> 01:13:00,740 Во овој случај, се вика коцка. 1453 01:13:00,740 --> 01:13:03,860 А потоа ние се определи што типот на вратената вредност е. 1454 01:13:03,860 --> 01:13:06,760 >> Така што во овој случај, мојот коцка функција го во цел број и, исто така, 1455 01:13:06,760 --> 01:13:07,890 се враќа цел број. 1456 01:13:07,890 --> 01:13:11,510 Значи, ако јас се помине во два, два е цел број, го враќа осум до мене, што 1457 01:13:11,510 --> 01:13:13,250 е цел број. 1458 01:13:13,250 --> 01:13:15,420 Па се врати видот име параметри. 1459 01:13:15,420 --> 01:13:16,670 Прашања во врска со тоа? 1460 01:13:16,670 --> 01:13:19,440 1461 01:13:19,440 --> 01:13:24,230 >> И тогаш вратената вредност е всушност наведени на крајот, велејќи враќање 1462 01:13:24,230 --> 01:13:27,540 , а потоа враќање она што содржи вратената вредност. 1463 01:13:27,540 --> 01:13:30,940 Значи во овој случај, ако ние го стави сите заедно, функција го во 1464 01:13:30,940 --> 01:13:35,100 параметри, се вика нешто, а го враќа нешто што е од типот 1465 01:13:35,100 --> 01:13:36,350 дека ние велат дека тоа требаше да биде. 1466 01:13:36,350 --> 01:13:39,830 1467 01:13:39,830 --> 01:13:41,080 Било какви прашања? 1468 01:13:41,080 --> 01:13:43,710 1469 01:13:43,710 --> 01:13:45,080 >> Така како ние да се користи некоја функција? 1470 01:13:45,080 --> 01:13:49,230 Па, ние се напише функција и потоа ние го користиме во нашата програма, нели? 1471 01:13:49,230 --> 01:13:51,565 Па јас го нарече коцка, и тогаш можам да користам коцка. 1472 01:13:51,565 --> 01:13:54,200 >> Но она што е важно да се напомене е дека цел прашања. 1473 01:13:54,200 --> 01:13:58,100 Ако имам коцка подолу главната, тоа е случува да се кандидира во коцка. 1474 01:13:58,100 --> 01:14:00,360 И во овој момент, нема ништо наречен коцка во програмата, а тоа е 1475 01:14:00,360 --> 01:14:02,550 само ќе биде како, имам никаква идеја што коцката е. 1476 01:14:02,550 --> 01:14:05,060 >> Па затоа ќе ти кажам, имплицитни декларација на функција. 1477 01:14:05,060 --> 01:14:06,690 Тоа е грешка која се појавува. 1478 01:14:06,690 --> 01:14:10,230 И така во овој случај, коцката е подолу Главната, па тоа не се случува 1479 01:14:10,230 --> 01:14:12,006 да знае за тоа. 1480 01:14:12,006 --> 01:14:14,724 >> ЗВУЧНИК 5: Значи главната обично дефинирани последната функција? 1481 01:14:14,724 --> 01:14:17,290 >> JOSEPH: Значи, прашањето е, е главната обично последната 1482 01:14:17,290 --> 01:14:18,170 нешто што би се дефинира? 1483 01:14:18,170 --> 01:14:19,730 И не. 1484 01:14:19,730 --> 01:14:22,280 Тоа е затоа што ние обично се допаѓа главните да се биде на врвот, нели? 1485 01:14:22,280 --> 01:14:24,640 Затоа што тоа е првото нешто што сакате програмер отворање на 1486 01:14:24,640 --> 01:14:25,640 програма за да ја видите. 1487 01:14:25,640 --> 01:14:29,950 И така како ние да се реши ова прашање на што сакате главна за да се биде на врвот, но 1488 01:14:29,950 --> 01:14:33,750 функции што го сакаме, ние ги сакате да биде под главната сепак да биде во можност да го користите 1489 01:14:33,750 --> 01:14:34,930 ги внатрешноста на главниот? 1490 01:14:34,930 --> 01:14:36,870 >> Па, ние ги користиме она што ние го нарекуваме функција прототип. 1491 01:14:36,870 --> 01:14:40,830 Па што функција прототип суштина е е прв пат зема она што 1492 01:14:40,830 --> 01:14:45,060 потпис или функцијата header на она што сакаме да се имплементира надолу 1493 01:14:45,060 --> 01:14:47,420 тука, и ние го стави на на врвот на програмата. 1494 01:14:47,420 --> 01:14:51,400 >> Значи во овој случај, можеме да речеме дека, добро, подоцна во нашата програма, ние ќе 1495 01:14:51,400 --> 01:14:55,010 да се направи ветување за спроведување на оваа функција наречена int коцка, која ги зема 1496 01:14:55,010 --> 01:14:56,260 цел број влез. 1497 01:14:56,260 --> 01:15:00,870 Па сега, бидејќи тоа е над главната, Главната, тоа се случува да се каже, добро де, 1498 01:15:00,870 --> 01:15:03,910 подоцна во програмата, која ќе биде таму за да можам да се однесуваат кон него, па ќе се 1499 01:15:03,910 --> 01:15:05,230 само нека одат преку сега за сега. 1500 01:15:05,230 --> 01:15:07,660 >> А потоа на дното, ние спроведување коцка. 1501 01:15:07,660 --> 01:15:11,180 А потоа главната само ќе кажам, добро, тоа ќе го решите на врската 1502 01:15:11,180 --> 01:15:12,250 овие два симболи заедно. 1503 01:15:12,250 --> 01:15:14,320 И ние ќе ги покрие она што значи подоцна. 1504 01:15:14,320 --> 01:15:17,090 И така тоа ќе знаеш дека ова е коцка функција која треба да се користи. 1505 01:15:17,090 --> 01:15:19,630 1506 01:15:19,630 --> 01:15:23,383 >> Роб: На [нечујни] за кои сакаат главните на дното или 1507 01:15:23,383 --> 01:15:24,880 врвот, сум видел и двете. 1508 01:15:24,880 --> 01:15:28,630 Постојат работи кои само се допаѓа да се стави главен на дното. 1509 01:15:28,630 --> 01:15:32,520 Но еднаш проект добива особено голем, обично главната е во 1510 01:15:32,520 --> 01:15:34,290 поднесе сите свои. 1511 01:15:34,290 --> 01:15:38,170 И во тој момент, како int коцка линија би - 1512 01:15:38,170 --> 01:15:42,460 внатрешноста на stdio.h еден куп на линии исто како што int 1513 01:15:42,460 --> 01:15:44,010 коцка int влез линија. 1514 01:15:44,010 --> 01:15:50,170 >> И така тие прототипови работи што можете имаат тенденција да се стави во насловот датотеки, во 1515 01:15:50,170 --> 01:15:52,140 која точка, тоа не е важно. 1516 01:15:52,140 --> 01:15:54,700 Па, тоа не е важно. 1517 01:15:54,700 --> 01:15:56,070 Оние секогаш одат на врвот. 1518 01:15:56,070 --> 01:15:59,490 И ако главните не е датотека сите свои, вие не мора да се грижите за ставање 1519 01:15:59,490 --> 01:16:02,360 индивидуална функција прототипи во датотеката. 1520 01:16:02,360 --> 01:16:05,370 >> JOSEPH: И ние ќе дојдеме до тоа малку малку подоцна, кога Роб ќе почне да зборува 1521 01:16:05,370 --> 01:16:06,380 за составување. 1522 01:16:06,380 --> 01:16:09,480 И така таму е исто така разликата помеѓу параметар и аргумент. 1523 01:16:09,480 --> 01:16:12,500 И параметар е само она што ние го нарекуваме овие влезови кога 1524 01:16:12,500 --> 01:16:13,820 ние се дефинира функција. 1525 01:16:13,820 --> 01:16:16,950 И ние ја нарекуваме аргумент кога ние всушност ќе поминат во функција. 1526 01:16:16,950 --> 01:16:19,600 >> Значи во овој случај, тоа е параметар, како што веќе рековме. 1527 01:16:19,600 --> 01:16:24,130 И кога ние всушност го користите таму, коцка на x, тогаш X сам по себе е 1528 01:16:24,130 --> 01:16:25,910 она што ние го нарекуваме аргумент на функцијата коцка. 1529 01:16:25,910 --> 01:16:28,150 >> Роб: Значи аргументи параметар се - 1530 01:16:28,150 --> 01:16:33,270 постои оваа разлика, многу меша наизменично. 1531 01:16:33,270 --> 01:16:37,090 Во овој момент, за мене, тоа е како еден од оние зборови кои кога ќе го видите во 1532 01:16:37,090 --> 01:16:41,190 диви, не можам да им помогне, но веднаш прашањето дали тие го користат тоа во 1533 01:16:41,190 --> 01:16:44,120 правилна насока, бидејќи Разликата е суптилна доволно дека само 1534 01:16:44,120 --> 01:16:45,500 секој се стреми - 1535 01:16:45,500 --> 01:16:48,530 Јас скоро секогаш велат аргумент без оглед на она што сакам да кажам. 1536 01:16:48,530 --> 01:16:51,230 1537 01:16:51,230 --> 01:16:54,630 >> JOSEPH: И функции се исто така корисни за она што ние го нарекуваме несакани ефекти. 1538 01:16:54,630 --> 01:16:59,230 Така функција може да се земе без влезови, и тоа исто така може да произведе нема излези. 1539 01:16:59,230 --> 01:17:03,280 Значи во конкретниов случај, јас сум дефинирање на потпрограм дека нема 1540 01:17:03,280 --> 01:17:03,970 се врати вредност. 1541 01:17:03,970 --> 01:17:07,730 А со цел да се каже дека, ние ги користиме она што ние го нарекуваме празнина овде. 1542 01:17:07,730 --> 01:17:10,890 И така пропратен ефект на оваа функција е дека тоа само отпечатоци работи 1543 01:17:10,890 --> 01:17:11,920 до страницата. 1544 01:17:11,920 --> 01:17:13,840 Тоа всушност не ги преземат сите влезови, и тоа не 1545 01:17:13,840 --> 01:17:15,360 всушност произведе било излези. 1546 01:17:15,360 --> 01:17:18,230 >> Но, ова би можело да биде корисно во смисла ако сакате да, на пример, дебагирање 1547 01:17:18,230 --> 01:17:21,530 нешто во вашата програма, ако сакате да се напише малку потпрограм дека 1548 01:17:21,530 --> 01:17:25,160 отпечатоци од, да речеме, содржината меморија или нешто слично. 1549 01:17:25,160 --> 01:17:29,800 И така овие несакани ефекти се понекогаш корисни надвор од контекстот 1550 01:17:29,800 --> 01:17:33,010 само сакале влезови и излези. 1551 01:17:33,010 --> 01:17:34,260 Било какви прашања? 1552 01:17:34,260 --> 01:17:37,270 1553 01:17:37,270 --> 01:17:44,240 >> И да се стави крај на овој сегмент, што значи оваа програма се направи? 1554 01:17:44,240 --> 01:17:47,420 Јас ќе ви даде момци неколку секунди за да се чита преку неа. 1555 01:17:47,420 --> 01:17:52,720 1556 01:17:52,720 --> 01:17:56,880 На многу основни ниво, она што сакате да го го кажам е дека тоа свопови x и y, нели? 1557 01:17:56,880 --> 01:18:00,090 >> Па, како и многумина од вас всушност мислам ова ќе разменуваат x и y? 1558 01:18:00,090 --> 01:18:02,160 Кренете рака. 1559 01:18:02,160 --> 01:18:02,760 Никој. 1560 01:18:02,760 --> 01:18:03,070 OK. 1561 01:18:03,070 --> 01:18:06,720 Кој мисли дека тоа ќе не се разменуваат x и y? 1562 01:18:06,720 --> 01:18:09,120 И збирот на тоа е не на целата соба. 1563 01:18:09,120 --> 01:18:10,440 Па некои луѓе не се сигурни. 1564 01:18:10,440 --> 01:18:10,920 OK. 1565 01:18:10,920 --> 01:18:11,630 Тоа е разумен. 1566 01:18:11,630 --> 01:18:16,450 >> Па ајде да одиме преку она што се случува кога вие всушност се јавите функции прв во 1567 01:18:16,450 --> 01:18:18,320 со цел да се одговори на ова прашање. 1568 01:18:18,320 --> 01:18:21,430 Значи тоа е она што меморија вид на изгледа. 1569 01:18:21,430 --> 01:18:23,860 Ова е вид на како поедноставен модел на каква меморија како изгледа кога 1570 01:18:23,860 --> 01:18:24,800 ќе ја стартувате програмата. 1571 01:18:24,800 --> 01:18:27,270 Значи има нешто што се нарекува магацинот долу тука и 1572 01:18:27,270 --> 01:18:28,330 нешто што се нарекува грамада. 1573 01:18:28,330 --> 01:18:30,950 И овие растат кон средината на меморија. 1574 01:18:30,950 --> 01:18:33,860 >> Така што во овој конкретен случај, кога ќе се јавите на функција, тоа 1575 01:18:33,860 --> 01:18:35,680 добива стави на магацинот. 1576 01:18:35,680 --> 01:18:38,900 А потоа она што е содржано во таа функција останува во она што ние го нарекуваме дека 1577 01:18:38,900 --> 01:18:40,550 магацинот рамка функцијата. 1578 01:18:40,550 --> 01:18:44,500 И така да се добие убав визуелизација на ова, let's - на пример, имавме 1579 01:18:44,500 --> 01:18:45,960 програма главниот порано. 1580 01:18:45,960 --> 01:18:47,820 И во внатрешноста на главниот, што се нарекува коцка. 1581 01:18:47,820 --> 01:18:50,650 Значи главната прв ќе оди на магацинот рамка, затоа што тоа е првата функција 1582 01:18:50,650 --> 01:18:51,640 што се вика. 1583 01:18:51,640 --> 01:18:55,740 >> И тогаш кога коцка е наречен внатрешноста на Главната, таа добива стави на врвот на главната 1584 01:18:55,740 --> 01:18:57,790 внатрешноста на меморија. 1585 01:18:57,790 --> 01:19:02,090 Па што ќе забележите е дека коцката има свој параметри и 1586 01:19:02,090 --> 01:19:02,950 сопствени локалното население. 1587 01:19:02,950 --> 01:19:06,720 Значи, кога всушност ќе помине нешто да функција, параметри дека 1588 01:19:06,720 --> 01:19:09,910 добива се копии на она што беше донесен од главната. 1589 01:19:09,910 --> 01:19:14,140 >> И да се вид на се објасни ова, нека прошетка низ програмата. 1590 01:19:14,140 --> 01:19:16,960 Па ние имаме магацинот, тоа е само оџакот дел. 1591 01:19:16,960 --> 01:19:21,240 И она што го правиме е ние прво се иницијализира x и y да еден и два. 1592 01:19:21,240 --> 01:19:22,400 Па ние имаме овие мали кутии. 1593 01:19:22,400 --> 01:19:25,310 Тие се седи во магацинот главните е рамка на магацинот. 1594 01:19:25,310 --> 01:19:26,580 Тие содржат еден и два. 1595 01:19:26,580 --> 01:19:28,820 >> Сега ние го нарекуваме, swap. 1596 01:19:28,820 --> 01:19:33,940 Што се случува е дека ние помине x и y во swap, и swap создава свој копии 1597 01:19:33,940 --> 01:19:36,520 на оние варијабли да се користи во внатрешноста на своите магацинот рамка. 1598 01:19:36,520 --> 01:19:39,920 Па сега таму, имаме што ја содржи вредноста која x има и b, 1599 01:19:39,920 --> 01:19:41,620 која содржи вредност дека y имал. 1600 01:19:41,620 --> 01:19:42,670 Значи еден, два. 1601 01:19:42,670 --> 01:19:47,130 >> И ќе забележите дека ова е посебен од x и y во внатрешноста на главниот. 1602 01:19:47,130 --> 01:19:51,390 Па ние сега се создаде привремена променлива да содржи. 1603 01:19:51,390 --> 01:19:56,100 Ние постави еднаква на б, така што промени од еден до два. 1604 01:19:56,100 --> 01:19:59,340 А потоа ние постави б еднакви да температура, која е една. 1605 01:19:59,340 --> 01:20:01,640 >> А потоа ние сега излезете надвор на оваа функција. 1606 01:20:01,640 --> 01:20:04,310 1607 01:20:04,310 --> 01:20:07,410 Кога ќе излезете надвор од функција, магацинот рамка добива појави надвор од магацинот. 1608 01:20:07,410 --> 01:20:08,270 Ние ја нарекуваме им помогнам. 1609 01:20:08,270 --> 01:20:12,750 Те турнам магацинот рамка врз оџакот и ќе pop ако надвор од магацинот. 1610 01:20:12,750 --> 01:20:16,080 И така она што се случува е она што беше во таа магацинот рамка вид на само 1611 01:20:16,080 --> 01:20:17,280 оди во пламен. 1612 01:20:17,280 --> 01:20:19,180 И така што повеќе не постои. 1613 01:20:19,180 --> 01:20:20,470 >> Но, она што ќе забележиме? 1614 01:20:20,470 --> 01:20:23,690 Ние всушност никогаш не се промени вредности на x и y, право? 1615 01:20:23,690 --> 01:20:26,530 Па оние остана локално до главната. 1616 01:20:26,530 --> 01:20:29,900 И со полагање работи во трампа, ние всушност никогаш не се менува тие вредности. 1617 01:20:29,900 --> 01:20:31,260 И она што ние го нарекуваме овој? 1618 01:20:31,260 --> 01:20:33,040 Ние го нарекуваме овој праќање на вредност. 1619 01:20:33,040 --> 01:20:36,860 >> Па во C, кога ќе помине работи во функции, таа ги поминува од вредност и 1620 01:20:36,860 --> 01:20:40,160 прави копија на нив за функцијата за употреба. 1621 01:20:40,160 --> 01:20:43,980 И ние ќе учат за нешто што се нарекува праќање преку референца подоцна, но тоа е 1622 01:20:43,980 --> 01:20:45,390 начин може да се реши овој проблем. 1623 01:20:45,390 --> 01:20:47,080 Но, ние не ќе се грижи за дека подоцна. 1624 01:20:47,080 --> 01:20:52,200 >> Роб: И всушност, тој термин, минувајќи со упатување, па C дури и не мора 1625 01:20:52,200 --> 01:20:54,270 поминува референцирање. 1626 01:20:54,270 --> 01:20:56,760 Ц исклучиво го поминува вредност. 1627 01:20:56,760 --> 01:20:59,630 Без разлика на она што го правите, вие сте секогаш поминува копија од нешто. 1628 01:20:59,630 --> 01:21:03,395 Тоа е само дека, како што вид на споменатите дека пред со покажувачи 1629 01:21:03,395 --> 01:21:07,690 и дека стрингот е навистина само четири бајти покажува кон некаде во меморијата. 1630 01:21:07,690 --> 01:21:11,890 >> Па, ако имам овој стринг и тоа е ми кажуваше дека е местото каде што низа - 1631 01:21:11,890 --> 01:21:15,470 Па, ако имам покажувач на овој место во меморијата, тогаш јас може да донесе 1632 01:21:15,470 --> 01:21:19,160 копија од таа покажувачот до некоја функција, и таа функција се уште не знае каде во 1633 01:21:19,160 --> 01:21:19,780 меморија што е. 1634 01:21:19,780 --> 01:21:22,950 Па и двете од овие совети се укажува на истото место во меморијата, и 1635 01:21:22,950 --> 01:21:26,460 тоа е како ние ќе бидете во можност да ја менувате нештата надвор од 1636 01:21:26,460 --> 01:21:29,852 тековната магацинот рамка. 1637 01:21:29,852 --> 01:21:31,040 >> JOSEPH: Дали сакате да го направите составувањето? 1638 01:21:31,040 --> 01:21:31,820 >> Роб: Не, тоа е 05:30. 1639 01:21:31,820 --> 01:21:32,910 >> JOSEPH: OK. 1640 01:21:32,910 --> 01:21:35,040 Тоа е 05:30. 1641 01:21:35,040 --> 01:21:35,360 OK. 1642 01:21:35,360 --> 01:21:39,280 Па ние ќе ги покрие составувањето Претпоставувам дека во следниот дел, или вашиот дел 1643 01:21:39,280 --> 01:21:42,795 лидер ќе во тој момент. 1644 01:21:42,795 --> 01:21:43,272 И - 1645 01:21:43,272 --> 01:21:44,630 >> Роб: Било какви прашања? 1646 01:21:44,630 --> 01:21:46,760 >> JOSEPH: Било какви прашања? 1647 01:21:46,760 --> 01:21:47,150 Да? 1648 01:21:47,150 --> 01:21:52,469 >> ЗВУЧНИК 5: Користење на жици од CS50, било функции кои сакаме да ги користите за 1649 01:21:52,469 --> 01:21:53,880 оние, што ќе биде како C функции. 1650 01:21:53,880 --> 01:21:59,050 CS50 не помина во и направени никакви дополнителни. 1651 01:21:59,050 --> 01:22:01,850 >> Роб: Точни. 1652 01:22:01,850 --> 01:22:08,155 Било кој од Ц како [нечујни], можете ќе ги користат овие на нашиот жици. 1653 01:22:08,155 --> 01:22:12,400 >> JOSEPH: И едно последно нешто што сакате да го се спомене е дека имаме стил водич 1654 01:22:12,400 --> 01:22:13,130 за оваа класа. 1655 01:22:13,130 --> 01:22:13,360 >> Роб: О, да. 1656 01:22:13,360 --> 01:22:15,270 >> JOSEPH: Значи, ако си дојден од програмирање позадина пред тоа, 1657 01:22:15,270 --> 01:22:17,750 може да има одредени конвенции кога сте пишување код како ставање 1658 01:22:17,750 --> 01:22:20,950 загради во иста линија или одредени начини на вовлекување 1659 01:22:20,950 --> 01:22:22,240 или именување на вашите променливи. 1660 01:22:22,240 --> 01:22:26,870 Во оваа класа, ние сакаме да го следат специфичен стил водич само затоа што, 1661 01:22:26,870 --> 01:22:31,100 Па, ако излезеш и да работат во индустријата, сте ќе треба да се очекува 1662 01:22:31,100 --> 01:22:34,780 да го следат стилот водич на Компанијата на која и да одите да. 1663 01:22:34,780 --> 01:22:38,040 >> Како на пример, Фејсбук мислам има особено вид на именување 1664 01:22:38,040 --> 01:22:38,760 конвенција. 1665 01:22:38,760 --> 01:22:42,570 И има разлики меѓу камила обвивка променливи и како 1666 01:22:42,570 --> 01:22:44,610 одвојувајќи ги со подвлечено. 1667 01:22:44,610 --> 01:22:52,170 И, исто така, мислам дека е најважно, како на пример, вовлекување, нели? 1668 01:22:52,170 --> 01:22:56,440 >> Ние го правиме големи загради започне каде состојбата е, и тие 1669 01:22:56,440 --> 01:22:57,730 се на следната линија. 1670 01:22:57,730 --> 01:23:01,230 И ние исто така се стави големи загради во дури и ако тоа е само една линија. 1671 01:23:01,230 --> 01:23:06,100 И многу пати, постојат начини да се направи тоа каде што можете да ги напуштат овие загради 1672 01:23:06,100 --> 01:23:08,380 исклучување ако тоа е само една линија под Доколку изјава. 1673 01:23:08,380 --> 01:23:12,070 Но, во оваа класа, ние сакаме да го следат специфичен стил водич само за да се добие 1674 01:23:12,070 --> 01:23:13,550 користи за да се тој вид на работа. 1675 01:23:13,550 --> 01:23:16,410 >> Роб: Да, и Стил 50 ќе спроведување на овој стил водич, и ние сме 1676 01:23:16,410 --> 01:23:18,080 ќе ги користи Стил 50 да одделение вашиот код. 1677 01:23:18,080 --> 01:23:25,150 Па тоа го прави работите полесно за нас и се надевам дека не треба да се направат работите што 1678 01:23:25,150 --> 01:23:30,120 многу полошо за вас со оглед на стандардизирани стил не треба да биде таа 1679 01:23:30,120 --> 01:23:31,460 нереално. 1680 01:23:31,460 --> 01:23:36,000 >> JOSEPH: И, конечно, да се најде стил Водич, одете на manual.cs50.net/style. 1681 01:23:36,000 --> 01:23:37,725 И је. 1682 01:23:37,725 --> 01:23:40,575 >> ЗВУЧНИК 4: Дали ќе се спроведе било знаци во еден ред? 1683 01:23:40,575 --> 01:23:42,480 >> Роб: Да. 1684 01:23:42,480 --> 01:23:45,405 >> JOSEPH: За жал, момци. 1685 01:23:45,405 --> 01:23:47,680 >> Роб: Тоа е како еден од единствените. 1686 01:23:47,680 --> 01:23:50,420 Во овој момент, јас сум во ред со 120. 1687 01:23:50,420 --> 01:23:52,460 Јас сум ОК со велејќи 120 знаци во еден ред. 1688 01:23:52,460 --> 01:23:53,830 Јас разбирам дека се некои граница. 1689 01:23:53,830 --> 01:23:57,130 Мислам дека 80 е толку мал, но ние сме го спроведува. 1690 01:23:57,130 --> 01:24:00,260 >> JOSEPH: Лично, мислам дека со Ц, 80 карактери е повеќе OK. 1691 01:24:00,260 --> 01:24:04,160 Откако ќе почнете да добивате на други јазици како JavaScript и PHP, не 1692 01:24:04,160 --> 01:24:08,860 така е разумно да се ограничи само до 80 карактери. 1693 01:24:08,860 --> 01:24:09,260 OK. 1694 01:24:09,260 --> 01:24:12,780 Па, тоа беше супер секција. 1695 01:24:12,780 --> 01:24:14,750 Сака ли некој бонбони? 1696 01:24:14,750 --> 01:24:16,000 >> ЗВУЧНИК 4: Да. 1697 01:24:16,000 --> 01:24:18,667