>> DAVID мала: Це CS50, і ця є початком одного тижня.
І те, що ми думали, що ми зробити, це відступити завісу пристрій, який багато
з вас, напевно пройшла повз зараз протягом багатьох років, але, можливо, ніколи повністю не
Відомо, що це таке.
Таким чином, цей пристрій буде, ймовірно, шукати знайоме більшості з вас в даний час.
>> [ВІДТВОРЕННЯ ВІДЕО]
>> Тріумф-математичних і механічне вміння цієї нової
автоматичний обчислювач Гарвардському університеті.
Складні проблеми математики покласти через машину в закодованому вигляді на
Стрічка точно вирішити за хвилину частка часу, необхідного для
людських розрахунків.
>> Призначений для прискорення всіх форм математичні та наукові дослідження,
гігантський механічний мозок буде працювати на Сполучені Штати
Флот до кінця війни.
>> [КІНЕЦЬ відеовідтворення]
>> DAVID мала: Так от що ви бачите в науковий центр, який є, де
ця машина в даний час знаходиться.
Насправді ви бачите тільки його частину.
Тільки частина в даний час на дисплеї, і це пристрій під назвою
Mark I, і це було по суті дійсно величезний калькулятор.
Він змінив Mark II, і це від Mark II, що ми насправді
отримати трохи лексикон.
>> Це перший зареєстрований випадок те, що ви збираєтеся стати всі
дуже добре знайомі з більш ніж семестру -
а саме помилка.
Так воно і виявилося в якийсь момент Марк II пристрій не функціонує
належним чином, і при найближчому розгляді дійсно існує помилка - молі -
що молі -
всередині.
І з тих пір, ми позначили помилки в програмах, як помилки.
Так про це в майбутньому.
>> Говорячи про відео, а також, якщо ви ще не зробили, знаю, що це CS50
Очевидно, знято.
Лекції зазвичай йдуть вгору відразу після класу в свого роду пре-реліз
невідредагованому форматі, а потім через день або два потому, ми миритися з більш високою роздільною здатністю
і більш високу якість версії.
Ви можете згадати, Ванесса, яка була доля грає з Google скла,
які я не забув стягувати цей раз.
Так що якщо ви хочете, щоб придумати після занять і грати, вони повинні працювати сьогодні.
І якщо ви хочете, щоб бачити те, що Ванесса бачив днями, що ви побачите
тут - дайте мені збільшити гучність тут, на моєму ноутбуці.
>> [ВІДТВОРЕННЯ ВІДЕО]
>> -Отже, дозвольте мені чергу це відбулося.
Добре.
Так доторкнутися до цього.
Добре.
ОК, Скло.
Запис відео.
>> Добре.
Ванесса?
>> [КІНЕЦЬ відеовідтворення]
>> DAVID мала: Гаразд, так що причина , Що вона не працює для більшості з вас в
в кінці класу, тому що я приступив записати годину, що
кадри вказуючи на себе після того, як Я поставив склянки.
Тому сьогодні, я залишу їх, але слава Вам за те, що Ванесса такий
хороший спорт.
>> Тим часом, пара оголошення перш, ніж ми просуватися вперед сьогодні.
Так що, CS50 має традицію робити що в наших силах, щоб спробувати зробити дуже
великого класу відчувати себе меншим.
І в цьому напрямку, майже кожну п'ятницю, ми збираємося в ресторані в
площі, вогонь і лід, з 30 або 40 з ваших однокласників, себе, деякі з
викладацького складу, і ми просто є дуже неформальний обід.
Ми часто запрошуємо друзів з промисловості, Випускники класу, випускники
коледжу, насправді просто побалакати кожного одного, поговорити про життя після
коледж, життя в коледжі, тощо.
Так що якщо ви хотіли б взяти участь у цьому Перший такий обід в цю п'ятницю в
1:15 вечора, з голови до, що URL в певній точці.
>> Кількість місць обмежена, тому ми робитимемо перший прийшов перший обслужений.
Але ми будемо робити це знову на постійній основі, так що не хвилюйтеся, якщо ви не
перетворити його на цій першій партії.
>> Тепер, з точки зору ресурсів, що надаються curricularly ходом,
є ціла купа, і якщо у вас не під'їхав сайті курсу
Вже, зокрема, при лекції, ви виявите, що все,
ми зробили минулого тижня є, як у відео-і свого роду
електронній формі.
Але крім відео, ви знайдете що в даний час повний текст
стенограми, наприклад, кожної лекції.
>> Так що, якщо ми насправді повернутися до цього екрану Тут з Ванессою, і перейдіть
до нижнього кута екрану, ви виявите, що насправді, а не для
Лекція в п'ятницю, але якщо ми повернемося до Середовища, так як в цьому режимі займає
кілька днів, ви побачите, що ви можете насправді тягнуть вгору, на краще чи на
Гірше того, кожне слово, що я або добровольцем на сцені сказав.
І не тільки в цьому.
Ви дійсно можете шукати його, ви можете натисніть на будь-який з цих пропозицій, стрибати
на той момент у відео, всі до і врешті роблячи матеріал все
більш придатні для плавання.
>> Але якщо ви не хочете слідувати йому в таких деталях, ви знайдете, для
Наприклад, це невелике меню тут 1.5x швидкість, швидкість 2x, або я F Я вже
говорите занадто швидко для вас, 0.75x швидкості.
Таким чином реалізувати все це доступні там для вас.
>> Але крім цього, для проведення лекцій, розуміють, що ми також зробити ці ресурси
також доступні.
Слайди, приклади коду, все, що я робити на сцені або перед класом,
ми розмістимо там, так що ви можете грати вздовж будинку або в Сандерс.
Але те, що ми також думали, що ми зробимо це рік вперше також
надати вам покрокові керівництва з цих прикладів.
Все частіше, як я вже відбивається на Значення лекцій CS50, я вже почав
на питання, наскільки він корисний для ви, хлопці, сидіти там, для мене стояти
тут, і для мене говорити на вас, особливо в якості матеріалу,
приклади, стають все більш складними.
Оскільки незмінно, після деякого числа хвилин, хтось із зони, і
то ви пропускаєте деякі Ключовим моментом в деяких Наприклад, після чого ви, по суті
закінчилося протягом решти класу яка не найкращим чином використовувати
Свого часу, або, насправді, наш колективно як клас.
>> І тому те, що ми думали, що ми намагаємося зробити, особливо для деяких з більш
складні приклади, що я не міг би зробити справедливість у класі, що ми могли б не
є час для в класі, або ви можете тільки зони в час, що ми будемо виробляти
серії покрокових посібників цих приклади, так що якщо ви йдете в, для
Наприклад, відео минулої п'ятниці сторінці тут в прикладах, ви побачите, що
на п'ятницю, є тепер ця посилання на покрокові керівництва.
І формат цих буде змінюватися з плином часу.
На даний момент, ми використовуємо простий YouTube плейлист.
>> Але те, що я зробив з нашої знімальної групи згодом було пройти через кожну
і кожен з цих прикладів знову ж, сподіваюсь, вказуючи в набагато більшій
ясності саме те, що їду додому могли бути або повинна бути від кожного з них.
Таким чином, ви знайдете, наприклад, за останні тиждень, кожен з нуля приклади
ми пройшли зроблено лінійно в цій моді.
Так що не соромтеся займатися чи ні брати участь у цьому матеріалі.
Дійсно тема цього конкретного курсу те, що є, ймовірно, більш
у вигляді ресурсів, ніж ви могли б поглинати більше
ході семестру.
>> Але це навмисною.
Це призначається, щоб бути так, що ви, як окремі студенти можуть самостійно вибрати
на основі вашого стилю навчання.
Так що якщо лекції працювати на вас, чудово.
Якщо частини працюють на вас, чудово.
Якщо працювати на покрокові керівництва Вам краще, відмінно.
Це дійсно буде до вас, щоб вибрати які ресурси працювати краще для вас.
>> Нарешті, завдяки випускнику Звичайно, ми також надаємо канонічної
набір переписувач нот.
Тому замість того, ви, хлопці, керівники вниз в лекціях строчити вниз
речі, які приходять в клас, ми, персоналу, надасть вам те, що ми
відчуваю, канонічний набір приміток до звільнити вас цього відволікання, так що
Якщо ви тут, і займався, ви дійсно займаються з тим, що відбувається,
зі своїми однокласниками роблять на етапі, з тим, що на екрані,
і не просто записувати дослівно те, що відбулося, що було сказано.
Так що реалізувати всі ці ресурси які доступні для вас.
>> Секціонування, у відповідь на поширені питання, розпочнеться в цю середу.
Ми по суті, не чекати, поки після того як більшість інших класів, зроблені так, що ми можемо
мінімізувати кількість змін що ми повинні зробити.
Але придумувати ці вихідні, починаючи Неділя, буде один раз примірник
що ми називаємо супер розділах.
Вони будуть зняті для тих, хто не може участь, і, по суті,
керівники курсу буде йти нас через деякі з частини З курсу
до кінця проблема один набір, який буде наша перша C заснована
Проблема набору.
І це буде тільки додаткові розділи в очікуванні того, що буде
стати повторюваних розділів призвело на 50 плюс курсу
навчання стипендіатів щотижня.
По неділях або понеділках або вівторках, ми є 90 хвилини розділів у дуже
традиційному значенні, який буде можливості для руки, і більше
близький огляд Матеріал курсу.
>> Без подальших церемоній, дозвольте мені представити Звичайно головами, які є
за лаштунками зі мною, робить все відбудеться.
Якщо тих, хто тут сьогодні може приєднатися до мене, Роб і Лорен і Йосип і Лукас, всі
з яких були з Звичайно протягом деякого часу.
RJ вже третя подібна членом нашої команди.
Він не міг бути тут сьогодні, але він попросив мене показати його фото.
Я не впевнений, що хоче цього , Але от він.
>> І дозвольте мені просто дозволити команді кажуть привіт і представитися, так що
Ви пізнаєте їх, а також ваші власних товаришів викладання цього терміна.
>> LAUREN CARVALHO: Привіт.
Мене звуть Лорен Карвалью.
Я житель репетитора Леверетт в будинку.
Я також дуже радий бути голови для CS50 ТБ в цьому році.
>> CS50 є дуже складним, а клас у вигляді дуже великого класу, так що якщо
є які-небудь проблеми, якщо ви відчуваєте, як ви відстали, не соромтеся
зв'язатись з будь-яким з нас у heads@cs50.het, або до мене, якби ти
подобається грати з моїми золотими ретрівер цуценя.
Ось Лукас.
>> LUCAS FREITAS: Привіт, хлопці.
Мене звуть Лукас Фрейтас.
Я молодший [нерозбірливо]
інформатиці та лінгвістиці.
Насправді я з Бразилії, і я також розуміють досліджень Східної Азії.
Так що якщо у вас є які-небудь питання про комп'ютерних наук або мови або
що завгодно, тільки дайте мені знати.
Або CS50, особливо.
>> ЙОСИП ОНГ: Привіт.
Я Йосипа.
Я старший Навчання комп'ютера науки в Elliott House.
Отже, давайте подивимося.
Ви побачите мене навколо проведення одного з цих величезних камер.
Я резидент фотограф персоналу на 50, а також, і студенти часто
Іноді прийняти мене за азіатських туристів.
>> Так що якщо ви бачите мене з камерою, не тікають.
Просто посміхніться і не соромся.
І я сподіваюся, вам сподобається 50.
Я це дуже сподобалося, коли я взяв його, і саме тому я для TFing
ці три роки.
>> ROB BOWDEN: Привіт.
Я Роб.
Це мій четвертий семестр з CS50.
Я тільки що закінчив у травні.
Я був у Kirkland.
Я радий за цей семестр, і я сподіваюся, що ви теж.
>> DAVID мала: Спасибо в цьому році керівники і RJ, а також.
>> Так кілька останні ноти на ресурси.
Один з них, безліч Р 0 вже запущений.
Це одне існує тільки в стандартному видання, яке призначене для
повністю класу.
Починаючи з безлічі Р 1, буде Хакер виданнях більшість наборів проблеми,
які, знову ж таки, буде охоплювати матеріал з трохи більш складним завданням, в той час
ще стосується на деяких з тієї ж тематики.
У погляньте на сайті курсу для цієї специфікації для набору 0 р.
>> Годинники теж розпочнеться на цьому тижні, Сьогодні ввечері, завтра, в середу,
і четвер в різних їдальнею залів на території кампуса.
Виїзд cs50.net/ohs для офісу годин для курсу, і розумію, що це
буде дуже випадкові можливості, звичайно, на початку
семестру, приїхати з вашим ноутбук під час мозкового перерви.
Принеси друзів і базікати курсу ТФ і ЦС з будь-яким
Питання, які ви могли б мати.
>> І я не можу підкреслити досить, навіть для нуля і проблема набору 0, то
дійсно немає німе запитання.
Там не надто незручним студентом задавати питання.
Будь ласка, не соромтеся, щоб скористатися цього ресурсу.
Він буде там recurringly Протягом семестру
як буде CS50 обговорювати.
Це інтерактивне обговорення курсу форумах за цією адресою там.
>> Те, що ми також зробимо це під час лекцій Також стежити за цим, завдяки
викладання курсу команди.
І тому, якщо у вас є питання під час лекції, тому що я сказав щось
погано або зовсім немає, всі кошти, запитаєте , Що в реальному часі, якщо у вас є
ноутбука або телефону на веб-сайті, і Ми зробимо все можливе, практично в режимі реального часу, щоб
відповісти на це.
>> Чи є якісь питання по CS 50?
Тоді останні ноти моє.
Це питання з ненасиченого СБ
У чому завершити своє дослідження карти, якщо Ви ще не зробили, розумієш, що
Всеосяжна бачення СБ ненасиченого, доступні для всіх студентів, насправді
, Щоб допомогти зняти гостроту курсу як це, так би мовити, так що, якщо Ви
опинитеся пізно вночі, 2 ранку, 3 ранку, дійсно битися головою проти
стіні, де ви знаєте, що 99% шляху до завершення, але ви
є так багато інших речей, щоб зробити, Я думаю, що краще використовувати, часто, з
Час студентів є дійсно перейти до ці інші речі, щоб можна було
оптимізувати свій час все навколо.
І СБ ненасиченого є одним механізмом, через який ви можете бути спокійні в тому,
що 99% шляху є ще біса добре.
>> Аналогічним чином, теж, якщо ви прийшли в Звичайно без попереднього фону або
далеко не так, як ви фону вважаєте, що ваші однокласники могли мати, справжня
або хибним, розумію, що це можливість отримати ваші руки брудні
з курсом, поклав пальці в вода, так би мовити, так само, як я сам
зробив років тому з придатний / не придатний.
Як я вже говорив минулого тижня, було це, звичайно, як і інші, не були доступні
пройшов / не пройшов у той час, я б, напевно Не коли-небудь ступив ногою в
клас, хоча я зробив, п'ять тижнів Через передумаю, яку ви
може також, і переключитися на або з листа градуювальних статус.
>> Добре.
Таким чином, ми дивилися на речі, як це на П'ятниця, і ми дуже швидко збирається
до переходу на те, що виглядає більш загадкові сьогодні.
Але це тим не менше ж основні ідеї.
Який був загальний термін, який ми використовується для опису паззл
, Які виглядали, як це?
>> Так, із заявою.
І ви можете називати це будь-яким кілька речей.
Але ми будемо називати просто заява, і заява
просто повідомляє програмі -
або у випадку нуля, Спрайт -
щось робити.
Привіт в цьому випадку.
>> Щось подібне ми Замість називається і що?
Так, так що логічне вираження.
Логічний вираз, якраз те, , Що є істинним або хибним, так і подряпин
приваблює їх з цією формою, а й із знаком питання, щоб передати
Ідея про те, що відповідь на це питання не є істинним або хибним, так чи ні
, 1 або 0.
>> І ми використовуємо ці логічні вирази Всередині конструкції, такі як ці, які
ми назвали Що?
Так, стан або філія.
І умова ви бачите тут, в Подряпини є трохи заповнювач для
паззл цій формі, мета якого сьогодні так, що ви можете
перетягнути його і помістіть його на вершині, а потім диктувати програму, якщо цього логічного
вираз істинно, роблять цей набір інструкцій, це набір операторів,
ще робити це інший набір інструкцій.
>> І нагадати, що ви можете Гніздо цих речей.
Навіть при тому, що не так багато місця Візуально в цьому паззл, подряпин
буде збільшуватися і зменшуватися за розміром незалежно головоломки ви перетягніть в
там так що ви можете цього і гнізда є три шляхи розвилки доріг.
IF, ELSE IF, ELSE.
І ви навіть можете вийти за межі, що, вкладеності далі і далі по мірі необхідності.
>> Так, нарешті, ми побачили конструкції, такі як це, інакше відомий як цикл.
І це тільки те, що робить щось знову і знову і знову.
У цьому випадку воно відбудеться, буде кінцеве кількість разів, але ми також
бачили приклад, де число раз прийшов із змінної, так що
може змінитися.
І ми також бачили зовсім інший блок називається блок, який назавжди
дозволило нам петлю нескінченно довго.
>> Так одна конструкція, яка подряпин 2.0 має - і ті з вас більше
зручна з попереднього фону вже добре знайомі з цим
побудувати -
ці речі, які ми називали Що?
Таким чином, ми назвали ці функції, в іншому випадку відомий як процедур.
Там в невеликий семантичне розходження, але ми будемо називати їх просто функціями.
>> І функції, у випадку подряпин, є користувача частини головоломки, які
Ви самі можете створити, так що у вас є нова частина головоломки, яка, в даному
випадку, можна було б назвати кашель, що з'являється серед всіх інших
доступні частини головоломки з нуля.
Навіть при тому, MIT не винайшов це паззл, що ви зробили.
>> Так функція дозволяє створювати нові поведінки, дати йому ім'я функції і
потім викликати його, так би мовити.
Дійсно використовувати його в програмах знову і знову і знову, не чекаючи
для когось, як MIT вниз по дорозі до винайти нову функціональність з нуля.
Ви самі можете побудувати ці головоломки частини себе, а потім використовувати їх
у ваших власних програмах.
І ми побачимо, наприклад повторювані , Що сьогодні і далі.
>> Таким чином, сьогодні ми переходимо зараз на щось більш складних.
Але врешті-решт, щось більш потужним і виразним і більш
Представник шлях, який ми будемо на весь семестр протягом ряду
мов -
що код або вихідний код.
І вихідний код, виявляється, не те, що комп'ютер
Зазвичай насправді працює.
Вихідний код виглядає приблизно так.
>> Так що це, знову ж таки, можливо, найпростіший програму можна написати в
мову, званий C. Ми почнемо Крім цього дражнять незабаром, і якщо
це дійсно виглядає як грецький з вами прямо зараз, повірте мені.
Протягом усього лише тиждень або два час, це буде занадто добре знайомі і насправді
досить точно відображає ситуацію більш складні приклади, з якими ви будете
також одержати більш зручними.
>> Але ви не можете просто запустити цю такого коду зазвичай.
Ви повинні перетворити його на щось, що сам комп'ютер розуміє.
І так для цього, нам потрібно щось ми збираємося називати компілятором.
Компілятор це програма, яка приймає вихідний код, як ви тільки що бачили, як
вхід, і вона виробляє нулів і ті, в якості вихідних, в іншому випадку
відомий як об'єктний код.
І це ті нулів і одиниць, що може виглядати зовсім так, що
в кінцевому рахунку, розуміються Вашою Mac або комп'ютера.
>> Якщо ви коли-небудь чули маркетингу Вираз Intel Inside, що якраз
означає, що компанія під назвою Intel випустила
мозок з комп'ютером -
інакше відомий як центральний процесор, Центральне процесорний пристрій -
і це тільки те, що розуміє шаблони
нулів та одиниць.
І таким шляхом перетворення вихідного коду в об'єктного коду через цей процес тут
що ми будемо робити за допомогою декількох команд трохи пізніше, ви
створення шаблонів нулів і одиниць що співробітники Intel є
вирішила представляти певні заяви.
>> Тепер, я навіть не знаю, який в тому, який, просто глянувши на
цих нулів та одиниць.
Більшість людей в ці дні немає.
Але десь є модель нулів і одиниць, який представляє
оператора друку.
Десь там може бути інший набір нулів і одиниць, що
представляють поняття або назавжди Повторити 10 разів або навіть няв, якщо це
фактично це програма, яка може включають деякі звуки.
>> Коротше кажучи, люди просто вирішили, так само, як ми зробили для ASCII -
для букв алфавіту минулого тижня - люди вирішили, що навіть
до більш складній структурі нулів і одиниць являють собою більш складну поведінку
як друк або говорять або нявкати.
І тому на сьогоднішній день, і в значній мірі вперед в семестр, ми візьмемо для
зрозумілим, що хтось вважав, , Як це зробити, що відображення.
Але ми, відповідно з цією ідеєю шарів поверх роботи людей
які приїхали перед нами, буде приймати для як належне той факт, що це відбувається
під капотом.
Але ми набагато більше зацікавлені в Будівля речі, які є більш
цікаве на вершині всього цього.
>> І так дійсно, перша програма, яку ми писав у цій подряпин було супер просто
Один з них, Hello World.
І ви можете думати про це як Основною програмою, яка управляє для Scratch
поведінка за станом на минулу п'ятницю.
>> Сьогодні ми збираємося почати перекладати Подряпини шматочки головоломки
вихідний код на цій мові називається З так, що було схоже на це
П'ятниця, починаючи з сьогоднішнього дня і далі, є Тепер будемо дивитися, як це.
За загальним визнанням більш загадковими.
Це досить відволікає і рід умів оніміння, щоб бачити всі котирування
і крапки з комою і дужки і так далі.
>> Але якщо ви починаєте ігнорувати все, що ви Не розумію, і дійсно з нетерпінням
в сутності білий текст на Екран, звичайно, ви бачите, як я,
"Hello, World". Це лінії з фіолетовий заяву нагорі, і виявляється
, Що основним ключовими словами збирається вибудовуватися концептуально, коли зелена
Прапор натиснув.
>> Отже, іншими словами, в той час як у подряпин, ми реалізуємо цю програму Здрастуй світ
з цими двома частин головоломки, на С, ми збираємося реалізувати його з цим
чотири зашифроване ліній.
Але, як ми заглиблюватися в це, ви бачити, що кожен з цих
білі символи на екрані насправді має ряд істотних сенс,
і більшість наших програм збираються структурно виглядати зовсім те ж саме.
Так що заява, щоб було ясно, що був схожий "Скажи привіт світ" на
П'ятниця збирається почати шукати як це на понеділок.
Е ("Hello, World").
І є деякі дивні зворотну косу риску N, є дужки, є
крапкою з комою.
>> Але врешті-решт, ключ винос сьогодні є те, що все, що ми робимо
переводить речі з картини утворюють в текстовій формі.
Так цикл, який виглядав так минулого тижня збирається виглядати
щось на зразок цього.
>> І дозвольте мені відмовитися, як і в Подряпини, є різні способи
досягнення тієї ж мети.
Те ж саме в C. Я не показувати вам тільки спосіб робити речі, але один із способів
перевести це назавжди блокувати в цикл в C.
>> Ось ця ось, повторіть 10 разів.
Цей дійсно вид вигинів розум в перший раз ви його бачите.
Але для реалізації, що відтепер, Ми збираємося використовувати
цикл, так би мовити.
І ясно є певний синтаксис, що і трохи комплексі з і я
рівні і 0, але як тільки ми поринаємо в які Сьогодні і далі, ви тільки збираєтеся
бачити, що це все просто роблять деякі основні арифметичні дії, щоб змусити нас від 0
на до 9 або 10 в цьому випадку.
>> Нарешті, зі змінними, ви пам'ятаєте , Що змінна частина сховища.
Ну, що ми мали на лівому там минулого тижня буде виглядати трохи
щось на зразок цього на цьому тижні.
Але знову ж, про це в майбутньому.
>> У нас були логічні вирази, які минулого тижня, виглядає наступним чином.
На цьому тижні і далі, вони збираються починають виглядати трохи подібне.
>> А це насправді трохи обнадіює.
Це насправді майже так само просто як зелень блоків.
Але тут у нас є, знову ж таки, деякі нові синтаксису з амперсандом, але ви можете
думаю, може бути, в той час як в нуля, ви сказати-N-D, мабуть, в C, ми
збирався сказати амперсанд амперсанд.
Але все це стане природні незабаром.
>> Умовами.
Минулого тижня, здавалося, це зліва.
На цьому тижні, на правому, це буде виглядати так.
Але, знову ж, ключ винос тут є те, що як ви бачите такі речі, як, що на
вправо, а особливо, якщо менше зручна, це свого роду над вашим
голова, ви отримаєте трохи перевантажені, що Я дійсно поняття не маю, як я міг
можливо придумати що з нуля -
НЕ каламбур -
просто розумію, що це дійсно те ж саме Ідея, що, ймовірно, відчував набагато більше
природні попереднього тижня.
І навіть якщо ви не пірнув у Проблема набору 0, я думаю, ви знайдете
що шматочки головоломки досить інтуїтивно, або принаймні
стати тому з плином часу.
>> Так що давайте занурення дюйма
Давайте бруднити руки тут з цієї першої простої програми.
І прості, звичайно, відносні.
Щоб зробити це, я збираюся змінити екрани на цей пристрій я подзвонив
CS50 приладу.
CS50 прилад шматок програмне забезпечення, яке працює всередині
вікна на моєму Mac, і ви також можете запустити його у вікні всередині вашого ПК, що
дозволяє мені мати точно такий же Комп'ютерна середовище як кожен TF, а
кожен CA, як кожен студент в класі.
Оскільки CS50 прилад буквально іншої операційної системи
називається Linux -
спеціально Fedora Linux -
і ми, співробітники, налаштували процес установки для цього
операційної системи таким чином, що один, є трохи CS50 логотип у
середнього, два, є користувача меню на дно, і три, педагогічної,
Ми спростили користувальницький інтерфейс, а наскільки можливо, таким чином, що при
першого завантаження цю річ за своїм розсудом Mac або ПК, у вас та ж
середовища як всі інші, і ви є всі інструменти, які знадобляться
за курсом, без з'ясування того , Як встановити і кожного
кожен інструмент окремо.
>> Так що це виглядає відносно як Mac OS або вікон.
У нижньому лівому кутку, ви по суті мають меню Пуск
роду або з меню Apple.
І тоді у вас є те, що ми підозрюваний бути вашим три найбільш поширених ікон.
Одним з них є Chrome.
Там в браузері всередині апарату.
>> Два є програма під назвою Gedit, яка Коротко ми бачили минулого тижня, яка є
просто графічний редактор.
І три таке термінал програми, яка є чорно-біле вікно з
минулих років, що дозволяє нам набрати побільше таємними, але більш потужних команд у
нашій клавіатурі.
Так що я збираюся йти вперед і натисніть на Gedit, і будьте впевнені, що проблема
набір 1, який буде випущений в п'ятницю, буде ви пройдете через всі ті ж кроки.
>> Зверніть увагу, що у мене є досить просте Інтерфейс користувача з трьох частин.
На лівому, у мене є великі порожні вікно з назвою вихідного коду.
Ось де я збираюся побачити резюме будь-який код, який я пишу.
На правій стороні, у мене є великий вкладка, в даний час врятовано, і це
де мій код збирається піти.
І на дні, я вбудованого Вікно терміналу, чорно-білі
Рядок в якій я можу вводити команди на компіляції і запуску моєї програми - це
Тобто, зробити і запустити мій програм.
>> Отже, давайте почнемо з простого.
Дозвольте мені підійти до файл, зберегти.
Я збираюся йти вперед і йти в jharvard.
Таким чином, пристрій, незалежно від того, який ваше ім'я, належить хлопцеві на ім'я
Джон Гарвард, у кого є вдома jharvard каталогів, всередині якої всі свої
Файли піде.
Це ваша власна копія його рахунок, так що ми не всі обмін
той же жорсткий диск.
Ви просто повинні ілюзії власних Джона Гарварда.
>> Заздалегідь, я насправді встановлений Dropbox.
Прилад поставляється з preprepared Dropbox, так що якщо щось піде не так
протягом семестру, якщо у Вас є налаштували прилад з вільною
Dropbox рахунок, всі ваші файли будуть автоматичне резервне копіювання, щоб ви
може дуже легко відновити їх.
І я збираюся піти в мою Dropbox каталог, а там вже йде
, Є кілька інших речей там.
>> Але я збираюся йти вперед і перейдіть в меню Файл, Зберегти.
Я збираюся йти в jharvard, Dropbox, і тут, я збираюся
дати моїй програмі супер просто ім'я, hello.c, а потім збережіть.
Так що у мене такий же інтерфейс тепер.
Єдине, що змінилося є вкладка нагорі.
Так що я дуже швидко збирається відтворити що програма від
ковзає хвилину тому.
>> Так в основних (недійсними), а потім Е, "Hello, World", зашифроване
N зворотну косу риску, недалеко цитати, закрийте дужки, крапка з комою, а
Потім Ctrl S для збереження.
І зверніть увагу, як осторонь, що тільки що з'явилися тут в лівому верхньому кутку.
І це не корисно сьогодні, але буде корисно з плином часу.
Ви просто бачите, знову ж таки, резюме код, який ви написали.
І тому, що я написав те, що називається Основний, тому слово основного вискочив
до туди.
Але здебільшого, ми цього не потрібно сьогодні.
>> Гаразд, я стверджую, що це моє перша програма, написана на програмування
мову, званий C. Ми знаємо, з п'ятниці що те, що ця річ буде робити
дуже нецікаво, коли я перспективі це просто показують -
іншими словами, друкувати, як комп'ютер Вчений скаже -
привіт світ на екрані.
Таким чином, щоб зробити це, ви помітите, що у мене є спуститися сюди, щоб мій термінал
вікна, і тепер у мене є миготливі рядки.
Але це тепер клавіатура версії мій Джон Гарвард домашньому каталозі.
Це клавіатура шлях, через який провести мій жорсткий диск.
>> Тому я не можу насправді типу, як я зробив минулого тижня зробити привіт, тому що це
збираюся сказати не правила для складання мети -
щось не так.
Я не зовсім знаю, що це повідомлення коштів, але це тому, що за замовчуванням,
При цьому чорно-білому вікні відкрився, я всередині Джона Гарварда
домашньому каталозі.
Але де ж я збережу цю програму?
У моїй папці Dropbox.
>> Тепер, всі ми виросли з комп'ютера, де ви просто двічі клацніть
на іконку папки, він відкривається, і вуаля.
Ось де файл з ім'ям hello.c буде.
Таким чином, справді, давайте зробимо це.
>> Дозвольте мені йти вперед і мінімізувати Gedit так само, як ви б на
ОС Windows або Mac OS.
Відпустіть мене в головну папку в лівому верхньому кутку.
Я тут побачите купу папок.
Ось моя папка Dropbox.
Галочка означає, що вона була синхронізована.
І є кілька речей, тут, не помітити, що це hello.c
Дійсно прямо там.
>> І так в Mac OS або вікна, зазвичай, Я двічі натискаю, вона відкриває в
всі програми, і я добре йти.
Але тепер, принаймні, починаючи з сьогоднішнього дня, ми потрібно зробити крок назад, щоб просто
дати вам деякі основні інструменти для вашого набір інструментів, з яким робити більше
потужні речі незабаром.
>> Так що з цього запрошення, я повинен зробити еквівалентом подвійного клацання
Dropbox папку.
І щоб зробити це, я збираюся ввести для CD перейдіть в каталог, Dropbox, введіть.
А тепер зверніть увагу на мої дужках так зване швидке тепер каже, що я перебуваю в
Тільда, трохи хвилясті символ в лівому верхньому кутку
більшість клавіатур, / Dropbox.
Це просто скорочений запис говорять людині, ви тепер всередині
папку Dropbox, як якщо б ти двічі натиснув на неї.
>> Так що тепер, якщо я піду вперед і тип Марка привіт, введіть, я бачу, дуже загадковим
команда, але не повідомлення про помилку, здається, а потім
інший блимає рядку.
І якщо ви пам'ятаєте, дуже швидко у п'ятницю, ми зробили це. . / Привіт.
>> Те, що ви зараз побачите, є результатом мого запуску цієї програми, або, в Mac
ОС і PC умовах, якщо я зазвичай двічі натисніть на програму -. додаток
програми або. EXE, він відкриває вікно і запускає.
Ввівши. / Привіт так само, як подвійне натиснувши програми, щоб запустити його, але
за допомогою моєї клавіатурі.
>> Введіть, привіт світ.
І це все.
Так що давайте дражнити цього на частини, щоб таким чином не відчуває себе дуже багато, як грецька.
>> Так. / Означає, що?
Будь-хто, хто коли-небудь навігація клавіатури навколишнього середовища, як це, що точка
на увазі?
Поточного каталогу.
>> Таким чином, поточний каталог просто синонім папку.
Так, говорячи, точка слеш, я кажу, шукати програму під назвою Hello в
поточний каталог -
в поточній папці.
Іншими словами, моє Dropbox папки.
І саме тому після Натискання Enter насправді працює ця програма.
>> Якби я зараз типу LS, помітили, що я бачу, все в моїй папці Dropbox.
Отримання Started.pdf, яка Dropbox дає вам безкоштовно, мої фото
каталог: каталог, незбережені Документ 1, який я зробив помилково
Хвилину тому foo.c, яке я зробив раніше сьогодні, а потім дві лінії -
hello.c і привіт.
>> Hello.c є програма, яку я написав разом з Gedit, і те, що привіт в зелений?
Привіт в зеленому це виконуваний файл.
Іншими словами, коли я виконав цю команду Хвилину тому - дайте мені згорнути
назад у часі -
коли я біг зробити привіт, це проміжний крок тут.
І знадобилося hello.c в якості вхідних даних -
AKA вихідним кодом - і вона справила файл з ім'ям привіт, як вихід, який
містить всі ці нулі й одиниці.
І саме тому, зрештою, я можу насправді виконати команду. / привіт.
Через Intel Inside, моя операційна системи, Linux, відкриває ці нулі
та одиниць, передає їх в мозок мій комп'ютер -
CPU -
CPU і що знає, про, ось шаблон з нулів та одиниць, що говорить
роздрукувати наступні речі на екрані.
>> Що наступну річ?
Лапках, "привіт світ".
>> Гаразд, короткий огляд деяких з ці команди, так що ми можемо почати
приймати їх як належне.
Дозвольте мені перейти до , Де ми зупинилися.
І ви пам'ятаєте, що у нас були CD на нашому задньому кінці хвилину тому.
Це, я наважуся сказати, для сьогоднішніх цілей -
може бути, на цьому тижні - лише команди, які ми може знадобитися ввести в командному
Крім підкажуть зробити.
>> Так CD за що бореться?
Перейдіть в каталог.
Це просто еквівалент подвійного клацанні на папці.
І як у бік, якщо ви отримуєте втратив все всередині вашого
Пристрій, таким чином, що Dropbox -
Я хочу повернутися до моїх jharvard каталогу -
Якщо ви сумніваєтеся, CD, введіть, без інших словами, і він просто блискавки Вас
, Де ви почали, яка є миленький ярлик.
>> Гаразд, так що тепер інші команди.
LS.
Я набрав, що хвилину тому.
Що ви думаєте LS означає?
>> Отже, список, чи не так?
Ще в той день, коли люди приходили з цими командами, вони
намагалися бути ефективною, і досить типу з L-I-S-T-Enter, вони
вирішив LS.
Це прекрасно.
Це звучить досить, як список.
Давайте просто типу LS увійти, і що список файлів і папок в моєму
поточної папки.
>> MkDir, ви можете здогадатися.
Зробити каталог.
Так що вам не піти на деякі меню Файл та вибрати нову папку в цьому середовищі.
Швидше за все, ви вводите команду простору MkDir а потім ім'я папки
що ви хочете створити, і це буде зроблено.
>> RM, ви можете здогадатися.
Видалити або видалити.
Так що якщо ви хочете видалити файл, ви см. в задачі встановіть, як
може це зробити.
І RmDir, видаліть каталог.
>> Так що, знову ж, я, як правило, літають за деякими з цих деталей, один, тому що
вони не все, що само весело провести часу, а два, ми надамо вам у
набагато більш докладно в будь-якому з Проблема звичайно, встановлює, зокрема,
стандартної видань, будь-який з стадій що вам може знадобитися ввести так
що ви все більше і більше зручні з цими речами.
>> Але тепер дозвольте мені дражнити один від одного одна річ.
Коли ми набрали привіт зробити хвилину тому, ми бачили загадкові послідовності команд.
Ми бачили, знову ж таки, зробити привіт.
Добре, давайте зробимо це.
Я збирався зробити помилку, але [Нерозбірливість] тепер визнати, що я був готовий
і роблять це свідомо.
>> Що я зробила не так зараз?
Так, так що я не в Dropbox каталог, тому що мить тому я
типізованих CD і просто натисніть Enter.
Це збільшене мене туди, де я починав, які не там, де мій файл
, Тому я дійсно потрібно зробити, CD Dropbox увійти, і тепер я можу робити RM привіт
введіть, видалити звичайний файл привіт.
Я не знаю, чому це так загадково.
Це просто означає, ви впевнені, Ви хочете видалити Привіт?
Ви можете ввести Y для так, вкажіть, і тепер його немає.
>> І тепер, якщо я тип Марка Вітаю ще раз, це збирається відтворити мій об'єктний код,
відтворювати ці нулі й одиниці.
Але те, що операція з ця команда дуже довга?
Ну, ми це дражнити один від одного незабаром, але зробити -
Я сказав трохи брехня раніше -
не є компілятором.
Зробити це програма, яка автоматично з'ясовує, як запустити
компілятор для вас.
>> Так, команда, що ви дійсно повинні бути працювати, для того, щоб перетворити hello.c
привіт справді виглядає трохи більше, як це.
І не дай Бог у нас є насправді пам'ятаю, щоб коли-небудь, що цілий тип
Послідовність команд поза.
Мета зробити в житті, щоб пам'ятати, що ступінь складності
нам і автоматизувати те, що інакше бути дуже виснажливим кроків.
>> Але я не можу, що приблизна.
Так що за цю маленьку шпаргалку тут, я здогадуєтеся, ця команда
роблю, просто ввівши брязкотом, яка є назва компілятора ми будемо
за допомогою цього семестру.
Якщо хтось з вас коли-небудь робив IOS розвитку на iPhone або IPad,
Clang є програмою ви використовували в Xcode, щоб зробити ваші програми.
Clang, хоча, це просто ще одна програма чиє ім'я ми можемо набирати в командному
Підкажіть, а шляхом введення цього зараз, Я можу уявити те, що це
маленький представник команд в майбутньому.
Отже, дозвольте мені зробити це вручну.
>> Так RM привіт, і тепер сповіщення при Я, як і санітарної перевірки -
. / Привіт, як ти думаєш, я повинні побачити, якщо я можу це зробити?
Якась помилка.
Немає такого каталогу файл.
Так що один насправді досить прямій.
>> Так що тепер дозвольте мені очистити екран.
Control S просто очищає екран видалити деякі відволікаючі фактори.
А тепер я збираюся вручну Тип брязкіт-O привіт hello.c.
Так що ж це збирається зробити?
Точно те ж саме, що роблять зробив для нами, але я викинути деякі з
зайвих слів.
>> Clang це програма, яка збирається взяти. C в якості вхідного файлу і виробляти
нулів і одиниць на виході.
Но-о надалі будемо називати комутатора або прапором.
Це просто технар жаргоні кажуть це слово, яке ви вводите в запрошенні
що так чи інакше впливає на поведінку програми ви працюєте.
Так хто-небудь хоче поворожити -О, що передає?
>> Вихідний.
Це просто хтось вирішив означає-O вихідний файл з ім'ям привіт і взяти в якості
вхідного незалежно від останнього слова на підказка, hello.c, так що якщо я вдарив
Ввести, ніщо, здається, сталося.
І як не дивно, в цьому світі Програмування, якщо нічого не трапиться,
це, ймовірно, хороша річ тому що немає ніякої помилки
повідомлення на екрані.
Здрастуй, Enter.
Моя програма в даний час працюють.
>> Але я можу робити дурні дрібниці, як це. брязкіт-O, Hihihi, hello.c,
увійти, і тепер у мене є ідентичні програму під назвою Hihihi.
Він веде себе так само, але ім'я по-особливому.
>> Так що це тільки сказати, що, якщо ви хочете впливати на поведінку
програми, ми збираємося більш бачити речі називаються
аргументи командного рядка.
Це лінія.
Ти введення команд.
Ergo, командний рядок.
І аргументи командного рядка просто слова або маленькі шматочки синтаксис,
так чи інакше впливати на поведінку програм, які ми проводимо.
>> Добре, що, мабуть, саме нудною програмою можна записати і подивитися.
Давайте тепер зробити щось цікавішою.
Дозвольте мені піти далі і створити новий файл.
Я збираюся йти вперед і зберегти це в Головна Джона Гарварда каталозі,,
назвемо його custom.c, бути трохи користувача програми.
Я збираюся збільшити на мою верхню частину Вкладки тут і почати все заново.
>> Включають в себе стандартні stdio.h.
Детальніше про це в даний момент.
тап_п (недійсними), більше на , Що в один момент.
Е ("Привіт, Девід»).
Набагато цікавіше, чи не так?
>> Отже, якщо - не тому, що моє ім'я, тільки тому, що все по-іншому -
зробити користувальницький введення.
Користувальницькі, привіт, Девід.
Але навіть це теж брехня.
Ця програма може також назвати david.c, тому що це не користувальницький
поведінка взагалі.
Дійсно, я хочу програму, яка запитує у користувача його ім'я.
>> Так як я можу це зробити?
Ну, дозвольте мені прокрутки вгору тут.
І перш, ніж я використовую із заявою, в Подряпини, перш ніж використовувати Е,
інакше відомий як функцію, нехай мене спочатку запитати користувача небудь ввести.
>> Таким чином, щоб зробити це, мені потрібно зробити кілька речей.
Один з них, мені потрібно місце для зберігання користувачів назвати після того як я запитав його, чи
її за це.
Яка конструкція мені потрібно використовувати, ймовірно, для зберігання значення, як це?
Змінної.
>> Так на відміну від нуля, де ви просто отримаєте хороший шматок головоломки, ось, ми повинні
використання, очевидно, слова виразити себе.
І надалі, в будь-який час ви хочете слово або фразу, в програмуванні,
ми будемо називати це рядок.
Так що рядок є слово або фразу.
Це послідовність з нуля або більше персонажів, більш формально.
>> І якщо ви хочете такої змінної існує, ви повинні сказати, дайте мені один.
І спосіб, за допомогою якого ви зробити це, щоб кажуть коми рядок з, де с може бути
все, що завгодно.
Насправді, з трохи в захват.
Дозвольте мені йти вперед і більше чітко називати його ім'я.
Дайте мені рядки з ім'ям ім'я.
>> Але тепер, що таке людина ім'я за замовчуванням?
Ну, а якщо людина не вводьте нічого в, очевидно, там збирається
немає ніякого значення в імені.
І виявляється, в C, якщо ви не даєте змінної значення, це буде
є сміття значення.
Це, можливо, деяких випадкових нулів і з них, так що ви тільки збираєтеся подивитися
сміття, по-справжньому, на екрані якщо ви намагаєтеся показати його.
>> Але я можу виправити, кажуть, насправді, магазин всередині імені
таке значення.
Те, як ви зберігаєте значення в змінних якщо у вас є ім'я змінної на
наліво, ви повинні якимось чином поставити те, що ви необхідно зберігати в ньому праворуч, та
синтаксис, що відбувається , Полягає в наступному.
>> Ми не бачили це раніше, але взяти на віру, на мить, що там
існує ще одна заява, у світі що я збираюся знову викликати функцію,
і ця функція називають отримати рядок.
І він робить, що буквально.
Це якимось чином отримує послідовність символів від людського, а потім
робить щось з ним.
>> І це буде виглядати як загадкові синтаксису.
Зазвичай, якщо ви використовуєте знак рівності - ви знаходитесь у світі, скажімо,
алгебра і ви насправді кажучи х дорівнює 1.
Тут ми не говоримо, що Назва одно отримати рядок.
Ми говоримо, що в магазині те, що ім'я на правій стороні
цього знаку рівності.
Знак рівності являє оператора привласнення.
Це синтаксис, який говорить, що поклав на правій стороні всередині що
на лівій стороні.
Так отримаєте рядок нова частина функціональність, що не тільки
щось -
запитує у користувача рядок -
вона також повертає його, так би мовити.
>> Отже, давайте подивимося, що відбувається відбуватися тут.
Я збираюся йти вперед зараз і зменшити масштаб, і я збираюся отримати пару
помилки в моїй рядку.
Я збираюся зробити користувальницький тип, введіть.
Нічого собі.
Ціла купа помилок.
>> Гаразд, так що це вид Переважна, звичайно, на перший, але
виявляється, все це дуже Правда загадкові повідомлення про помилки
посилаючись на якісь моделі, які ми починаємо бачити протягом довгого часу.
Так що це одна я буду обривати, , Тому що це в першу чергу.
Використання неоголошеної рядки ідентифікатора.
>> Це просто означає, що Gedit або Clang, в даному випадку, не знає
що я маю на увазі під рядком.
І це тому, що в C, програмування мови, там насправді
немає змінної типу рядок.
C не знає, що струни існують.
>> Але ми, CS50 персонал, роблять.
І ось напередодні клас, ми створений файл з ім'ям CS50.h.
А всередині цього файлу - і більше на синтаксис попереду -
всередині цього файлу визначення того, що я тільки що визначили
усно у вигляді рядка.
Так просто, уклавши один рядок коду в моїй програмі, я зараз
навчання і зробити Gedit і Clang У свою чергу, що рядок.
>> Я не знаю, як ще.
Через кілька тижнів ми шкірки тому цим шаром.
Але зараз, знаю, що це вчить компілятор, що
рядок насправді.
>> Так що тепер дозвольте мені ясно моє Термінал тут.
Дозвольте мені знову запустити створювати власні, і я вирішити всі ці проблеми.
Так що це теж буде , Повторювана тема.
Я тільки написав 9 рядок програми, і Поки у мене було 18 рядків помилок.
Це вид залякування.
Але розумію, що вони часто каскад таких що одна маленька помилка викликає
плутанини для компілятора, і він виглядає набагато гірше, ніж це.
>> Так що тепер проникливий спостерігач буде знати, що я отримую рядок з
користувачів, але я насправді не робити те, що з ним?
Я насправді не роблять нічого з ним.
Так що, якщо я насправді запуск користувацького знову, це буде просто сидіти там.
Що відбувається?
Моя програма, здається, застряг на якій лінії, ви б сказали?
>> Так це насправді застрягли у рядку 7.
І ми не бачили це раніше, але у рядку 7, є, знову ж таки, це
заяву, отримати рядок.
І це те, що він говорить.
Він чекає тепер для людини взяти рядок.
Це абсолютно неінтуітівнимі до мене, людини, тому що у мене не було сказано,
що робити.
>> Але дозвольте мені йти вперед на вірі і Дозвольте мені прикидатися Роб.
Enter.
Це не програма збирався.
Так у нас є перший блог.
>> Але давайте спробуємо міркувати через чому це так.
По-перше, дозвольте мені виправити це перша проблема.
Дозвольте мені додати рядок, яка говорить тут Е, як тебе звати?
Давайте просто зробити близько цитати, закриває дужка.
>> Тепер дозвольте мені повторно запустити програму.
Проблема.
Я не бачу цього.
>> Право.
Я не перекомпілювати.
Таким чином, у мові, як C, тому що ви змінювати вихідний код не означає,
що ви змінили свій код об'єкта для генерації нового коду об'єкта,
нових нулів та одиниць.
Вам потрібно перекомпілювати.
Якби я зараз повторно запустити звичай, введіть, ах, трохи більш ясним.
Мене звуть Боб.
Проте візку.
>> І я б стверджувати, що є Тепер пару помилок.
Це просто виглядає огидним, чесно кажучи.
Мовляв, мінімально, я повинен мати просторі або перемістіть
курсору на новий рядок.
>> А насправді, нова рядок.
Це зразок того, ключова фраза тут ми бачили, але не визначений.
Те, яким чином ви отримуєте текст , Щоб перейти на наступний рядок,
Ви не зробите цього.
Це збиває з пантелику до комп'ютера.
Це виглядає як дві окремі лінії коду, жоден з яких
абсолютно правильно.
Ви замість цього повинні бути більш явним і кажуть, дайте мені нову лінію, яку ми
представляють у C з косими н.
>> Таким чином, є кілька таких символів.
Зворотна коса риса N виправимо це естетичний.
Дозвольте мені перекомпілювати програму.
Дозвольте мені знову запустити мою програму.
>> Це виглядає краще.
Це все ще досить примітивні, але це також ще баггі.
Таким чином, є одна -
навіть якщо ви ніколи не програмували раніше, ймовірно, можна зробити припущення
на те, чому ця програма все ще помилковим.
Що мені потрібно зробити, що Я ще не зробив?
>> Так що я насправді робити щось з ім'ям.
Так само, як у нуля, може насправді призначити змінну як N або
протидії, як ми зробили в минулому тиждень - значення.
Але якщо ви нічого не робите з вона, нічого не станеться.
>> Гаразд, так що давайте виправимо.
Дозвольте мені мій тип змінної там, і я піду сюди.
Дозвольте мені перекомпілювати, дозвольте мені повторних, Роб.
Тепер я просто ідіот, так?
>> Так що це не дійсно отримую мене далі.
Але це було абсолютно природно інстинкту, я б стверджувати, правильно?
Якщо змінна називається ім'я, і ​​я хочете, щоб він там, чому б мені просто не
введіть його там?
>> Ну, звичайно, у нас є розрізняти зараз
між тим, що є рядком?
Зверніть увагу, що в лапках тут, привіт звати?
Насправді це саме по собі є рядком.
Це жорстко.
Це не від людської.
Це від мене, оригінальний програміст, але це все ще рядок.
>> Так що якщо ви буквально написати N-А-М-Е всередині струни, то, що буде
надрукована?
Ну, N-А-М-Е. Ми натомість потрібно Е сказати, не друкують
буквально назвати.
Роздрукуйте Значення імені та прізвища.
>> І щоб зробити це, ми робимо наступне.
І це всього лише людські конвенції.
Ми замість цього говорите% С, і що виступає за рядком.
А потім в кінці мого близького лапках, Я збираюся поставити кому і
передати другий аргумент в цій заяві.
Я збираюся ввести ім'я там.
>> Так що тепер у нас є помітить трохи нового синтаксису.
У нас ще є дві дужки, а відтепер дозвольте мені сказати, що матеріал
в дужках представляє аргументів у функцію -
Входи які так чи інакше збирається впливати на його поведінку.
Так за цією логікою, скільки аргументів Е зовсім, здається,
приймаючи в цей момент?
>> Так що, схоже, бере два, і це дійсно мав на увазі
по кома тут.
Так що це один аргумент в лапках.
Хоча вона має кома в ньому, Все в лапках, що означає,
це одна довга рядок.
Кома, ім'я змінної.
>> Так що тепер дозвольте мені зменшення.
Дозвольте мені ще раз запустити його.
Роб.
Чорт забирай, що ж я зробив не так?
>> Гаразд, так що вам доведеться перекомпілювати.
Отже, ще раз, легко зробити помилки на ранніх стадіях знову і знову.
Так що тепер повторно запустити звичай, Роб, увійти, і вуаля.
Тепер у нас є своя програма.
>> Так що тепер у мене є програма, яка за допомогою декількох характеристик
, Які варто відзначити.
Один з них, я використовую CS50.h, в іншому випадку відомого як CS50 бібліотеки.
І всередині CS50 бібліотеки функцій, які інші люди написали -
а саме персонал -
для вас використовувати, і отримати рядок є одним з них.
>> Усередині рядка 2 stdio.h, і чому це там?
Зробити припущення.
Те, що існує всередині стандартні IO батька?
Printf.
Так Е, ви не бачите його в будь-якому місці ще на екрані.
Він повинен прийти з Комп'ютер якось.
Звідки воно взялося?
Це всередині - це оголосити, так би мовити, всередині
файл з ім'ям stdio.h.
>> Тепер, на цей матеріал, ми повернемося в кінцевому рахунку, тому що це трохи
відволікає на даний момент.
Це відноситься до наших типом значення, що повертається.
Це відноситься до аргументу.
Але на сьогоднішній день, ми зосереджені тільки тут, на цих лініях.
>> Так ім'я рядка, просто щоб нагадати, Що ж це зробити для мене?
Так що оголосили змінну тип рядка.
Так що це призначається, щоб бути для слів, Чи не для чисел.
Так само, як у бік, якщо я дійсно хотів , Щоб це було поруч, я б сказав,
щось на зразок Int.
Якби я хотіла бути з плаваючою точкою Значення, щось з комою,
Я б сказав, з плаваючою крапкою.
Але на сьогоднішній день, я тільки що сказав рядок.
>> І я дав цю змінну ім'я ім'я, але я не міг
назвав це нічого.
Насправді, спочатку, я назвав його С.
>> Це от якраз ще одна заява.
Скільки аргументів цієї заяву приймаєте?
Так що це просто приймати, і що просто естетичний деталь
показано те, що на Екран для мене.
Що це за лінія 8 робить З точки зору непрофесіонала?
>> Це стає значення з користувачів, а саме - рядок -
і те, що він робить з ним?
Це, по суті його здачі в хлопець на лівій стороні
знак рівності, так що в цьому випадку ім'я змінної може фактично зберегти його.
>> А потім інша Е Наприклад функції.
І ми говоримо, щоб викликати функцію.
Щоб використовувати функцію для виклику функції.
Ця річ мабуть приймає два аргументи.
Це один, кома, це одне.
>> Цей сама є рядком , Який містить заповнювач.
Засоби% S поставити інший рядок тут.
І так, поставивши ім'я після кома, це вставка
що головне для мене.
>> Так що я можу робити інші речі, як і раніше.
Дозвольте мені тепер йти вперед і зробити кілька дурна програма, але дозвольте мені видалити цю,
і дозвольте мені створити цикл.
У той час як справжні.
Символ істинного, очевидно, завжди буде правдою.
Так що ж це я петлю індукції шляхом запису рядка, як це?
>> Так нескінченний цикл, правильно?
Просто в той час як справжні.
Там немає, як я можу змінити слово вірною бути нічим іншим, так що це
просто збираюся працювати вічно.
Так що якщо ви коли-небудь насправді була програма у вашому Mac або ПК, який, здається
б, заручився, або він робить щось і щось, і ви просто
не може отримати річ не покинути, якщо ви перезавантажити комп'ютер або підтягти
Диспетчер завдань тощо, Ось такий приклад.
>> Я можу сказати: "Я баггі програми". Закрити цитати, закрийте
дужки, крапка з комою.
Отже, ще раз, зверніть увагу на моделі.
Навіть якщо деякі з наших нових синтаксис, Ключове слово в той час, ключове слово правда,
Зауважте, що я той же вид фігурні дужки.
У мене є крапка з комою і дужки.
>> А тепер давайте йти вперед і скласти цей.
Зробити звичай, звичай.
Тому в даний момент, ви не потрібно перезавантажити прилад, все гаразд?
Так легкий урок тут з двома пальцями, управління C,
ми кинути цю програму.
Але ви можете бачити, чому саме ця річ повторювалася знову і знову.
>> Я можу зробити щось трохи складніше, так як тізер.
Я збираюся йти вперед і сказати наступне.
Для внутр, який є цілим числом, я просто Родова назва ми даємо найбільш
Змінні в програмуванні, коли ви просто підрахунок, дорівнює 0.
Дозвольте мені піти далі і сказати, поки я є, скажімо так, менш ніж в 100, я плюс плюс.
Ми тому в цей синтаксис, але це просто означає,
збільшуємо я знову і знову.
>> І те, що я хочу тут робити?
Printf: «Я можу вважати до Я". Це баггі програми.
Що я насправді мають намір тут?
>> Відсоток не з, але за що не здогадаєтеся це. % D є десяткове ціле.
Кома я.
Дозвольте мені повернутися.
>> Дозвольте мені тепер робити з перекомпілювати.
Дозвольте мені тепер повторно з одними.
Я можу розраховувати дійсно чертовски швидко, коли Я пишу програму, як це.
>> Тепер давайте зробимо що-небудь трохи ненавмисним.
Як щодо давайте зробимо це, поки я більше або дорівнює 0.
Що це збирається викликати?
Так логічно, це не так мудрий, тому що тепер, якщо я запустити повторно, перерахунок голосів,
Тепер я можу розраховувати дуже, дуже високо.
На жаль, майже настільки ж високим, як я можу лічильник 4000000000, так що це буде
займе деякий час.
>> Так чому б нам не залишити це як наш захоплюючим, пообіцявши, що на
Середовища, ми побачимо, якщо цій програмі робиться.
Два, ми представимо, як ви себе написати свою власну функцію, так що дуже
швидко, в середу, ми будемо, як ми Перехід з нуля в С, почати
письмово все більш і більш складними програм, які роблять багато,
набагато більше, ніж ця.
Ми будемо бачити вас тоді.
>> [Оплески]
>> Виступаючий 1: Наступного CS50, Головоломка День вдався.