[Tónlist spila] DAVID MALAN: Allt í lagi er þetta CS50 og þetta er endir viku eitt. Svo langar mig til að kynna fyrrverandi minn advisee, Andel Duff, sem ekki aðeins gerir iPhone 5 stendur, sem og þetta púlt, gerir hann líka bíla. Ansel DUFF: Hvernig gengur, allir? Ég vil bara segja þér svolítið hluti um Formula SAE, sem ég er fyrirliði. Það er óákveðinn greinir í ensku MIT lið. Ég vil bara segja þér krakkar svolítið um það og vonandi búa einhvern áhuga. Svo láta mig að keyra bara í gegnum par atriði um okkar lið. Þannig að við erum alveg nemandi hlaupa, þar sem allir af meðlimum hönnun, líkja, próf, og framleiðandi undirkerfi á bílnum. Við höfum eigin vél verslun okkar og bílskúrar og N52-- eða hryggur, N51-- sem er sama bygging sem MIT Science Museum. Og við erum fólkið að keyra bílinn. Það er ríkisborgari samkeppni í byrjun sumars, og þá eru minni vítaspyrnukeppni keppnir allt árið. Og þá erum við að gera bílstjóri þjálfun daga til að fá nýja meðlimi kynnast. Byggja dagar okkar eru á Laugardaga 11:00-20:00. Hádegisverður og kvöldverður eru umhyggja um, frá Bertucci er og Beantown í þessari röð. Við höfum vikulega fundi og Málþingið, sem er fyrir lánsfé auðvitað. Sem er nýtt eins og þessa önn og það mun einnig vera fyrir næstu önn, svo þú getur yfir-reg fyrir það. Og þá höfum við hönnun, verslun, og CAD daga á viku, en meðlimir munu sjálfstætt CAD hlutum, til birgðir et cetera. Svo fyrir rafmagns verkfræði í lið Við höfum dráttaraflinu okkar, mikil spenna kerfi, sem keyrir á nafnverði 300 volt, sem felur mótorar, mótor stýringar, og rafhlaða bakpoki. Þá höfum við lítið spenna kerfi, sem rekur á 12 volt, sem felur í sér eftirlit, GETUR hnúður, heila kassi, og mælaborð. Eins langt CS fer, við gerum hafa website viðhald að við þurfum að gera til að finna viðburði, aðild breytingar, nýjar myndir og PR efni. Og þá höfum við kóða sem stjórnar bíll fyrir spólvörn okkar, sjósetja stjórn, þjóta stjórna, togi vectoring, og bremsa kerfi, sem hlaupa yfirleitt í MATLAB, Simulink og LabView. Segja þér svolítið um bílinn. Svo er það um 500 kíló. Það er reglur takmarkað til 85 kW. Það hefur 2 EMRAX 207 vélar í því aftur, einn fyrir hvern afturhjólið. Það hefur sérsniðnar innbyggður rafhlaða bakpoki frá Prismatic A123 poki frumur, samtals 300 volt og 5.6 kílóvattstundir. Og það er bein ökuferð með a 2,64-1 aka hlutfall. Hér eru nokkrar myndir sem við tók það í samkeppni. Hér er aftur, nef keila, og hér eru mótorar þessir stóru svartur diskur undir að et tíðir Manus. Hér er glæra sem ég dró út af samkeppni fyrirætlun okkar. Og þetta er bara að bera saman bílinn okkar til að Tveimur tiltækum bíla, eins KTM XBOW, Ariel Atóm, og Caterha M 7-280. Ef þú ert kunnuglegur með verð, máttur draga þyngd, dollara á hestöfl, dollara á togi, og bíllinn okkar blæs þá alla úr vatninu. Ef þú hefur einhverjar spurningar, hripa niður þetta netfang. Skjóta okkur tölvupóst á fsae@mit.edu. Við erum fús til að tala um allt sem þú vilt. Harvard nemendur eru góður af minnihluta í liðinu. Ef þú hefur einhverjar spurningar um að þá skaltu ekki skjóta okkur tölvupóst fús til að tala, og ég er að fara að fara aftur yfir til Davíðs. Takk. Ég þakka það, krakkar. [Applause] DAVID MALAN: Ansel eyddi sumar vinna með okkur hér á háskólasvæðinu í CS50 í sumar. Og auk þess að vinna á hlutir eins tvöfaldur ljósaperur, hann reyndar opnaði okkar eyes-- og mitt í particular-- að það sem raunverulega gatnamótum ekki á vélbúnaði og hugbúnaði getur verið. Í raun er mikið af hlutum sem hann bara tónleikaferð þú ert með á endanum búin fyrst í hugbúnaði, og þá að lokum búa í hinum raunverulega heimi í vélbúnaði. Svo ef þú hefur áhuga á kanna að gatnamótum, kannski taka að sér hóp. Nú á meðan, þau ykkar sem eru aðdáendur tækni, og Apple vörur í Einkum veit að það voru nokkrar tilkynningar í gær. En við héldum að við myndum sýna þú einn sem kom út nokkrum dögum áður að þú might ekki hafa séð. Jörgen EGHAMMER: Þú veist, einu sinni í stutta stund eitthvað kemur með það breytingar á hvernig við lifum. Tæki svo einfalt og innsæi nota það líður næstum kunnuglegt. Kynna 2015 IKEA verslun. Það er ekki stafrænn bók eða e-bók, það er bók-bók. The fyrstur hlutur til að hafa í huga er ekki snúrur, ekki einu sinni máttur kaðall. The 2015 IKEA verslun kemur fullhlaðin, og rafhlaða líf er eilíft. Viðmótið er 7.5 af 8 cm, en getur stækkað til 15 af 8 cm. The siglingar er byggt á áþreifanleg sambandi tækni sem þú getur raunverulega feel. Efni kemur pre-setja í embætti um 328 hár-skýring síður að lífga heimili húsbúnaður hugmyndir. Til að byrja að vafra, einfaldlega snerta og dragið. Hægri til vinstri til að fara áfram, vinstri til hægri til að færa aftur á bak. Taka eitthvað annað? Það er rétt. Engin töf. Hver glær síðu álag samstundis, sama hversu hratt þú flettir. Ef þú vilt fá a fljótur yfirlit, bara halda það í lófa þínum, og nota bara þumalputta, hraði beit efni. Ef þú finnur eitthvað sem þú vilt vista þar til seinna, getur þú einfaldlega bókamerki það. Og jafnvel ef þú lokar forritinu, þú getur auðveldlega fundið bókamerki aftur. Ótrúlegt. [Hlátur] [Applause] Svo sem færir okkur að enda viku eitt. Nokkrar tilkynningar núna. Svo sneiðingu er nú í gangi. Fara á þessa slóð hér einhvern tíma milli núna og Föstudagur á hádegi að í raun skilgreina hvort þú ert meðal þeirra minna þægilegt, meira þægilegt, eða einhvers staðar þar á milli. Þetta er yfirleitt einn af þeim hlutir sem þú bara svona vita. Og í raun þá sem eru minna þægilegt sennilega vita eins mikið, þeir sem eru meira þægilegt að vita eins mikið, og aftur ef þú ert ekki alveg viss um hver af þeim fötunum sem þú fellur inn í að þú ert sennilega einhvers staðar þar á milli. En hvíla sjálfsöruggur þú getur skipti eftir nokkrar vikur ef þörf krefur. Á sama tíma fyrir næstu viku við ekki byrja kafla í sjálfu sér, en frábær köflum sem eru opin öllum nemendum. Þetta kemur sunnudagur á stað til tilkynnt á námskeiðinu heimasíðu munum við hafa einn fyrir þá minna þægilegt, og einnig eitt fyrir þá öruggari. Og þeir einhvers staðar þar á milli getur valið hvaða af þeim tveimur, eða bæði ef þú vilt, til að sitja-í á. Og áherslur þeirra sem miðast að lokum á C, sem við munum halda áfram okkar samtal í dag. Heimadæmi 0 meðan er vonandi í hendurnar. Opinberlega vegna á morgun, Fimmtudagur, á hádegi. Nema þú fé í einn 5 þinna seint daga, sem myndi koma með það þar föstudaginn á hádegi. Heimadæmi 1 meðan verður settar á heimasíðu Auðvitað er. Og þetta mun vera fyrsta okkar skyndiárás í bekknum í C Og það vandamál setja sérstakur mun ganga í gegnum mikið af hinu vélræna hvað Við byrjuðum að tala um á mánudag, og við munum halda áfram að tala um í dag. C, Linux, CS50 tæki, allt sem mun bíða eftir þér í útboðsskilmálum. Viðtalstímar eru á meðan í gangi, í grunnnámi matsal. Höfuð á þessa slóð hér til að sjá áætlun fyrir kvöld og á morgun, ef þú vildi eins og til að taka þátt. Spurningar á meðan, svo að þér hafa tækifæri til að spyrja spurninga asynchronously, 24/7, átta sig á að þú ert ekki takmarkað við köflum og skrifstofu klukkustundir, heldur þetta tól hér, CS50 Ræddu við þessari vefslóð verður að vera á netinu Námskeiðið er bulletin borð hugbúnaður, í gegnum sem þú getur spurt spurninga um bekkjarfélagar og einnig starfsfólk. Svo hafa í huga að úrræði eins og heilbrigður. Á meðan hefð byrjar á föstudaginn. Eins og þú gætir hafa glittir frá miðvikudag síðasta beitu vídeó, Við höfum hefð mest alla föstudaga á tíma að taka nokkrar 50 nemendur og starfsfólk til kínverskum veitingastað sem heitir Eldur og ís, þar sem við erum yfirleitt gengið með nokkrum Alumni eða vinum frá iðnaði almennt þrá til að gera stór flokkur finnst minni. Svo er það alveg frjálslegur hádeginu. A fullt af okkur, starfsfólk sérstaklega, mun leika tónlist stólar og spjalla við nemendur um 50, líf utan 50, líf í framtíðinni, alvöru heiminum, Ég er að tala um atvinnumöguleika með vinum í greininni. Þannig að ef þú vildi eins og til að tengja okkur á föstudaginn, höfuð á þessa slóð hér. Space er takmarkaður, en við munum gera þetta recurringly allan samningstímann. Höfuð það að cs50.harvard.edu/rsvp. Og ef þú færð ekki í í þetta sinn, ekki að hafa áhyggjur. Við munum gera það aftur í á næstu vikum eins og heilbrigður. Þannig að þetta er mynd vorum við að mála í síðustu viku, og þú hefur líklega verið fór að fikta í svona langt. En við skulum reyna að tengja þetta núna við það sem við erum að fara að gera í dag og áfram. Gæti ég hafa einn sjálfboðaliða? Allt í lagi, eða fleiri. Hvernig væri hér á endir, í blárri skyrtu. Komdu upp, hvað er nafnið þitt? Alana: Alana. DAVID MALAN: Alana. Svo Alana, fyrir aðeins moment-- gaman að hitta you-- er að fara að leika hlutverk þessa aðgerð hér. Fjólubláa blokk við höfum kallast svona langt fall. Svo það sem ég ætla að fara undan hér og bjóða Alana er svolítið nafn tag, til að gera ljóst hvaða hlutverki þú ert að spila. Svo skalt þú vera segja blokk. Ef þú vilt fara á undan og setja það á. Og við erum að fara að halda þetta frábær einfalt. Ef markmiðið hendi er einfaldlega nú að hrinda í framkvæmd með Alana, þetta svokallaða segja blokk, hér er hvernig það er að fara að vinna. Ég have-- skulum kalla það rifrildi eða breytu, það er í raun bara autt blað. Og það er hvítt að eins konar vera minnir af hvítum kassa í sem þú getur skrifað orð. Á meðan ætla ég að fara hér. Ég ætla að fara á undan og skrifa H-E-L-L-O með kommu heiminum. Og nú er ég, eins og segja forritari, ekki raunverulega vita hvernig á að segja eitthvað. Ég get komið upp með orðum, en ég er ekki endilega vita hvernig á að tjá mig munnlega eða á skjánum. Og svo það sem ég ætla að fara að gera er að taka þetta stykki af virkni, sem input-- eða rök, eins og við munum kalla það, Ég hef skrifað um þetta stykki af paper-- og ég ætla að útvista það. Og reyndar er það hlutverk sem virka í forritunarmáli getur spilað. Eitthvað eins og segja blokk getur verið útvistað að einhver sem raunverulega veit hvað hún eða hann er að tala um. Svo ef þú munt stíga yfir hér fyrir bara smá stund, Ég er að fara að fara framhjá þessu inntak til Alana, og biðja um að þú segir þetta inntak. Alana: Halló, heimur. DAVID MALAN: Það er það. Þannig að það er fall. Nú getum við tekið það svolítið meira, Við getum tekið skref fram á við hér. Vegna þess að það var greinilega underwhelming. Svo skulum nú umbreyta henni eitthvað svolítið flóknari. Þannig að þetta er auðvitað C útgáfa okkar. Svo nú ef þú vilt taka að einn af, að nafn tag burt, og við skulum þú setja á nýju nafni. En í grundvallaratriðum þú ert leika sama hlutverk, það gerist bara svo að verið kölluð printf nú. The saga er, að sjálfsögðu, fara að be-- líklega eins underwhelming-- er að fara að vera eftirfarandi. Þú ert nú virka printf. Ég er sá sem hringir, eða forritari, sem vill að standa á herðum fólk í fortíðinni eins og þig, sem hefur nú þegar mynstrağur út hvernig að í raun og veru að skrifa eitthvað niður. Og svo að þessu sinni, frekar en að segja það að við skulum reyndar nota skjáinn okkar hérna. Svo ef þú vilt að stíga hérna, ég er að fara að fara aftur þetta sem inntak til printf vin minn. Ef þú gætir farið á undan og prenta það á skjánum, einfaldlega með því að teikna með þinn fingur á svarta skjánum. Excellent. Allt í lagi, þannig að hellingur af suspense fyrir hvernig það var að fara að spila út. Svo nú skulum við taka það upp einn Endanleg hak, ef við gætum, eins og hér segir. Þannig að þetta er C program eins og ég sagði síðast. Og þetta bara gerir það sem þú gerðir, það prentar út á skjáinn, Hello, world. Jafnvel þó að það er greinilega mikið truflandi efni þarna upp. En við skulum taka það upp hak og kynna þessa útgáfu, sem muna var þriðja útgáfa sem við enduðum með síðasta sinn. Og nú er það greinilega tveir notkun printf. Það er 2 símtöl til Alana í þessu tilfelli fyrir printf, en það er líka hringt aðra aðgerð. Hvað er það virka greinilega? Getstring. Getum við fengið eina sjálfboðaliða? OK, komdu upp. Hvað er nafn þitt? JAVIER: Javier. DAVID MALAN: Javier, koma upp. Svo er á hlutverk Javier er þetta stykki af pappír. Sem ég ætla að hringja generically s. Nú er þetta breytilegt, það er af gerðinni band, eins og fólst í með þeirri annarri línu í miðju þar. Og ég vil að þú farir að fá mér band. Sérstaklega höfuð niður að hljómsveit kafla og fá mér nafnið á einhverjum, og koma til baka með breytu inniheldur það gildi. Það getur verið einhver sem þú vilt. Hér förum. Allt í lagi, Javier er skrifa niður nafn. Allt í lagi. Við getum öll líklega giska á hvernig þetta er að fara að spila út. Við erum kannski belaboring að benda á það sem fall er að gera, en engu að síður þakka þér kærlega. Svo Javier hefur skilað þessum streng hér, sem getur ekki alveg séð, Jonathan er strengurinn að við höfum fengið. Svo nú hvað ég er í raun að fara að veita Alana þó er eitthvað svolítið öðruvísi. Vegna þess að í þessari útgáfu af program, fyrst er það ástand nafnið þitt. Svo fyrstu rök Ég þarf að veita Alana með er að fara að vera bókstaflega upp nafn þitt. Allt í lagi, svo einfalt er það Ég myndi skila þessu til þín. Og eins og ég skrifa upp á Næsta röksemd, ef þú langar að fara á undan og skrifa þetta á borð, skulum fara á undan og gera endanlega dæmi hér að ljóst hvað er á endanum fékk að gerast. Svo ríki nafn þitt, skrifa það í átt að efst ef þú dont 'hugur, bara svo að Við höfum pláss fyrir einn í annarri línu. Vegna þess að síðasta sem ég ætla að fara að nú veita þér er ekki einn, en tvö stykki af pappír. Allt í lagi. H-E-L-L-O komma og þá autt lína. Svo það sem ég er að fara að skila Alana nú er eitthvað svolítið öðruvísi. Ekki aðeins er hún að fá þetta, þar fylla í auða táknar það percent-- hvað var tákn sem við höfum verið að nota? Já, svo prósent s. Á meðan ætla ég að fara hana í öðru rifrildi, sem er einmitt það sem Javier sótt Jónatan. Svo láta mig gefa þér þessar tvær. Ef þú vilt fara á undan og prenta það áhrif. Hvað er á endanum að gerast nú er, Alana aftur er að spila hlutverk printf. Javier var að spila Hlutverk GetString. Svo sem mun vera minjagrip þinn. Og að lokum hvað er að gerast, þrátt fyrir þetta hello-- jebb fara á undan og komma. Alana: Sagði ég fá þetta enn eða ekki? DAVID MALAN: Já, þú fékk þá báða í einu. Þannig að hugmyndin er að þú geta nú flettir á síðunni að takast á við annað af þessum tveimur inntak. Svo er þetta bara til að negla heim að benda að en Alana keyrð þetta græna línan hér, og þá Javier gerði þetta fyrir okkur og aftur til mín eitthvað Við munum kalla s, en það var í raun bara að stykki af pappír í hans eigin. Og nú Alana hefur gert þetta þriðja lína. Og jafnvel þótt allt þetta lítur svo ótrúlega dulinn kannski við fyrstu sýn, það virkilega er eins einfalt eins og þessi. Passing inntak kring, fá framleiðsla, annaðhvort að líkamlega afhent til baka eitthvað, eða sjá aukaverkun svona. Eitthvað sjónrænt skrifað á skjánum. Svo skulum fara á undan og þakka Alana og Javier, sem var hérna, fyrir tengja okkur upp hér. [Applause] Svo nú skulum við taka sem sjálfsögðum hlut bara hvernig einfalt allt sem gæti verið. Og við skulum halda áfram að raunverulega gera eitthvað í raun kóða. Svo upp á skjánum hér er screenshot af svokölluðu CS50 tæki. Og ef þú hefðir til að, eins og 02:00 á miðvikudag, útskýra að einhverju vinar hvað CS50 tæki er, hvernig myndir þú skilgreina það í setningu? Einhver ein setning? Já? STUDENT: Það er eins og áætlun sem gerir tölvuna allra hlaupa með sama kerfi. DAVID MALAN: Góður! Það er forrit sem gerir öllum er tölva til að keyra með sama kerfi. Það er tegund af eigin Afrit af rekstri kerfi sem gerist í vera kölluð Ubuntu Linux. Og það liggur í raun inni glugga á eigin Mac eða PC, svo að þessi leið rétt út af the hlið í viku 1, allir hér í bekknum hefur aðgang að sömu verkfæri, sömu stillingar, og það er engin lærdómur bugða sérstakur að Mac eða PC í lagi. Nú erum við að opna upp, inni á CS50 tæki á mánudag, þetta forrit hér. Það gerist að vera kölluð gedit. En það er í raun bara myndrænt ritstjóri. Það er eitthvað eins og Notepad eða Text Breyta á Windows eða Mac OS sig. Og ég lagði til að það voru í raun þrjú mikilvæg hluta til þessum skjá. Efsta hlið er þar sem þú myndi skrifa kóðann þinn. Og það er þar sem við eyddum mikið af okkar þrjú dæmi í fyrirlestri Mánudagur. The botn við kallað það, þetta svart glugga, já? STUDENT: Compiler? DAVID MALAN: Compiler við nálgast með því að glugganum. En almennt. Já, var það bara endastöðvar. Þetta er aldur gamla tíma sem bara lýsir fyrst og fremst á að blikka hvetja, að árum notað til að vera á einn af þeim stóru fylgist CRT stíl. En nú á dögum er það tegund af raunverulegur í hugbúnaði. Og við flugstöðina glugga skulum okkur slá skipanir. Það konar einfaldaða útgáfu af the notandi tengi eða HÍ. Það er ekki myndrænt notendaviðmót eða GUI, það er texti-undirstaða tengi eða a stjórn lína tengi. Og reyndar er það þar að lokum ÉG var fær til að skrifa nokkur númer. Þegar ég hafði skrifað nokkur númer þó, muna að ég notaði þessa skipun. Og eins og það heiti konar kynna, þetta gerir mig að gera forrit sem heitir Hello. En hvað var það að gera í raun? Jæja gera var að taka minn inntak, kóðinn minn, og umbreyta það til hvað lokum? Object kóða. Og mótmæla kóða er bara fínt leið til að segja núll og sjálfur. Og þá þegar ég vildi að hlaupa þessi mótmæla kóða, þegar ég vildi fara sem inntak þeirra núll og sjálfur í tölvu er mitt heila, sem svo var kölluð CPU eða miðlægur vinnslu eining, Ég þurfti að hlaupa the program. En það var ekki alveg einfalt mánudaginn eins og bara að tvísmella sumir táknið. Hvað í staðinn gerði ég að gera til að keyra forrit? Hvað var það annað stjórn? Ég er að heyra smá skástrik? Já, já? STUDENT: Dot rista og nafn forritsins. DAVID MALAN: Einmitt. Punktur rista og nafn forritsins. Nú hvað gerði þetta? Jæja punktur er bara yfirnáttúrulegt leið að segja núverandi möppu. Whatever möppu þú ert í er undir heitinu, er fulltrúa sem punktur. The rista er bara það sem þú hefur séð í Mac OS og Windows í mörg ár, það er skilju milli möppu eða möppu og restin af einhverju nafni. Í Windows það gerist að fara aftur á bak, í Linux og Mac OS það gerist að fara fram. En það er bara skilju, svo það er bara uninteresting nokkur dæmi um setningarleg smáatriði. The safaríkur hluti er auðvitað nafn af the program, Halló. Og það er það sem gera búið til fyrir okkur. Það outputted að skrá fyrir okkur. En hvernig fengum við að þessu? Skulum nú spyrja spurning, hvað var í raun gerast hér, að minnsta kosti með hliðsjón sumir af þessum setningafræði? Svo í setningu eða svo, hvernig var við að útskýra í burtu þetta fyrsta línan sem er grænir? Hvað var það fyrsta línan gera, með tilliti til áætlun mína? Já? STUDENT: [inaudible]. DAVID MALAN: Segðu það aftur? STUDENT: Ásamt og sækja Undanfarin aðgerðir [inaudible]. DAVID MALAN: Gott. Þar á meðal, mun ég ekki segja sækja, en við skulum segja þ.mt aðgerðir sem fólk hafa skrifað í fortíðinni. Og þau virka sé beitt einhvers staðar í tölvunni minni. Einhver skrifaði skrá árum, og að skrá er einhvers staðar inni á CS50 tæki, eða á harða diskinum mínum almennt. Og svo þessi lína er í raun að segja, fara að finna að skrá, staðall I / O punktur klst, og afrita og líma efni hennar hérna efst skrá minn svo að ég þarf ekki að gera það handvirkt sjálfur. Og meðal juiciest stykki inni í að skrá við krafa var það virka? Hvaða hlutverki gerði við segjum var lýst eða getið í staðli I / O punktur h líklega? Printf, ekki satt? Við vildum ekki að skrifa printf á Mánudagur, og það hafi verið bara. Líkt og Alana kom bara upp á svið og hún bara verið til og vissi hvernig á að teikna eitthvað á skjánum, svo er printf til í mörg ár. Og svo er þetta hvernig við sjá hana. Nú ef við færa hér, Helstu var hliðstætt við sagði við ráðgáta stykki kallað þegar grænt merkja smellt í heimi grunni. Það er bara tegund af sjálfgefið nafn sem menn ákveðið yrði að tákna vanræksla upphafssíðu forrit. The klumpur af forritun kóða sem fær framkvæmt fyrst. Á meðan þessi hrokkið axlabönd eru góður af eins og boginn lögun a einhver fjöldi af þeim gulu grunni stykki. Þeir konar þjappa í heild fullt af leiðbeiningum saman. Svo það binst bara svona saman sumir tengdar virkni. printf auðvitað er fall sem prentar á skjánum, eins og við gerðum bara. Hvað um þessar sviga? Hvernig myndir þú define-- jafnvel ef þú hefur aldrei forritað áður, en bara miðað nú á vaxandi vonandi innsæi, hvað eru svigar gera fyrir okkur hér? Eða hvað eru þau nærliggjandi? Já? STUDENT: Þeir segja það þú ert að fara að prenta með printf. DAVID MALAN: Já, þeir eru að segja hvað þú ert að fara að prenta með printf. Eða fleiri almennt, eru þeir umhverfis aðföng til aðgerð. Svo þú getur nánast hugsa þessara sviga eins og að vera eins og málm bút á þessu klemmuspjald. Það er það sem er að halda, það er það sem er að fara að nota til að veita rökstuðning í aðgerð, sem í þetta mál er kallað printf. Svo almennt nánast hvaða tími sem við köllum virka, við erum að fara að sjá par sviga. Kannski með eitthvað í það, eins og núna, kannski ekkert í henni. En það er þar sem þú myndi setja að inntak eða svokölluð rök að aðgerðinni. Hér er ein slík rök. Ég hef hápunktur allt milli gæsalappanna, vegna þess að það kemur í ljós í þessu tungumáli kallast C, þegar þú vilt að tákna a string-- sem er orð eða orðasamband eða jafnvel paragraph-- þú þarft að umkringja það með gæsalöppum. Ekki einfalda gæsalöpp, gæsalappa. Og það er einmitt það sem ég hef gert hér. Á sama tíma er það angurvær tákn undir lok þar. The sviga n. Hvað gerði við segjum að fulltrúa? Já? STUDENT: Ný lína. DAVID MALAN: Ný lína. Einmitt, þú ert ekki almennt högg Enter þú vilt að forritið að spýta út nýja línu. Frekar að segja það berum orðum með þessu vísu Bogagöng stykki af setningafræði, sviga n, sem þú vilt nýja línu til að fara þangað. Loks semíkommu. Við vildum ekki raunverulega tala of mikið um þetta, og lang þetta verður bani sumra af tilveru þína í fyrsta vandamál setja, þegar þú tókst bara að gera sér grein fyrir þú hefur gleymt eitthvað sem heimskur sem semíkommu. Og almennt setja það það vilja festa þessi vandamál. En hvað er það að gera fyrir okkur, myndir þú segja? STUDENT: [inaudible]. DAVID MALAN: Fyrirgefðu? STUDENT: [inaudible]. DAVID MALAN: Klára yfirlýsingu. Það er tegund af eins og á tímabilinu á enda ensku setningu, Í þessu tungumáli C það er að slíta yfirlýsingu. Kennsla á forritun númer sem þú vilt bara að segja, Ég er búin með þetta. Nú taka eftir því að er sú eina hér. Svo þú vilt ekki að komast í venja að setja semikommum eftir hvert lokuðum svigum. Til dæmis það er enginn við hliðina á ógilt, og við munum koma aftur í framtíðinni við það ógilt þýðir. En í þessu tilfelli printf þinn er virka, eða yfirlýsing verið að nota, og svo viljum við hafa það endann á enda þess. Og ég er viljandi að tína á C og hreinskilnislega a einhver fjöldi af tungumálum eins og C, C ++, Java, JavaScript, og allir tala um önnur tungumál hafa a einhver fjöldi af þessum konar nokkur dæmi um setningarleg upplýsingar. Sem vissulega ef þú ert nýr til forritun getur raunverulega ferð þig. Og þú munt, merkja minn orð, sum ykkar munu hafa þessa reynslu í skrifstofutíma eða seint á kvöldin að vinna á einhverjum p-sett, þar fjandinn program bara ekki saman, það er ekki að keyra, þú þarft ekki hugmynd hvað er rangt, það virðist alveg rökrétt að þér. Og það er vegna þess að þú hafir gleymt eitthvað eins og hitting semíkommu í lok einhvers línu. En þetta eru tegundir af hlutum sem þú ert að fara að strax að læra að sjá. Og reyndar eru þetta hlutir að Ca og TF er hafa verið eins konar þjálfun til að sjá miklu hraðar en þú. Og svo er þetta bara að segja, eins og þú kafa í vanda sett 1 sérstaklega, fæ ekki svekktur með þetta dót. Þegar þú konar aðlagast til heimsins, þú byrja að sjá hluti sem þú might ekki sjá við fyrstu sýn þessi fyrsta vika. Svo er kóðinn eitthvað svoleiðis. Við viljum gefa það í svokallaða þýðanda. Og það þýðandinn sem við sögðum veitir framleiðsla þekktur sem mótmæla kóða, svokallaða núll og sjálfur. En þaðan, hvað þýðir það að gefa okkur? Jæja það gefur okkur þetta mynstur. Og aftur þinn tölva, Intel þinn inni, skilur þetta mynstur af núllum og sjálfur. Og stundum að venju táknar raunveruleg aukastaf númer eins og við sáum í síðustu viku, stundum það táknar bréf eins og við sáum í síðustu viku, stundum það táknar kennsla, eins prentun eitthvað að skjánum. Svo printf fyrir instance-- heldur láta mig baka. Við höfum verið að taka sem sjálfsögðum hlut að þeir núll og sjálfur ert framleidd af þessum stjórn gera. En gera er ekki þýðanda. Gera er ekki hlutur í miðju sem er að framleiða núll og sjálfur. Frekar gera er bara mjög þægilegur heitir forrit sem tilgangur í lífinu er í raun að reikna út hvernig á að safna saman program. Og við notum það í þessum Fyrstu vikur vegna þess að það bara sparar okkur mikið af vandræðum. En hvað gera er í raun að gera þegar þú saman halló, er, eins og ég sagði síðast, það er leita á harða diskinum eða í núverandi möppu, fyrir skrá sem heitir hvað, virðist? Hello.c, ekki satt? Það er bara svona ráðstefnu. Það er handahófskennt, en það er hvernig hlutirnir eru. Gera, ef þú tilgreinir bara nafnið um forrit sem er ekki enn fyrir hendi, það er að fara að leita að kóða í skrá, sjálfgefið þýðir hello.c. Og ef það finnur það, frábært. Það er að fara að breyta því uppspretta númer í hlut kóða fyrir þig. En í hvert skipti sem ég hef lenti inn eftir að keyra að heilsa, þú minnist sjá síðasta skipti nokkuð lengi og dulinn röð annarra hvítum stöfum og stafir á skjánum? Jæja það var í raun stjórn, Raunveruleg þýðanda, sem var í gangi. Svo í raun þýðanda við munum nota mest af önnin er eitthvað sem kallast clang. Sumir af þú might hafa notað Visual Studio áður, eða GCC, eða allir tala af öðrum vistþýðendur. Við munum nota clang. Og clang gerir okkur kleift að í raun og veru að umbreyta að uppspretta merkjamál til að mótmæla kóða. Hvað þýðir þetta í raun og veru meina í raun? Jæja látið mig fara inn í einn af mínar möppur frá síðasta tíma. Inni á CS50 tæki. Og láta mig fara á undan og búa til þessa Sama skrá, meðal annars staðlað I / O punktur h. Int helstu ógild. Og við munum koma aftur í framtíðinni og að það int þýðir og hvað ógilt hætti. En nú skulum gera halló heimur sviga n, bara eins og við gerðum á borðinu. Leyfðu mér að vista þessa skrá sem heitir hello.c. Og nú ef ég vil taka saman þetta Ég could-- láta mig súmma in-- hlaupa gera halló koma inn. Og aftur var sem mjög dulinn línu. En nú að minnsta kosti eitt orð sennilega stökk út á þig. Clang er þessi lína sem við sáum áður. Nú er það a einhver fjöldi af öðrum hlutum hreinskilnislega að við munum veifa höndum okkar á í dag. En það er nokkur á undirhópum, nokkrar persónur hér sem eru áhugaverð. En ég ætla að fara á undan og gera þetta. Ég ætla að fyrsta hlaupa halló, bara til að sanna að þetta er að vinna eins og það var mánudagur. En nú ætla ég að eyða forritinu. Og mikill eins og við höfðum þetta stutt nöfn síðasta sinn, stjórn til að fjarlægja eitthvað er RM, fjarlægja, inn í. Þú ert að fara að fá smá nokkuð Cryptic spurningar. Erfitt að trúa því að þú getur gert jafnvel þessi spurning erfitt að skilja. En fjarlægja reglulega skrá halló bara þýðir ekki að þú viljir eyða halló. Og ég get farið á undan og sláðu y fyrir já, Enter, og nú er það farið. Hvað þetta þýðir nú, ef ég hreinsa skjáinn minn, er að í stað þess gera að hello-- þig Veistu hvað, ég er að fá vel í þessu. Ég ætla að keyra þýðandinn sjálfur. Ég þarf ekki eitthvað forrit til reikna út hvaða skrá minn er kallað. Ég skrifaði hello.c, ég vita hvað það heitir, Ég er greinilega fær um að slá það. Þannig að ég ætla að fara á undan og gera clang hello.c Enter. Virðist virka. Og það er engin viðbótar framleiðsla, því clang er þýðandinn. Það er það sem er að umbreyta Kóðinn til núllum og sjálfur. Svo ef ég nú punktur rista halló Sláðu, HM. Nýr villuboð dag. Svo er bash bara nafn sem blikkandi hvetja sem við erum að nota. Það er brúttó einföldun, en nú það er allt sem er, það er blikkandi hvetja. Og það er hvers vegna það er að öskra á okkur. Engin slík skrá eða mappa er svolítið meira einfalt. En örugglega ég gerði að mótmæla kóða. En aflinn er, að ef ég slá skipunina að skrá innihald þessa skrá, sem er hvað? LS til lista. Það er fullt af efni hér, sem sum hver kom með tækið, eins Desktop möppu mína, Downloads mappa, Dropbox möppuna og allt þessi efni. En hvað er áhugavert er hello.c, sem Ég bjó til smá stund síðan við gedit. Og hvað er weirdest leita nafn hér, kannski að við gerðum ekki sjá síðasta tíma á öllum? a.out, ekki satt? Svo aftur í dag, það var bara ákveðið að þegar þú saman forrit í fyrsta skipti, og þú tilgreinir ekki nafn á skránni, við skulum kalla það a. Og a.out þýðir bara þetta var framleiðsla á þýðanda. Svo það er hræðilegt nafn á forriti. En með því að rökfræði, punktur rista fyrir núverandi möppu, rista a.out, ætti að þýða að það er í raun minn halló heimur program. Nú smá hita upp æfingar líka. Ef ég vil að endurnefna þetta skrá, kemur í ljós að þér færa skrá frá einu nafni í annað. Svo MV a.out, og þá er ég getur hringt í hana halló Enter. Þannig að þetta er Linux skipun. DOS var þetta ár síðan, Windows hefur endastöðvar af einhverju tagi sem lítur svona, Linux og Mac tölvur hafa þetta blikkandi hvetja. Jafnvel þótt flest okkar sennilega sjaldan, ef nokkurn tíma, að nota það. En það sem ég hef gert er að keyra Forritið, sem heitir MV, og ég hef veitt henni með tvær breytur, svo að segja. Tveir inngangar. a.out er upprunalega nafn. Halló er nýtt nafn. Svo ef ég nú punktur rista halló, Enter, sem er til staðar. Og ef ég geri punktur skástrik a.out, hvað býstu ég ætti að sjá? Bash, engin slík skrá eða möppu. Vegna þess að ég endurnefna það bara. Svo tekur þetta smá að venjast. En vandamálið sett 1 forskrift mun sannarlega halda hönd þína í gegnum sumir af þessum minutae. Vegna þess að þetta er heill vitsmunalegum truflun frá fleiri áhugaverður hugmyndir fyrir hendi, sem er í raun að búa til eitthvað út af kóða. En við skulum gera eina breytingu nú við þessa áætlun. Muna að síðasta skipti sem ég gerði eitthvað eins og þetta, printf tilgreina nafn þitt. Og reyndar við gerðum bara þetta á tjaldinu þarna. Og svo ég gerði band sem fær GetString opna paren, loka paren. Og paren bara styttingin ritháttur fyrir sviga. Svo þýðir GetString taka neinar rök? Engar aðföng nei, en það þarf að sviga, því það er það aðskilur boðun fall. Þannig að ég ætla að fara á undan og reyna að keyra þýðanda á þessari áætlun nú. Clang hello.c, vegna þess að ég ekki að breyta nafni sínu til nú. Og ég fékk fullt af villum. Skulum súmma út hér. Ef ég skruna upp aftur, eins og ég sagði síðast, fyrstu, sama villa sem ég fékk síðast. Á línu 6. hello.c Ég fór svo í óskilgreinda auðkenni band, gerði ég meina staðall í? Ég gerði það ekki. Vegna þess að það mistök hef ég gert í þessu forrit, ef þú manst frá síðasta sinn? Já, við þurfum að svokallaða þjálfun hjól að við verðum bara að nota í nokkrar vikur. En ég þarf að tilgreina að einnig, einhvers staðar inni í tækinu, er skrá sem við skrifuðum bara nokkrum árum síðan. Inside þar af eru aðgerðir eins virðist GetString. Svo nú ef ég fer aftur hingað, zoom í, og með tilvísun til-hlaupa clang hello.c. Fjandinn, annar villa. En við höfum ekki séð þennan áður. This einn er a lítill fleiri dulspekilegur að reikna út. En þetta er vísvitandi á skjánum, vegna þess að við vildum að segja þessa sögu. Þegar þú saman hello.c, rétt eins og myndin frá áður lagt til, þú ert bara að breyta því Kóðinn til núllum og sjálfur. Nú CS50 starfsfólk fyrir nokkrum árum skrifaði CS50.h og samsvarandi skrá, CS50.c. Og við, fyrir nokkrum árum, unnin þær skrár í skrá sem gerist að vera kölluð CS50.o. Eða það er hægt að endurnefna a nokkrar mismunandi hlutir. En það er einföld leið að hugsa um það. Svo við tekið CS50 's Bókasafnið í núllum og sjálfur. En hvergi hef ég tilgreint að ég vil sameina zeroes mínum og sjálfur fyrir hello minn heim forrit með núllum og sjálfur sem CS50 starfsfólk búið nokkur ár síðan í einn heill program. Allt sem ég hef tilgreint skriflega clang hello.c er saman hello.c. Ég hef ekki sagt clang til hlekkur í núll og sjálfur sem CS50 starfsfólk búið fyrir þig nokkru. Svo er það auðvelt festa, þjóta l fyrir tengilinn, CS50. Og við munum aftur sjá þetta áður en langt aftur og aftur. En taka nú var engar kvartanir. Svo nú ef ég keyrt punktur skástrik halló, nú það er að vinna. Þó að það er dálítið villandi þar sem ég endurskapa bara hvað skrá? a.out. Svo láta mig baka fyrir réttlátur a augnablik. Dagskráin við tekið bara hefur þrjár línur af kóða. Þegar ég hljóp Halló heimur, halló stund síðan, ég hafði ekki séð fram nafnið þitt. Og það er vegna þess að ég hljóp gamall útgáfa af the program. En ef ég örugglega keyrt punktur skástrik a.out Sláðu inn, gefðu nafn þitt, Rob, halló, heiminum. Hm. Það er góður af a galla. Sennilega ætlað að segja Rob, ekki satt? Svo er það festa hér í kóða. STUDENT: [inaudible]. DAVID MALAN: Einmitt. Þannig að ég þarf bara að gera það sem kemur síðas klip svo að ég er liggur í tákn, eins og fylla í auða, eins og við gerðum áðan. En prósent s er nú að fylla í auða. Svo loks skulum sýna einn síðasta smáatriði þannig að það er engin galdur. Ég ætla að fara á undan og losna við hellow. Ég ætla að fara á undan og losna við a.out. Svo nú hef ég engar áætlanir, bara mitt kóðann. Og ég ætla að keyra örlítið lengur stjórn, clang þjóta o halló hello.c þjóta LCS50. Nú er þetta að byrja að raða í fara í eitt eyra og út um hitt kannski. En bara stríða í sundur hvað þetta er að gera. Clang er þýðanda, þjóta LCS50 vísvitandi á enda gerir hvað í setningu? Tenglar til CS50 bókasafn. Grípur núll og sjálfur að starfsfólk gerði og crams þá inn mitt eigið program. Svo síðasta spurningin í hendi er, hvað er þjóta o halló líklega gera, jafnvel ef þú hefur aldrei séð þetta setningafræði áður? Senda út dagskrá sem er ekki nefnt sjálfgefið a.out. Frekar það heitir halló. Svo nú er engin a.out. Engin slík skrá eða möppu, vegna þess að ég sagði skýrt kalla þetta forrit halló, þannig að Ég get nú slegið inn nafn svona og hafa það haga sér. Nú hreinskilnislega, drengurinn er að uninteresting að hafa að muna allt sem lítið minutia, ekki satt? Svo skulum fara á undan og fá losa af Halló aftur. Og við skulum nú snúa aftur til heimsins í sem það nægir að segja að heilsa. En það er galdur sem gera er að gera fyrir þig, það er tedium sem það er að gera fyrir þig. Og eins og áætlanir okkar og vandamál að fá flóknari, gera mun sannarlega vera vinur þinn. Vegna þess að ekki of lengi frá nú erum við að fara að hafa forrit sem eru skrifaðar ekki með eina skrá, en nokkrar skrár, og gera vilja gera sjálfvirkan the aðferð af setja saman allt sem fyrir okkur saman. Svo nú prenta. printf er inni þessa skrá, staðall I / O punktur klst, sem við höfum séð áður, en það er meira að printf en það. Það er sviga n, en það er líka fullt af öðrum röðum flýja. Og flýja röð er bara ímynda sér vegur af að segja eitthvað sem byrjar með Sviga, ekki áfram rista, að sviga, og gerir sumir sérstakur hlutur. Og við munum ekki búa á flestum af þessum, en hvers vegna er það Sviga tvöfalda tilvitnun, finnst þér? Hvers vegna er það þetta undarlegt röð stafir, sviga tvöfaldur vitna, hvers vegna gæti það verið gagnlegt? STUDENT: [inaudible]. DAVID MALAN: Einmitt, ekki satt? Hugsaðu til baka Halló heimur program okkar að við höfum séð alveg nokkrum sinnum nú, hvert skipti sem við höfum séð að Halló heimur Forritið sem við höfum haft gæsalappa inni sem er halló komma Heimurinn sviga n. En hugsa til sjálfur, hvað ef þú í raun og veru langaði til að prenta út Gæsalappir? Fyrsta eðlishvöt þín gæti verið, ég er ekki vita hvers vegna ég gæti langað til að do-- hér, við getum verið svolítið aðgerðalaus árásargjarn, halló vinur. Við gætum vilja til að gera eitthvað svona. En af hverju er þetta nú erfið? Hunsa hrokkið vitna til hliðar að grunntónn gert fyrir okkur sjálfkrafa. Hvers vegna er þetta erfið? Nákvæmlega. Þar sem við höfum eins og 4 gæsalöppum. Jæja sá fyrsti sennilega fer með seinna, og kannski fjórða einn fer með þriðja einn, eða, ég meina ég er ekki einu sinni viss um, né er tölva að fara að vera. Tölvur aftur, Þýðendur aftur, eru nokkuð heimsk. Þeir bara að gera hvað þú segir þeim að gera. Og ef þú ert ekki ótvíræð þeir eru líklega að fara að kasta villu. Ef þú ert ekki ótvíræð um hvernig á að gera hnetusmjör og hlaup samloku undarlegir hlutir gætu komið. Það er sama hugmynd. Nú nægja að segja að það er nokkrar aðrar raðir flýja, en við munum koma til þeirra áður en langur. Í meginatriðum þessar flýja raðir tákna eitthvað að þú might ekki vera fær of auðveldlega á lyklaborðinu, án ruglingslegt tölvuna. Nú meðan við höfum staðgengla í printf. Percent d, sem einnig er hægt að skrifa í næstum öllum tilvikum sem prósent i, er tákn fyrir hvaða tegund af gögnum? Hvaða tegund af value? Heiltala. Svo í raun að við munum byrja nota prósent i vegna þess að það er smá einfaldara, eins heiltala. Hlutfall i. Heiltala sem gerist að vera aukastaf. Hlutfall s ég sagði þegar var staðgengill fyrir streng. Sem er bara orð, setningu, málsgrein, ritgerð, hvað sem er. Það er röð af stafir tiltekinni lengd. Og við munum sjá áður en langt sumar af þessum öðrum. En prósent c er fyrir einn staf. Hlutfall f er fyrir að fleytitölu númer, eins og alvöru tala sem hefur til að fá kommu í það, sem er auðvitað ekki heiltala. Og það er allt fullt af öðrum eins og heilbrigður. Á sama tíma í C, og í fullt af tungumálum, Við höfum mismunandi gögn gerðum. Mismunandi gerðir af gler skálar ef þú vilt. Skál sem ég notaði síðasta tíma var fyrir borðtennis bolta, en við getum einnig geymt mismunandi gildi eins stafir og strengi og heiltölur í ílát, án eins breytu, og C hefur þessi. Char er tegund af gögnum, gerð af breytu, þar sem þú getur geymt staf. Fljóta er tegund af breytu í sem þú getur geymt rauntölu. Int er auðvitað fyrir Int. Og frekar hlægilegur heitir fyrir löngu er þar sem þú getur geymt í raun mjög lengi tala, með jafnvel fleiri tölunum þá dæmigerður int máttur geyma. En við munum koma aftur til að áður en langur. Í CS50 punktur h meðan hinn haus skrá að við höfum séð nokkrar sinnum í notkun, það er tvær aðrar gerðir gagna sem ekki fyrir hendi í C yfirleitt. Einn er band, og við munum sjá í nokkrar vikur hvað strengir í raun eru undir hetta. Og eitt er bool. Og bool er breyta sem geta aðeins tekið á vissum gildum. Og bara byggt á síðustu viku skýring á grunni, og nýlega C, hvað myndir þú giska eru tvö möguleg gildi fyrir sumir ílát sem er af gerðinni bool? Já og nei. Eitt og núll. Satt eða ósatt. Og reyndar er það síðasta sem hefur tilhneigingu að vera venjulegur í forritun tungumál, að segja eitthvað eins sönn eða ósönn. Á meðan kemur CS50 bókasafn með fullt af virkni að starfsfólk skrifaði fyrir þig, auki bara að fá band. Við skrifaði í fyrirfram aðgerðir sem Hægt er að fá heila tölu frá notanda, fá einn staf, fá fljóta, sem er bara tala við kommu. Fá lengi lengi, mjög stór gildi frá notanda. Þannig að við höfum aðeins séð þetta í aðgerð í formi GetString. En með þessum aðgerðum mun brátt vera fær um að skrifa forrit sem fá inntak frá the notandi. Á meðan að íhuga þetta program, og íhuga hvernig við gætum nú byrjað að bæta að það með nýjum býr. A fljótur vindbylur ferðina og þá munum við líta á sumir skrifa sumir forrit handvirkt sjálfir. Héðan ef við viljum innleiða ástand, það er ekki að fara að líta út eins og ágætur lítill laglegur ráðgáta stykki. Það er að fara að líta aðeins meira Bogagöng. En þetta er Canonical Uppbygging ástand þar C. Orðið ef tvö svigum, inni sem er að fara að vera einhvers konar af Boolean tjáningu. Nú slash slash í miðju, þetta er á því augnabliki tegund af eins sauðakóðanum kóða tákn. En fleiri almennilega, allir lína af kóða í C sem byrjar með slash slash er athugasemd. Það er eins og Sticky athugaðu að þú gætir setja á ritgerð, sem prentuð á pappír. Það er í huga að sjálfur. Það hefur engin virk áhrif á áætlun. Það er tegund af áminningu, það er þitt eigið skjöl um hvað er að gerast. Svo gera þetta í augnablikinu er tegund af tákn fyrir hvað er inni þessara hrokkið axlabönd loksins er að fara að gera eitthvað. Á meðan þú ert með tvær gafflar í að vegum, sem ef annað reisa svona. Þú getur ef, elseif, annað. Nú er það rétt að átta sig, sérstaklega ef þú hefur verið Googling kring netinu um auðlindir út af forvitni, eða ef þú velur upp einn af sjálfsögðu er ráðlagt bækur um C, þú munt sjá að menn hafa fullt af mismunandi óskir fyrir hvernig til að tjá sig í kóða. Sumir fólk eins og til að setja á hrokkið axlabönd sem ég hef gert hér. Sumir fólk eins og til að setja hrokkið axlabönd til dæmis upp hér. Sumir fólk eins og til að setja á elses upp hér og þá er þetta hérna. Það er einhver tala af lifnaðarhættir til skrifa kóða, og enginn þeirra er rétt í sjálfu sér. Þó það er nokkur sem eru nokkuð rangt. En það eru no-- ef þetta er lokum mjög trúarleg umræða. Í raun, einn af mest pirrandi Þetta um tölvunarfræði er hvernig opinionated tölvunarfræðingar geta verið. Og þú munt finna tímanum sem jafnvel þú þróa persónulega óskir hvernig kóðinn þinn ætti að líta. Ekki bara hegða sér, ekki bara búa framleiðsla, en hvernig það ætti að líta fagurfræðilega. Svo það sem við munum gera er að leiða þig leið í átt, að nú að minnsta kosti, staðlað CS50 stíl að minnsta kosti heldur hluti samræmda og auðvelt að lesa. En meira um þá greinarmunur áður en langur. A Boolean tjáning í C, ef þú langaði að segja ef þetta ástand er satt og þetta önnur skilyrði er satt, þú skrifar ekki orð og, eins og þú myndi í ensku. Þú notar í staðinn merkið merkið án, ástæðum sem við munum koma aftur til. Ef þú vilt segja eða þú notar tvær lóðrétt bars, sem á bandaríska lyklaborðinu er almennt yfir á Enter lykill hliðina á Sviga. Og þetta þýðir bara ef þetta ástand eða þetta hitt skilyrðið er satt gera þetta. Á meðan er það þetta brjálaður hlutur, sem þú þarft tilefni að nota einu sinni í stutta stund. En það er bara val leið til að tjá þig. Þetta, fyrir nú, við skulum kveða, það er bara annar angurvær leið til að tjá ef elseif, elseif, elseif, elseif. Það er bara sniðinn hvað varðar tilvika, þar sem þér bókstaflega telja upp þau gildi sem þú might vilja til stöðva fyrir. Á meðan lykkjur. Við sáum samanburð Klóra með lykkju. Og ég ætla að veifa hönd mína á hvað hver af þessum hlutum þýðir. En eftir því að lykkja mun mjög oft byrja með leitarorð fyrir. Eða það verður að byrja með leitarorðinu stund. Eða það verður að byrja með leitarorðinu gera, og enda með leitarorðinu stund. En það sem við erum að fara að sjá er hlutina meira eins og þetta. Hér er almennt í C, hvernig þú gætir lýsa breytu og gefa það a gildi. Í C er það ekki nægja, eins og í grunni, þú bara segja gefa mér breytilega kallað eitthvað. Þú þarft að segja C, og segja þýðanda þinn, nánar tiltekið, hvaða tegund af value gera þér vilja til að setja í gler skál. Er það heiltala? Ef svo er, ert þú að bókstaflega segja int og síðan nafn breytu, þá semíkommu. Ef þú vildir staðinn band og kallaði það er eins og ég gerði númerið mitt hér í dag, þú myndir segja streng s semíkommu. Þegar þú vilt gefa það a gildi þú getur þá notað jöfnum skilti, annars þekkt sem framsal rekstraraðila. Og taktu eftir hvernig hver þessum línum af kóða hefur semíkommu í lok þess. En hreinskilnislega þetta bara lítur svolítið ljótur. Af hverju get ég ekki sagt við tölvuna, veita mér breytilegt og frumstilla hana á núll. Það er, að gefa mér tóma gler skál. Á meðan þú getur. Og svo einn dóminn kallar þú munt að gera stylistically tímanum er, þú skrifar kóðann þinn eins og þetta, eða þú hreinsa konar það upp og komdu fólk við að skrifa tvær línur sem bara einn. Og þetta myndi teljast yfirleitt meira glæsilegur vegur að skrifa kóðann þinn stylistically. Aðgerðir sem við erum að sjálfsögðu séð. Þeir eru að fara að taka þetta snið. Nafn fall, sum sviga, og þá kannski sumir dót inni. Eða þú gætir séð not margar aðgerðir hlið við hlið, eins og eitthvað eins og this. Nú sem snertir, gerir þessi brandari nú skynsamleg? [Hlátur] Það þýðir ekki að það er fyndið, en það er kannski að gera smá meira vit. Svo nú skulum fara inn í CS50 tæki um stund. Og láta mig opna einn beitu hér. Og raunar ein af ástæðunum fyrir að kynna IKEA verslun og blikkandi mynd af iPhone svolítið síðan var að raunverulega binda saman staðreynd að aðeins nokkrum árum síðan, árið 2007, þetta stykki af kóða var út, sem var einn af fyrstu framkvæmd af a stykki af hugbúnaður sem gerir hvað sem er kallað flótti. Fyrir þá sem ókunnur, flótti eitthvað eins og síma eða iPhone þýðir í raun vangaveltur út hvernig á að gera hlutina með það að félagið sem gerði það ekki ætla. Eins og þú vilt að setja ákveðin hugbúnaður sem er ekki í the App Store, jailbreaking símann sem þú gerir það svona og fleira. En hvað var gaman í 2007-- og það hefur verið heilmikið af mismunandi útgáfum af þessum hlutum síðan þá, í alls konar af languages-- er að þetta forrit hér, sem heitir iUnlock, var reyndar skrifuð í C og svo ég dreginn upp kóðann fyrir þetta, bara til að svona sýna þér sumir af líkt með þeim býr við höfum verið að ræða svona langt. Nú er það vegur meira flókið hér en við höfum séð nú þegar í bekknum. Leyfðu mér að fletta upp bara smá hér. En taka these-- vel við eftir nokkrar things-- en taka þessar línur hér, þ.mt stöðluðum I / O punktur h. Og all-- línu 24, please-- taka staðall I / O punktur klst og a heild búnt af öðrum Skrár sem virðist annað fólk hefur skrifað. Og ef við skruna niður í gegnum þetta litla geðþótta, fyrirvara að ég veit ekki hvernig á að skrifa allt þetta sjálfur endilega enn, en það er ef. Svo virðist hefur þetta útibú. Og ef ég skruna niður smá frekar er það annað ef. Ef ég skruna upp, held ég um línu 100 Ég sá fyrir. Svo ég er ekki alveg viss hvernig þetta virkar enn, en þetta er fyrir lykkju sem er að fara að láta mig kunnugt sumir tala af sinnum. Og ef ég skruna alla leið til botns Ég sé að það er virka niður hér kallað Helstu og sumir fleiri ein fyrir ánægju lestur þinn. Þannig að þetta er bara til að say-- og við munum setja þetta á netinu meðal uppspretta Námskeiðið er númer today-- að jafnvel sumir af þessum tæki sem við tökum sem sjálfsögðum hlut, í lok þess dags sem þú ert enn nota þessar helstu byggð sem við höfum verið að kynna þegar svona langt. Það er nóg af þeim einn. Allt í lagi, svo nú skulum reyndar byggja eitthvað. Við skulum fara út eitthvað eins og hello.c, og opna þetta, skulum skrifa þetta forrit hér. Ég ætla að fara á undan og skrifa forrit sem heitir adder.c, tilgangur í lífinu er að fara til vera eins fyrsta frábær einfalt minni reiknivél sem bara bætir nokkrum tölum. Ekki vegna þess að það er erfitt vandamál, en vegna þess að það gerir mig að nú binda saman nokkur atriði. Þannig að ég ætla að fara á undan og fela staðall I / O punktur h og CS50 punktur klst. Ég ætla að segja int helstu ógild. Og aftur í framtíðinni við munum koma aftur til það í í þessu samhengi og ógilt hætti. Og nú er ég að fara að segja eitthvað eins printf, gefa mér heila tölu. Og nú á annarri línu minn, hvernig get ég tjáð mig svo að ég vil lýsa yfir breytu það er að fara að geyma við int? Bókstaflega hvað ég pikka ef ég vil búa til breytu sem geymir við int myndir þú segja? int a jafngildir getint. Jú, þannig virkar það. Og bara fyrir samkvæmni með kóða sem þú munt sjá á netinu, láta mig breyta þetta x, bara vegna þess að x er algeng breytuheiti að nota, að minnsta kosti í algebru. Nú láta mig fara á undan og gera printf aftur. Gefðu mér annan heiltölu. Og nú er ég að fara að toga Lærðu af þeim mynstur, Ég ætla að segja int Y fær að GetInt. Og við höfum ekki notað GetInt áður, en bara eins GetString fer og fær band, eins Javier gerði frá áhorfendum, álíka er GetInt byrja blikkandi the hvetja. Og í raun að bíða eftir notanda að gefa það í heiltölu með því að slá það inn og hitting á Enter. Nú loksins er ég að fara að gera þetta printf summan of-- og láta mig fá ímynda now-- prósent i og prósent i er til staðar Ég upphrópunarmerki Sviga n. Og hvað finnst þér að ég ætla að setja í nú sem frekari inntak að printf? Ég vil ekki að segja bókstaflega vitna unquote x. Ég vil flokk í x og þá, og nú skulum fá ímynda og við skulum gera ráð fyrir bara við getum gert það sem við viljum. Það sem þú vilt að segja næst? x plús y. Og raunar sem vilja vinna. Það er óverulega forritun tungumál skilji tölur, og svo þetta ætti í raun að vinna. Svo láta mig fara á undan og gera það naðra í mínum svörtu og hvítu glugga hérna, Enter. Cryptic lína en engin villa skilaboð, þannig er það gott. Punktur rista adder, gefa mér heila tölu, 1. Gefðu mér annan heiltölu, 2. Summan af 1 og 2 er 3. Allt í lagi, þannig að ansi léttvæg program, en hvað er það gert? Það er gert mig að nota virka kalla hér, kalla annan valkost hér, tvö símtöl til GetInt, a Þriðja kalla til printf, og þá nota þessar staðgengla. Svo það er aðeins meira háþróuð en síðast. En hvað ef ég vil fá smá áhugamaður? Leyfðu mér að fara á undan og nú gera þetta. Leyfðu mér að fara á undan og búa til Ný skrá sem kallast aðstæður núll. Og ég ætla að fara að spara sumir tími fyrir flokkum sakir og bara líma í að númer sem útgangspunkt. Og núna er ég bara að fara að setja eitthvað nýtt hér í miðju. Svo printf Mig langar heila tölu takk. Og allt þetta númer er í boði á heimasíðu Námskeiðið er, þú þarft ekki að slá það allt út í bekknum ef þú vilt frekar ekki. int, og nú er ég að fara að nota, í stað þess að X og Y, Ég ætla að nota n, sem er sennilega algengasta nafn fyrir heiltölu tölvuforriti. Og nú vil ég að gera lítið dómur hér. Ég ætla að sjá hvort n er meiri en 0, þá Ég ætla að segja printf-- Úpps, printf-- þú sóttir jákvæð tala, upphrópunarmerki sviga n. Loka það. Annars ætla ég að prenta út printf þú sóttir neikvæð tala. Nú áður en þú æpa á mig, skulum keyra þetta forrit. Leyfðu mér að fara niður hér. Og hvernig get ég saman áætlun kallað skilyrði þjóta 0? Gera skilyrði þjóta 0. Konar heimskulegt nafn, but-- dammit. OK, gott kennslu stund. Af hverju gerði að brjóta? Hvað gerði ég kalla óvart þessa skrá? Þú getur konar álykta á flipanum hér. Svo það er ekki slæmt að ég gerði þetta, vegna þess að þetta verður kannski að sum ykkar. Svo ég nefndi óvart minn Kóðinn ástand 0. En uppspretta mitt númer með samningnum ættu vera í skrá sem kallast ástand 0 þjóta c, eða hvað punktur c. Svo láta mig laga þetta. Rétt eins og Microsoft Word ég get farið upp að spara eins og gera ástand 0 punktur c. Nú bara að vera snyrtilegur ég er að fara á undan og fjarlægja ástand 0, sem var gamall útgáfa minn. Og nú skulum gera ástand 0, Enter. Allt í lagi, gott þykir. Ástand 0, Enter. Ég vil á heiltölu vinsamlegast, 50, þú sóttir jákvæð tala. Nú hvernig væri neikvæð 50? Þú valdir neikvæð tala. Hvernig væri nú, 0. Nokkuð viss 0 er ekki neikvætt. Svo er þetta einskonar rökrétt galla. Hvernig laga ég þetta? Annars ef n er minna en 0, að gera þetta, annað við getum haft þriggja hátt útibú hér, printf þú sóttir 0. Svo nú ef ég endursýning þetta program, eftir að setja saman það aftur með gera, og nú endursýning ástand 0, hvað ég ætla að sjá hér er 0 gefur mér að framleiðsla. Svo hvar erum við að fara með þetta? Jæja það er mjög auðvelt að missa sjónar skógur fyrir trjánum. Og svo að leyfa okkur að gera með þessu 2 og 1/2 mínútu vídeó að lokum er svolítið af auglýsingu frá Google, en það raunverulega er erfðaskrá til hvað jafnvel með þessum grunn bygging blokkir sem við getum að lokum gert einu sinni Við hafa a hluti af forritun kunnátta undir belti okkar. [Tónlist spila] SAROO Brierley (talsetningu): Það var fyrir 26 árum, og ég var bara að fara að snúa 5. Við fengum að lestarstöðinni og við borð lestinni saman. Bróðir minn sagði bara ég ætla vera hér, og ég kem til baka. Og ég hugsaði bara, og þú veist, Ég gæti eins vel bara að fara að sofa og hann mun vekja mig bara upp. Og þegar ég vaknaði næsta dag, allt höfuðburður var tóm á Runaway lest, draugur Lestin tekur mig að ég veit ekki hvar. Ég var samþykkt út til Ástralíu, að ástralska fjölskyldu. Og mamma hafði skreytt minn herbergi með kort af Indlandi, sem hún setti við hliðina á rúmið í svefnherberginu. Ég vaknaði á hverjum morgni að sjá að kortið, og þess vegna það hélt konar minningar lifandi. Fólk myndi segja, þú ert reyna að finna nál í Heysátan, Saroo þú munt aldrei finna það. Ég vil hafa blikkljós á þeim stöðum sem ég er notað til að fara, en blikkar fjölskyldu minni andlit. Það var mynd af móður minni, sitja niður með löppunum yfir, bara horfa hana gráta. Lífið er bara svo erfitt. Það var fjársjóður minn. Og ég var að horfa á Google Map og ljóst að það er Google Earth eins og heilbrigður. Í heimi þar sem þú gætir þysja inn, Ég byrjaði að hafa allar þessar hugsanir og hvað möguleikar að þetta gæti gert fyrir mig. Ég sagði við sjálfan mig, þú veist, hefur þú fékk alla þá ljósmynda minningar og borgir þar sem þú ert frá, og þú veist hvað bærinn lítur út. Þetta gæti verið forrit sem þú getur notað til að finna leið til baka. Ég hélt, og ég ætla að setja punktur á Calcutta lestarstöðinni, og radíus lína, þú veist, að þú skal leita um þetta svæði. Ég kom svona yfir þessi lest lög. Og ég byrjaði að fylgja henni, og Ég kom að lestarstöðinni sem endurspeglast sömu myndina sem var í minningum mínum. Allt samsvörun. Ég hélt bara jebb, ég vita hvar ég er að fara. Ég ætla bara að fara að láta Kort sem ég hef í höfðinu á mér leiða mig og taka mig aftur til heimabæ mínum. Ég kom til dyraþrep af húsið sem ég fæddist. Og gekk í kring um 15 metra handan við hornið, það var þrjár dömur standa utan, liggja hvor að öðrum. Og miðja einn steig fram, og Ég hélt bara, þetta er mamma þín. Hún kom fram, að hún faðmaði mig og við vorum þar í um fimm mínútur. Hún greip hönd mína og Hún fór með mig í hús og fékk á símann, þar sem hún hringdi systir mín og bróðir minn að segja að, þú veist, bróðir þinn hefur bara allt í einu birtist eins og draugur. Og síðan var fjölskylda aftur sameinast. Allt er allt gott, Ég hjálpaði mömmu út, hún þarf ekki að vera að þræla í burtu. Hún getur lifað restina af lífi hennar í friði. Það var nál í Heysátan, en nálin var þar. Allt er þar. Allt sem við höfum í heiminum er á tappa af a hnappur. En þú hefur fengið að hafa viljann og ákvörðun að vilja það. [Tónlist spila] DAVID MALAN: Unaðslega sætur vitnisburður bara það sem þú getur nú gert með tækni. Við munum sjá þig í næstu viku.