>> [МУЗЫКА ИГРАЕТ]
>> DAVID МАЛАН: Хорошо это CS50 и это конец недели один.
Поэтому я хотел бы представить мой бывший advisee, Андел Дафф, который не только делает
iPhone 5 стоит, а также это аналой, он также делает автомобили.
ANSEL DUFF: Как дела, все?
Я просто хочу, чтобы рассказать вам немного Немного о Formula SAE, из которых я
Я капитан.
Это команда MIT.
Я просто хочу сказать вам, Ребята немного об этом
и, надеюсь, генерировать некоторый интерес.
>> Итак, позвольте мне просто запустить через Пара вещей о нашей команде.
Так что мы полностью студент пробег, в котором все
дизайна членов, моделировать, тест, и производитель подсистема
из машины.
У нас есть собственный механический цех и гаражи, и N52-- или жаль,
N51-- что то же самое здание как Музей науки MIT.
И мы люди что водить машину.
Там в национальный конкурс в начале лета,
а затем Есть меньше перестрелка соревнования в течение года.
И тогда мы делаем обучение водителей дней, чтобы новые члены познакомиться.
>> Наши сборки дни на По субботам с 11 утра до 8 вечера.
Обед и ужин заботясь из, от Бертуччи и Beantown
соответственно.
У нас есть еженедельную встречу и Семинар, на курсовую кредита.
Что нового в этой семестра, и она также будет в течение следующего семестра,
так что вы можете пересечь-рег за это.
А то у нас проектирование, магазин, и CAD дней в течение недели,
в то время как члены самостоятельно CAD части, порядок складе и так далее.
>> Таким образом, для электрического инженерная в команде
у нас есть тягово, Высоковольтная система,
который работает на номинальной 300 вольт, которая включает в себя
двигатели, преобразователи частоты, и аккумуляторы.
Тогда у нас есть низкий напряжение системы, которая работает
на 12 вольт, который включает в себя управления, CAN узлы, мозг
коробка, и приборная панель.
Насколько CS идет, мы делаем есть поддержку сайта
что мы должны сделать для событий, членство изменения, новые фотографии и PR материалов.
А то у нас код, который управляет автомобиль для нашей тяги, запуска
контроль, контроль тире, крутящий момент наведения, и системы рекуперативного торможения, которая
запустить как правило, в MATLAB, Simulink, и LabView.
>> Скажу немного о машине.
Так что это около 500 фунтов.
Это правила, ограниченные 85 киловатт.
Он имеет 2 EMRAX 207 двигателей в назад, по одной для каждого заднего колеса.
Он имеет заказные батарейные от радужных A123 дипломатической клеток,
на общую сумму 300 вольт и 5,6 киловатт-часов.
И это прямой привод с Коэффициент 2,64 к 1 диск.
Вот некоторые фотографии мы взял его на конкурсе.
Вот еще, носовой обтекатель, и вот двигатели,
эти большие черные диски под др мужские Манус.
Вот слайд, который я вытащил из нашей схеме конкуренции.
И это только по сравнению нашу машину в Несколько коммерчески доступных автомобилей,
как KTM Xbow, Ариэль Atom, и Caterha М 7-280.
Если вы знакомы с ценой, мощность тянуть вес, долларов за лошадиную силу,
долларов за моментом, и наша машина дует их всех из воды.
Если у вас возникли вопросы, записать этот адрес электронной почты.
Стрелять нам письмо на fsae@mit.edu.
>> Мы рады говорить о все, что вы хотели бы.
Студентов Гарварда, являются своего рода меньшинства в команде.
Если у вас есть вопросы по поводу что делать, пожалуйста, снимать нам письмо,
с удовольствием рассказывают, и я собираюсь чтобы возвратиться к Давиду.
Благодаря.
Я ценю это, ребята.
[Аплодисменты]
>> DAVID МАЛАН: Ансель провел лето Работая с нами здесь, на территории кампуса в CS50
этим летом.
И в дополнение к работе на вещи, как бинарных луковиц,
он на самом деле действительно открыл наши eyes-- и шахта в particular--
в то, что действительно пересечении не из аппаратного и программного обеспечения может быть.
На самом деле многие вещи, он просто гастролировала вы через это, в конечном счете
создана первая в программном обеспечении, а затем в конечном счете, сфабрикованы
в реальном мире в оборудовании.
Так что, если вы заинтересованы в исследуя эту пересечение,
возможно, занять эту группу.
>> Теперь то же время, те из вас, кто любителей технологий,
и продукты Apple, в частности знать, что есть
Было несколько Анонсы вчера.
Но мы думали, что показать Вы тот, который вышел
за несколько дней до, что Вы, возможно, не видел.
>> JORGEN EGHAMMER: Вы знаете, раз в некоторое время то
приходит, что меняет наш образ жизни.
Устройство настолько просто и интуитивно использовать его чувствует себя почти знакомы.
Представляем 2015 каталог IKEA.
Это не цифровой книга или Электронная книга, это книга-книга.
>> Первое, что нужно отметить, это не кабели, даже не кабель питания.
2015 Каталог ИКЕА приходит полностью заряжена,
и срок службы батареи вечна.
Интерфейс 7,5 на 8 дюймов, но можно расширить до 15 на 8 дюймов.
Навигации на основе тактильного контакт технологии, которые вы можете почувствовать.
>> Содержимое поставляется с предварительно установленной через 328 страниц высокой четкости
вдохновляющих домашнего интерьера идеи.
Чтобы начать просмотр, просто нажмите и перетащите.
Справа налево, чтобы двигаться вперед, слева направо, чтобы двигаться в обратном направлении.
>> Обратите внимание, что-то еще?
Это верно.
Нет отставание.
Каждый кристалл ясно страницы грузы мгновенно,
независимо от того, как быстро вы прокрутите.
Если вы хотите получить быстрый обзор, просто держать его в ладони,
и, используя только свой большой палец, Скорость просмотра содержимого.
>> Если вы найдете то вы хотите сохранить на потом, вы можете просто закладка его.
И даже если вы закрыть приложение, Вы можете легко снова найти закладку.
Удивительный.
>> [Смех]
[Аплодисменты]
Так что подводит нас к конец недели один.
Несколько объявлений с предприятием.
Так секционирования является в настоящее время.
К этой URL здесь когда с сегодняшнего дня и в пятницу в полдень
на самом деле, сформулируйте ли вы среди тех, меньше знакомы, более
комфортно, или нечто среднее.
>> Это, как правило, одним из тех, вещи, которые вы только отчасти знают.
А ведь те из вас, кто менее удобно, наверное, знаете, как много,
тех из вас, кто более удобно знать, как много,
и снова, если вы не совсем уверены, какой из тех ведрах вы попадаете в вы
вероятно, нечто среднее.
Но будьте уверены, вы можете поменять через пару недель, если это будет необходимо.
>> Между тем, на предстоящую неделю мы не начнем разделы по себе,
но супер разделы, которые открыты для всех студентов.
В ближайшую воскресенье на прилегающей к будут объявлены на сайте курса
у нас будет один для тех, меньше знакомы,
а также один для те более комфортно.
А те, где-то между можете выбрать, какие из этих двух,
или оба, если вы хотите, чтобы сидеть в на.
И в центре внимания тех, будет в конечном счете, на C,
которые мы будем продолжать наш Разговор сегодня.
>> Задача установить 0 тем временем надеюсь, в ваших руках.
Официально на завтра, Четверг, в полдень.
Если вы не нажиться один ваши 5 конце дня,
который принесет его до пятницы в полдень.
Задача установить 1 тем временем будет размещены на сайте Курса.
И это будет наш первый набег как класс в С.
И, что проблема установить спецификации, вы пройдете через много механики что
Мы начали говорить о в понедельник, и мы будем продолжать говорить о сегодняшнем дне.
C, Linux, CS50 Устройство, все, что
будет ждать вас в спецификации.
>> Часы работы пока что в стадии разработки, в университетском столовой.
Голова к этому URL здесь, чтобы посмотреть планировать на сегодня и завтра,
Если вы хотите принять участие.
Вопросы Между тем, так что вам есть возможность задавать вопросы
асинхронно, 24/7, понимаешь, что ты не ограничивается разделов и офиса
часов, а скорее это средство здесь, CS50 Обсудить на тот URL
будет онлайн Курса Программное обеспечение доска бюллетень, с помощью которых
Вы можете задать вопросы одноклассники и также персонал.
Так что имейте в виду, что ресурс, а также.
Между тем традиция начинается в эту пятницу.
Как вы, возможно, увидел из тизер видео прошлую среду,
у нас есть традиция наиболее каждую пятницу в течение срока
принимать около 50 студентов и персонал в местный ресторан под названием
Огонь и лед, на котором мы обычно присоединились некоторые выпускников
или друзья из промышленности в целом стремиться
сделать большой класс чувствую меньше.
Так что это совершенно случайный обед.
Связка нас, персонал особенно, будет играть в музыкальные стулья
и общаться с учащимися о 50, жизнь вне 50,
жизнь в будущем, реальный мир, Я говорю о возможностях трудоустройства
с друзьями в промышленности.
>> Так что если вы хотите присоединиться к нам в эту пятницу, направиться в этом URL здесь.
Количество мест ограничено, но мы сделаем это recurringly в течение всего срока.
Голова там cs50.harvard.edu/rsvp.
И если вы не получите в на этот раз, чтобы не волноваться.
Мы сделаем это снова в ближайшие недели также.
>> Так это и есть фото мы рисовали на прошлой неделе,
и вы, вероятно, был вмешиваются в до сих пор.
Но давайте попробуем подключить это сейчас к тому, что мы собираемся сделать сегодня
и далее.
Может у меня есть один доброволец?
Ладно, или несколько.
Как насчет здесь на конец, в синей рубашке.
Поднимайтесь, как тебя зовут?
ALANA: Алана.
DAVID МАЛАН: Алана.
Так Алана, для всего moment-- приятно познакомиться ты--
будет играть роль этой функции здесь.
Фиолетовый блок мы в называется до сих пор функция.
Так что я собираюсь идти вперед здесь и предложить Алана
немного имя тега, чтобы сделать ясно, какую роль вы играете.
>> Таким образом, вы должны быть скажем блок.
Если вы хотите, чтобы идти вперед и положить, что на.
И мы собираемся держать это супер просто.
Если цель под рукой просто в настоящее время осуществлять с Алана,
это так называемое сказать блок, вот как это будет работать.
Я have-- назовем его Аргумент или параметр,
это действительно просто чистый лист бумаги.
И это белого до рода быть напоминает из белой коробке, в которую вы
можете написать слова.
>> Между тем я собираюсь пойти сюда.
Я собираюсь идти вперед и написать H-E-L-L-O запятой мир.
И теперь я, как говорят программисту, не на самом деле знаю, как сказать-то.
Я могу придумать слова, но я не обязательно
знаю, как выразить себя устно или на экране.
И так, что я собираюсь сделать, это взять этот кусок
функциональности, чьи input-- или аргумент, как мы его называем,
Я написал на этот кусок paper-- и я собираюсь поручить это.
>> И в самом деле, что это роль, которую функции в языке программирования
может играть.
Что-то вроде говорят блок, могут быть переданы
тому, кто действительно знает, что он или она говорит.
Так что, если вы будете перешагнуть здесь на мгновение,
Я собираюсь пройти этот вклад в Алана, и спросите, что вы говорите, этот вход.
>> ALANA: Привет, мир.
DAVID МАЛАН: Вот и все.
Так что существует функция.
Теперь мы можем принять его немного больше, мы можем сделать шаг вперед здесь.
Потому что это было ясно в восторг.
Итак, давайте теперь преобразовать это в нечто более сложное.
>> Так что это, конечно, наша C версия.
Так что теперь, если вы хотите принять, что прочь, что имя тега прочь,
и давайте вы положили на новое имя.
Но принципиально, что ты играет ту же роль,
так уж случилось, чтобы назвать Printf сейчас.
>> История, конечно, собирается be-- вероятно
как underwhelming-- является будет в следующем.
Вы сейчас функция Е.
Я абонент, или программист, который хочет
стоять на плечах люди в прошлом, как вы,
кто уже понял, как на самом деле-то записываете.
И поэтому в этот раз, , а не говорят, что это давайте
на самом деле использовать наш экран сюда.
Так что если вы хотите, чтобы шаг здесь, я собираюсь
пройти снова в этом качестве вход в мой Е другу.
Если бы вы могли идти вперед и печати, что на экране,
просто рисунок с вашим палец на черном экране.
Отлично.
Ладно, так много неизвестности для как что собирался разыграть.
>> Так что теперь давайте вещи один Окончательный качеством, если бы мы могли, как следует.
Так что это программа C как мы уже говорили в прошлый раз.
И это только делает то, что вы сделали, это выводит на экран, Hello, World.
Даже при том, что есть ясно много из отвлекает вещи там.
Но давайте вещи на ступеньку выше и ввести эту версию, которая вспомнить
был третий вариант, что мы закончили с последний раз.
>> И теперь есть четко два варианта использования Printf.
Там в 2 звонки на Алана в этом случае для Printf,
но есть также призыв на другую функцию.
Что это функция, очевидно?
GetString.
>> Можем ли мы получить больше одного добровольца?
ОК, давай до.
Как тебя зовут?
>> Хавьер: Хавьер.
>> DAVID МАЛАН: Хавьер, давай до.
Так роль Хавьера на эта бумажка.
Который я собираюсь позвонить в общем с.
Теперь это переменная, это тип строки, как это подразумевается
по этой второй линии в середине там.
И я бы хотел, чтобы ты принеси мне строку.
В частности направиться вниз в оркестре раздел и получить мне имя кого,
и вернуться с переменной , содержащий это значение.
Это может быть кто угодно вы хотите.
>> Здесь мы идем.
Ладно, Хавьер записывая имя.
Хорошо.
Мы можем все, наверное, догадались, как это собирается разыграть.
Мы, возможно, разговоре точка, что
функция делает, но тем не менее, большое спасибо.
>> Так Хавьер вернулся эту строку здесь, которые, не может вполне понимаю,
Джонатан является строка что мы получили.
Так что теперь я действительно собираюсь предоставить Алана хотя
является то немного другое.
Потому что в этой версии Программа, в первую есть заявить свое имя.
Так в первый аргумент Мне нужно, чтобы обеспечить Алана
с будет буквально заявить свое имя.
Ладно, так просто Я бы передать это вам.
И, как я пишу до Следующий аргумент, если вам
хочу пойти дальше и написать это на борту, давайте идти вперед
и сделать окончательный пример здесь, чтобы сделать очистить то, что в конечном итоге должно произойти.
Так, укажите ваши имя, записать его в направлении верхней
если вы не возражаете, просто так, что у нас есть место для одной второй линии.
Потому что последнее, что я собираюсь в настоящее время предоставить вам не один,
но двух листов бумаги.
>> Хорошо.
H-E-L-L-O запятая, а затем пустая строка.
Так что я собираюсь вручить Алана сейчас является то немного другое.
Мало того, что она становится это, где заполнить пустые представляет
что процентов, что то, что было заполнитель мы использовали?
Да, так процентов с.
Между тем я собираюсь пройти ее в качестве второго аргумента, который
Именно это Хавьер извлекаются из Джонатан.
>> Итак, позвольте мне дать вам эти два.
Если вы хотели бы, идти вперед и печать, что эффект.
Что в конечном счете, происходит теперь, Алана снова
играет роль Printf.
Хавьер играл роль GetString.
Так что будет ваш сувенир.
И в конечном счете, то, что происходит, несмотря на это hello-- да идти вперед и запятая.
ALANA: Неужели я получаю это еще или нет?
DAVID МАЛАН: Да, вы получил их обоих сразу.
Таким образом, идея в том, что вас Теперь можно перевернуть страницу
для обработки второго из этих двух входов.
Так что это только забивать домой указывают, что в то время как Алана выполняется
Эта зеленая линия здесь, а затем Хавьер сделал это для нас
и вернуться ко мне-то мы будем называть с, но это было действительно
только что бумажка из собственной жизни.
А теперь Алана сделал эту третью строчку.
>> И хотя все это выглядит так невероятно загадочный возможно
на первый взгляд, это действительно так же просто, как, что.
Пас входы вокруг, получать выходы, либо
физически вернул то, или увидеть побочный эффект подобного.
Что-то визуально написано на экране.
Так что давайте идти вперед и спасибо Алану и Хавьер,
кто был здесь, для присоединились к нам здесь.
>> [Аплодисменты]
>> А теперь давайте считать само собой разумеющимся, насколько просто все, что могло бы быть.
И давайте перейдем к собственно то делать в реальном коде.
Так на экране Вот скриншот из так называемого устройства CS50.
И если бы вам пришлось на, как 2:00 вечера в среду днем,
объяснить в некоторой другу что CS50 прибор,
как бы вы определили это в предложении?
Любой приговор?
Да?
СТУДЕНТ: Это как программы что делает компьютер каждого
запустить с той же системой.
DAVID МАЛАН: Хорошо!
Это программа, которая позволяет каждого компьютер работать с той же системой.
Это своего рода собственный копия операционной
система, которая происходит с назвать Ubuntu Linux.
И он работает эффективно внутри окно на вашем собственном Mac или ПК,
так что этот путь прямо из ворот в неделю 1, все здесь в классе
имеет доступ к тем же инструментов, та же самая конфигурация,
и нет кривой обучения конкретных к Mac или ПК, в частности.
>> Теперь мы открыли, внутри CS50 прибор в понедельник, эта программа здесь.
Бывает называться Gedit.
Но это на самом деле просто Графический редактор.
Это то, что, как Блокнот или Текст Редактировать на ОС Windows или Mac OS, соответственно.
И я предложил, что было на самом деле три важных частей этого экрана.
Верхняя сторона, где вам бы написать код.
И вот, когда мы провели большую часть нашего три примера в лекции в понедельник.
Дно мы назвали то, что, это черное окно, да?
>> СТУДЕНТ: Компилятор?
>> DAVID МАЛАН: Компилятор мы Доступ через это окно.
Но в более общем.
Да, это был всего лишь окно терминала.
Это вековой термин, который просто описывает существенно мигающим
подскажите, что лет назад раньше на один из тех больших мониторах CRT стиля.
Но в настоящее время это своего рода из виртуального в программном обеспечении.
И терминал окна пусть это нам вводить команды.
Это своего рода упрощенной версией пользовательского интерфейса или интерфейса.
Это не графический пользовательский интерфейс или GUI,
это текстовый интерфейс или интерфейс командной строки.
>> И в самом деле, что там в конечном счете, Я был в состоянии написать код.
После того, как я написал код, хотя, Напомним, что я использовал эту команду.
И как ему имя вид предполагает, это
позволяет мне сделать Программа называется Hello.
Но что было на самом деле делает?
Ну марка брал свою вход, мой исходный код,
и превращение ее в чем, в конечном счете,?
>> Код объекта.
И объектный код это просто фантазия способ сказать нули и единицы.
А потом, как только я хотел запустить этот объектный код,
как только я хотел передать в качестве вклада этих нули и единицы в мой компьютер-х
мозга, так называемый процессор или центральный процессор,
Я должен был запустить программу.
Но это было не совсем простой в понедельник как только удвоить нажав некоторое значок.
Что вместо я должен сделать для того, чтобы запустить программу?
>> Что это было Вторая команда?
Я слышу немного косые черты?
Да, да?
>> СТУДЕНТ: Dot слэш и название программы.
DAVID МАЛАН: Точно.
Dot слэш и имя программы.
Теперь что же это значит?
Ну точка просто тайной способ сказать текущий каталог.
Независимо папка в котором вы находитесь ссылаться как, представляется как точка.
Косая черта именно то, что вы видели в Mac OS и Windows, в течение многих лет,
это разделитель между каталоге или папку и остальные некоторым именем.
В Windows это происходит пойти в обратном направлении, в Linux и Mac
ОС это происходит, чтобы идти вперед.
Но это только сепаратор, так что это просто неинтересно синтаксический деталь.
>> Сочная часть, конечно, название программы, Здравствуйте.
И вот что делают создал для нас.
Это выводится файл для нас.
Но, как мы дошли до этой точки?
Давайте теперь спросите вопрос, что было на самом деле
здесь происходит, по крайней мере, с Учитывая некоторые из этого синтаксиса?
>> Таким образом, в предложении или около того, как мы объяснить
это первая линия это выделены зеленым цветом?
Что это было первая линия делает, по отношению к моей программе?
Да?
>> СТУДЕНТ: [неразборчиво].
DAVID МАЛАН: Скажите это еще раз?
СТУДЕНТ: В том числе и загрузки Прошедшие функции [неразборчиво].
DAVID МАЛАН: Хорошо.
В том числе, я не буду говорить, загрузки, но, скажем,
в том числе функций, которые человек написал в прошлом.
И эти функции реализованы где-то в моем компьютере.
Кто написал файл лет назад, и этот файл
где-то внутри CS50 прибор, или на моем жестком диске
в целом.
И так эта линия, по существу говоря, пойти найти этот файл, точку Standard I / O
ч, и скопировать и вставить его содержимое прямо здесь, на вершине моего файла
так что я не должен делать это вручную сам.
>> И среди самых сочных кусков внутри компании что файл, который мы утверждали было то, что функция?
Какую функцию мы говорили был объявлен или упоминается в стандартный I / O точка ч
скорее всего?
Printf, не так ли?
Мы не писали Е на Понедельник, она просто существовала.
Многое, как Алана просто пришел на сцену, и она просто
существовали и умел рисовать то на экране,
так же Е существует в течение многих лет.
И так это то, как мы к нему доступ.
Теперь, если мы перейдем здесь, Основной была аналогична мы
сказал паззл вызывается, когда зеленый флаг нажал
в мире нуля.
Это просто своего рода Имя по умолчанию, что людей
решил бы представлять умолчанию точку входа в программу.
Кусок программного кода что запускается на выполнение в первую очередь.
>> Между тем эти фигурные скобки являются вроде изогнутой формы
от большого количества этих желтых скретч штук.
Они вроде инкапсуляции целом куча инструкций вместе.
Так это только отчасти связывает некоторые связанные функции.
Е конечно это функция, которая печатает экран, как мы только что сделали.
>> Что об этих скобках?
Как бы вы define-- даже если вы никогда не запрограммирован раньше, но только на основе
сейчас на повышение надеюсь интуиция, что
которые скобки делает для нас здесь?
Или то, что они окружающих?
Да?
>> СТУДЕНТ: Они говорят, что вы собираетесь печатать с Printf.
>> DAVID МАЛАН: Да, они говорят, что вы собираетесь печатать с Printf.
Или в более общем, они окружающая вклад в функции.
Таким образом, вы можете подумать, из тех скобках
как как металл клип на эту буфер обмена.
Это то, что держит, это то, что будет использоваться для обеспечения аргументы
в функцию, которая в этот случай называется Е.
>> Так что в целом почти любой раз, когда мы вызываем функцию,
мы увидим пару скобок.
Может быть, что-то в нем, как сейчас, может быть, ничего в нем.
Но вот где вы бы положить входы или так называемые аргументы
к функции.
>> Вот один из таких аргументов.
Я выделил все между кавычек,
потому что оказывается на этом языке под названием
C, если вы хотите, чтобы представлять string-- что это слово или фраза
или даже paragraph-- вы должны окружают его в двойные кавычки.
Не одинарные кавычки, двойные кавычки.
И это именно то, что я сделал здесь.
>> Между тем есть напуганный символ в конце там.
Обратная косая черта н.
Что мы говорим, что представлено?
Да?
>> СТУДЕНТ: новая линия.
>> DAVID МАЛАН: Новая линия.
Право, вы не как правило, нажмите Ввод, когда
Вы хотите, чтобы программа выплюнуть новую линию.
Скорее вы сказать это явно с этим надо признать тайной части
синтаксиса, обратный слеш н, что Вы хотите новая линия пойти туда.
Наконец запятой.
Мы действительно не говорили слишком много об этом,
и безусловно это будет отрава некоторые вашего существования для первой задачи
установить, когда вы просто не в состоянии понять вы забыли то, как глупо
как с запятой.
И вообще положить его там будет решить эту проблему.
Но то, что он делает для нас, вы можете сказать?
>> СТУДЕНТ: [неразборчиво].
>> DAVID МАЛАН: Извините?
>> СТУДЕНТ: [неразборчиво].
DAVID МАЛАН: Отделочные заявление.
Это вроде как период в конец английского предложения,
в то время как на этом языке C это заканчивая заявление.
Обучение программированию код, который вы просто хотите сказать,
Я сделал с этим.
Теперь обратите внимание, что это только один здесь.
Таким образом, вы не хотите, чтобы получить в Привычка положив запятой
после каждого замкнутого скобках.
Например, нет ни рядом с аннулированию, и мы будем
вернуться в будущем к тому, что недействительными средства.
Но в этом случае ваша Е является Функция, или заявление используется,
и поэтому мы хотим иметь, что конечная остановка в самом конце.
>> И я намеренно придираться С и откровенно много языков, как C, C ++,
Java, JavaScript, и любое число в других языках есть много таких
рода синтаксических деталей.
Это, конечно, если вы новичок в программирование может действительно сбить вас с толку.
И вы будете, помяните мое слова, некоторые из вас будет
иметь этот опыт в рабочее время или поздно
ночью работает на некоторых р-набор, где ваш проклятый программа просто не собрать,
он не работает, у вас есть никакая идея, что случилось,
кажется полностью логически правильным для вас.
И это потому, что вы забыли что-то вроде удара
точка с запятой в конце некоторой линии.
>> Но это те вещи, которыми вы собирается немедленно научиться видеть.
И в самом деле эти вещи что ЦС и TF нам иметь
был своего рода подготовку, чтобы увидеть гораздо быстрее, чем вы.
И так это только сказать, как вы погружение в проблемы набор 1 особенно,
не расстраивайтесь по этой вещи.
После того, как вы как бы акклиматизироваться в мире, вы
начинаем видеть вещи, которые вы не могли бы см, на первый взгляд это первая неделя.
>> Так исходный код-то вроде этого.
Мы хотим, чтобы передать его в так называемый компилятор.
И, что компилятор как мы сказали обеспечивает вывод
известен как объектный код, Так называемый нулей и единиц.
Но оттуда, что же это нам дает?
Ну, это дает нам эти шаблоны.
И снова ваш компьютер, Ваш Intel внутри,
понимает эти модели из нулей и единиц.
А иногда картина представляет реальный десятичное число
как мы видели на прошлой неделе, иногда она представляет собой письмо
как мы видели на прошлой неделе, иногда она представляет собой инструкцию,
как печать-то на экран.
>> Так Е для instance-- а, позвольте мне назад.
Мы принимали как должное что эти нули и единицы являются
производится этой командной производства.
Но сделать это не компилятор.
Сделать это не то, что в середине что продюсирует нули и единицы.
Лучше сделайте это просто очень удобно по имени программы, цель которой в жизни
по существу, чтобы выяснить, как скомпилировать программу.
И мы используем его в них Первые недели, потому что его просто
экономит нам массу неприятностей.
>> Но то, что делает действительно делать при компиляции привет,
является, как мы уже говорили в прошлый раз, это глядя на жестком диске
или в текущей папке, для файл называется то, что, по-видимому?
Hello.c, не так ли?
Это только отчасти конвенции.
Это произвольное, но что так обстоят дела.
Сделайте, если вы просто указать имя программы, которая пока не существует,
это будет выглядеть на исходный код в файле, по умолчанию означает hello.c.
И если он находит его, здорово.
Это собирается конвертировать этот источник Код в объектный код для вас.
>> Но каждый раз, когда я ударил Введите после запуска сделать привет,
Помните ли вы видеть последний раз довольно долго и загадочно последовательность
других белыми буквами и символы на экране?
Ну, что было фактическим команда, текущая компилятор, который был запущен.
Таким образом, реальное компилятор мы будем использовать большинство семестр нечто, называемое лязг.
Некоторые из вас, возможно, использовал Visual Studio перед, или GCC,
или любое количество других компиляторов.
Мы будем использовать лязг.
>> И лязг позволяет нам на самом деле преобразования что исходный код в объектный код.
Что это на самом деле означает на практике?
Ну позвольте мне перейти в один из мои папки из последний раз.
Внутри CS50 прибора.
И позвольте мне идти вперед и создавать этот тот же файл, включают в себя стандартные I / O точка час.
Int основной недействительными.
И мы вернемся в будущем в качестве к тому, что Int средства и какие недействительными средства.
Но сейчас давайте делать привет мир обратный слеш н,
точно так же как мы сделали на доске.
>> Позвольте мне сохранить этот файл под названием hello.c.
И теперь, если я хочу, чтобы скомпилировать этот Я could-- позвольте мне масштаба в-- пробег
сделать привет ввести.
И это снова было что очень загадочным линия.
Но теперь, по крайней мере одно слово вероятно, выскакивает на тебя.
Clang является то, что линия мы видели раньше.
Теперь есть много других вещей, откровенно что мы машем руками в течение сегодняшнего дня.
Но есть несколько подмножеств, несколько символов в здесь
что представляют интерес.
Но я собираюсь идти вперед и делать это.
Я собираюсь первого запуска привет, только чтобы доказать,
что это работает, как это было в понедельник.
Но сейчас я собираюсь удалить программу.
И так же, как у нас были они короткие имена в прошлый раз,
команда для удаления то есть RM, удалить, введите.
Вы собираетесь получить некоторые довольно загадочные вопросы.
Трудно поверить, что вы можете сделать даже этот вопрос трудно понять.
Но удалить обычную файловую привет просто средства вы хотите удалить привет.
>> И я могу идти вперед и ввести у для да, Enter, и теперь его нет.
То, что это означает, что теперь, если я очистить экран,
в том, что вместо того, чтобы делать сделать hello-- вас
знаю, что, я получаю хорош в этом.
Я собираюсь запускать компилятор сам.
Я не нужна программа для выяснить, что мой файл называется.
Я написал hello.c, я знаю, как это называется,
Я четко способны набрав что.
Так что я собираюсь идти вперед и не звенеть hello.c Enter.
>> Кажется, работает.
И нет никакого дополнительный выход, потому лязг компилятор.
Это то, что преобразования Исходный код для нулей и единиц.
Так что, если я сейчас сделать точку слэш привет Enter, хм.
Сообщение Новое ошибка сегодня.
Так Баш просто название мигать подсказку, который мы используем.
Это грубое упрощение, но сейчас это все, что есть,
это мигает быстро.
И вот почему это кричать на нас.
>> Нет такого файла или каталога не является немного более простым.
Но, конечно, я сделал, что объектный код.
Но загвоздка в том,, что если я введите команду
чтобы просмотреть содержимое этого каталог, который есть что?
Ls для списка.
Там в кучу вещи здесь, некоторые из которых пришли с прибором,
как моей папке Desktop, Загрузки Папка, папка Dropbox, и все
такое.
Но вот что интересно является hello.c, которые
Я создал несколько минут назад с Gedit.
И что самое странное глядя имя здесь,
возможно, что мы не сделали см последний раз вообще?
>> a.out, не так ли?
Итак, вернемся в день, его который был только что решил, когда
компиляции программы в первый раз,
и вы не указали имя файла, назовем его в.
И a.out просто означает, что это было Выход компилятора.
Так что это ужасно название для программы.
Но по этой логике, точка слэш для текущий каталог, слэш a.out,
должно означать есть на самом деле мой привет мир программа.
Теперь немного разогреть упражнения тоже.
Если я хочу, чтобы переименовать это файл, получается, что вас
переместить файл из одного имени к другому.
Так мв a.out, и тогда я можно назвать это привет Enter.
Так что это команда Linux.
DOS была эта лет назад, Окна есть окно терминала
некоторого вида, который выглядит как этот, Linux и Mac
компьютеры имеют эту мигающую строку.
Даже при том, что большинство из нас, вероятно, редко, если вообще, использовать его.
>> Но то, что я сделал запускается Программа, чье имя М.В.,
и я обеспечил его с два аргумента, так сказать.
Два входа.
a.out это первоначальное название.
Привет это новое название.
Так что, если я сейчас сделать точка слэш привет, Enter, что существует.
А если я точка слэш a.out, что вы ожидаете, я должен видеть?
>> Bash, нет такого файла или каталога.
Потому что я просто переименовал его.
Так что это занимает немного привыкнуть.
Но проблема установить 1 спецификация станет поистине
держать тебя за руку через некоторые из этих minutae.
Потому что это полная интеллектуальной отвлечение
от интереснее идеи в стороны, которые
на самом деле создания то из кода.
Но давайте сделаем одну модификацию Теперь к этой программе.
>> Напомним, что в прошлый раз я сделал-то как это, Е, укажите ваши имя.
И в самом деле, мы просто сделали это на большом экране над там.
И тогда я сделал строка с получает GetString открытые Парень, близкий Парень.
И скобка лишь сокращение обозначение скобках.
Так же GetString принимает аргументов?
Нет входа нет, но это нужны скобки,
потому что это то, что разграничивает вызов функции.
>> Так что я собираюсь идти вперед и попробовать запустите компилятор об этой программе сейчас.
Clang hello.c, потому что я не изменит свое название на данный момент.
И я получил кучу ошибок.
Давайте масштаба здесь.
Если я прокрутки вверх снова, как я уже сказал в прошлый раз,
к первому, таким же ошибки что я получил в прошлый раз.
На строке 6 hello.c я имел необъявленная строка идентификатор,
я имею в виду стандарт в?
Я не сделал.
Потому что то, что ошибка есть я сделал в этом Программа, если вы помните из прошлого времени?
Да, мы должны так называемый учебные диски
что мы будем использовать только в течение нескольких недель.
Но мне нужно, чтобы указать, что также, где-то внутри прибора,
это файл, который мы написали всего несколько лет назад.
Внутри из которых являются функциями как, по-видимому GetString.
Так что теперь, если я вернусь сюда, увеличения, и повторно запустить лязг hello.c.
Черт, другая ошибка.
Но мы не видели этого раньше.
>> Это один немного больше эзотерическая выяснить.
Но это намеренно на экране, потому что мы хотели рассказать эту историю.
При компиляции hello.c, как картина от лица предложили,
вы только преобразования, что Исходный код для нулей и единиц.
Теперь персонал CS50 несколько лет назад написал CS50.h, и соответствующий файл,
CS50.c.
И мы, несколько лет назад, составлен эти файлы
в файл, что происходит чтобы назвать CS50.o.
>> Или он может быть переименован несколько разные вещи.
Но это простой способ размышлять об этом.
Так мы составили CS50-х Библиотека в нулей и единиц.
Но нигде я указано что я хочу, чтобы объединить свои нули
и те, для моей привет мир Программа с нулей и единиц
что CS50 персонал создана несколько лет назад в одной полной программе.
Все я указал в письменной форме лязг hello.c является собрать hello.c.
>> Я не сказал лязг, чтобы ссылка в нулей и единиц
что CS50 персонал создана для вас некоторое время назад.
Так что это легко исправить, тире л для связи, CS50.
И мы будем снова увидеть это до тех пор снова и снова.
Но обратите внимание, теперь не было никаких жалоб.
Так что теперь, если я бегу точка слеш привет, теперь он работает.
Хотя это немного вводит в заблуждение так как я просто воссоздали какой файл?
a.out.
>> Итак, позвольте мне назад на мгновение.
Программа, которую мы только что собрали имеет три строки кода.
Когда я побежал привет мир, привет момент назад, я не видел, укажите ваши имя.
И это потому, что я побежал старая версия программы.
Но если я действительно работать точка слэш a.out Введите, укажите ваши имя, Роб, привет,
мир.
Хм.
Это своего рода ошибки.
Наверное хотел сказать Робу, не так ли?
Так в чем же исправить здесь в коде.
СТУДЕНТ: [неразборчиво].
DAVID МАЛАН: Точно.
Так что я просто нужно сделать, что окончательное твик так что я передаю в качестве заполнителя,
как заполнить пустые, как мы делали некоторое время назад.
Но процентов с теперь что заполнить пустые.
Так, наконец, давайте раскрыть один последний деталь, так что нет никакой магии.
Я собираюсь идти вперед и избавиться от Hellow.
Я собираюсь идти вперед и избавиться от a.out.
Так что теперь у меня нет программы, просто мой исходный код.
И я собираюсь работать немного длиннее команда, лязг
тире о привет hello.c тире LCS50.
>> Теперь это начинает рода идут в одно ухо, а из другого, возможно.
Но только дразнить друг от друга, что это делает.
Clang является компилятор, тире LCS50 сознательно в самом конце
делает то, что в предложении?
Ссылки на библиотеки CS50.
Хватает нули и те, что персонал, сделанные
и переполняет их в моей программе.
Так, последний вопрос под рукой, что тире о привет вероятно
делать, даже если вы никогда не видел этот синтаксис раньше?
>> Вывод программу, которая не назвал a.out по умолчанию.
Скорее он называется привет.
Так что теперь нет a.out.
Нет такого файла или каталога, потому что я прямо сказал
называют эту программу привет, так что Теперь я могу ввести имя подобное
и он себя.
>> Теперь, честно говоря, мальчик, что неинтересно иметь
помнить все, что немного мелочи, не так ли?
Так что давайте идти вперед и избавиться от привет еще раз.
И пусть теперь вернемся к миру, в которые достаточно сказать, сделать привет.
Но это волшебство, которое сделать делает для вас,
вот скука, что он делает для вас.
И как наши программы и проблемы становятся все более сложными,
сделать будет действительно ваш друг.
Потому что не слишком долго отныне мы собираемся
иметь программы, которые написаны не с одним файлом, но несколько файлов,
и сделать будет автоматизировать процесс компиляции все, что для нас вместе.
>> Так что теперь распечатать.
Е находится внутри этого файла, стандарт I / O точка ч, что мы видели раньше,
но это еще не все Е, чем это.
Там в обратный слеш н, но есть также куча других управляющих последовательностей.
И последовательность выхода просто причудливый способ сказать то
, которая начинается с обратной косой черты, не косая черта, обратный слеш,
и делает некоторые специальные вещи.
И мы не будем останавливаться на большинство из них, но почему там обратную косую черту двойные кавычки,
как вы думаете?
Почему это странно последовательность персонажи, обратный слеш двойные кавычки,
Поэтому, возможно, что будет полезно?
СТУДЕНТ: [неразборчиво].
DAVID МАЛАН: Точно, верно?
Вспомните наш привет мир программы что мы видели довольно много раз теперь,
каждый раз, когда мы видели, что привет мир Программа, которую мы имели двойные кавычки внутри
из которых Привет запятой Мир обратный слеш н.
Но думаю, для себя, что делать, если вам на самом деле
хотел распечатать кавычки?
Ваш первый инстинкт может быть, я не знаю, почему я, возможно, захотите do-- здесь,
мы можем быть немного пассивной агрессивный, привет друг.
Мы, возможно, захотите сделать нечто подобное.
>> Но почему это сейчас проблематично?
Не обращая внимания на фигурные скобки, в сторону, что Лейтмотивом автоматически сделал для нас.
Почему это проблематично?
>> Точно.
Потому что у нас, как 4 кавычки.
Ну первый, вероятно, идет со вторым,
и, возможно, четвертый идет с третьим,
или, я имею в виду, я даже не уверен,, ни компьютер будет.
Компьютеры снова, компиляторы снова, довольно глупо.
Они делают только то, Вы скажите им, чтобы сделать.
И если вы не однозначна они , вероятно, будет выдавать ошибку.
>> Если вы не однозначны, как в том, как сделать арахисовое масло и бутерброд желе
странные вещи могут приехать.
Это та же идея.
Теперь достаточно сказать, что есть некоторые другие управляющие последовательности,
но мы придем к тем, в ближайшее время.
По существу, это побег последовательности представляют собой нечто
что вы не сможете слишком легко в клавиатуре,
не смешивая компьютер.
>> Теперь то же время у нас есть заполнители в Printf.
Процент д, который также может быть записана почти во всех случаях, как процента I,
является заполнителем для какого типа данных?
Какой вид стоимости?
Десятичное число.
Таким образом, фактически мы начнем используя процентов I, потому что это
немного проще, как целого.
Процент я.
Целое число, случается, десятичной.
>> Процент с мы уже сказали, было заполнитель для строки.
Какие это просто слово, фраза, пункт, эссе, что угодно.
Это последовательность персонажи довольно долго.
И мы увидим в ближайшее время некоторые из этих других.
Но процентов с для одного символа.
Процент е для число с плавающей точкой,
как настоящий номер, для которого десятичной точки в нем, которые
конечно не целое.
И есть целый куча других.
>> Между тем в C, и во многих языках,
у нас есть различные типы данных.
Различные типы стеклянные чаши, если вы будете.
Чаша я в последний раз был для пинг-понга шаров,
но мы также можем хранить разные ценности, как символов и строк
и целые в контейнере, как переменной, и C имеет эти.
Полукокс тип данных, тип переменной,
в котором вы можете хранить характер.
Float является тип переменной в которые вы можете хранить действительное число.
>> Int, конечно для междунар.
И скорее смехотворно назвал очень долго
Здесь вы можете хранить существу действительно длинный номер, с еще
больше знаков, то Типичный Int мощь магазин.
Но мы вернемся к тому, что в скором времени.
>> В CS50 точка ч тем временем другой файл заголовка
что мы видели пару раз в использовании, есть
две другие типы данных, которые не существуют в C обычно.
Одним из них является строка, и мы увидим, в несколько недель какие строки действительно
являются под капотом.
И один BOOL.
И BOOL это переменная, может принимать только определенные значения.
И только на основе прошлой неделе Объяснение нуля,
а в последнее время С, что бы вы догадаться
являются два возможных значения: некоторые контейнер, который имеет тип BOOL?
>> Да и нет.
Единице и нулю.
Правда или ложь.
И в самом деле, что это последнее, что имеет тенденцию чтобы быть обычными в программировании
язык, говоря то как истинное или ложное.
>> Между тем библиотека CS50 приходит с кучей функциональных
что персонал написал для вас, Кроме того, только получаю строку.
Мы написали заранее функций, можно получить целое число от пользователя,
получить один символ, получить поплавок, который
просто номер с запятой.
Получить долго долго, действительно Большое значение от пользователя.
Таким образом, мы только видели это в действие в виде GetString.
Но через эти функции скоро быть в состоянии написать
программы, которые получают данные от пользователя.
>> Между тем считают это Программа, и рассмотреть
как сейчас мы могли бы начать, чтобы добавить чтобы он с новыми конструкциями.
Быстрый беглый тур а затем мы будем смотреть
на некоторые писать некоторые программы вручную сами.
Отныне, если мы хотим реализовать состояние,
это не будет выглядеть миленький довольно паззл.
Это будет выглядеть немного более сложных.
Но это каноническое Структура состояния в C.
>> Слово, если, два скобки, внутри которого
будет своего рода логического выражения.
Теперь слэш слэш в середине, это
на данный момент вроде как псевдокод код заполнитель.
Но более правильно, любой строки кода в С, что начинается с косой косой черты
Это комментарий.
>> Это как записки, что вы могли бы поставить на эссе, напечатанного на бумаге.
Это записка к себе.
Это не имеет никакого функционального влияние на программу.
Это своего рода напоминание, что это ваша собственная документация относительно того, что происходит.
Так что это на данный момент является своего рода заполнителя
по каким внутри из тех фигурные скобки
в конечном итоге будет делать то.
>> Между тем у вас есть две вилки в Дорога, если еще построить, как это.
Вы можете, если, ElseIf, еще.
Теперь стоит заметить, особенно если вы были погуглить вокруг
онлайн ресурсов из любопытство, или, если вы берете в руки
один из Курса Рекомендуемые книги по C,
вы увидите, что у людей есть много из различных преференций для как
чтобы выразить себя в коде.
Некоторые люди любят ставить Фигурные скобки, как это сделал я.
Некоторые люди любят ставить фигурных подтяжки например здесь.
>> Некоторые люди любят ставить Эльсес здесь и то это сюда.
Там в любое количество способов написать код, и ни один из них
правы по себе.
Хотя есть несколько что довольно неправильно.
Но существуют no--, если это в конечном счете, очень религиозный спор.
На самом деле, один из самых раздражающих вещи о информатике
как упрямый компьютерщики может быть.
И вы найдете в течение долгого времени, что даже вам развить личные предпочтения
о том, как ваш код должен выглядеть.
>> Не только себя, не только создать выход, но как он должен выглядеть эстетично.
Так что мы будем делать это поможет вам вместе путь к, пока по крайней мере,
стандартный стиль CS50, что, по крайней мере держит вещи однородным и легко читается.
Но больше на тех, различия в ближайшее время.
>> Логическое выражение в C, если вам хотел сказать, если это условие истинно
и этот другой условие правда, вы не пишете слово
и, как вы бы на английском языке.
Вы вместо этого использовать амперсанд амперсанд, по причинам, мы вернемся к.
Если вы хотите сказать, или вы используете два вертикальные полосы, которые на клавиатуре США
, как правило, выше Введите ключ рядом с обратной косой черты.
И это только означает, что если это условие или это другое условие истинно это сделать.
>> Между тем есть это сумасшедшая вещь, которая
вы будете иметь повод использовать один раз в некоторое время.
Но это всего лишь альтернатива способ выразить себя.
Это, пока, давайте предусматривают, что это просто
другой фанки способ выражения если, ElseIf, ElseIf, ElseIf, ElseIf.
Это просто отформатирован в плане случаев, где вас буквально
перечислить ценности, которые Вы можете проверить на.
>> Между тем петли.
Мы видели сравнение Царапины с петлей.
И я собираюсь махнуть рукой на что каждый из этих вещей означает.
Но обратите внимание, что цикл будет очень часто начинаются с ключевого слова для.
Или он начнет с время ключевому слову.
Или он начнет с ключевым словом сделать, и заканчиваются время ключевому слову.
>> Но то, что мы собираемся, чтобы увидеть является вещи более, как это.
Вот, в общем в C, как вы могли бы объявить переменную и дать ему значение.
В C его не хватает, как в пустом, вы просто
сказал, дают мне переменной называется то.
Вы должны сказать C, и скажите компилятор, более конкретно,
какой тип стоимости сделать вас хочу поставить в стеклянную емкость.
>> Это целое?
Если это так, вы должны буквально сказать Int, а затем
имя переменной, то точка с запятой.
Если вы вместо хотел строку и называется Это все равно, я сделал свой код здесь сегодня,
Вы бы сказал запятой струны с.
После того, как вы хотите, чтобы дать ему значение вы можете использовать знак равенства,
иначе известный как Оператор присваивания.
И обратите внимание, как каждый из этих строк кода
имеет точку с запятой в конце.
>> Но, откровенно говоря это просто выглядит немного некрасиво.
Почему я не могу сказать, к компьютеру, дать мне переменная и инициализировать его к нулю.
То есть, дай мне пустую стеклянную миску.
В то время как вы можете.
И поэтому один из приговора называет вам должны сделать стилистически с течением времени
есть, вы написать свой код, как это, или вы вроде его убрать и произвести впечатление
люди Добавьте две линии, как только один.
И это будет считаться как правило, более элегантный способ
написания кода стилистически.
>> Функции мы конечно видел.
Они собираются принять этот формат.
Имя функции, некоторые скобках, а затем, возможно, некоторые
вещи внутри.
Или вы могли бы видеть использования несколько функций сторона
бок, как то вроде этого.
Теперь по касательной, делает эта шутка теперь смысл?
>> [Смех]
Это не значит, что это смешно, но это действительно возможно сделать немного больше смысла.
Так что теперь давайте войдем в CS50 прибор на мгновение.
И позвольте мне открыть один тизер здесь.
>> И в самом деле одна из причин, для введения каталог IKEA
и мигает картину из мобильный немного назад
был на самом деле связать вместе Дело в том, что всего несколько лет назад, в 2007 году,
этот кусок кода был выпущен, который был
один из самых первых реализации куска программного обеспечения
что делает то, что называется джейлбрейка.
Для тех, кто незнаком, джейлбрейка то, как телефон или мобильный
означает по существу выясняя , как сделать вещи
с ним, что компания кто сделал, что не намерена.
Как вы хотите установить определенный программное обеспечение, которое не в магазине приложений,
джейлбрейка телефона, который вы делаете вещи, как, что и больше.
Но то, что было весело в 2007-- и там было
десятки различных версий из этих вещей с тех пор,
во всех видах из languages-- является то, что эта программа здесь, называется iUnlock,
была написана на C. И поэтому я подъехал исходный код для этого,
просто вид показать вам некоторые из сходство с конструкциями
мы обсуждали до сих пор.
Теперь есть способ более сложность здесь чем мы видели уже в классе.
Позвольте мне прокрутку вверх только немного здесь.
>> Но обратите внимание, these-- хорошо мы замечаем несколько things-- не заметить эти строки здесь,
в том числе стандартный I / O точка час.
И all-- линия 24, пожалуйста-- заметить стандартный I / O
точка ч и целая куча других Файлы, которые, по-видимому другие люди
написали.
И если мы прокрутите вниз через это, немного произвольно,
Заметьте, что я не знаю, как писать все это я обязательно еще,
но есть если.
Так, видимо, это имеет филиал.
>> И если я прокрутите вниз немного дальше есть еще один, если.
Если я прокрутки вверх, я думаю, вокруг линии 100 я видел для.
Так что я не совсем уверен, как это работает пока,
но это для петли, что происходит в позвольте мне повторять некоторое число раз.
И если я прокрутки все до самого дна
Я вижу, что есть функционировать здесь называется
Основной, и некоторые дополнительные кредиты для вашего удовольствия чтения.
>> Так что это только say-- и мы поместим это онлайн среди источника Курса
Код сегодня--, что даже некоторые из них устройства, которые мы считаем само собой разумеющимся,
в конце дня вы все еще используя эти основные конструкции, которые мы
внедряет уже к настоящему времени.
Этого достаточно этого одного.
Ладно, так что теперь давайте на самом деле-то построить.
>> Пойдем дальше-то вроде hello.c, и открыть этот,
давайте напишем эту программу здесь.
Я собираюсь идти вперед и написать программу под названием adder.c,
чья цель в жизни будет как мой первый супер простой калькулятор
что только добавляет пару чисел.
Не потому что это трудно Проблема, а потому, что ему
позволяет мне сейчас связать вместе несколько вещей.
Так что я собираюсь идти вперед и включают Стандарт I / O точка ч и CS50 точка ч.
Я собираюсь сказать тап_п пустоту.
И снова в будущем мы вернемся к нему
в в этом контексте и пустых средств.
>> И сейчас я собираюсь сказать нечто как Printf, дай мне целое.
И теперь на моей второй линии, как я могу выразить себя такие
что я хочу объявить переменную что собирается хранить Int?
Буквально что же я печатаю, если я хочу, чтобы создать переменную, которая хранит в Int
бы вы сказали?
Int равна GetInt.
Конечно, так, что работает.
И только для консистенции с кодом вы будете
смотреть онлайн, позвольте мне изменить это х, только потому, что х
является общим имя переменной использование, по меньшей мере, в алгебры.
Теперь позвольте мне идти вперед и делать PRINTF снова.
Дайте мне другое целое число.
А теперь я собираюсь рода из узнать из этой картины,
Я собираюсь сказать Int у попадает в GetInt.
>> И мы не используется GetInt раньше, но только
как GetString идет и получает строку, как Хавьер сделал из зала,
Аналогично делает GetInt начинает мигать подсказку.
И эффективно ждать пользователя дать ему целое, введя его в
и попав Enter.
Теперь, наконец, я собираюсь сделать это, Е сумму of--
и позвольте мне получить фантазии now-- процентов я и процентов я присутствует
я восклицательный знак обратной косой н.
И что вы думаете, что я собираюсь положить в настоящее время в качестве дополнительных входов
к Е?
>> Я не хочу сказать, буквально процитировать Unquote х.
Я хочу класса в х и тогда, и сейчас давайте фантазии
и давайте предположим, мы можем делать то, что мы хотим.
Что вы хотите сказать дальше?
х плюс у.
И в самом деле, что будет работать.
Это минимально языки программирования понимаю основные арифметические,
и таким образом, это должно на самом деле работа.
>> Итак, позвольте мне идти вперед и делают гадюка в моем черном и белом окне
сюда, Enter.
Cryptic линия, но нет ошибок сообщение, так что это хорошо.
Dot слэш гадюка, дай мне целое, 1.
Дайте мне другое целое число, 2.
Сумма 1 и 2 является 3.
>> Ладно, так довольно тривиально Программа, но что же это делается?
Это позволило мне использовать функцию называют здесь, вызвать другую функцию здесь,
два обращения к GetInt, а Третий вызов, чтобы Е,
а затем с помощью этих заполнителей.
Так что это немного больше сложные, чем в прошлый раз.
Но что, если я хочу, чтобы получить немного необычным?
>> Позвольте мне идти вперед и сейчас это сделать.
Позвольте мне идти вперед и создавать Новый файл называется условия нулю.
И я иду, чтобы спасти некоторое время ради классов
и просто вставить в том, что Код в качестве отправной точки.
А теперь я просто хочу, чтобы положить то новое здесь в середине.
Так Е Я хотел бы целое пожалуйста.
И все это код доступен на сайте Курса,
Вы не должны ввести все это в классе, если вы не хотите.
Int, и теперь я собираюсь использовать, вместо х и у,
Я собираюсь использовать п, что вероятно, наиболее общее название
для целого числа в компьютерной программе.
А теперь я хочу сделать немного суждение здесь.
Я собираюсь посмотреть, если н больше, чем 0, тогда
Я собираюсь сказать printf-- возгласы, printf-- вы выбрали положительное число,
Восклицательный знак косая черта н.
Закройте что.
А то я собираюсь распечатать Е Вы выбрали отрицательное число.
>> Теперь, прежде чем вы кричите на меня, давайте запустим эту программу.
Отпусти меня сюда.
И как я могу скомпилировать программу называется условия тире 0?
Сделайте условия тире 0.
Вид глупое имя, но-- черт возьми.
ОК, хорошее преподавание момент.
Почему, что сломать?
>> Что я случайно называют этот файл?
Вы можете рода вывод на вкладке здесь.
Так что это не плохо, что я сделал это, потому что это
произойдет, возможно, некоторые из вас.
Так я случайно назвал свой исходный код состояние 0.
Но мой исходный код по соглашению должны быть в файле под названием состояние 0 тире с,
или что точка в.
>> Итак, позвольте мне исправить это.
Так же, как Microsoft Word, я могу пойти вверх Сохранить как и сделать состояние 0 точка в.
Теперь просто быть аккуратным Я собираюсь идти вперед и удалить
состояние 0, который был моим старая версия.
А теперь давайте действительно делают состояние 0, Enter.
ОК, кажется хорошим.
>> Состояние 0, Enter.
Я хотел бы целое пожалуйста, 50, Вы выбрали положительное число.
Теперь, как о негативном 50?
Вы выбрали отрицательное число.
А сейчас, 0.
Уверен, 0 не отрицательный.
>> Так что это своего рода логической ошибкой.
Как это исправить?
Иначе, если п меньше 0, сделать это, еще мы можем иметь трехсторонний филиал здесь,
Е вы выбрали 0.
Так что теперь, если я повторно это Программа, после компиляции
снова марки, и теперь повторно состояние 0, что я буду видеть здесь
0 дает мне этот вывод.
Так куда мы идем с этим?
>> Ну, это очень легко потерять из виду леса за деревьями.
И так позволяют сделать вывод, с этим 2 и 1/2 минуты видео
что в конечном итоге немного из рекламы от Google,
но, что действительно является свидетельством того, что даже с использованием этих основное здание
блоки мы можем в конечном счете, сделать один раз у нас есть немного программирования
подкованных под нашими поясами.
>> [МУЗЫКА ИГРАЕТ]
>> SAROO Брирли (VoiceOver): Это было 26 лет назад,
и я как раз собирался повернуть 5.
Мы добрались до железнодорожной станции и мы сели на наш поезд вместе.
Мой брат только что сказал, я буду остаться здесь, и я вернусь.
И я просто подумал, ну вы знаете, Я мог бы также просто пойти спать
и он просто разбудить меня.
И когда я проснулся на следующее день, весь каретки
был пуст на неуправляемый поезд, призрак Поезд принимать мне, что я не знаю, где.
>> Я был принят в Австралию, в австралийской семье.
И мама украшен мой Номер с карты Индии,
которые она положила рядом с моей постели.
Я просыпался каждое утро видя эту карту, и, следовательно,
он вроде как сохранил воспоминания живы.
Люди говорили, что ты пытаясь найти иголку
в стоге сена, Saroo Вы никогда не найдете его.
>> Я бы вспыхнули из мест, которые я ходил, вспышки моей семьи
сталкивается.
Был образ моей матери, садясь со скрещенными ногами,
просто смотреть, как она плачет.
Жизнь так трудно.
Это было мое сокровище.
И я смотрел на Google Map и понял, что есть Google Earth, а также.
В мире, где вы могли бы увеличить в, У меня начались все эти мысли
и какие возможности что это может сделать для меня.
Я сказал себе, вы знаете, вы, получил все эти фотографические воспоминания
и ориентиры, откуда ты родом, и вы знаете, что город выглядит.
Это может быть приложение, которое Вы можете использовать, чтобы найти дорогу назад.
>> Я подумал, ну я положу точка на железнодорожной станции Калькутты,
и радиус линии, вы знаете, что вас следует искать вокруг этой области.
Я, конечно, сталкивался эти железнодорожные пути.
И я начал после его, и Я пришел к железнодорожной станции, которая
отражение и то же изображение что было в моих воспоминаниях.
Все совпало.
Я просто подумал, да, я знаю, куда я иду.
Я просто собираюсь позволить карта, которая у меня есть в голове
привести меня и принять меня обратно в мой родной город.
>> Я пришел к порогу Дом, который я родился.
И обошел около 15 метров за углом,
было три дамы стоя снаружи, рядом друг с другом.
А средний шагнул вперед, и Я просто думал, это твоя мама.
Она выступила, она обняла меня, и мы были там в течение приблизительно пяти минут.
>> Она схватила меня за руку и она взяла меня к дому
и получил по телефону, где она позвонил моей сестре и моего брата
сказать, что, вы знаете, брат твой имеет только
все внезапно появился как призрак.
А потом семья снова воссоединилась.
Все все хорошо, Я помогал маме из,
она не должна быть ведомой далеко.
Она может прожить остаток ее жизни в миру.
>> Это была иголка в стоге сена, но игла была там.
Все есть.
Все, что мы есть в мире является на нажатие кнопки.
Но вы должны иметь желание и решимость желая его.
>> [МУЗЫКА ИГРАЕТ]
DAVID МАЛАН: Чудесно сладкий свидетельство
только то, что вы можете теперь делать с технологией.
Мы будем видеть вас на следующей неделе.