>> David J. МАЛАН: Так что это CS50.
И это было CS50 собственной Колтон Огден, для более о том, кто музыку можно
скачать на soundcloud.com/cs50.
>> Итак, сегодня мы ориентируемся тем более по искусству программирования.
И мы берем, где мы оставили на прошлой неделе, сосредоточившись
на пустом месте, который был в этом графический язык программирования.
И принимать вещи вниз к более низкому уровню, используя более традиционный программирование
язык известен как С. Но по пути, понимая,
что те же идеи мы говорили на прошлой пятницы
будет повторяться не только в этом на языке С, но в большинстве любой другой
что мы смотрим на этот семестр.
>> Так мы называли эту вещь здесь то, что последний раз?
Это представитель заявлении.
Таким образом, мы назвали это заявление.
И он делает то.
Это команда, которая компьютер или царапинам может выполнить.
И впредь, давайте также начать называя нечто подобное функция,
по причинам, мы скоро увидим.
>> Между тем, мы видели такие вещи.
И это, как правило, Известно также то, что построить?
>> АУДИТОРИЯ: Loop.
>> David J. МАЛАН: Так петля.
Так довольно проста.
Она в буквальном смысле делает то, что он говорит.
И в пустом, если вы хотите втиснуть больше части головоломки в там,
часть будет расти, чтобы соответствовать его.
И мы увидим в C, что мы можем сделать то же самое.
>> Другой тип цикла, тем не менее, в пустом может быть навсегда,
или есть любое число других подходов.
Но давайте более универсалом взгляд, с лицом
что, скорее всего, хорошо знакомы, на петли в целом.
Марк Цукерберг: Один вещь, что компьютеры
действительно хорошо это повторяя команды.
Как человек, вы получите очень скучно, если вас
должен был сделать то же самое много раз подряд.
Но компьютер может сделать то же самое миллионы или даже миллиарды раз,
и не надоедает, и быть в состоянии отнести то, что действительно хорошо.
>> Так, например, если хотел бы пожелать всем
на Facebook с днем ​​рождения отправив их по электронной почте,
это может занять мне больше века на самом деле выписать
все эти письма на всех.
Но с помощью нескольких строк кода, я могу есть система, отправьте письмо на всех
на Facebook, желающих им С Днем Рождения.
Так вот что петли и почему они ценны и то
что компьютеры могут делать очень хорошо.
>> David J. МАЛАН: Так что, если Вы были получатель
некоторых из CS50 и Пространство Dropbox в последнее время,
что на самом деле именно то, что мы сделать, используя код совсем так.
Мы по существу имеют большой таблицы, в которую
люди были ввода их имена и адреса электронной почты.
И мы писали чуть-чуть кода, может перебрать эти адреса
и выплюнул уникальные адреса в случай, если кто представил несколько раз.
И после этого, мы отправляем Автоматизированная письмо от бота CS50 в,
в том числе скидочный купон.
>> Теперь мы также смотрели на это построить в прошлый раз.
И это особенно Примером чего?
Так что, да, это логическое выражение.
И форма предназначена , чтобы захватить то, как хорошо.
Все такие вопросы образуют истинным или ложным в пустом
будет выглядеть немного-то вроде этого.
И мы называем это логическое выражение.
не Это действительно истинным или ложным, да или нет.
Это способ, отвечая на вопрос.
>> И то же можно использовать эти Boolean выражения внутри конструкций
как это, какая из Конечно есть условия
или филиалы, пословиц развилок.
И они могут выглядеть не только как это, но они могут также
уже Эльсес, связанных с ними.
И вы можете на самом деле имеют три пути развилка или четыре вилочные
в дороге, просто гнездования эти вещи,
как вы увидите в пустом если вы еще этого не сделали.
И как вы можете сделать в C, а также.
>> Давайте еще раз универсалом смотреть на alumnist, а также, кто
может представить другой подход к этим вещам называемых условия.
>> Билл Гейтс: Люди делают решения каждый день.
Например, прежде чем выйти на улицу вас отчасти есть, если заявление, которое говорит,
если идет дождь, то я нужно получить мою куртку.
И компьютеры удивительны, как только вы решить те виды отчетности,
что они могут надежно выполнять те вещи, в невероятной скоростью.
И таким образом, компьютерная программа действительно немного математики и некоторые
если заявления где Решение получает сделано.
>> David J. МАЛАН: Так как Вы, возможно, знаете, это было
люди, как Билл Гейтс, Пол Аллен и другие
что действительно стартовал так называемый персональный компьютер
Революция несколько лет назад.
Я думал, прежде чем мы углубимся в какой Administrivia,
мы связаны сказку из Альбукерке, Нью-Мексико музей естественной истории
и наука, где некоторые из Билла Гейтса ' и ранние рассказы Пола Аллена
пересчитываются, как у нас сейчас современные ПК и компьютеров Mac и многое другое.
Для этого, однако, мы должны двух добровольцев которые имеют очень хорошие голоса повествования
читать сценарий вслух.
>> Ладно, а как насчет в там.
Поднимайтесь.
А как насчет перед здесь.
Идем вниз.
Займите свои места здесь.
Как вы, ребята придумали, пара административных объявлений.
секционирования, процесс о выборе раздел,
начнется в этом Среды по пятницу.
Подробнее об этом в ближайшую Среда в лекции.
>> Супер секции, в то время, являются то, что мы предлагаем на следующей неделе
в результате чего весь класс предлагается принять участие в довольно больших масштабах
секции, одна более удобным, один менее комфортно.
И мы объявим реквизиты из этого, а также, в конце этой недели.
>> Между тем секции, сами, начнется
в три курса недели, нулевой индекс, что означает те пару недель
вне.
Так, чтобы не волноваться.
Вы еще не пропустили ничего в этом направлении.
Между тем в то же время, если вам есть вопросы к административной,
напишите мне и Девон и Гейб и Роб по этому адресу здесь.
>> Наконец, установите проблема 0, конечно, из.
Вы, возможно, заметили его на сайте Курса.
Следует предоставить вам все ответы на вопросы
у вас может быть по пути для Приступая к работе с множеством проблем.
Но если вы окажетесь нуждается в руку помощи,
всеми средствами посещать в рабочее время, Понедельник, Вторник, Среда, Четверг
на этой неделе в вечернее время в четырех столовых.
Смотрите, что URL там за сведения, от того, где рабочее время должно быть.
>> Теперь Давайте встретимся наш два гостя здесь сегодня.
Как тебя зовут?
>> JAY PAUL: Джей Пол.
>> David J. МАЛАН: Джей Павел, приятно познакомиться.
>> HIKARI: Хикари.
>> David J. МАЛАН: Хикари?
>> HIKARI: Хикари.
>> David J. МАЛАН: Хикари.
Приятно познакомиться, а также.
Джей Пол и Хикари есть в перед ними на этих музыки
стоит в двух сценариев, которые я печатные сегодня утром от Нью-Мексико
Музей естественной истории и науки.
И то, что я думал, Я бы сделал на накладные расходы
будет сопровождать вашу декламацию сценария и этой истории
с некоторыми визуальными образами, без неожиданностей.
>> И то, что я сделал в заранее является prehighlight на вашем сценарии
то, что вы должны прочитать, и то, что вы должны прочитать.
И мы будем в основном только альтернативные пункты.
Так что это так же, как вы, возможно, сделали на уроке английского.
Это действительно заставить аудиторию верить в свою сказку здесь.
Пойдем?
Таким образом, история здесь, у нас есть BASIC, и она начинается в Кембридже.
>> JAY PAUL: Это была зима 1974 года, в Кембридже, штат Массачусетс
где зимы могут быть холодными.
Бородатый, длинноволосый из колледжа имени
Пол Аллен был drudging через Гарварде Площадь, погруженный в свои мысли.
Его главной заботой в те дни был, как получить своего друга, Билл Гейтс,
бросить школу и пойти в бизнес с ним.
HIKARI: два уже ушел через ряд коммерческих предприятий
вместе, начиная с Lakeside школа в Сиэтле, где
они были выплачены в свободное время компьютера для проверить компьютер PDP-10 в местном времени
обмена компанию.
Самое последнее план был бросить школа и образуют компанию программного обеспечения.
Аллен покинул Вашингтон Государственный университет.
Но в последнюю минуту, Гейтс решили придерживаться Гарварде.
>> JAY PAUL: Это день, пересекая Гарвард Площадь, Аллен заметил января,
1975 вопрос о Popular Electronics с земли остановки заголовком,
Первый в мире мини-компьютер Kit чтобы конкурировать коммерческие модели.
Под таким заголовком было картина небольшую коробку
украшены огнями и переключателей.
Она называлась MITS Altair 8800.
И Аллен знал, что это то, что он искал.
>> HIKARI: Дни дискуссия.
Аллен и Гейтс понял Значимость Альтаира.
Они часто говорили о микропроцессорах
и ждали, чтобы увидеть, что будет сделано с ними.
И был комплект миникомпьютер на крышка Popular Electronics.
Это, по-видимому не было программного обеспечения еще.
Они воображали нацию программисты нисходят по MITS.
И так они называли Эд Робертс, Глава компании,
утверждая, что есть версия BASIC язык программирования почти готов
для Altair.
Они этого не сделали.
И Робертс должен был знать, что они не сделали.
Он получал 10 звонков в день от люди, которые BASIC почти готов.
И его запас ответ был, "Первый человек
кто появляется с работы ОСНОВНЫЕ получает контракт ".
>> JAY PAUL: Гейтс и Аллен никогда не видел Альтаир.
Они даже никогда не видел Intel 8080 микропроцессор
в центре Альтаира.
Но пару лет назад Аллен написал программу
на ЭВМ, что эмулируемым операция предыдущей Intel
Микропроцессор.
И на этот раз они бы сделать то же самое.
>> HIKARI: С Intel 8080 руководство на его стороне,
Аллен сел Гарвардский PDP-10 компьютер
и написал эмулятор и программное обеспечение инструменты, необходимые, чтобы сделать программирование.
Между тем Гейтс перестал ходить в классах и посвятил себя
к проектированию основных, используя каждую уловку
он знал, для получения размера внизу 4 килобайта.
>> JAY PAUL: нет в Альбукерке, Эд Робертс получил звонок от Гейтса
прося деталей о том, как Альтаир обрабатываются конкретные процедуры.
Никто не никогда не задавались вопросом, что и раньше.
И Робертс начал интересоваться.
>> HIKARI: С развитием инструменты и дизайн готов,
Гейтс и Аллен написал Код на PDP-10,
привлечение другого студента Гарварда, Монте Davidoff, писать математические процедуры.
После заключительной ночью программирование, Аллен сел в самолет
доставить их основных в MITS.
Он провел самолет переждать беспокоиться.
И еще в Кембридже Гейтс был беспокоиться.
Они провели ряд тестов на BASIC и он работал на эмуляторе.
Но что, если эмулятор был неправ?
JAY PAUL: Как плоскости подошел Альбукерке,
Аллен понял, что их BASIC, теперь аккуратно содержится
на небольшом выпадении перфоленты, бы
бесполезно без отдельной Программа, которая называется загрузчик, что
скажет Альтаир хау читать бумажной ленты существо
подается в телетайпным машины.
Он вынул записную книжку и быстро набросал вниз программу загрузчик
на языке ассемблера, затем вручную переведены, что в 1 и 0
Альтаир поймет.
>> HIKARI: Аллен ожидал чистый, немного, высокотехнологичной компанией
в ведении мужчин в деловых костюмах.
Таким образом, он был удивлен, когда Робертс встретила его в аэропорту, похожий на ранчо
рука.
Робертс был также удивлен.
Когда он бросил Гарвард программист в дорогом отеле,
Аллен должен был признаться, что он не мог позволить себе в комнату.
>> JAY PAUL: MITS, непосредственно, был расположен в пыльном торговом центре.
Внутри на суматоху верстак был Альтаир
загружалась с 5 килобайт память и соединены кабелем
к телетайпу машины.
Робертс и главный инженер, Билл Йейтс, выжидающе
как Аллен переключается его загрузчик Программа в Altair.
Телетайп начал урчание, как это вытащил бумажная лента через считыватель магнитной ленте.
Потребовалось возможно 15 минут загрузить программу.
Тогда телетайп резко напечатаны быстрое памяти, то готов быстрое,
и Аллен начала печатать команды несколько испытаний.
Ко всеобщему изумлению, программное обеспечение работало.
Были ошибки, конечно.
Но главное было это работало.
>> HIKARI: Позже, на их пути к $ 3.00 обед в Панчо, оса полетели
в окне пикапа грузовик и ужалил Аллен на руке.
Но на тот момент ничего может испортить настроение.
Альтаир теперь был свой BASIC, коммерческий продукт для дома
компьютер, выступил Пол Аллен и Билл Гейтс, делать бизнес, как Microsoft.
>> David J. МАЛАН: Многие благодаря нашим двум читателей.
>> [Аплодисменты]
>> David J. МАЛАН: Теперь у вас есть выбор,
прежде чем уехать, из блестящие или свечение в dark-- о,
подождите одну секунду, wait-- блестящие и светятся в темноте слона
от CS50 собственной Cheng Gong.
HIKARI: Ой, спасибо.
David J. МАЛАН: Все Хорошо, спасибо вам большое.
[Аплодисменты]
David J. МАЛАН: Так правдивая история.
Это говорит о том, что все эти машины и легкость, с которой мы
использовать их прямо сейчас, и как должное, действительно
началось здесь, всего в нескольких шагах из этого фактического театра.
И вот сегодня, если вы не были, Это Максвелл Дворкина, компьютер
науки здание, Также за углом.
А на втором этаже этого Здание делает повесить три страницы
от первоначального исходного кода, что Билл Гейтс и Пол Аллен написал.
В самом деле, если использование увеличении в вы можете посмотреть не только
их имена в оригинальный тип, но и
их подписи, что они украшены Несколько лет назад, когда они в последний раз посетил.
>> Но то, что было особенно убедительным о это то, что они намеревались сделать
было написать программу, которая будет дать возможность другим людям писать
их собственные программы.
В то время все было с эта машина Альтаир сделаны MITS.
И все что им было нужно некоторый способ что делает его легким для любителей и людей
нравится нам в этом зале, чтобы на самом деле программа что не обязательно понимая
Код Ассамблея, или машина Код, или не дай бог, 0 и 1.
Мы программисты, как те, в этой комнате, мы
хочу быть в состоянии выразить сами гораздо больше, как псевдо-код
даже если это немного более нит разборчивы, чем мы говорили на прошлой неделе.
Мы не хотим, чтобы написать такой код, который сделал Пол Аллен и Билл Гейтс.
Мы, наоборот, хотим, чтобы написать код, который выглядит немного более дружественным к пользователю.
>> Теперь это язык известен как BASIC.
И номера строк есть то, что вам использовать просто номер строки кода
что вы пишете.
Мы даже не должны сделать эти дни.
Но вы можете посмотреть здесь как PRINT "Здравствуй, мир!"
бы действительно по-видимому, печатать только что.
И так, что Билл и Пол сделал, дать людям возможность написать такой код
вместо of-- если вы взгляните на информатика wall-- такой код.
>> На самом деле, CS50 недавно имели возможность
сесть с профессором Гарри Льюис в области компьютерных наук отдела, который
на самом деле учили Билла Гейтс несколько лет назад,
и стоит здесь до эти три страницы выдержек.
Давайте взглянем.
>> ГАРРИ Льюис: Что у вас тут список ранней части программного обеспечения
написанная Биллом Гейтсом и Полом Аллен, основатели Microsoft.
Таким образом, код Интересно по двум причинам.
Прежде всего, это стало Первый продукт компании Microsoft,
который был переводчиком для BASIC язык программирования.
А во-вторых, это было Одним из первых попыток
чтобы создать интерпретатор настолько обычным люди могли использовать персональные компьютеры.
>> Так Билл Гейтс был студентов в Гарварде.
Я начал преподавать в Гарварде в 1974 году.
Это было сделано в 1975 году.
Так было в начале своей карьеры и в начале моей карьеры.
Я на самом деле учили Билла в Конечно в это время.
Пол Аллен не был Гарвардский студент, но он
был средней школы Одноклассник Билл Гейтс.
Если вы приходите и смотрите на список, вы будете
на самом деле найти третий Имя, Монте Davidoff,
который был одноклассник Гейтса здесь, в Гарварде.
>> Итак, вот интересный комментарий здесь.
Он говорит: "В 4К можете удалять квадратного корня но для петли должны еще работать ".
Итак, что это означает, что было два пути обобщить данную программу.
Один из них был работать на версии этого компьютера Altair
что только было 4K слова памяти, 4096 слов в памяти.
Но большой версия была 8K.
И что это говорит, что в версии 4K
Вы должны были удалить некоторые Код, чтобы сделать его нужным.
И одна из вещей, , который будет удалена
будет квадратный корень рутина.
Но, видимо, для петли должны еще
работать даже тогда, когда вы собираете вниз в течение только версии 4K компьютера.
David J. МАЛАН: Так одна из тем, как мы увидим в информатике,
это понятие наслоение и абстракция,
и действительно стоял на плечах из людей, которые пришли перед нами, а не
в отличие от некоторых из Билла Гейтса и Пол Аллен повествование здесь.
И что это означает, что сегодня мы можем принять для
разумеющимся, что вещи на самом деле нам легче писать код.
Действительно код, как мы уже говорили в пятницу, является более технически известный как исходный код.
И это этот английский подобный синтаксис это больше, собственно, и более четко определены
чем то вроде псевдо-код, для которые нет формальное определение.
>> И сегодня то, что мы собираемся сосредоточиться на исходный код
что выглядит так, что по общему признанию, на первый взгляд
выглядит совершенно загадочным.
И, честно говоря, это путь более эстетически сложнее, чем основная программа.
Все это делает программа, напомним, что мы говорили?
Это просто печатает "привет мир".
И все же смотреть на все вещи, мы должны чтобы обернуть вокруг этого очень простой фразе.
Но вскоре все эти линии и больше
сделает гораздо лучше для вас смысл.
>> И поток состоит в следующем.
Что нам нужно в нашем распоряжении это взять код, как источника
Код, который мы только что видели.
И нам нужна новая программа запустить его через.
Мы должны алгоритмов, которые могут конвертировать исходный код, как это,
в объектный код, 0 и 1.
Другими словами, то, что мы собираемся, чтобы узнать сегодня
в том, как это сделать, написать исходный код до верхней,
передать его в качестве вклада в специальный Программа называется компилятором,
и мы собираемся производить объектный код.
Какие это просто причудливый способ говорю, что мы будем принимать то
что выглядит так, передать его в программе под названием компилятор,
производить объектный код который выглядит следующим образом.
>> Так что это буквально паттерны 0 и 1
, которые понимают Компьютер Intel в эти дни,
что если интерпретировать с помощью ЦПУ, мозги внутри компьютера,
буквально распечатать, попросту говоря, "привет мир".
Теперь есть способ больше 0 и 1, чем вы хотел бы надеяться, может быть необходимо для этого.
Но это потому, что мы строим на хорошую сделку сложности
что мы можем впредь принимать как должное.
Другими словами, много умных людей дали нам много интересных инструментов
и мощное программное обеспечение, с которым мы сейчас может сделать проекты самостоятельно.
>> Так что давайте начнем.
В то время как в прошлую пятницу, и для задачи Набор 0 на этой неделе,
вы будете играть в Мир, который выглядит следующим образом.
Начиная с сегодняшнего дня и для задачи Установите 1 на следующей неделе, код
будет выглядеть немного больше загадочным, но функционально является
будет то же самое.
Так уведомление, верх царапинам, Дно С. Откровенно царапинам
намного больше пользователь удобной и доступной.
Но если сейчас вы сравните визуально сверху снизу, там вроде 12:59
соответствие между головоломки и язык
мы собираемся играть.
В частности, говорят, синий паззл наверху,
по-видимому, соответствует тому, что ключевое слово или специальная фраза на этом языке
называется C?
АУДИТОРИЯ: Printf.
David J. МАЛАН: Printf.
Это означает, что отформатированный печать.
И это только фантазии способ сказать Printf в C
будет заявление или функцию , которая печатает то на экран.
Что это печатать на экране?
Что бы вы ни сказать ему, чтобы внутри котировок, внутри скобок.
Итак, еще раз, по общему признанию, есть много вещей,
что вы должны иметь в виду,, скобки, кавычки, точка с запятой,
и все это.
Но все, что является своего рода из к делу.
Интересно вынос сейчас является то, что скажем блок в пустом
в значительной степени эквивалентно Е заявление на C.
>> Между тем, желтый кусок головоломки наверху, когда зеленый флаг нажал,
, вероятно, равна к тому, что ключевое слово здесь?
АУДИТОРИЯ: Главная.
David J. МАЛАН: Так главный.
Может быть, INT, может быть, недействительными.
Но основным видом походит важно, и это действительно так.
Поэтому, когда зеленый флаг нажал , опять же, паззл
что стартует Вся программа царапинам.
Но мы собираемся сейчас начать называть что главный, эта функция известна как главная.
>> Теперь то же время мы будем обобщить это следующим образом.
Мы могли бы назвать сказать функцию.
И это могло бы выглядеть специально, как это.
Ну, насчет петель?
Если мы хотим, чтобы начать преобразования или перевод более в пустом С,
эта вещь здесь, по-видимому просто говорит "привет мир" навсегда.
Так что если у вас ассоциируется это скрипты с кошкой в ​​пустом,
это просто будет продолжать говорить в какой мультфильм пузырь,
"Привет мир, привет мир, привет мир, "до тошноты, навсегда.
Если мы хотим сделать нечто подобное в C, это будет выглядеть немного загадочным.
Но мы можем достичь того же приводит, как мы будем в конечном итоге
выяснить, с синтаксисом, как это.
Я собираюсь снова использовать Printf, потому что в конце дня
Я хочу напечатать "привет мир".
И я по-видимому, с помощью Ключевое слово, которое не навсегда.
Это вместо того, чтобы слово в то время.
Но только семантически в Английский, в то время как вид
предполагает некий цикл или цикл.
>> Так что, оказывается, Ключевое слово, которое использует C.
И в то время как верно, почему время правда фактически означать навсегда?
Ну, в то время как, как мы будем в ближайшее время ценить все больше,
имеет этот скобках рядом с ним где вы можете поместить логическое выражение.
И пока что выражение истинно, этот код,
как обозначено между этими двумя Фигурные скобки, как мы их называем,
просто продолжать работать снова и снова.
>> Так верно, то верно.
Таким образом, хотя истинных средств только сделать это навсегда.
Это почти глупо построить, чтобы выразить себя.
Но не было никакого навсегда Ключевое слово в С. Был в то время.
И там был очень простой Логическое выражение, как правда.
И таким образом, это, мы увидим, достигает того же результата.
>> Как еще вы могли бы реализовать цикл?
Ну, в пустом Вы могли бы трудно код определенное число
итераций в цикле здесь.
И так, что именно то, что мы могли бы сделать в этой версии C,
в результате чего мы имеем так называемый цикл.
И цикл здесь собирается для перебора, несколько загадочно,
от значения 0 на вверх , но меньшей, чем 10.
>> Сейчас переменные в пустом месте.
Вы, возможно, не было повод использовать это.
Но какой в ​​этом смысл, в общем, переменной мы говорили на прошлой неделе?
Что это?
>> Аудитория: очки.
>> David J. МАЛАН: Чтобы указать?
О, указывает.
ОК, отслеживание точек, Например, в игре.
Или в более общем делать что с переменной?
Что утилита из них?
>> АУДИТОРИЯ: Память.
>> David J. МАЛАН: Да, так памяти.
Это для хранения то.
И вроде глупой визуального I используется Последний раз это было, как этот стеклянный шар.
И если бы мы хотели, чтобы сохранить то внутри переменной,
например сейчас значение шесть, потому что
шесть пинг-понг шары в здесь.
Это просто своего рода хранилище контейнер, который под капотом
реализуется с битами, 0 и 1, Однако компьютер происходит, чтобы сделать это.
>> Таким образом, в пустом, если мы хотите иметь переменную,
мы можем использовать оранжевый блок, как это.
Мы назовем эту счетчик в этом конкретном случае.
Я инициализации его в 0.
А что это я тогда делать?
Навсегда, говорят счетчик, который, если Вы играете с, что в пустом,
Вы увидите только царапина.
Кошка или что костюм вы надеваете он будет говорить количество в вопросе.
>> Изменение счетчика на 1 как увеличивающиеся на 1.
И так это будет рассчитывать с какого и что?
От 0 сезам бесконечности, или до скреста перерывов,
или до вас своего рода теряют интерес в просмотре
как высоко он может на самом деле рассчитывать.
>> Так как мы можем преобразовать это в C?
Это будет выглядеть немного загадочным.
Но опять же, если вы посмотрите на каждый этих строк индивидуально
они вроде очереди вообще.
Таким образом, очевидно десятичного собирается есть специальное значение в C.
Мы увидим, что снова.
Как в стороне это означает целое.
Так это просто означает количество.
Так вот тип стеклянный шар я хочу, один
, которые могут хранить числа, не пинг-понг шары.
И я собираюсь использовать знак равенства есть присвоить ему значение 0.
Так вот совсем как набор счетчик в 0, но в С.
>> Между тем, в то время как верно, что было эквивалентны, конечно, всегда,
хотя это может показаться загадочным, а затем внутри фигурных скобок.
И вы можете думать об этих фигурных скобках, которые вы можете набрать на клавиатуре,
как действительно быть как кривизны в эти желтые блоки петель в пустом месте.
Она охватывает несколько строк кода.
>> Printf становится немного страшно, потому что я
см не только цитирует в скобках.
Но что же тут нового синтаксически в этом примере?
Там в процента г.
А потом обратный слеш н есть.
Мы видим, что и раньше, даже хотя я не упоминал об этом.
Тогда есть запятая.
А тут еще счетчик.
>> Но мы увидим только через момент, что это всего лишь
стандартный способ сказать распечатать "Десятичное число," цитата, конец цитаты,
некоторые десятичное число.
Но я собираюсь рассказать вам позже что это десятичное число является.
Так на то, что есть запятая В этой строке поговорка Printf,
означает идти вперед и печать некоторые десятичное число.
Да, и кстати, это число независимо от значения этой переменной.
И так, чтобы сделать это более ясно, мы увидим пример
вскоре с участием именно Е в контексте реального C программ.
>> Теперь просто обернуть некоторые из этих конструкций.
Логические выражения, вы не могли бы повод использовать их в вашей программе
но вы могли бы очень хорошо, особенно при использовании условий.
И вот эти два примера из Царапины значит, если х меньше у,
или, если х меньше у и у менее чем г, как мы могли бы перевести это?
>> Ну, в C это просто будет выглядеть вот так.
Немного загадочные, больше скобки, некоторые странные амперсанды, но принципиально
идеи так просто, как они в паззл мире.
Мы просто проверка, если что меньше чем-то еще.
>> Как насчет условий?
В двух словах на английском языке, что делает это кусок царапинам кода у бы вы сказали?
>> АУДИТОРИЯ: Сравнивает два числа.
>> David J. МАЛАН: Сравнивает два цифры, и если х меньше, чем у
он говорит, как много.
Если х больше, чем у он говорит, как много, еще
если х равен у он говорит, как много.
А где же х и у взялось?
Кто знает.
Это кусок нуля код из контекста.
Но то, что мы хотим сейчас сделать, это перевести это на мгновение, чтобы увидеть.
>> Так как вы освоитесь На этой неделе в задаче Набор
0 играть в этом мире слева, реализовать
что идеи не меняется На этой неделе или в следующем, или за его пределами.
Мы просто собираемся начать писать вещи
по-другому, с нашими клавиатура вместо нашего мыши.
>> Таким образом, если х меньше у, есть некоторые скобки там,
то есть некоторые фигурные скобки еще раз, чтобы вид оформить его
как желтые кусочки головоломки делать.
И я собираюсь Е х меньше, чем у и так далее.
>> Что приятно о С, как вы можете видеть здесь,
является то, что вы не получите эту вложенности, гнездования, гнездится, что это обязательно
будет толкать свой код справа.
Вместо этого, вы можете есть все, Модельный ряд аккуратно нравится.
Но это только эстетическая подробно мы увидим снова в ближайшее время.
>> Хорошо.
Так что возвращает нас к это загадочное глядя программа.
Давайте на самом деле написать код.
Теперь, как вы идете по поводу написания кода?
Все эти годы, что вы владели Mac или PC, настольный компьютер или ноутбук,
вы на самом деле имели возможность , чтобы начать писать программный код.
Но вы, вероятно, отсутствует специальный тип программы.
Можно, конечно, написать код.
Но вы не можете обязательно, из коробки,
конвертировать этот исходный код в объектный код, 0 и 1
без чего на компьютере?
АУДИТОРИЯ: Компилятор.
David J. МАЛАН: Так компилятор, право.
Теперь большинство из вас, вероятно, не владеют компилятор,
никогда не скачал компилятор.
Но вы увидите, вы можете скачать его как и большинство любой другой части программного обеспечения.
В мире Mac OS, вы могли бы скачать или скачали уже
то, что называется Xcode или GCC или Clang.
Если вы приехали из Окна мир вы могли бы
скачали Visual Studio, Visual Basic, среда, как, что.
Там в десятки компиляторов в эти дни, что вы могли бы использовать.
Но за исключением этого здесь то, что это будет боль
и, честно говоря, технологическое кошмар для сотен
людей с различными компьютерные конфигурации всем
настроить свои машины в точности так же,
так что мы все можем быть на той же странице.
>> Итак, что мы, вместо того, чтобы, сделать в CS50 является мы вам
стандартный среда, Linux среда это
будет выглядеть немного как то так.
Вы увидите больше из этого в Задача Set 1 спецификация, которая
будет выходить в интернет в эту пятницу ночью.
>> И что это значит является то, что вы и впредь
собираются, чтобы иметь возможность скачать и установить программу
называется CS50 Appliance.
И вы собираетесь скачать и установить другую программу под названием
гипервизор, который является просто причудливый способ достижения этой цели.
Владеете ли вы Mac или ПК, или Linux, компьютер или компьютер Solaris,
или что с ума операционной Система вы работаете,
Вы собираетесь скачать программу называется гипервизор Это
собирается запустить CS50 Appliance на компьютере
независимо от того, что ваша операционная система.
Гипервизор другими словами преобразует наш материал в любом языке,
все указаниям вашего собственный компьютер понимает.
>> Так что это наслоение.
И опять же, это своего рода из тематики в компьютере
наука, здание на вершине вещи.
Вы, возможно, Windows.
Вы, возможно, Mac OS.
Но начиная со следующей недели вы собирается скачали
бесплатный кусок программного обеспечения называется гипервизор.
Вы собираетесь скачали кусок программного обеспечения называется CS50 Appliance.
>> Это собирается запустить в гипервизора, , которая собирается работать на вашем компьютере.
И конечный результат что все мы будем
есть простое окно, как это на Mac или ПК
что дает нам иллюзию все под управлением той же операционной системы,
без любой другой Влияние на вашем компьютере.
И вы можете полный экран это и по сути ведут себя
как будто вы работаете операционная система называется Linux,
что и CS50 Appliance основан на.
>> Итак, давайте реально использовать этот Теперь, чтобы написать программу.
Вы можете написать программу используя Microsoft Word.
Вы можете написать программу используя TextEdit, или Блокнот,
или WordPad, или в значительной степени любое слово Программа обработки вы всегда использовали.
Но реальность такова, что вы не должны использовать действительно любой из этих программ.
Вы, конечно, не следует использовать что-то вроде Microsoft Word, который
имеет смелый облицовку и курсив, и крупные шрифты и небольшие шрифты,
потому что компьютер не заботиться об одном из этого.
Все, что компьютер будет заботиться о том,
Английский как инструкции, написанные на C.
>> Так что мы будем делать внутри из CS50 Appliance
будет использовать программу свободно доступны, и это
предварительно установлены в этом прибор, называемый Gedit.
И Gedit это просто супер просто текстовый редактор, как TextEdit Mac OS в,
как Блокнот Windows, что происходит в выглядеть немного-то вроде этого.
>> Так давайте на самом деле не смотреть на слайды это.
Но давайте на самом деле идти в сама среда.
Я собираюсь идти вперед и войти, в этом другом окне,
к моему CS50 Appliance, который я предварительно установлена ​​на моем ноутбуке здесь.
>> Обратите внимание, что, как Windows, и Mac OS, он получил некоторые меню.
Подобно Windows она ставит это там, а не
из Mac OS, которая ставит его там.
Но реальность такова, что это все виды и то же.
И здесь целый куча программного обеспечения.
Там в Dropbox.
Там целая куча аксессуаров, графические программы, которые мы будем
использовать позже в перспективе для проблемных наборов.
Там в веб-браузер, построенный в так что это полноценный компьютер
внутри компьютера.
>> Но я собираюсь нажмите этот Крайняя левая белый значок здесь,
который является иконой для Gedit.
И он собирается открыть окно , который имеет три панели к нему,
левый, верхний и нижний.
>> Теперь это в этом верхнем правом одного, что Я собираюсь на самом деле написать код.
Так давайте сделаем это ,.
Я собираюсь пойти в Файл, Сохранить.
И вы, возможно, никогда уже видели это специфическое окно, прежде чем.
Но это, как Mac OS или Windows.
Это просто окно со всеми папками
что у меня внутри этого компьютера.
>> И я иду, чтобы спасти файл как hello.c.
И я пойду вперед и нажмите кнопку Сохранить.
А теперь обратите внимание, я есть вкладка в левом верхнем углу называется hello.c.
Так, вероятно, довольно знакомы, даже если вы не
перед использованием данной программы.
>> А теперь я собираюсь ввести в тех довольно загадочным последовательность команд
что мы видели несколько минут назад.
Включите, стандарт I / O.h.
Еще на что в ближайшее время.
Int основной недействительными, открытая фигурная скобка, закрыты фигурную скобку.
А потом внутри там, я думаю, где у нас был "привет мир", точку с запятой.
И теперь спасти.
>> Так что это программа, написанная на C, написана, таким образом, в исходном коде.
Но я не могу просто запустить эту программу.
Я как бы хочу удвоить нажмите на иконку где,
но значок не существует другой чем файл исходного кода.
Что, опять же, это процесс теперь, Мне нужно запустить этот файл через?
АУДИТОРИЯ: Компилятор.
David J. МАЛАН: Так компилятор.
Таким образом, в разных компьютерах делать это по-разному.
Но то, что мы сделали здесь, в CS50 Appliance вот
Представитель, как вы могли бы делать это на различных системах,
является Я просто собираюсь выполнить команду под названием марка.
И сделать буквально собираюсь этого делать.
Сделай меня программа.
>> Так что будет запустить компилятор для меня.
И название программы Я хочу сделать это привет.
Теперь сделать это программа.
И сделать достаточно умный понимаю, что если я скажу, сделать привет,
это собирается автоматически искать для файловой называется hello.c
просто потому что это способ он настроен.
>> Поэтому, когда я теперь попал Введите здесь, в этом с ума загадочная линия только что выполнен.
И поверьте мне, прежде чем долго, в течение всего дня,
вы поймете, что все из этого бреда средств.
Но сейчас, просто знаю, что делать запуск выполнения компилятора.
Другими словами, было установлено, компилятор на моем компьютере
вот предварительно установлена на CS50 Appliance
что мы будем сдавать вам в задаче 1-м сете.
И это тогда взял hello.c как вход, и производится по-видимому,
0 и 1 на выходе.
>> И по умолчанию, что он делает это экономит эти 0 и 1 в файле с именем привет.
И хотя этот синтаксис слишком мощи быть для вас в новинку, просто сказав точку
слэш привет будет средства, которыми я запустить эту программу.
>> Сейчас и в течение по крайней мере нескольких недель, почти все программы
пишем собираетесь быть в черно-белые текстовые окна.
Нет мышей, не щелчок, нет окон, ни иконы.
Мы собираемся держать его просто и сосредоточиться на основных идей
первоначально прежде чем мы получим в то выше уровня, например,
как вырваться из игры, что мы говорили о в первой лекции на прошлой неделе.
>> Поэтому, когда я ударил Введите сюда, это эквивалент в тексте только окружающей
удвоить нажав значок под названием привет.
Что вы ожидаете волю произойдет, когда я ударил Введите то?
>> АУДИТОРИЯ: Это будет печатать "привет мир".
>> David J. МАЛАН: Надеюсь он будет печатать "привет мир".
И это действительно так и сделал.
Теперь там было некоторое загадочный синтаксис здесь.
Давайте назад всего за момент и посмотреть, если мы
не может начать выведение просто мастерить, стараясь понять и не,
относительно того, что здесь происходит.
Что делать, если я избавиться от обратной косой п?
Сейчас некоторые из вас, которые запрограммированы прежде, вероятно,
мгновенно узнать, что это значит.
Но для тех из вас, которые никогда не программировали,
по крайней мере, думаете про себя, что происходит изменить, когда я повторно эту программу?
Так что я собираюсь вернуться вниз к моему маленькие черные и белые окна, которые
это окно, в котором Я могу составить этот.
Я собираюсь перекомпилировать привет.
Мы собираемся, чтобы увидеть то же самое загадочными последовательность команд.
И я собираюсь сделать точечный слэш привет.
А теперь кто, если бы Вы, кто никогда не программировали,
что может быть в этот раз?
Да.
>> АУДИТОРИЯ: Это не остановит печать "привет мир".
>> David J. МАЛАН: Это будет to-- жаль?
>> АУДИТОРИЯ: Это не остановит его печати?
>> David J. МАЛАН: Он не будет остановить печать "привет мир".
Так не плохая идея.
Другие идеи?
Да.
>> АУДИТОРИЯ: Сообщение об ошибке?
>> David J. МАЛАН: Ошибка сообщение, ОК, может быть.
Что еще?
АУДИТОРИЯ: Это может печатать Кронштейн с запятой, а?
David J. МАЛАН: Может печатать Кронштейн с запятой, а.
Поэтому, возможно, что обратный слеш то некоторые вид terminous это важно.
Любые другие мысли?
>> Так что все хорошие идеи.
И в самом деле, это будет чтобы быть сообщение об ошибке.
Это, наверное, скорее всего, чтобы быть ответом в целом
в течение следующих нескольких недель как мы учимся кодировать здесь.
>> Но сейчас помню, что компьютеры только делать то, что вы говорите им делать.
Многое, как смешной арахиса масло и пример желе.
Наши человеческие компьютеры, как только предполагалось делать то, что вы сказали им делать.
Таким образом, в этом случае, если вы не говорите компьютер
переместить тот мигающий курсор на Следующая строка, он не собирается этого делать.
Поэтому, когда я запустить эту программу Теперь, обратите внимание на разницу.
>> Похоже на ошибку.
Это эстетическое ошибка, возможно.
Но то, что отличается об этом Выход по отношению к последней, очевидно?
Да.
>> АУДИТОРИЯ: Это не сделать новую линию.
>> David J. МАЛАН: Это не сделать новую линию.
Теперь те из вас, кто есть возможно, сделанные веб-страниц
раньше, вы, возможно, знаете из BR теги или пункт тег,
очень близки по духу.
Веб-браузер не будет игнорировать вас до вы сообщите ему, что делать.
Аналогично, это язык, как C только собираюсь делать то, что вы скажете ей сделать.
>> Так той причине, что всех этих примерах,
до сих пор, есть вид случайно был этот обратный слэш
там, это средства , с помощью которого вы выражаете себя
как символ новой строки, так сказать.
И вы можете отчасти оценить, возможно, что это будет выглядеть отчасти глупо
если ничего другого.
Если бы я хотел новую линию, просто Нажатие Enter, а затем вид
из разделки код вроде этого не должны действительно руб вам правильный путь.
И даже если вы не волнует в данный момент,
Вы поймете, что это не является особенно
красивый кусок кода.
>> И так, что мир решили лет назад
что, когда вы хотите поставить курсор на новую строку явно,
вы должны явно сказать Новая линия, косая черта н.
И есть некоторые другие символы, как, что.
Но сейчас мы просто сосредоточиться на обратной косой п.
>> Теперь давайте сделаем программу немного более интересным.
Я собираюсь идти вперед и на этот раз откроет новый файл.
Я иду, чтобы спасти это как привет-1.c.
И только для ударов, я собираюсь пойти положить его в моей папке Dropbox.
>> Как вы увидите в CS50 документация для устройства,
в конце этой недели для задачи Установите 1, мы будем поощрять
использовать Dropbox или некоторые эквивалент служба,
потому что тогда все вашего кода будет подкреплена автоматически.
И так вот почему у меня есть пошел в эту папку здесь.
>> А теперь я собираюсь написать немного отличается программа.
Включите, стандарт I / O.h, тап_п недействительными.
А потом здесь Е, привет мир, что точно так же, как и раньше.
>> Но сейчас я хочу, чтобы напечатать то это немного отличается.
Я хочу, чтобы распечатать, сказать, "Привет, Дэвид."
Ладно, так что, очевидно, надо надеяться,
быть так, что если я перекомпилировать эта программа, запустите его,
он собирается сказать "Привет, Дэвид."
>> Но что, если я хочу представить этот вид переменной,
Понятие емкости, происходит для хранения D--V-я-д, а не трудно код его
в моей программе.
Ну что делать, если я начинаю делать что-то вроде этого?
>> Строка с, так что это переменная.
Если вы хотите строку, также известное, как слово или фразу.
Последовательность символов, что мы в программировании называют строку.
Мы только собираемся в общем вызова это с, потому что это хороший простое имя.
Но я мог называть его иначе.
>> Я собираюсь сказать, равных строку с цитата конец цитаты: "Давид," точка с запятой.
А теперь я хочу, чтобы вставить D--V-я-д в то, что я печать.
И прежде, чем мы видели тизер на экран специальный синтаксис
что позволило нам заменой в стоимости.
Что было особенного Символ несколько слайдов назад?
>> Так процентов.
В то время это было процентов д для десятичного числа.
Это на самом деле не кажется уместным здесь.
Оказывается есть еще один символ процентов,
что процентов с, который стоит Для заполнителя для строки.
>> Так что теперь, очень просто, я собирается пойти сделать привет-1,
потому этот файл называется привет-1.c, и нажмите Ввод.
И я облажался.
Что происходит?
Ну, вот, где мы должны начать понятно, что мы находимся в этой команде
онлайновой среде, это текст только окружающей среды.
Там нет мыши на иконки как папки прямо сейчас.
И вспоминаю мгновение назад.
В какой папке я говорил Я спасал свой код?
Так папка Dropbox.
Можно было бы назвать ничего.
Но это, оказывается, называется Dropbox.
Так что я так или иначе нужно дважды нажать на что папка Dropbox, чтобы получить
в нее и получить на мой Код называется привет-1.c.
На самом деле, позвольте мне идти вперед и минимизировать это окно на мгновение.
Так же, как Windows, и Mac OS, есть папки в Linux.
Есть папки в CS50 Appliance.
Это просто сейчас мы ограничившись сами к этому текстовом режиме.
>> Но если я дважды щелкните на Dropbox, заметите, что
это файл, который я хочу собрать.
Но мне это нужно черно-белый окно терминала, так сказать.
Но мне нужно, поэтому, чтобы переместить в этой папке или каталоге.
Так немного тайной, но Вы привыкнете к этому тоже.
>> В мире Linux, что опять является операционная
Система, которую мы бежим внутри CS50 Appliance, есть команда называется CD.
А это значит, что я могу сделать компакт-диск, пространство, Dropbox.
CD, изменить каталог.
Право.
Назад в день, когда люди были изобретая компьютеров и операционных
системы, как это, они хотели введите возможно наименьшее количество нажатий клавиш.
Так, самый простой способ сказать изменить каталог был CD.
>> Так что, если я ударил CD, пространство Dropbox, заметить, что изменилось здесь.
Внутри скобок прибор вид
из посмеиваясь меня и напоминая мне, где я нахожусь.
Так открыта папка Dropbox.
Если я сейчас введите Ls для Список, снова лаконичным,
потому что люди не хотят введите назад в день л-и-с-т.
Таким образом, они вместо этого сделали это левая.
>> Enter.
Обратите внимание, я вижу две вещи, привет-1.c, а затем эта загадочная вещь, источник 1м.
Вот только мой способ сказать Исходный код для недели 1 понедельник.
Это папка я скачал из Сайт CS50, что я сделал сегодня утром
и просто положить его в Устройство заранее.
>> Но на текущий момент единственное, что мы волнует делает эту программу.
Поэтому, когда я печатаю сделать привет-1, Enter.
Черт возьми.
Что пошло не так.
Так что давайте дразнить это друг от друга.
И к сожалению, это то, где вещи получить немного напряженным сначала,
по крайней мере, если у Вас есть никогда не программировали.
>> Боже мой.
Я написал программу два строки и У меня есть четыре линии ошибок.
Так что здесь происходит.
В первую очередь всегда прокрутки назад и найти первое сообщение об ошибке,
потому что очень часто компиляторы просто запутаться на то, что вы и я.
Составители довольно глупым.
Они делают только то, Вы скажите им, чтобы сделать.
И если вы путайте их, они просто собирается вид заламывают руки
и может быть, бросить несколько сообщений об ошибках чем на самом деле актуальна.
>> Итак, давайте взглянем на первый.
Супер загадочные на первый взгляд.
Но заметьте, вот название файл, в котором я облажался по-видимому.
Колон 5, толстой кишки 5 просто означает на линия 5 на пятом характера.
Так пятая колонна символов, если хотите, ошибка.
Использование необъявленный идентификатор строки.
Вы имели в виду стандартный п?
>> Нет, я имел в виду строку.
А потом это отчасти копирование и вставка
что я набрал, чтобы действительно привлечь мое внимание туда, где я облажался.
Так почему-C, или, по крайней мере, компилятор
не понимает слово строку.
И это потому, что мы помирились.
Так строка не существует в C. Что CS50 делает,
в течение первых нескольких недель только из класса,
будет мы предоставляем определенную подготовку колеса, так сказать.
И мы помещаем эти дополнительные колеса внутри специального файла с именем CS50.h.
>> Так что это вторая из двух файле имена, которые, по-видимому заканчиваются точка ч.
Давайте назад.
Printf это заявление или функция что, по-видимому печатает то
к экрану.
Но вы не видели меня реализации Printf, право.
Кто-то лет назад реализованы Printf.
В какой файл вы пари он или она поставить выполнение
для Printf, код для Printf?
>> В файле стандарт I / O.h.
На самом деле, это, вероятно, в два файла, стандартный I / O.h,
которая выступает за заголовок файл, и стандарт I / O.c,
которая выступает за C исходного кода.
Чтобы он или она несколько лет назад шлепнулся код, который они написали в этот файл
так что люди, как мы лет спустя может включить его,
так сказать, в наших собственных программ.
>> И в самом деле, это то, что знак решетки следует слово включают делает.
Похоже на локальном жестком диске, находит файл с именем стандарт I / O.h,
а затем эффективно копии и вставляет его в моей собственной файла.
Так что теперь моя программа знает как печатать на экране.
>> Так по этой логике, где является строка определяется?
>> АУДИТОРИЯ: CS50.h.
>> David J. МАЛАН: CS50.h.
И в самом деле, это то, что мы, основной персонал, сделали.
Мы придумали несколько типов данных, так сказать, как струна,
в дополнение к те, что вы получить бесплатно, как междунар.
И мы будем видеть других как гольца для характера и еще несколько.
Внутри CS50.h видимому, по крайней мере некоторые упоминание о строке.
>> Так что теперь позвольте мне идти вперед и перезапустить марка привет-1.
Я увеличения снова и скрестить пальцы.
Теперь по совершив один изменить я установил большинство вещей.
Но, черт побери.
Еще процентов, чем аргументов данных.
Что я сделал не так на этот раз?
>> Так что это еще довольно загадочным.
Но эта ошибка на Линия 7 и характер 21.
Итак, давайте смотреть здесь.
Это немного тонкие.
Но если вы думаете о том, что фундаментальные идеи здесь,
возможно, мы можем дразнить это друг от друга.
>> Так Е является имя функции.
Скобки, до сих пор, является как то, что мы ставим вокруг
материал мы передаем в качестве вклада в функции.
Хорошо, просто произвольное человеческое конвенции.
Используйте скобки.
Внутри этих скобок мы были положить двойные кавычки,
а затем строка, как "привет мир".
>> Но в этом предыдущем примере очень кратко сделал мы смотрим на с нуля.
И у нас был процент д, что еще был внутри этих скобок
что я позвал на словах?
Да.
>> АУДИТОРИЯ: Так что это то, что вы принимаете [Неразборчиво] изнутри [неразборчиво]
что они [неразборчиво]?
David J. МАЛАН: Точно.
Таким образом, мы имели процентов д.
Но тогда мы должны были близко цитата, запятая, счетчик.
Право.
Мы определили, что мы хотим сделать как заполнитель.
Так что я собираюсь сделать здесь запятая, что ты хочешь, чтобы я положил?
АУДИТОРИЯ: С.
David J. МАЛАН: S, потому сек в этом случае
это имя контейнера для хранения.
Это имя этого стеклянный шар.
Если раньше это было счетчика в том, что Простой пример царапинам мы смотрели на.
Так что теперь, сделав два изменения, позвольте мне увеличить
и попробуйте еще раз скомпилировать эту программу.
>> Теперь я вижу, что загадочные линии.
Но что на самом деле назвать компилятора.
Clang это имя компилятора.
Сделать это просто спас меня головная боль никогда
ввода этого долго сумасшедший команду из.
Так что теперь, если у меня точка слэш привет-1, Я должен видеть "привет, Дэвид."
>> Довольно восторг, хотя, не так ли?
Мы могли бы сделать это много проще
, не говоря о переменных и CS50.h и все, что.
Так давайте сделаем это немного более интересным.
>> В дополнение к CS50.h, имея такие вещи, как строки
заявил, библиотека CS50 также имеет несколько функций.
Так что просто, как лет назад, кто-то написал Е и положил его в стандартном I / O.h
и некоторые другие файлы.
>> Мы, сотрудники CS50, написал функцию называется GetChar, GetDouble, GetFloat,
GetInt, GetLongLong, GetString, и мы ставим те в файле
называется CS50.h и CS50.c.
И мы их внутри из CS50 Appliance.
И люди могут также скачать их в Интернете, если они
хочу поставить их на их собственные компьютеры, а также.
Который должен сказать, что мы создали Функции, которые получают данные от пользователя.
Я не знаю, что все из этих типов данных являются.
GetInt отчасти просто, как получить целое число, так или иначе от пользователя.
И GetString, вероятно, как Get слово или фраза от пользователя.
>> Так давайте сосредоточимся на том, что.
И я собираюсь вернуться в прибор, и я собираюсь идти вперед
и сохраните этот файл как, давайте называть это привет-2.c как мой второй версии.
И давайте сделаем пару изменений.
>> На этот раз вместо того, чтобы жесткого кодирования Дэвид, который
делает невероятно согласуется но в восторг программа,
что, если я вместо делать GetString?
Теперь обратите внимание GetString имеет открытую скобку,
закрытая скобка, потому он не требует ввода.
Это просто будет идти, получают строка от пользователя.
>> А теперь несколько слов о другой синтаксис.
Точка с запятой просто закончить строку кода.
Вам не нужно их повсюду.
Но это просто означает, что я сделано с этой строки кода.
Позвольте мне перейти на другой заявление или функция.
Строка объявляет переменную.
Строка, как говорят дать мне миску, пожалуйста.
И позвольте мне сказать строку в нем.
>> А теперь знак равенства.
Что такое знак равенства по существу, эквивалентно?
>> АУДИТОРИЯ: Связать.
>> David J. МАЛАН: Да, присвоения значения.
Так что, если я, например, вызов эта функция GetString,
и мы увидим, в момент, это собирается запрашивать у пользователя строку.
Это как сообщили мне тогда написать D-A-V-I-D на листе бумаги.
И когда я говорю строку с равна GetString,
равно на самом деле не означает, равными в C программирования.
Это означает, назначить справа стороной к левой стороне.
>> Так я получил строку.
И знак равенства означает поставить его в хранилище контейнер, называемый с.
А затем передать этот прочь Е на самом деле делать свое дело.
>> Таким образом, конечный результат, то происходит чтобы выглядеть немного иначе.
Давайте действительно делают привет-2.
Либо может работать.
Вы следуете.
Сделать привет-2 работал.
Dot слэш привет-2, Enter.
>> Я, кажется, бесконечное петля или что-то.
Ничего не происходит.
Почему?
>> АУДИТОРИЯ: Это делает бесконечный цикл.
David J. МАЛАН: Это бесконечный цикл.
Это своего рода ждет меня, чтобы фактически предоставляют его некоторых входных сигналов.
Итак, позвольте мне идти вперед и ввести в Давиде, и нажмите Ввод.
А теперь он говорит: "Привет, Дэвид."
Если я запускаю ее снова.
Давайте ввести Роба, "привет, Роб."
>> Теперь это худшее Пользовательский интерфейс никогда.
Пользователь по-видимому должны знать, что делать.
Но независимо от того.
Используя эти же здание блоки так же, как в пустом,
мы можем решить эту проблему и сказать, то, как ваше имя, пожалуйста, толстой кишки,
пространство, закрытое цитата, близко скобка, точка с запятой.
Итак, еще раз много глупость с синтаксисом.
>> Но обратите внимание, я просто добавил паззл выше этого
и выше этого.
Так что теперь, если я повторно это, привет-2, Enter.
Минуточку.
Что не так?
Это не ведет себя по-другому.
Да.
>> АУДИТОРИЯ: Вы не побежали сделать снова.
>> David J. МАЛАН: я не сделал запустить сделать снова, прямо.
Так я изменил свое исходный код.
Но, опять же, есть то, что поток.
Исходный код через компилятор дает Вы новый объектный код, или 0 и 1.
Так что мне нужно на самом деле повтор марка привет-2 Enter.
ОК, то, похоже, произошло.
Dot слэш привет-2.
Ваше имя пожалуйста.
И чтобы было ясно теперь, почему курсор на той же линии?
Точно.
Я не ставил обратный слэш н здесь в своем коде.
Так что теперь я могу написать что-то вроде Daven, Enter.
Я могу запустить его снова и введите что-то вроде Гейба, Enter,
и мы получаем другую программу снова и снова и снова.
>> Теперь, в конечном счете мы собираемся нужно использовать несколько различных возможностей.
Нам надо ввести в конечном счете, некоторые условия, чтобы делать вещи условно.
Может быть, петли, чтобы мы могли сделать вещи снова и снова.
>> Может быть, это было бы неплохо, если бы мы могли бы реализовать свои функции,
как мы могли бы реализовать самостоятельно Е или наша собственная версия GetString
и GetFlow, поскольку в конечном счете даже С помощью этой команды среду строки
мы можем сделать даже самый визуально интересным вещей.
>> Действительно, в заключение позвольте мне сделать это.
Я собираюсь идти вперед и закрыть эти окна
и открыть этот значок здесь, , который является просто больше
версия, что встроенные окно терминала.
Так Gedit имеет не только место для моего кода,
но и встроенный в окне терминала, черно-белое окно, где я могу работать
команд.
>> Я только что произошло, чтобы открыть большая версия этого.
И сейчас я собираюсь идти в папка, я уже
положить заранее на сайте Курса.
И я собираюсь идти вперед и открыть файл с именем thadgavin.c,
которая была написана кем-то другим.
>> И если мы посмотрим на это, это не вид кода
мы будем писать, так как Цель этого кода
было написать самых красивых ищу код, который он или она могли,
независимо от того, является ли или нет другой человек мог никогда
понять этот код.
>> Действительно, каждый год есть что называется затемненный конкурс C, который
для настоящих гиков, которые пишут Код, что никто другой не может читать,
но что-то делает либо действительно просто или действительно удивительно.
И мы думали, что заключить с этим взглядом
на то, что довольно удивительно Вы, возможно, видели однажды.
Но мы в конечном на это примечание, точка слэш, thadgavin.
И вот, что ждет.
>> Вот именно для CS50.
Мы будем видеть Вас в среду.
>> [МУЗЫКА ИГРАЕТ]