>> Дејвид MALAN: Ова е CS50, и ова е почеток на една недела.
И она што мислевме дека ние би направите е да се повлечат завесата на уред кој многу
од вас веројатно одеше минатото сега со години, но никогаш не се можеби сосема
познато што е тоа.
Па овој уред веројатно ќе изгледа познат на повеќето од вас до сега.
>> [Видео репродукција]
>> -А триумфот на математички и механички вештина е оваа голема нов
автоматски калкулатор на Универзитетот Харвард.
Сложена проблеми во математиката се стави низ машината во кодиран облик на
лента се точно решени во една минута дел од времето потребно за
човечки пресметка.
>> Дизајнирано за да се забрза сите форми на математички и научни истражувања,
гигант механички мозок ќе работат за САД
Морнарица се до крајот на војната.
>> [Крај видео репродукција]
>> Дејвид MALAN: Значи тоа е она што го гледате во на Научниот центар, каде што е
таа машина е сега се наоѓаат.
Ти всушност гледаат само дел од неа.
Само еден дел е моментално на екранот, и тоа е уред наречен
Марк јас, и тоа беше основа навистина огромен калкулатор.
Тоа бил наследен од страна на Mark II, и тоа е од Mark II дека ние всушност
се добие малку на лексикон.
>> Ова е првата снимена пример на нешто сте за да стане сите
премногу запознаен со текот на текот на семестарот -
имено, е грешка.
Така што се покажа во еден момент на Марк II уредот не функционираше
правилно, и по поблиску инспекција, имаше навистина е бубачка - молец -
дека молец -
внатре.
И оттогаш, ние сме наведени грешки во програми како бубачки.
Толку повеќе за тоа да дојде.
>> Говорејќи на видео, како и, ако веќе не сте, знаеме дека CS50 е
очигледно снимен.
Предавањата обично одат нагоре веднаш по класа во вид на пред-порака
неиздаден формат, а потоа еден ден или два подоцна, ние постави повисока резолуција
и повисок квалитет верзија.
Може да се потсетиме Ванеса, кои имаа богатство на играње со Google стакло,
кој се сетив да наплаќаат тоа време.
Значи, ако сакате да се излезе по класа и да играат, тие треба да работат и денес.
И ако сакате да видите што Ванеса видов пред некој ден, она што ќе видите
тука - дозволете ми да се подигне на обемот тука на мојот лаптоп.
>> [Видео репродукција]
>> -Па нека ме дното на оваа е горе.
Сите во право.
Значи допре ова.
Сите во право.
Добро, стакло.
Снимате видео.
>> Сите во право.
Vanessa?
>> [Крај видео репродукција]
>> Дејвид MALAN: Сите во право, па и причината дека тоа не работа за повеќето од вас во
на крајот од класа беше затоа што продолжил за снимање на еден час на таа
снимки покажувајќи кон себе по Го ставам очила надолу.
Така, денес, јас ќе ги оставам надвор, но фала можете да Ванеса зашто бев така
добар спорт.
>> Во меѓувреме, неколку најави пред да се движам денес.
Значи еден, CS50 има традиција на правење она што можеме да се обидат да се направи многу
голема класа чувствуваат помали.
И кон таа цел, повеќето секој петок, ние се соберат во ресторан во
на плоштадот, Fire and Ice, со 30 или 40 на своите соученици, себе, некои од
наставниот кадар, а ние само имаат многу обичниот ручек.
Ние често покани пријатели од индустријата, алумни на класата, алумни на
колеџ, навистина само да разговарате секоја други нагоре, зборува за животот по
колеџ, животот во колеџ, и слично.
Значи, ако би сакал да се причестуваат во овој Првата таква ручек овој петок во
13:15, шеф на таа Рачно во некоја точка.
>> Просторот е ограничен, така што ние ќе направиме прв дојден прв служат.
Но ние ќе го направите ова повторно на периодични основа, не е толку да се грижите ако не
го прават тоа во оваа прва серија.
>> Сега, во однос на средствата обезбедени curricularly со курсот,
има цела уби, и ако не мора зафрла веб-сајтот на курсот
веќе, особено, под предавања, ќе најдете дека сè
што минатата недела е таму, и двете во видео и некој вид
на електронска форма.
Но надвор од видеа, ќе најдете што сега постојат Целосниот текст
записници, на пример, на секоја предавање.
>> Значи, ако ние всушност се вратиме на овој екран тука со Vanessa, и да стигнете
до дното агол на екранот, ќе најдете дека всушност не се, за
Предавање во петокот, но ако ние одиме назад Среда, бидејќи оваа функција потребно е
неколку дена, ќе најдете дека може да всушност се повлече нагоре, за подобро или за
уште полошо, секој збор што јас или волонтер на сцената рече.
И повеќе од само тоа.
Ти всушност може да го пребарувате, можете да кликнете на секоја од оние реченици, скок
до таа точка во видеото, сите кон и на крајот на правење на материјалот сите
повеќе за навигација.
>> Но ако би сакале да го следат во такви детали, ќе најдете, за
пример, оваа мала мени тука за 1.5x брзина, 2x брзина, или јас Јас ѓ веќе
зборуваат премногу брзо за вас, 0.75x брзина.
Па сфатат сето тоа е достапни таму за вас.
>> Но надвор од тоа, за предавања, сфати дека ние, исто така, направи овие ресурси
на располагање, како и.
Слајдови, пример кодот, нешто што јас направи на сцена, или во однапред на класата,
ние ќе ја објавите таму, така што ќе може да игра заедно дома или во Сандерс.
Но, она што ние исто така сме мислеле дека би го сторила тоа година за прв пат е исто така
да ви обезбеди со walkthroughs од овие примери.
Сè повеќе, како што сум одрази и врз вредноста на предавања CS50 е, јас сум започна
да се прашуваат само колку корисни тоа е за вие момци да седат таму, за мене да стојат
тука, а за мене да се зборува во вас, особено како материјал,
примери, да добиете повеќе комплекс.
Затоа што секогаш, по некое број на минути, некој ќе зона надвор, и
тогаш ќе пропушти некои клучни увид на некои пример, и тогаш ти си во суштина
качил за останатиот дел од класа, што не е најдобро да се користи на
вашето време, или, навистина, наш колективно како класа.
>> И така она што ние сме мислеле дека би се обидувал да се направи, особено за некои од повеќе
сложени примери кои јас не може да се направи правда во класа, дека ние не би можеле да
имате време за на час, или можеби само зона за време, е, дека ќе произведе
серија на walkthroughs од овие примери, така што ако одат, за
пример, минатиот петок е видео страница тука под примери, ќе видите дека
за петок, тука е сега ова водат до walkthroughs.
И форматот на овие ќе се промени со текот на времето.
За сега, ние сме со користење на едноставни YouTube плејлистата.
>> Но, она што го направив со нашето производство тим потоа беше прошетка низ секој
и секој еден од тие примери, повторно, се надевам дека посочувањето во многу поголема
јасност токму она што takeaways би можело да биде или треба да биде од секоја од нив.
Па ќе најдам, на пример, од минатата недела, сите на нула примери
отидовме преку се направи линеарно во таа мода.
Па можете слободно да се вклучат или не се вклучат во овој материјал.
Навистина темата на овој курс е дека постои веројатно повеќе
во начинот на ресурси отколку што би можеле да апсорбираат повеќе
текот на семестарот.
>> Но тоа е намерно.
Тоа е замислена да биде, така што вие како индивидуални студентите можат сами да го изберат
врз основа на вашите стил на учење.
Па ако предавања работат за вас, одлично.
Ако секции работат за вас, одлично.
Ако walkthroughs работат за можете подобро, одлично.
Тоа навистина ќе биде до вас да се избере она ресурси работи најдобро за вас.
>> Конечно, благодарение на економист на Се разбира, ние исто така, обезбеди канонски
во собата на писарот белешки.
Така, наместо да има вас момци глави долу во предавања чкртања одредување на
работи кои доаѓаат во класа, ние, персонал, ќе ви обезбеди со она што ние
чувствуваат се канонски сет на белешки за слободен Вие од тоа расеаност, така што
Ако сте тука и ангажирани, вие сте навистина се занимаваат со она што се случува,
со своите соученици се прави врз фаза, со она што е на екранот,
а не само да запише дословно што се случило со се рече.
Па сфатат сите оние ресурси се достапни за вас.
>> Sectioning, во одговор на прашања, ќе започне оваа среда.
Ние во суштина почека до после повеќето други класи се врши така што можеме да
се минимизира бројот на промени што треба да се направи.
Но доаѓа овој викенд, почнувајќи Недела, ќе биде едно време инстанца на
она што ние го нарекуваме супер секции.
Овие ќе се снима за оние кои не можат присуствува, и суштински, на
глави курсот ќе ни прошетка низ некои на делот Ц на курсот,
кон крајот на проблемот сет оној, кој се случува да биде нашиот прв Ц врз
проблем во собата.
И овие само ќе биде изборен делови во пресрет на она што ќе
стане периодични делови доведе со 50 плус на курсот
настава соработници неделно.
Во недела или понеделник или вторник, ние имаат 90 минута делови во многу
традиционална смисла, што ќе биде можности за раце и повеќе
интимни преглед на курсот материјал.
>> Без понатамошно ado, дозволете ми да се воведе на курсот глави, кои се
зад сцената со мене, правење се што се случи.
Ако тие денес тука може да ми се придружи, Роб и Лорен и Јосиф и Лукас, сите
од кои биле со курс за некое време.
RJ е трет ваков член на нашиот тим.
Тој не можеше да биде тука и денес, но тој ме праша да се покаже слика за него.
Не сум сигурен дека сака ова еден, но, ете, тој е.
>> И дозволете ми да им овозможи на тимот да се каже Здраво и самите се воведе така што
ќе се запознаете со нив, како и вашите сопствената настава колеги овој термин.
>> LAUREN КАРВАЉО: Здраво.
Моето име е Лорен Карваљо.
Јас сум жител на тутор во Leverett куќа.
Јас сум исто така супер возбуден за да биде глава ТВ за CS50 оваа година.
>> CS50 е многу тешка класа, како и како многу голема класа, па ако
имате било какви прашања, ако се чувствувам како ти си паѓа зад себе, се чувствуваат слободни да
допрат до секој од нас на heads@cs50.het, или за мене, ако би
сакале да си играат со моите златни retriever кутре.
Еве Лукас.
>> LUCAS FREITAS: Еј, момци.
Моето име е Лукас Freitas.
Јас сум помлад [нечујни]
компјутерски науки и лингвистика.
Јас сум, всушност, од Бразил, и јас исто така реализираат Источна Азија студии.
Значи, ако имате било какви прашања во врска со компјутерски науки или јазик или
ништо, само да ме известите.
Или CS50, особено.
>> JOSEPH ONG: Здраво.
Јас сум Јосиф.
Јас сум висок студираат компјутерски науката во Елиот куќа.
Значи, ајде да видиме.
Дека ќе ме видиш околу носење една од овие огромни камери.
Јас сум жител на персоналот фотограф за 50, како и, и студентите често
понекогаш ме грешка за азијска турист.
>> Па ако ме види со камера, не бега.
Само насмевка и не се срамежливи.
И се надевам дека ќе уживате во 50.
Јас уживав многу кога го зеде, и тоа е причината зошто јас сум бил TFing за
овие три години.
>> Роб BOWDEN: Здраво.
Јас сум Роб.
Ова е мојот четвртиот семестар со CS50.
Јас штотуку дипломирал во мај.
Бев во Киркланд.
Јас сум возбудена за овој семестар, и се надевам дека се премногу.
>> Дејвид MALAN: Ви благодариме за оваа година глави, и да RJ, како и.
>> Па неколку конечниот белешки за ресурси.
Еден, стр постави 0 е веќе.
Оваа една постои само во стандард издание, кое е наменета за
интегритет на класа.
Почнувајќи со P сет 1, ќе има хакер изданија на повеќето проблем сетови,
кои, пак, ќе ги покрие материјал со малку повеќе од предизвик, додека
уште допирање на некои на истите теми.
Дали да се погледне во веб-сајт на курсот за таа спецификација за стр сет 0.
>> Работното време, исто така, ќе започне оваа недела, вечерва, утре, среда
и четврток во различни јадење сали на кампусот.
Проверете cs50.net/ohs за канцеларија часови за курсот, а се реализира оваа
ќе биде многу случајни можности, секако, на почетокот на
семестар, да се дојде до со вашиот лаптоп во текот мозокот пауза.
Донесе некои пријатели и да разговарате до курсот TFS и CAS со било кој
прашања што може да имате.
>> И не можам да истакнам доволно, дури и за нула и проблемот сет 0, постојат
навистина не е глупава прашање.
Не постои студент премногу непријатно да поставуваат прашања.
Ве молиме слободно да ги искористат предностите на овој ресурс.
Тоа ќе биде таму recurringly во текот на семестарот,
како CS50 ќе разговараме.
Ова е онлајн дискусија на курсот форуми на таа адреса таму.
>> Она што ние, исто така, ќе се направи во текот на предавањата е исто така ги следи ова, благодарение на
курсот настава тим.
И така ако имате некое прашање за време на Предавање, затоа реков нешто
слабо или воопшто не, со сите средства, да побара дека во реално време, ако имате
лаптоп или телефон на веб-сајт, и ние ќе се потрудиме во близина реално време да
одговори на тоа.
>> Дали постојат било какви прашања во врска со CS 50?
Потоа една последна белешки на рудникот.
Дека прашањето за SAT UNSAT.
Како да се финализира својата студија картички, ако веќе не сте, сфати дека
Општата визија за SAT UNSAT, достапни за сите ученици, дали е навистина
да им помогне земе острото надвор од курсот вака, така да се каже, така што, ако
се најде себе си доцна во ноќта, 02:00, 03:00, навистина удира главата против
на ѕидот каде што знаете дека сте 99% од патот таму на проектот, но вие
имаат толку многу други нешта да се направи, Мислам дека подобро користење, често, на
студенти "време е да навистина се движи кон тие други работи, така што ќе може да
оптимизирате вашиот пат низ.
И седна UNSAT е еден механизам преку кој може да се земе утеха во фактот
дека 99% од начинот на кој постои сеуште е Убава ебам добро.
>> Слично на тоа, исто така, ако си дојден во Се разбира без претходна позадина или
не речиси колку позадина како што мислам своите соученици може да има, точно
или лажни, да сфатат дека ова е можност да ја добиете вашата раце валкани
со курсот, се стави прстите во вода, така да се каже, слично како јас
го правеа години со Поминете / пропадне.
Како што реков минатата недела, имаше овој курс, како и другите, не се достапни
Поминете / не во тоа време, јас веројатно би не некогаш стапнал ногата во
на класата, дури иако јас направив, пет недели подоцна, промени мојот ум, кои можете
може како и, и ги префрлиме на или од писмото оценето статус.
>> Сите во право.
Па ние погледна работи како оваа на Петок, и ние сме многу брзо ќе
да транзиција кон нешто што изгледа повеќе криптичната денес.
Но не е сеедно на истите основни идеја.
Која беше општ термин кој ние се користи за да се опише загатка парче
кој изгледаше вака?
>> Значи, изјава.
И можете да се јавите ова било број на работи.
Но ние само ќе го наречеме изјава, и изјава
само му кажува на програмата -
или во случај на нула, на самовила -
да се направи нешто.
Велат здраво во овој случај.
>> Нешто како ова ние наместо да се нарекува она?
Да, така Булова изразување.
Булова изразување е само нешто дека е точно или неточно, и така Изгребете
привлекува нив со овој облик, но, исто така, со прашалник за да се пренесе
Идејата дека одговорот на ова прашање е точно или неточно, да или не
еден, 1 или 0.
>> И ние ги користиме овие Булова изрази во внатрешноста на конструкции како овие, кои
што се нарекува она?
Значи, состојба или гранка.
И состојбата ќе видите овде во Нула има малку случаеви за
загатка парче од таа форма, со цел од кои е така што ќе може
повлечете го и пуштете го на врвот и потоа диктира во програмата, доколку оваа Булова
изразување е точно, го направите ова множество на упатства, ова множество на извештаи,
друг да го направи тоа друг сет на инструкции.
>> И се сети дека можете да гнездо овие работи.
Иако таму не е многу соба визуелно во таа загатка парче, гребење
ќе се зголеми и намали за да ги собере она што мозаик парчиња можете drag and drop во
таму, па можете да всушност гнездо овој и имаат три начин вилушка на патот.
Ако, друго ако, на друго место.
И може дури да оди подалеку од тоа од страна на вгнездување понатаму и понатаму колку што е потребно.
>> Па на крај, видовме конструкции како ова, инаку познат како јамка.
И ова е само нешто што го прави нешто повторно и повторно и повторно.
Во овој случај, тоа се случува да биде конечен број на пати, но ние исто така
видов еден пример каде што бројот на пати доаѓа од една променлива, така што
може да се промени.
И ние исто така, видов друг блок заедно нарекува засекогаш блок кој
ни овозможи да се јамка бескрајно долго.
>> Па еден друг конструкт што Скреч 2.0 има - и оние од вас повеќе
удобно со претходна позадина се веќе добро запознаен со ова
изградба -
овие работи што се нарекува она?
Па ние наречен овие функции, инаку познат како процедури.
Има мало семантички разлика, но ние ќе се јавите нив само функции.
>> И функција, во случај на нула, е обичај загатка парче што
ти самиот може да се создаде, така што ќе имаат нова загатка парче што, во овој
случај, ќе се вика кашлица, дека се појавува кај сите други
достапни загатка парчиња во Скреч.
Иако МИТ не ја измислија оваа загатка парче, ти го направи.
>> Така функција ви овозможува да креирате нови однесување, го даде името на функцијата и
потоа го нарекуваат, така да се каже.
Навистина го користам во програмите повторно и повторно и повторно без да се чека
за некој како МИТ по патот кон измислуваат нови функционалност од нула.
Ти и самиот може да се изгради овие загатка парчиња себе, и потоа да ги повторна употреба
во вашиот сопствени програми.
И ќе видиме периодични пример на кои денес и натаму.
>> Така, денес, ние транзиција сега до нешто повеќе arcane.
Но на крајот на денот, нешто повеќе моќни и експресивен и повеќе
претставник на патека која ќе биде на сите семестар во текот на целиот број
на јазици -
дека на код или изворен код.
И изворниот код, што се испоставува, не е она што на компјутер
обично всушност работи.
Изворниот код изгледа нешто како ова.
>> Па ова е, пак, можеби наједноставниот Програмата може да се напише во
јазик наречен C. Ние ќе почне да душманке оваа разлика пред долго, и ако
ова навистина изгледа како грчки да ви токму сега, верувајте ми.
Во рок од само една недела или две е време, ова ќе биде премногу запознаен и всушност
доста претставник на повеќе сложени примери со кои ќе
исто така се чувствуваат поудобно.
>> Но вие не може само да ја извршите оваа вид на кодот обично.
Што треба да ја претвори во нешто што на компјутер самиот го разбира.
И така за тоа, ние треба нешто ние ќе треба да се јавите на компајлерот.
А компајлер е програма со која ги зема изворен код, како тебе само видов, како
влез, и го произведува нули и оние како излез, инаку
познат како објектниот код.
И тоа е оние нули и оние кои може да изгледа доста како оваа што
во крајна линија се разбрани од страна на вашиот Mac или вашиот компјутер.
>> Ако некогаш сте слушнале за маркетинг израз Интел Внатре, дека само
значи дека компанијата се нарекува Интел го произведен
мозокот на вашиот компјутер -
инаку позната како на процесорот, централната единица за обработка -
и тоа е само нешто што разбира модели
на нули и оние.
И така со конвертирање на изворен код во објектниот код преку овој процес тука
дека ние ќе направиме со неколку команди во само малку, ќе се
создавање на шеми на нули и оние дека вработените во Intel имаат
одлучи застапуваат одредени извештаи.
>> Сега, јас не знаеме кој е што само со обѕрне на
овие нули и оние.
Повеќето луѓе, овие денови не.
Но, некаде таму е модел на нули и оние, што претставува
изјава печати.
Некаде во таму би можело да биде различна во собата на нули и оние кои
ја претставува идејата за засекогаш или Повторете 10 пати, па дури meow, ако тоа е
всушност е програма која може да вклучуваат некои звуци.
>> Значи во кратки, луѓето само одлучи, слично како што направивме за ASCII -
за буквите од азбуката минатата недела - луѓето се одлучиле дека дури и
повеќе сложени модели на нули и оние претставуваат повеќе комплексно однесување
како печатење или велејќи или слатко.
И така за денес, и во голема мера наваму во семестар, ние ќе преземе за
готово дека некој има сфатиле како да го направите тоа мапирање.
Но ние, во согласност со оваа идеја на дели на врвот на работата на луѓето
кои си доаѓаат пред нас, ќе ги преземат за доделена на фактот дека ова се случува
под хауба.
Но, ние сме многу повеќе заинтересирани за градежни работи, кои се повеќе
Интересно е на врвот на сето тоа.
>> И така навистина, на првата програма ние напиша во Скреч беше овој супер едноставен
еден, Здраво Светот.
И можете да мислам на ова како на главната програма која управува Скреч е
однесување како од минатиот петок.
>> Денес, ние ќе треба да почнат да се преведе Нула загатка парчиња во
изворниот код на овој јазик наречен Ц, така што она што изгледаше како оваа на
Петок, почнувајќи од денес, па натаму, е сега ќе изгледаат вака.
Очигледно повеќе криптичната.
Тоа е прилично оттргнува и вид на умот numbing да ги видиш сите од цитати
и запирки и загради и така натаму.
>> Но ако почнете да се игнорира нешто што не го разбираат, и навистина изгледа
на суштината на бел текст на екран, сигурно те гледам, како да направам,
"Здраво, свет". Дека линии со виолетова изјава до врвот, и испоставува
дека клучни зборови главни се случува да се редат концептуално со кога зелена
знаме кликнато.
>> Значи со други зборови, додека во нула, ние спроведување на оваа Здраво Светската програма
со овие две мозаик парчиња, во C, ние ќе треба да се имплементира со овие
четири малку криптичната линии.
Но, како што се нурне подлабоко во ова, ќе видите дека секој еден од оние
бело карактери на екранот, всушност, има некои значајни значење,
и повеќето од нашите програми се случува да изгледа структурно сосема исти.
Па изјава, за да биде јасно, што изгледаше како "велат Здраво светот" на
Петок се случува да почнете да барате се допаѓа ова во понеделникот.
printf ("Здраво, свет").
И има некои чудни обратна коса црта n, има загради, има
Точки и запирки.
>> Но на крајот на денот, клучот готова брза денес е дека сите ние сме прави
преведува работи од слика формираат во текст форма.
Па јамка, кој изгледа вака минатата недела се случува да сега гледам
нешто како ова.
>> И дозволете ми да порекнува тоа, исто како и во Нула, има различни начини да се
постигне истата цел.
Истиот во C. Јас не сум ти покажува само начин да се прават работите, но еден начин да
преведе оваа засекогаш блокирање на јамка во C.
>> Овој овде, повтори 10 пати.
Оваа една навистина вид на кривини на ум првиот пат кога ќе го видите.
Но да се спроведе дека сега па натаму, ние ќе треба да користите
за телефонска линија, така да се каже.
И јасно има некои синтаксата што е малку комплексна таму со I и
еднакви и 0, но еднаш сме се нурне во кои денес па натаму, ти си само ќе
да се види дека тоа е се едноставно прават некои основни аритметички да ни го добиете од 0
на до 9 или 10 во овој случај.
>> И на крај, со променливи, што ќе се сетите дека променливата е парче на чување.
Па, она што го имавме на левата таму минатата недела се случува да се погледне малку
нешто како ова оваа недела.
Но, повторно, повеќе за тоа да дојде.
>> Имавме Булова изрази, кои минатата недела, изгледаше вака.
Оваа недела па натаму, тие се случува да започне да се погледне малку како тоа.
>> И овој е всушност малку оптимист.
Тоа е всушност речиси како едноставна како зелени блокови.
Но, тука имаме, повторно, на некои нови синтакса со ampersands, но може да
можеби погоди додека во нула, можете велат A-N-Д, очигледно во C, ние сме
случува да се каже симболот го симболот.
Но, сето ова ќе стане природни пред долго.
>> Услови.
Минатата недела, таа изгледаше како ова лево.
Оваа недела, на десната страна, тоа е ќе изгледа тоа.
Но, повторно, клучот готова брза тука е дека како што гледате работите како што на
право, а особено ако помалку удобно, тоа е вид на над вашиот
глава, ќе добие малку совладан дека Јас навистина немаат идеја како можев
евентуално да излезе со дека од нула -
не каламбур наменети -
само сфатат дека тоа е навистина истото идејата дека веројатно се чувствувале толку многу повеќе
природни претходната недела.
Па дури и ако не сте го нурна во Проблемот сет 0, јас daresay ќе најдете
дека мозаик парчиња се прилично интуитивен, или барем
стана толку текот на времето.
>> Значи, да се нурне внатре
Ајде да се наши раце валкани тука со овој прв едноставна програма.
И едноставно е, се разбира, роднина.
Да го направите ова, ќе одам да се промени екрани да тој уред се јавив на
CS50 апаратот.
На CS50 уредот е парче на софтвер кој е водење во внатрешноста на
прозорец на мојот Mac, и вие исто така може да работи тоа во прозорец внатрешноста на вашиот компјутер, што
ми дозволува да имаат исти точно компјутер животната средина, како што секој ТФ, како
секој CA, како што секој студент во класата.
Бидејќи CS50 апаратот е буквално друг оперативен систем
наречен Линукс -
специјално Fedora Linux -
и ние, персоналот, има конфигурирано на процесот на инсталација за овој
оперативниот систем на таков начин што еден, има малку CS50 лого во
средината, два, има сопствени мени на на дното, а три, педагогичен,
ние сме поедноставен кориснички интерфејс, како колку што е можно така што кога ќе
Првиот подигнете ова нешто на свој Mac или PC, имате исти
животната средина, како и секој друг, и ти имаат сите алатки што ви е потребно
за курсот, без да дознаам како да инсталирате секоја и
секој алатка поединечно.
>> Па ова изгледа релативно како Mac OS или Windows.
Во долниот лев агол на екранот, можете суштина имаат Start менито на
видови, или мени на Apple.
А потоа имате она што ние се сомневаме ќе биде вашиот трите најчести икони.
Една од нив е Хром.
Има интернет пребарувач во внатрешноста на апаратот.
>> Двете е програма наречена gedit, кои видовме накусо минатата недела, што е
само графички уредувач.
И три е терминал програма, која е црно и бело прозорецот од
недалечното минато кој ни овозможува да напишеш повеќе таинствени, но помоќен команди на
нашата тастатура.
Па ќе одам да се оди напред и кликнете на gedit, и остатокот увери дека проблемот
поставите 1, да биде објавен в петок, ќе прошетка вас преку сите овие истите чекори.
>> Забележите дека имам прилично едноставна кориснички интерфејс со три дела.
На левата страна, имам голем празен прозорец наречен изворниот код.
Тоа е каде што јас ќе одам да видите резиме на било код што го пишувам.
На десната страна, имам голема табот, во моментов незачувани, и тоа е
каде што мојата код случува да одам.
И на дното, јас имам вграден Терминален прозорец, црна и бела
поттикне на кој јас да напишете команди за да компајлира и да се кандидира мојот програми - дека
е, да се направи и да се кандидира ми програми.
>> Значи, да почнеме едноставна.
Дозволете ми да оди до датотеката, Зачувај.
Одам да се оди напред и да одат во jharvard.
Па на апаратот, без оглед на она што Вашето име е, му припаѓа на еден човек со име
Џон Харвард, кој има jharvard дома директориум внатрешноста на кој сите вашите
додадени фајлови: ќе одам.
Тоа е вашата сопствена копија на негова сметка, па не сме сите за споделување
истиот хард диск.
Вие само треба илузија на Џон Харвард е.
>> Однапред, јас всушност инсталиран Dropbox.
Уредот доаѓа preprepared со Dropbox така што ако нешто тргне наопаку
во текот на семестарот, ако сте конфигуриран вашиот апарат со слободен
Dropbox сметка, сите на вашите датотеки ќе автоматски се поткрепени така да
многу лесно може да ги поврати.
И јас ќе одам да одам во мојата Dropbox директориум, и таму веќе се случува
да биде неколку други работи таму.
>> Но јас ќе одам да се оди напред и одете на File, Save.
Одам да одат во jharvard, Dropbox, и до тука, јас ќе одам да
им даде на мојот програма супер едноставен име, hello.c, а потоа да го снимите.
Па јас имаат ист интерфејс сега.
Единственото нешто што се промени е јазичето до врвот.
Па јас сум многу брзо ќе се рекреираат таа програма од
слајдови пред еден миг.
>> Па во главната (празно), а потоа printf, "Здраво, свет", малку криптичната
обратна коса црта n, во близина цитат, затворете заграда, запирка, а
тогаш Ctrl S за да се спаси.
И информации како настрана она што само овде се појавуваа на горниот лев агол.
И тоа не е корисно денес, но ќе биде корисно текот на времето.
Можете само да се види, повторно, резиме на на кодот кој ти го напишав.
И бидејќи јас го напишав нешто што се нарекува Главната, тоа е зошто зборот главниот појави
до таму.
Но во најголем дел, ние не треба, кој денес.
>> Добро, па јас тврдат дека ова е мојот првата програма напишана во програмскиот
јазик наречен В Ние знаеме од петок дека она што тоа нешто се случува да се направи
Многу uninterestingly кога јас се кандидира тоа е само прикаже -
со други зборови, печатите, како компјутер научник би рекол -
Здраво светот на екранот.
Па да го направите ова, ќе забележите дека имам да одат надолу тука на мојот терминал
прозорецот, и сега имам што трепка брзо.
Но, ова е сега тастатура верзија на мојата Џон Харвард домашен директориум.
Тоа е тастатура начин преку кој да се движите мојот хард диск.
>> Па јас всушност не можат да напишеш како што го направив минатата недела направи здраво, затоа што тоа е
случува да се каже нема правило да се направи цел -
нешто не е во ред.
Јас не се знае што таа порака средства, но тоа е затоа што по дифолт,
кога оваа црна и бела прозорецот е отвори, јас сум внатрешноста на Џон Харвард
домашен директориум.
Но каде што никако не можев да се спаси таа програма?
Во мојот Dropbox папка.
>> Сега, сите од нас израснале со компјутери, каде што само двоен клик
на икона на фолдер, таа отвора, и Voila.
Тоа е каде што датотека наречена hello.c ќе биде.
Така, всушност, ајде да го направите тоа.
>> Дозволете ми да оди напред и да се минимизираат gedit исто како што би на
Windows или Mac OS.
Дозволете ми да одат во Насловна папка во горниот лев агол.
Ќе видите тука еден куп на папки.
Еве го мојот Dropbox папка.
На checkmarks значи тоа е се синхронизираат.
И има неколку работи овде, но забележите дека hello.c е
навистина во право таму.
>> И така во Mac OS или Windows, нормално, Јас двојно ќе кликнете на тоа, таа се отвора во
без оглед на програмата, и јас сум добро да отидевме.
Но сега, барем почнувајќи од денес, ние треба да се земе еден чекор наназад само за да
ви даде некои основни алатки за вашиот алатка комплет со која треба да сторат повеќе
моќен нешта пред долго.
>> Па во овој брза, морам да го стори еквивалент на двојно кликнување на
Dropbox папка.
И да го направат тоа, јас ќе одам да напишеш ЦД за промена директориум, Dropbox, внесете.
И сега забележат загради во мојата т.н. брза сега вели дека јас сум во
тилда, малку squiggly симбол во горниот лев агол на
повеќето тастатури, / Dropbox.
Ова е само стенографија нотација за велејќи човечки, вие сте сега во внатрешноста на
фолдерот Dropbox, исто како и покрај сте имале двојно кликнал на него.
>> Па сега ако одам напред и да напишеш направи Здраво, внесете, гледам многу криптичната
команда, но не порака за грешка, се чини, и потоа
уште трепка брзо.
И ако се сеќавате, некогаш толку брзо во петокот, ние го сторивме тоа. . / Здраво.
>> Она што ќе го видиме е резултат на мојот водење на оваа програма, или, во Mac
Оперативен систем и PC термини, ако јас нормално би се удвои кликнете на една програма -. на стан
програма или. exe, тоа што се отвора прозорецот и работи.
Пишување. / Здраво е исто како двојни кликнување на програмата за да се стартува, но
користење на мојот тастатура.
>> Влезат, Здраво светот.
И тоа е тоа.
Па ајде душманке ова, освен да, па тоа не се чувствуваат премногу како грчки.
>> Толку. / Значи што?
Секој кој досега навигација тастатура животната средина како оваа, она што е точка
однесуваат на?
На тековниот директориум.
>> Па на тековниот директориум е само синоним за папката.
Значи, велејќи точка коса црта, јас го кажувам, изгледа за една програма наречена здраво во
тековниот директориум -
во тековната папка.
Со други зборови, ми Dropbox папка.
И тоа е причината зошто притискање на Enter потоа всушност работи таа програма.
>> Ако јас сега типот ЛС, забележите дека го гледам што е во моја Dropbox папка.
Прв Started.pdf, која Dropbox ви дава бесплатно, моите слики
директориум, јавниот именик, незачувани Документ 1 кој јас го изработив по грешка
момент пред, foo.c, која не сум направил порано денес, а потоа две линии -
hello.c и здраво.
>> Hello.c е програма сум го напишала со gedit, и она што е здраво во зелена?
На здраво во зелени е извршна.
Со други зборови, кога Истрчав оваа команда пред еден миг - дозволете ми да се тркалаат
назад во времето -
кога Истрчав направи здраво, тоа е средината чекор тука.
И го зеде hello.c како влез -
АКА изворниот код - и тоа произведено датотека наречена здраво како излез, што
ги содржи сите од овие нули и единици.
И тоа е причината зошто, на крајот, можам да всушност извршувате командата како. / здраво.
Бидејќи на Интел Внатре, мојата оперативен систем, Линукс, се отвора оние нули
и оние, ги храни во мозокот на мојот компјутер -
на процесорот -
и дека процесорот знае, ох, тука е шема на нули и единици во која се вели
печати следниве нешто на екранот.
>> Што е следното нешто?
Цитирам unquote, "Здраво светот."
>> Сите во право, па еден брз преглед на некои од овие команди, така што можеме да почнеме
земајќи ги здраво за готово.
Дозволете ми да скокнеш напред за да каде што застанавте.
И ќе се сети дека имавме ЦД во нашиот назад крајот пред еден миг.
Овие се, јас се осмелувам да кажам, за денес цели -
можеби ова недела - ни наредува само ние можеби треба да напишеш во command
брза покрај направи.
>> Значи ЦД застана за што?
Промена директориум.
Тоа е само еквивалент на двојно кликнување на папката.
И како настрана, ако добиете изгубени некогаш во внатрешноста на вашиот
апаратот, како што Dropbox -
Сакам да се вратам на мојот jharvard директориум -
Кога се двоумите, ЦД, внесете, без други зборови, и тоа само патентите ќе се врати
до каде сте почнале, која е убаво малку кратенка.
>> Добро, па сега други команди.
ЛС.
Јас ја внеле дека пред еден миг.
Што мислите ЛС се залага за?
>> Значи, листа, нели?
Назад во денот, кога луѓето доаѓаат со овие команди, тие
се обидуваат да бидат ефикасни, и наместо тип надвор Л-I-С-Т влезат, тие
одлучи ЛС.
Тоа е во ред.
Тоа звучи доволно како листа.
Ајде само тип ЛС влезат, и дека листи на датотеки или папки во мојата
тековната папка.
>> mkdir, што веројатно може да се погоди.
Направете директориум.
Така да не одат на некои датотека мени и изберете нова папка во оваа средина.
Наместо тоа, го напишете команда mkdir простор а потоа името на папката
што сакате да се создаде, и тоа ќе биде направено.
>> RM, што веројатно може да се погоди.
Ги избришат или избришете.
Значи, ако сакате да избришете некоја датотека, да ќе види во проблемот сет како можете
да го направите тоа.
И rmdir, отстранете директориум.
>> Значи, повторно, јас ќе имаат тенденција да летаат преку некои на овие детали, еден, бидејќи
тие не се сите дека многу забавно да се трошат време на, но двајца, ние ќе ви обезбеди во
многу поголеми детали во било која од Проблемот секако е поставува, особено
стандардните изданија, било кој од чекорите дека можеби ќе треба да напишеш па
дека можете да добиете повеќе и повеќе comfy со овие работи.
>> Но, сега дозволете ми да одгатнат една друга работа.
Кога ние ја внеле направи здраво пред еден миг, видовме еден криптичната секвенца од команди.
Видовме, повторно, го прават здраво.
Добро, ајде да го направите тоа.
Јас бев за да се направи грешка, но [Нечујни] сега признаам ми беше за да
и го направи тоа намерно.
>> Што направив погрешно само сега?
Да, па јас не сум во Dropbox именик, бидејќи пред еден миг ми
отчукува CD и само притиснете ентер.
Што ме zoomed вратам од каде што започна, што не е местото каде што моето досие
е, па јас навистина треба да направите ЦД Dropbox влезат, и сега можам да направам РМ здраво
внесете, отстранете регуларна датотека здраво.
Не знам зошто тоа е толку криптичната.
Тоа само значи дали сте сигурни сакате да ги избришете здраво?
Можете да напишете y за да, влезе, а сега тоа го нема.
>> И сега ако не ми напишеш направи здраво повторно, тоа е случува да се рекреираат на моите објектниот код,
рекреираат оние оние кои и нули.
Но, она што е договорот со ова многу долго команда?
Па, ние ќе се закачам оваа разлика пред долго, но направи -
Му реков малку бела лага пред -
не е компајлер.
Направи е програма која автоматски фигури како да се води
компајлерот за вас.
>> Па команда дека навистина треба да бидат работи со цел да го конвертирате hello.c
во здраво всушност изгледа малку повеќе вака.
И не дај Боже ние мора да всушност се сеќавам некогаш да напишеш дека целата
секвенца од команди надвор.
Целта на направи во животот е да се сеќавам дека степенот на сложеност за
ни и автоматизира што би поинаку биде многу мачна чекори.
>> Но можам приближна тоа.
Така на оваа мала измамник лист тука, јас може приближна она што таа команда е
прави со едноставно внесување ѕвекот, што е името на компајлерот ќе бидеме
со користење на овој семестар.
Ако некој од вас некогаш сте направиле iOS развој за iPhone или iPad,
Ѕвекот е програма сте користеле во рамките на Xcode да се направи вашите апликации.
Ѕвекот, сепак, е само уште една програма чие име ние да напишете во командната
брза, и со воведување на оваа сега, Јас може да се воведе нешто што е
малку претставник на команди за да дојде.
Па дозволете ми да го направите тоа рачно.
>> Па РМ здраво, а сега известување во случај Јас, исто како што разумност провери -
. / Здраво, што мислиш јас треба да се види дали би го направил тоа?
Некој вид на грешка.
Нема таква датотека директориум.
Така што е всушност прилично директна.
>> Па сега дозволете ми да го исчистите екранот.
Контрола е само поплочува екранот да се отстранат некои одвлекување на вниманието.
И сега ќе одам да се рачно тип ѕвекот-о здраво hello.c.
Па што е ова за да се направи?
Токму истото што го прават не за нас, но јас не се фрлаат некои од
излишното зборови.
>> Ѕвекот е програма со која ќе се земе. в фајл како влез и произведува
нулите и како излез.
Но-о отсега ќе го наречеме прекинувач или знаме.
Ова е само techie жаргон за велејќи ова е збор што пишувате на брза
дека некако влијае на однесување на програмата си работи.
Па не секој сакаат да се погоди што-о пренесува?
>> Излез.
Тоа е само некој одлучи-о значи излез на датотека наречена здраво и да се земе како
влез она што последниот збор на брза е, hello.c, така што ако јас хит
Внесете сега, ништо не чини да се случи.
И чудно е доволно, во овој свет на програмирање, ако ништо не се случува,
тоа е веројатно добра работа бидејќи нема грешка
порака на екранот.
Здраво, Ентер.
Мојата програма веќе се кандидира.
>> Но можам да направам глупави мали работи како ова. ѕвекот-о, hihihi, hello.c,
влезат, и сега имам идентична програма со име hihihi.
Тоа се однесува на истиот, но името е различен.
>> Па ова е само да се каже дека ако сакате да се влијае на однесувањето на
програма, ние ќе треба да се повеќе види нешта наречени
командната линија аргументи.
Ова е линија.
Сте пишување команди.
Ерго, командната линија.
И командната линија аргументи се само зборови или мали парчиња на синтаксата што
некако влијаат врз однесувањето на програми кои ние се работи.
>> Во ред, тоа е можеби повеќето здодевни програма може да се напишат и да видиме.
Ајде сега да се направи нешто повеќе интересно.
Дозволете ми да оди напред и да се создаде новата датотека.
Одам да се оди напред и да ја зачувате оваа во Дома Џон Харвард директориум како,
ајде да го наречеме custom.c, да биде малку сопствени програма.
Одам да зумирате во мојот врвот на на јазичиња тука и да почне повторно.
>> Вклучуваат стандардни stdio.h.
Повеќе за тоа во еден момент.
int главната (празно), повеќе на дека во еден момент.
printf ("Здраво, Дејвид").
Многу повеќе интересен, нели?
>> Па сега ако - не затоа што на моето име, само затоа што е поинаков -
направи сопствен влезе.
Обичај, здраво, Дејвид.
Но дури и тоа, исто така, е бела лага.
Оваа програма, како може да се нарече david.c, бидејќи тоа не е обичај
однесување на сите.
Навистина, сакам програма со која бара на корисникот за нивното име.
>> Па, како да го направам тоа?
Па, дозволете ми да дојдете до овде.
И пред да го користите изјава во Нула, пред да го користите printf,
инаку позната како функција, дозволете ми Првиот побара од корисникот за некои влез.
>> Па да го направите ова, треба да направи неколку работи.
Една, ми треба место за чување на корисникот именува по Сум го прашал или
неа за тоа.
Што конструкција ми е потребно да се користи најверојатно да зачувам вредност, како тоа?
А променлива.
>> Па за разлика од нула, каде што само се добие убав мозаик парче, тука, ние треба да
го користите, очигледно, зборови да изразат себеси.
И отсега, во секое време сакате збор или фраза, во програмирање,
ние ќе треба да се јавите дека низа.
Па низа е збор или фраза.
Тоа е секвенца од нула или повеќе карактери, повеќе формално.
>> И ако сакате таков променлива да се постојат, мора да се каже да ми даде еден.
И начинот на кој ќе го направите тоа е да велат Стринг а точка-запирка, каде што S може да биде
нешто што сакате.
Всушност, s е малку underwhelming.
Дозволете ми да оди напред и повеќе јасно го нарекуваат име.
Дај ми низа наречен име.
>> Но сега, она што е на лицето име од страна на стандардно?
Па, ако човекот не напишеш ништо во, очигледно, таму ќе
да биде никаква вредност во име.
И излегува во C, ако не даваат променлива вредност, тоа се случува да
имаат ѓубре вредност.
Тоа би можело да има некои случајни нули и оние, па ти си само ќе видите
ѓубре, навистина, на екранот ако се обидете да го прикаже.
>> Но, можам да го надминете тоа, велејќи, всушност, продавница внатрешноста на името на
по вредност.
Начинот на кој вие ги чувате вредности во променливи е ако имате името на променливата на
лево, мора некако да се стави она што го сакате да го зачувате во него на десната страна, и
синтаксата за тоа што се случува да се биде како што следува.
>> Ние не го видел тоа порано, но се на верата за момент дека постојат
постои уште една изјава во светот што јас ќе одам да еднаш ги повикувам функција,
и оваа функција е наречен добие стринг.
И тоа го прави буквално тоа.
Тоа некако добива низа од карактери од човечки и тогаш
прави нешто со неа.
>> И ова изгледа како криптичната синтакса.
Нормално, ако сте со користење еднакви знаци - ти си во светот на, да речеме,
алгебра, а ти си, всушност, велејќи x е еднаква на 1.
Тука ние не велиме дека име еднаква добие стринг.
Ние сме велејќи продавница во името што е на десната страна
на тој еднаква знак.
Еднаквите знак претставува операторот за доделување.
Тоа е синтакса која се вели стави она што е на на десната страна во внатрешноста она што е
на левата страна.
Значи се стринг е нова фигура на функционалноста дека не само што
нешто -
прашува корисникот за низа -
тоа исто така го враќа, така да се каже.
>> Да видиме што се случува да се случи тука.
Одам да се оди напред сега и одзумирате, и јас одам да се добие неколку
грешки во мојот прашува.
Одам да напишеш се направи сопствен, внесете.
Wow.
А целиот куп на грешки.
>> Сите во право, па ова е вид на огромна, сигурно на прв, но
излегува сите овие многу очигледно криптичната пораки за грешка се
се однесуваат на некои модели кои ние ќе почне да се види со текот на времето.
Така што ова ќе извади надвор, затоа што тоа е во прв план.
Употреба на непријавена идентификатор стринг.
>> Тоа само значи дека gedit, или ѕвекот, во овој случај, не знае
што мислам со стринг.
И тоа е затоа што во C, програмирање јазик, таму всушност
Нема променлива од тип стринг.
Ц не знае дека конците постои.
>> Но ние, CS50 персонал, правиме.
И така во однапред на класа, ние создаде фајл наречен CS50.h.
И во внатрешноста на оваа датотека - и повеќе на синтакса да дојде -
внатрешноста на оваа датотека е дефиниција на она што јас само дефинирана
вербално како стринг.
Толку едноставно, со склучување на оваа линија на код во мојата програма, јас сум сега
настава gedit и се прават и ѕвекот сите за возврат што е стринг е.
>> Не знам како сеуште.
Во неколку недели, ние ќе лупам назад тој слој.
Но, за сега, знам дека ова учи на компајлерот она што
низа всушност е.
>> Па сега дозволете ми да го расчисти мојата терминал овде долу.
Дозволете ми повторно да се кандидира направи обичај, и јас реши сите овие проблеми.
Па ова, исто така, се случува да да биде периодично тема.
Јас само напишав 9 линија програма, и но сепак имав 18 линии на грешки.
Тоа е вид на застрашувачки.
Но сфати дека тие често каскада, како дека една мала грешка предизвикува
на конфузија за компајлер, и тоа изгледа многу полошо отколку што е.
>> Па сега остроумен набљудувач ќе знаат дека јас сум добивање на стринг од
корисникот, но јас не сум всушност правиш она што со неа?
Јас не сум всушност прави ништо со тоа.
Значи, ако јас всушност се кандидира сопствен повторно, тоа се случува да само седат таму.
Што се случува?
Мојата програма се чини дека се заглавени на она линија, што би рекол?
>> Па тоа е всушност заглавен на линија 7.
И ние не го видел ова пред, но on-line 7, има, повторно, овој
изјава, да добијат низа.
И тоа го прави она што го кажува.
Тоа е на чекање сега за човекови да ги преземе низа.
Ова е сосема unintuitive за мене, на човекот, затоа што не им кажале
што да правам.
>> Но, дозволете ми да оди напред на верата и дозволете ми да претендираат да бидат Роб.
Enter.
Тоа не е програма што се наменети.
Па ние имаме нашиот прв блог.
>> Но, ајде да се обидеме да се причина преку зошто ова е случај.
Прво, дозволете ми да го надминете овој првиот проблем.
Дозволете ми да додадете линија тука во која се вели printf, она што е вашето име?
Ајде да се затвораат понуда, затвори заградата.
>> Сега дозволете ми повторно да се кандидира на програмата.
Проблем.
Јас не гледам тоа.
>> Во право.
Јас не го прекомпајлирате.
Така што во еден јазик како C, затоа што се промени изворниот код не значи
што ќе го смени својот објектниот код да се генерираат нови објектниот код,
нова нули и единици.
Што треба да го прекомпајлирате.
Ако јас сега повторно да се кандидира сопствен, ентер, ах, малку повеќе јасно.
Моето име е Роб.
Уште кабриолет.
>> И јас би рекле има неколку грешки сега.
Ова само изгледа грозен, искрено.
Допаѓа, минимално, јас треба да имаат простор таму, или преместување на
курсорот до нова линија.
>> А всушност, нова линија.
Тоа е вид на клучна фраза дека овде ние сме виделе, но не е дефиниран.
Начинот на кој ќе добие текст да се движи кон следната линија,
да не го направите тоа.
Ова е збунувачки за на компјутер.
Ова изгледа како две одделни линии на кодот, ниту од кои
е совршено точни.
Ти наместо да биде повеќе експлицитни и каже, ми даде нова линија, која ние
претставуваат во C со обратна коса црта n.
>> Значи има неколку такви карактери.
Обратна коса црта n ќе утврдат дека естетски.
Дозволете ми да го прекомпајлирате мојата програма.
Дозволете ми повторно да се кандидира мојата програма.
>> Ова изгледа подобро.
Тоа е сè уште прилично примитивно, но тоа е, исто така, уште кабриолет.
Па таму е една -
дури и ако никогаш не сум програмиран пред, што веројатно може да земе се погоди
на зошто оваа програма се уште недостатоци.
Што ми е потребно да го направите тоа Јас не сум сторил уште?
>> Па морам да всушност прават нешто со името.
Исто како и во нула, можеби, всушност, доделите променлива како n или
се спротивстави на како што правевме минатата недела - вредност.
Но ако не прават ништо со тоа, ништо не се случува да се случи.
>> Сите во право, па нека поправам.
Дозволете ми да напишеш мојот променлива таму, и дозволете ми да одат надолу тука.
Дозволете ми да го прекомпајлирате, дозволете ми да прегласување, Роб.
Сега сум само идиот, нели?
>> Па ова не е навистина станува мене понатаму.
Но тоа беше сосема природно инстинкт, би рекле, нели?
Ако променливата се вика име, и јас сакаат да одат таму, зошто да не можам само
тип таму?
>> Па, се разбира, имаме да се направи разлика сега
помеѓу она што е стринг?
Забележите дека цитат unquote тука, здраво име?
Ова всушност самата е стринг.
Тешко е кодирана.
Тоа не е од човекот.
Тоа е од мене, оригиналниот програмер, но тоа е уште една низа.
>> Па ако буквално се напише N-А-М-Е во внатрешноста на стринг, што ќе се
се печатени?
Па, N-А-М-Е. Ние наместо да треба да се каже printf, не печатат
надвор буквално името.
Печати од вредноста на името.
>> И да го направат тоа, ние го направите следново.
И ова е само човечко конвенција.
Ние наместо да се каже% s, и дека се залага за стринг.
А потоа на крајот на моите блиски цитати, Одам да се стави запирка и
помине втор аргумент во оваа изјава.
Одам да напишеш името таму.
>> Па сега забележите имаме малку нови синтакса.
Ние се уште имаат две загради, и отсега дозволете ми да кажам дека работи
помеѓу загради претставува аргументи во функција -
влезови кои се некако ќе да влијае врз своето однесување.
Значи со таа логика, колку аргументи се printf се чини дека се
земање во овој момент?
>> Па се чини да се донесе две, и тоа е навистина подразбира
од страна на запирка тука.
Па ова е еден аргумент во меѓу наводници.
Иако има запирка во него, сè е во наводници, што значи
тоа е една долга низа.
Запирка, името на променливата.
>> Па сега дозволете ми да одзумирате.
Дозволете ми да го повторно да се кандидира.
Роб.
По ѓаволите, што направив погрешно?
>> Добро, па имате да го прекомпајлирате.
Значи, повторно, лесен грешки за да се направи на почетокот на повторно и повторно.
Па сега повторно да се кандидира сопствен, Роб, влезат, и Voila.
Сега имаме сопствени програма.
>> Па јас сега имаат програма со која со помош на неколку карактеристики
кои вреди да се напомене.
Еден, јас сум со користење CS50.h, инаку познат како CS50 библиотека.
И во внатрешноста на CS50 библиотеката се функции што другите луѓе го напишал -
имено персонал -
за да го користиш, и да добијат стринг е еден од нив.
>> Во внатрешноста на линијата 2 е stdio.h, и зошто е тоа таму?
Земе се погоди.
Она што постои во внатрешноста на стандард IO родител?
Printf.
Па printf, ти не го види насекаде на друго место на екранот.
Таа мора да дојде со компјутерски некако.
Каде доаѓа од?
Тоа е во внатрешноста на - тоа е прогласена, така да се каже, во внатрешноста на
фајл наречен stdio.h.
>> Сега, за овој материјал, ќе се вратиме за да на крајот, бидејќи тоа е малку
оттргнува за сега.
Ова се однесува на нашето враќање тип.
Ова се однесува на аргумент.
Но, за денес, ние сме фокусирани само тука на овие линии.
>> Па Стринг име, само да повториме, она што го направи ова за мене?
Така прогласи дека е променлива од типот стринг.
Па тоа е замислена да биде за зборови, не за броеви.
Само како настрана, ако сум го правела сакате тоа да биде број, јас би рекол
нешто како int.
Ако сакав да биде број со подвижна запирка вредност, нешто со децимален точка,
Јас би рекол плови.
Но, за денес, јас сум само рече стринг.
>> И јас сум со оглед на оваа променлива име на име, но можев
го нарекува поинаку.
Всушност, првично, го нарече С
>> Ова овде е само друга изјава.
Колку аргументи е ова изјава преземање?
Па тоа е само преземање на една, и дека е само естетски детал од
прикажување на нешто на на екранот за мене.
Што е ова алинеја 8 прави во однос лаик?
>> Тоа е добивање на вредност од корисникот - имено, низа -
и она што го прави тоа со неа?
Тоа е суштина тоа предавањето на дечкото на левата страна на
еднаквите знаци, така што во овој случај, име променлива всушност може да ја продавницата.
>> А потоа printf е уште пример на функција.
И ние се каже да се јавите на функција.
Да се ​​користи функцијата е да се јавите на функција.
Ова нешто очигледно зема два аргументи.
Оваа една, запирка, и оваа.
>> Оваа една сам по себе е само низа која содржи случаеви.
Средство% s стави друга низа тука.
И така со ставање името по запирката, тоа е вметнување
дека нешто за мене.
>> За да можам да прават други работи уште.
Дозволете ми да оди напред сега и да направи малку на глупо програма, но дозволете ми да ја избришете оваа,
и дозволете ми да се создаде јамка.
Додека вистинските.
Симболот вистина е очигледно секогаш ќе биде вистина.
Значи каков вид на јамка сум јас поттикнување со пишување на една линија, како тоа?
>> Така бесконечна јамка, нели?
Само додека е вистина.
Не постои начин можам да го променам збор точно да биде ништо друго, така што ова е
само случува да се кандидира засекогаш.
Значи, ако некогаш сте всушност имале програма во вашиот Mac или PC што се чини дека
да се затворени, или таа го прави нешто и нешто, а вие само
не може да се добие нешто да се откажете, освен ако рестартира вашиот компјутер или повлечат до
Task Manager, или слично, тука е таков пример.
>> Можам да кажам, "Јас сум кабриолет програма." Затвори цитат, затворете
загради, точка-запирка.
Значи, повторно, забележуваат дезени.
Иако некои од нашите синтакса е ново, клучниот збор, додека, клучниот збор точно,
забележиш јас ги имаат истите вид на големи загради.
Имам точка и запирка и загради.
>> Па сега ајде да одиме напред и ги собира ова.
Направи обичај, обичај.
Па во овој момент, не треба да се рестартирате вашиот апарат, во ред?
Па лесно поука тука е со два прста, контрола Ц,
ние ќе се откажат од таа програма.
Но може да се види точно зошто тоа нешто беше се повторува одново и одново.
>> Што можам да направам нешто малку повеќе комплекс како закачка.
Одам да се оди напред и да го кажам следново.
За int, кој е цел број, i е само генеричко име даваме на повеќето
променливи во програмирање кога сте само броење, е еднаква на 0.
Дозволете ми да оди напред и да каже, додека i е, да речеме, помалку од 100, јас плус плус.
Ние ќе се врати на оваа синтакса, но тоа само значи
прираст јас повторно и повторно.
>> И она што сакам да го направите тука?
Printf, "Јас може да смета на i." Ова е кабриолет програма.
Што навистина имаат намера тука?
>> Проценти не е, но вие не би се погоди ова. % D е децимален број.
Запирка јас.
Дозволете ми да се тркалаат назад.
>> А сега допуштете ми го прекомпајлирате со направи.
А сега допуштете ми реприза со сопствени.
Јас може да смета навистина проклето брзо кога Јас пишувам една програма како оваа.
>> Сега ајде да се направи нешто малку ненамерно.
Како за ајде да го направите тоа, додека јас е поголема или еднаква на 0.
Што е ова се случува да се поттикне?
Па логично, тоа не е толку мудар, бидејќи сега ако јас повторување ова, раскажување,
Јас сега може да смета навистина, навистина висока.
За жал, за толку голем колку што можам Грофот е 4 милијарди долари, така што ова се случува
да потрае некое време.
>> Па зошто да не можеме да ја напушти оваа како наш cliffhanger, ветувајќи дека на
Среда, ние ќе се види дали оваа програма е завршена.
Два, ние ќе се воведе како можете сами напишете своја сопствена функција, така што многу
брзо, до среда, ние ќе, како што транзиција од нула во C, почнете
пишување некогаш се повеќе комплексни програми кои го прават многу,
многу повеќе од тоа.
Ние ќе се видиме тогаш.
>> [Аплауз]
>> ЗВУЧНИК 1: На следниот CS50, Загатка ден беше успешен.