DAVID Malan: See on CS50 ja see on alguse nädal üks. Ja see, mida me arvasime me tahaks teha, on tõmmake kardin seade, et paljud teist on ilmselt kõndinud minevikus nüüd aastaid, kuid võib-olla mitte kunagi päris teada, mis see on. Nii et see seade ilmselt otsima tuttav enamik sa nüüd. [VIDEO PLAYBACK] -Triumf matemaatilise ja mehaaniline oskus on see suur uus automaatne kalkulaatorit Harvardi ülikooli. Keerulisi probleeme matemaatika panna läbi masina kodeeritult edasi lint on täpselt lahendada minut murdosa aega, mis kulub inimese arvutamine. Mõeldud kiirendada igasuguse matemaatiline ja teaduslik uurimistöö, hiiglaslik mehaaniline aju töö USAs Navy kuni sõja lõpuni. [END VIDEO PLAYBACK] DAVID Malan: Nii see on, mida sa näed teaduskeskus, mis on koht, kus et masin on nüüd paigutatud. Sa tegelikult näha ainult osa sellest. Ainult osa on praegu eksponeeritud ja see on seade nimega Mark I, ja see oli sisuliselt tõesti suur kalkulaator. Sellele järgnes Mark II ja see on pärit Mark II, mis me tegelikult saada natuke leksikon. See on esimese märke midagi, mida sa oled umbes saada kõik liiga tuttav üle käigus semester - nimelt viga. Nii selgus ühel hetkel Mark II seade ei tööta korralikult, ja lähemal vaatlusel, seal oli tõesti viga - ööliblikas - et koi - sees. Ja sellest ajast, meil on nimetatud vigu programmide vead. Seega rohkem, et tulla. Rääkides video samuti, kui te ei ole juba tean, et CS50 on ilmselt filmitud. Loengud tavaliselt tõusevad kohe pärast klassi omamoodi pre-release toimetamata kujul, ja siis päev või kaks hiljem paneme üles suuremat pilti ja kõrgema kvaliteediga versiooni. Nette Vanessa, kes oli õnn mängides Google Glass, mis mulle meenus, et võta see aeg. Nii et kui sa tahad tulla pärast klassi ja mängida, nad peaksid tegema täna. Ja kui soovite näha, mida Vanessa nägin teisel päeval, mida te näete siin - las ma tõsta maht siin on minu sülearvuti. [VIDEO PLAYBACK] -Nii et lubage mul sabas on see üles. Hea küll. Nii puudutada. Hea küll. OK, klaas. Salvestada video. Hea küll. Vanessa? [END VIDEO PLAYBACK] DAVID Malan: Olgu, põhjus et ta ei tööta enamik teid lõpuks klassi oli, sest ma kulges salvestada tundi selle footage osutades ennast pärast Panin prillid ette. Nii et täna ma jätan need ära, aga tänan teil Vanessa jaoks on selline hea sport. Vahepeal paar kuulutused enne kui me läheme edasi täna. Nii et üks, CS50 on traditsiooniks teed mida me saame proovida teha väga suur klass tunne väiksem. Ja suunas, et lõpuks oli enamik igal reedel me kogunevad restorani ruut, Fire ja Ice, 30 ja 40 oma klassikaaslastega, mina, mõned õppejõud, ja me lihtsalt on väga juhuslik lõuna. Me sageli kutsuda sõpru tööstuse, vilistlaste klassi vilistlased kolledži, tegelikult lihtsalt vestelda iga teised üles, räägime elu pärast kolledži elu kolledžis, jms. Nii et kui soovite, et saada osa selles Esimene selline lunch sel reedel kell 13:15, pea et URL mingil ajahetkel. Kosmos on piiratud, nii et me teeme tulevad esimesena. Aga me teeme seda jälle korduvad alus, seega ärge muretsege, kui te ei muudavad selle esimese partii. Nüüd, seoses ettenähtud vahendeid curricularly poolt muidugi seal on terve pöördenurk, ja kui sa ei ole tõmmata käigus veebilehte juba eelkõige alla loengud, leiad, et kõik tegime eelmisel nädalal on olemas, nii video ja mingi Elektroonilise vormi. Kuid lisaks videod leiad et praegu on täielik tekst ärakirju, näiteks iga loengu. Nii et kui me tegelikult minna tagasi selle ekraan siin koos Vanessa ja navigeerida alt nurgas, leiad, et tegelikult, mitte Reede loeng, kuid kui me läheme tagasi Kolmapäev, kuna see funktsioon teeb paar päeva, siis leiad, et saate tegelikult tõmba, parema või hullem, iga sõna, mis ma või Vabatahtliku laval ütles. Ja rohkem kui just seda. Võite tegelikult otsida, saate kliki ühelegi neist lausetest hüpata et mis mõtet video, kõik suunas ja lõpuks teha materjal kõik rohkem laevatatav. Aga kui te ei soovi seda järgida nii üksikasjalikult, leiad jaoks Näiteks see väike menüü siia 1.5x kiirus, 2x kiirusega, või I f ma juba räägivad liiga kiiresti teile, 0.75x kiirust. Nii mõistavad kõik, et on saadaval sinu jaoks olemas. Aga pärast seda, loengute, mõistma et me ka nende ressursside saadaval samuti. Slaidid, näiteks kood, midagi, mida ma teha laval või enne klassi, saadame postiga seal nii, et saate mängida mööda kodus või Sanders. Aga mida me ka arvasin, et me seda teha aastal esimest korda ka annab teile walkthroughs näited. Üha enam nagu ma olen kajastatud väärtus CS50 loengud, ma olen hakanud küsimusele, kuidas kasulik see on kutid seal istuda, et ma seisma siin, ja minu jaoks, et rääkida teile, eriti kui materjal, näited, saada keerulisem. Sest alati, kui mõned arvu minutit, keegi tsoon välja ja siis pane mõned Võtmeküsimuseks mõnede näiteks ja siis oled sisuliselt läinud ülejäänud osa klassist, mis ei ole parim kasutamine oma aega või, tõesti, meie kollektiivselt klassi. Ja nii me arvasime me tahaks proovida teha, eriti mõned rohkem keeruline näiteid, et ma ei pruugi teha õigluse klassis, et me ei pruugi on aega klassis, või te võite lihtsalt tsoon välja ajal, on me toota seeria walkthroughs neist näiteid, nii et kui te lähete jaoks Näiteks eelmisel reedel video lehekülg siin all näiteid, näete, et reede, seal on nüüd see linkida walkthroughs. Ja vormi neist aja jooksul muutub. Praegu me lihtsal YouTube playlist. Aga mida ma tegin meie tootmise meeskond hiljem oli kõndida läbi iga ja igaüks neist näidetest jälle loodetavasti märkides palju suurem selgus täpselt takeaways võiks olla või peaks olema igast. Nii leiad näiteks eelmisel nädal kõik nullist näited läksime läbi on teinud lineaarselt aastal, et mood. Nii et võid vabalt osaleda või mitte tegeleda selle materjali. Tõesti teema selle konkreetse kursuse on see, et seal on tõenäoliselt rohkem teel ressursse kui sa võiks võtta üle käigus semester. Aga see on tahtlik. See on mõeldud nii, et teil on individuaalne õpilased saavad ise valida põhineb oma õpistiili. Nii et kui loengud tööta, suurepärane. Kui lõigud tööta, suurepärane. Kui walkthroughs tööd sa parem, tore. See tõesti on kuni teil valida, milliseid vahendeid on teie jaoks parim. Lõpuks tänu vilistlane Loomulikult pakume ka kanooniline komplekt kirjutaja märkmed. Nii et pigem on kutid juhid alla loengutest sodimise alla asjad, mis tulevad klassi, meie, personal annab teile, mida me tunne on kanooniline kogum märkused tasuta sa selle häireta, nii et Kui te olete siin ja tegeleb, siis on tõesti tegeleb sellega, mis toimub, koos oma klassikaaslastega teevad üles etapp, mida teoksil ekraanil ja mitte lihtsalt kirjutada, sõna-sõnalt mis juhtus on öelnud. Nii mõistavad kõik need ressursid on teile kättesaadavaks. Sektsioonide, vastuseks FAQ, algab sel kolmapäeval. Me sisuliselt ootama, kuni pärast kõige teistesse klassidesse on teha nii, et me ei minimeerimiseks mitmed muudatused et meil on vaja teha. Aga tulemas sel nädalavahetusel, alustades Pühapäev, saab korraga astme mida me nimetame super lõigud. Neid filmiti nende jaoks, kes ei saa osalema, ja sisuliselt Muidugi peadesse kõnnime meid läbi mõned C-osa muidugi poole lõpuks lahendamist üks, mis saab olema meie esimene C põhineb lahendamist. Ja need on vaid vabatahtlik lõigud ootuses milline saab saada korduvad lõigud viisid poolt kursuse 50 pluss õpetamise stipendiaatide nädalas. Pühapäeviti või esmaspäeval või teisipäeval, me on 90 minutilise lõigud väga traditsioonilises tähenduses, mis on võimalusi käed ja rohkem intiimne läbivaatamine kursuse materjali. Ilma pikema jututa, tahaksin tutvustada Muidugi peadesse, kes on kulisside taga koos minuga, muutes kõike juhtuda. Kui neid siin täna oleks minuga, Rob ja Lauren ja Joseph ja Lucas, kõik kellest on koos muidugi juba mõnda aega. RJ on kolmas selline liige meie meeskond. Ta ei saanud täna siin olla, kuid ta palus mul näidata foto temast. Ma ei ole kindel, et ta tahtis seda üks, kuid ta on. Ja las ma lihtsalt võimaldada meeskonnal öelda Tere ja tutvustada end, nii et saad teada neid samuti oma oma õpetamise mehe seda mõistet. LAUREN CARVALHO: Hi. Minu nimi on Lauren Carvalho. Olen resident juhendaja aastal Leverett House. Ma olen ka super põnevil olema pea TV CS50 tänavu. CS50 on väga raske klass, samuti kui väga suur klass, nii et kui sa on probleeme, kui teil on tunne, olete maha jäänud, julgelt jõuda, et keegi meist on heads@cs50.het või mulle, kui soovite meeldib mängida minu kuldne retriiveri kutsikas. Siin on Lucas. LUCAS FREITAS: Hei, kutid. Minu nimi on Lucas Freitas. Ma olen noorem [kuuldamatu] infotehnoloogia ja lingvistika. Ma olen tegelikult pärit Brasiiliast, ja ma ka mõistma Aasia uuringud. Nii et kui teil on mingeid küsimusi selle kohta, infotehnoloogia või keele või midagi, lihtsalt andke mulle teada. Või CS50, eriti. JOSEPH ONG: Hi. Ma olen Joseph. Ma olen vanem õpib arvuti Teaduse Elliott House. Nii, vaatame. Näete mind ringi veavad üks neist tohutu kaamerad. Olen resident fotograaf 50 samuti, ja õpilased sageli mõnikord ekslikult mind Aasia turist. Nii et kui näete mind koos kaameraga, ei joosta. Lihtsalt naerata ja ei ole häbelik. Ja ma loodan, et te nautida 50. Mulle meeldis see väga palju, kui ma võtsin ta, ja sellepärast ma olen TFing eest Nende kolme aasta jooksul. ROB BOWDEN: Hi. Ma olen Rob. See on minu neljas semester koos CS50. Ma just lõpetasin mais. Olin Kirkland. Ma olen põnevil selle semestri ja ma loodan, et te olete liiga. DAVID Malan: Aitäh selle aasta peade ja RJ samuti. Nii vähe lõplik märkused ressursse. Üks, lk seatud 0 on juba üles. See on olemas ainult standard väljaanne, mis on mõeldud kogu klass. Alustades p set 1, siis on Häkker väljaannetesse kõige probleem komplekti, mis jällegi maksab materjal koos veidi rohkem väljakutset, samas veel puudutamata mõned sama teemat. Kas võtate pilk muidugi veebilehte selle spetsifikatsiooni p set 0. Vastuvõtuajad Ka algab sel nädalal täna, homme, kolmapäeval, ja neljapäev erinevates söögituba saali ülikoolilinnakus. Tutvu cs50.net/ohs kontori jaoks tunni jooksul, ja seda mõistma on väga juhuslik võimalusi, Kindlasti alguses semester, tulla oma sülearvuti ajal aju murda. Tooge mõned sõbrad ja vestelda üles Muidugi on TF-i ja CAS iga küsimusi, mida oleks võinud. Ja ma ei saa piisavalt rõhutada, isegi nullist ja lahendamist 0, siis tõesti ei ole loll küsimus. Ei ole õpilane liiga ebamugav küsimusi esitada. Vastake ära seda ressurssi. See on seal kordumatult kogu semestri, kui on CS50 Arutle. See on muidugi tema vestlusringiga foorumitel, et aadress on. Mida me teha ka ajal loenguid on jälgima ka seda, tänu kursuse õpetamine meeskond. Ja kui teil on küsimus ajal Loeng, sest ma ütlesin midagi halvasti või üldse mitte, kõigi vahenditega, paluge et reaalajas, kui teil on oma sülearvuti või telefoni veebilehel ja me teeme oma parima, peaaegu reaalajas vastab sellele. Kas on mingeid küsimusi CS 50? Siis viimane märgib minu. See küsimus Laup UNSAT. Nagu te lõpule oma uuring kaardid, kui teil pole veel aru, et kõikehõlmava nägemuse Laup UNSAT, kättesaadav kõigile õpilastele, on tegelikult aidata nüristama on muidugi nagu see, kui nii võib öelda, et kui sa leida ennast hilisõhtuni, 02:00, 03:00, tõesti peksma oma pead vastu üles seinale, kus sa tead, et sa oled 99% Muide seal lõpuni, kuid te on nii palju muid asju teha, Ma arvan, et parem kasutamine, sageli on õpilaste aeg on tõesti edasi liikuda need muud asjad, et saaksite optimeerida oma aega kõikjalt. Ja Laup UNSAT on üks mehhanism, mille kaudu võite võtta mugavust, et 99% teest on ikka päris darn hea. Samamoodi ka, kui sa sattuda Muidugi, ilma eelneva taustal või pole pooltki nii palju tausta kui arvate, et teie klassikaaslased võib olla tõsi või vale, mõistad, et see on võimalus saada oma käed määrdunud koos muidugi panna oma varbad vesi, nii et rääkida, palju nagu mina tegid aastat tagasi / vigane. Nagu ma ütlesin eelmisel nädalal oli see muidugi nagu teised, ei ole saadaval positiivse / negatiivse ajal, ma ilmselt mitte kunagi astusid klassi, kuigi ma tegin, viis nädalat hiljem muudan meelt, mis sa võib samuti, ja üle minna või kirja sorteeritud staatus. Hea küll. Nii me vaatasime asjad niimoodi edasi Reede, ja me väga kiiresti läheb üleminek midagi, tundub rohkem segasena täna. Aga see on siiski sama põhiidee. Milline oli üldine termin, mis me kirjeldamiseks kasutatakse puzzle tükk mis nägi välja nagu see on? Niisiis, oma avalduses. Ja te võite kutsuda seda iga mitmeid asju. Aga me lihtsalt nimetame seda avaldust, ja kinnitus lihtsalt ütleb programm - või juhul, Scratch, sprite - midagi teha. Ütle tere käesolevas asjas. Midagi sellist me asemel nimetatakse mis? Jah, nii Boolean väljend. Loogiline avaldis on lihtsalt midagi mis on õige või vale, ja nii Scratch juhib neid selle kuju, kuid ka küsimärgiga edasi Idee, et vastus sellele küsimusele kas on õige või vale, jah või ei üks, 1 või 0. Ja me kasutame neid Loogiline väljendeid sees konstruktsioone, nagu need, mis me kutsusime mida? Niisiis, tingimus või filiaal. Ja tingimusel, näed siin Scratch on vähe kohatäide puzzle tükk, et kuju, mille eesmärk millest on nii, et saate Tõmmake see ja tilk seda peal ja siis dikteerida programmi kui Boole'i avaldis on tõene, kas see kogum juhiseid, see komplekt avaldused, teine ​​seda teha teiste komplekt juhiseid. Ja meenutada, et saate pesa neid asju. Kuigi seal ei ole palju ruumi visuaalselt selles puzzle tükk, Scratch kasvab ja kahaneb sobiks puzzle tükki sa lohistada seal nii et saate tegelikult pesa see ja on kolm teed teelahkmele. Kui muidu, kui mujal. Ja te võite isegi minna kaugemale, et pesitsevate kaugemale kui vaja. Nii lõpuks nägime konstruktsioonidest nagu see, muidu tuntud silmus. Ja see on lihtsalt midagi, mis teeb midagi jälle ja jälle ja jälle. Sel juhul ta juhtub olema piiratud mitu korda, kuid me ka nägin näiteks kui mitu korda tulid muutuv, nii et see võiks muuta. Ja me nägime ka teise kvartali kokkuvõttes kutsutud igavesti plokk, mis võimaldas meil loop lõpmatult pikk. Nii et üks teine ​​konstruktsioon, et Scratch 2,0 on - ja need on teile rohkem rahul eelneva taustal on juba hästi tuttav ehitada - need asjad, mida me kutsutud mis? Nii me kutsusime neid funktsioone, vastasel tuntud menetlusi. Seal on väike semantiline erinevus, kuid me kutsume neid lihtsalt funktsioone. Ja funktsiooni puhul Scratch, on kohandatud puzzle tükk, mis sa ise saab luua nii, et teil on uus puzzle tükk, et see juhul oleks nn köha, mis ilmub kõigi teiste saadaval puzzle tükki Scratch. Kuigi MIT ei leiutanud puzzle tükk, sa tegid. Seega funktsioon võimaldab teil luua uus käitumist, annab ta funktsiooni nime ja siis nimetame seda nii-öelda. Tõesti kasutada seda programmi uuesti ja ikka ja jälle ilma ootama keegi nagu MIT mööda teed leiutada uusi funktsioone nullist. Te ise saab ehitada neid puzzle tükid ise, ja siis neid taaskasutada aastal oma programmi. Ja me näeme korduvaid näiteks kohta, et täna ja edasi. Nii et täna me ülemineku nüüd millegi kauge. Aga lõpus päeval, midagi võimsam ja ekspressiivne ja rohkem esindaja tee, et me oleme kõigil semester kogu number keeles - et koodi või lähtekoodi. Ja lähtekoodi, selgub, ei ole see, mida arvuti tavaliselt tegelikult töötab. Lähtekood näeb välja umbes selline. Nii et see on jällegi ehk lihtsaim programm saame kirjutada keeles nimetatakse C. Alustame kiusupunn see välja enne pikk, ja kui see tõesti ei vaata nagu kreeka teile kohe, usalda mind. Kõigest nädal või kaks aega, see on liigagi tuttav ja tegelikult üsna esindaja järjest keeruline näiteid mida sa saada ka mugavam. Aga sa ei saa lihtsalt käivitada objekti kood tavaliselt. Sa pead muuta see midagi, et arvuti ise mõistab. Ja nii eest, et meil on vaja midagi me nimetame tõlkija. Kompilaator on programm, mis võtab lähtekoodi, nagu sa nägid, kui sisend, ja ta toodab nullidega ja need toodanguna, vastasel tuntud objekti kood. Ja see on nende nullidega ja need, mis võib tunduda üsna meeldib see, mis lõpuks saadakse aru teie Mac või arvutist. Kui olete kunagi kuulnud, turundus väljend Intel Inside, et lihtsalt tähendab, et firma nimega Intel on valmistatud Ajusid arvuti - muidu tuntud CPU, keskseade - ja see on just see, mis mõistab mustrid nullidega ja ones. Ja nii, muutes lähtekoodi objekti kood selle protsessi kaudu siit et me teeme koos paari käsud vaid natuke, siis on luues mustreid nullidega ja need et töötajate Intel on otsustanud esindada teatud avaldustega. Nüüd ma ei tea täpselt, mis on mis just põrkav need nullidega ja ones. Enamik inimesi nendel päevadel ei ole. Aga kusagil on muster nullidega ja need, mis esindab avaldus print. Kuskil seal võiks olla teistsugune komplekt nullidega ja need, mis esindab mõistet igavesti või korrata 10 korda või isegi Mjäu, kui see on tegelikult programm, mis suudab on mõned helid. Nii lühike, inimesed on lihtsalt otsustanud, palju nagu tegime ASCII - jaoks tähestikku eelmisel nädalal - inimesed on otsustanud, et isegi keerulisemad mustrid nullidega ja need esindama keerukam käitumine nagu trükkimine või öelda või meowing. Ja nii täna, ja suuresti edasi aastal semester, me võtame antud, et keegi on mustriline välja, kuidas seda teha, et kaardistamine. Aga me, mis on kooskõlas käesoleva idee kihilisus peal tööd inimesed kes tulid enne meid, võtab vastu antud, et see toimub all kapuuts. Aga me oleme palju rohkem huvitatud Hoone, mis on rohkem huvitav peal kõik see. Ja nii tõesti, esimene programm me kirjutas Scratch oli see super lihtne üks, Hello World. Ja sa ei mõtle seda kui põhiprogramm, mis reguleerib Scratch on käitumist möödunud reedel. Täna me ei kavatse hakata tõlkima Scratch puzzle tükid lähtekoodi selles keeles nimetatakse C, nii et see, mis nägi välja nagu see on Reede, alustades täna edasi, on nüüd läheb välja nägema selline. Tõsi küll rohkem segasena. See on päris häiriv ja omamoodi meeles numbing, et näha kõiki hinnapakkumisi ja semikoolonit ja sulud ja nii edasi. Aga kui hakkate ignoreerida kõike, mida ei saa aru, ja tõesti vaatama kell sisuliselt valget teksti ekraan, kindlasti näed, nagu mina, "Tere, maailm." Et read kuni lilla kinnitus üleval, ja see muutub tähelepanu sellele, et märksõna peamine läheb rivistama kontseptuaalselt koos kui roheline lipu klõpsatud. Nii teisisõnu, samas Scratch, me rakendame seda programmi Hello World nende kahe puzzle tükki, C, me seda rakendada nende neli veidi segasena read. Aga nagu me sukelduda sügavamale see, saate näha, et iga üks neist valge tegelased ekraanil tegelikult on mõned olulised tähenduses, ja enamik meie programmid hakkavad vaata struktuurilt üsna sama. Seega väide, et oleks selge, mida tundus "tere öelda World" Reede läheb otsima meeldib see esmaspäeval. printf ("Tere maailm"). Ja seal on mõned imelik Kenoviiva n, seal on sulgudes, seal semikoolonit. Aga lõpus päeval, võti Buffee täna on see, et kõik me teeme tõlgib asjad pildil moodustavad teksti kujul. Nii silmus, mis nägi välja selline Eelmisel nädalal läheb nüüd vaatama midagi sellist. Ja lükkan, just nagu Scratch, seal on erinevaid võimalusi, kuidas sama eesmärgi saavutamiseks. Sama C. Ma ei näita sulle ainult kuidas teha asju, kuid üks võimalus tõlkida see igavesti plokk loop C. See siin, korda 10 korda. See üks on tõesti omamoodi paindub midagi esimest korda näed seda. Aga seda rakendama nüüdsest me ei kavatse kasutada jaoks silmus, nii rääkida. Ja selgelt on mingi süntaks, mis on vähe alal koos I ja võrdne ja 0, kuid kui me sukelduda, et täna edasi, sa oled lihtsalt läheb näha, et see on kõik lihtsalt teeme mõned põhilisi aritmeetilisi saada meile 0 kohta kuni 9 või 10 käesolevas asjas. Lõpuks, mis muutujad sul meenutada et muutuja on tükk ladustamine. Noh, mida me pidime vasakule seal viimati nädal läheb otsima vähe midagi sellist sel nädalal. Aga jälle, rohkem, et tulla. Meil oli Loogiline väljendeid, mis eelmisel nädalal tundus see. Sel nädalal edasi, nad ei kavatse hakata otsima natuke niimoodi. Ja see on tegelikult veidi rahustada. See on tegelikult peaaegu sama lihtne nagu roheline lehtedega. Aga siin me oleme jälle mõned uued süntaks koos sümboliga, kuid võite ehk arvan et Scratch, siis öelda-N-D, ilmselt C, me oleme ütlen ampersand ampersand. Aga kõik see muutub looduslik enne pikk. Tingimustel. Eelmisel nädalal tundus see vasakul. Sel nädalal on õigus, see on läheb selline. Aga jälle, võti Buffee siin on, et kui sa näed asju edasi õige, ja eriti kui see on väiksem mugav, see on omamoodi üle oma pea, saad natuke hämmingus, et Ma tõesti ei tea, kuidas ma saaksin võib tulla et nullist - no pun ette - lihtsalt aru, et see on tõesti sama mõte, et ilmselt tundis nii palju looduslik eelmisel nädalal. Ja isegi kui sa ei ole sukeldus Ülesanded 0, Julgen väita leiad et puzzle tükid on suhteliselt intuitiivne, või vähemalt muutunud nii ajas. Niisiis olgem sukelduda sisse Paneme meie käed määrdunud siin see esimene lihtne programm. Ja lihtne on muidugi suhteline. Et seda teha, ma lähen muuta ekraanid selle seadme Helistasin CS50 aparaat. CS50 seade on tükk tarkvara, mis jookseb sees aken minu Mac ja saate käivitada ka see aken sees arvuti, mis võimaldab mul on täpselt sama arvuti keskkonnas iga TF, kui iga CA, kui iga õpilane klassis. Sest CS50 seade on sõna otseses mõttes teise operatsioonisüsteemi nimega Linux - spetsiaalselt Fedora Linux - ja meie, personal on konfigureeritud paigaldamise käigus selle operatsioonisüsteemi nii, et üks, seal on vähe CS50 logo keskel, kaks, seal on kohandatud menüü põhja, ja kolm, pedagoogiliselt oleme lihtsustatud kasutajaliideses palju kui võimalik, nii et kui sa esimene boot see asi üles oma Mac või PC, teil on sama keskkonnas nagu kõik teisedki, ja sa on kõik vahendid, mida on vaja jaoks muidugi ilma, et aru kuidas paigaldada iga ja iga näitaja eraldi. Nii et see tundub suhteliselt nagu Mac OS või Windows. All vasakul nurgas, siis sisuliselt on Start menüü kehvasti, või Apple menüü. Ja siis on see, mida me kahtlusalune olla oma kolm kõige levinum ikoonid. Üks on Chrome. Seal on brauseri sees seadmest välja. Kaks on programm nimega gedit, mis nägime lühidalt eelmisel nädalal, mis on lihtsalt graafiline redaktor. Ja kolm on Terminal programm, mis on must ja valge aken Läinud mis võimaldab meil kirjutada rohkem kauge, kuid võimsam käsud meie klaviatuuri. Ma lähen edasi minna ja kliki gedit, ja olla kindel, et probleem seatud 1, mis vabastatakse reedel, tahe sõelub kõiki neid samu samme. Pange tähele, et mul on päris lihtne kasutajaliides koosneb kolmest osast. Vasakul Mul on suur tühi aken nimega lähtekoodi. See, kui ma lähen, et näha kokkuvõtet iga kood, mis ma kirjutan. Paremal servas, mul on suur tab, praegu päästetud, ja see on kus mu koodi läheb minema. Ja põhjas olen varjatud Terminal aknas must ja valge küsib, kus ma ei kirjuta käske kompileerida ja käivitada oma programmid - et on teha ja käivitada oma programmides. Alustame lihtne. Lubage mul minna kuni File, Save. Ma lähen edasi minna ja minna jharvard. Nii seadme, sõltumata sellest, mis sinu nimi on, kuulub mees nimega John Harvard, kes on jharvard kodu kataloog, mille sees on kõik oma failid lähevad. See on oma koopia oma konto nii et me ei ole kõik jagamist sama kõvaketast. Sa pead lihtsalt illusioon John Harvard enda. Ette, ma tegelikult paigaldada Dropbox. Seade on ettevalmistatud koos Dropbox nii, et kui midagi läheb valesti poolaastal, kui olete seadistanud seadme koos tasuta Dropbox konto, kõik failid tahe automaatselt varundada nii te võib väga kergesti taastada neid. Ja ma lähen minu Dropbox kataloogi ja seal on juba läheb olla paar muud asjad seal. Aga ma lähen edasi minna ja minge File, Save. Ma lähen minema jharvard, Dropbox, ja siin, ma lähen annan programm super lihtne nimi, hello.c ja salvestage. Nii et mul on sama liides nüüd. Ainuke asi, mis on muutunud on tab kuni top. Nii et ma olen väga kiiresti läheb uuesti et programmi slaidid hetk tagasi. Nii viiakse main (void), ja siis printf, "Tere, maailm," veidi segasena Kenoviiva n lähedal quote, sulgege sulgudes semikoolon ja siis Ctrl S salvestada. Ja teate kõrvale mis lihtsalt ilmus siin üleval vasakul. Ja see ei ole kasulik praegu, kuid on kasulik ajas. Sa lihtsalt näha jälle kokkuvõte kood, mis olete kirjutanud. Ja kuna ma kirjutasin midagi, mida nimetatakse Peamine, et põhjus, miks sõna peamine hüppasid kuni seal. Aga enamasti me ei ole vaja, et täna. Olgu, ma väita, et see on minu Esimene programm kirjutatud programmeerimine keeles nimetatakse C. Teame reede et see, mida see asi läheb tegema väga uninterestingly kui ma käivitage see on lihtsalt näidata - Teisisõnu, printida, kui arvuti teadlane ütleks - tere ekraanil. Nii et seda teha, märkad, et mul on minna siin minu terminal akna ja nüüd on mul vilgub kiiresti. Aga see on nüüd klaviatuur versioon minu John Harvard kodukataloogi. See klaviatuur viis, mille kaudu liikuda minu kõvakettale. Nii et ma ei saa tegelikult tüüp nagu mina tegin eelmisel nädalal tegema tere, sest see on kavatse öelda mingit reeglit muuta siht - midagi on valesti. Ma ei tea täpselt, mida see sõnum teel, kuid see on, sest vaikimisi kui see must ja valge aken on avatud, ma olen sees John Harvardi kodukataloogi. Aga kui ma salvestada et programm? Minu Dropbox kausta. Nüüd on kõik meist on üles kasvanud koos arvutid, kus sa lihtsalt topeltklõps on kausta ikoon, see avab, ja voila. See, kui fail nimega hello.c oleks. Nii et tegelikult, teeme seda. Lubage mul minna ja minimeerida gedit nagu sa oleks edasi Windows või Mac OS. Lubage mul minna Home kausta top vasakule. Näeme siin hunnik kaustu. Siin on minu Dropbox kausta. Checkmarks tähendab see olnud sünkroniseerida. Ja seal on mõned asjad siin, kuid märkad, et hello.c on tõepoolest seal. Ja nii Mac OS või Windows tavaliselt Ma topeltklõps, et see avab ka sõltumata programmi, ja ma olen hea minna. Aga nüüd, vähemalt algab täna, me vaja võtta samm tagasi lihtsalt annab teile mõned põhilised vahendid oma tööriistakomplekt, mille abil saaks teha rohkem võimas asjad enne pikk. Nii on see kiire, ma pean tegema samaväärne topeltklõpsuga Dropbox kausta. Ja seda, et ma lähen kirjuta CD jaoks muuta kataloogi, Dropbox, sisestada. Ja nüüd teate sulgudes minu niinimetatud kiire nüüd ütleb, et ma olen tilde, veidi väändunud sümbol ülemises Enamikul klaviatuuridel / Dropbox. See on lihtsalt stenografist märke ütleb inimene, sa oled nüüd sees Dropbox kausta lihtsalt nii, nagu sa olid topelt klõpsatud ta. Nüüd, kui ma minna ja kirjuta teha tere, sisesta, ma näen väga segasena käsu, kuid ei veateate, tundub, ja siis teine ​​vilgub kiiresti. Ja kui te mäletate, kunagi nii kiiresti Reedel, me tegime seda. . / Hello. Mida sa parasjagu näha on tulemus minu töötab selle programmi või Mac OS ja arvuti mõttes, kui ma tavaliselt kahekordistada kliki programm -. app programm või. exe, see avab aken ja sõite. Kirjutades. / Hello on nagu topelt klõpsake programmi käivitada, kuid kasutades oma klaviatuuri. Sisesta, tere. Ja ongi kõik. Teeme kiusupunn see peale, et nii see ei tundu liiga palju nagu kreeka. Nii. / Tähendab mida? Igaüks, kes on kunagi liikunud klaviatuur keskkonnas nagu see, mis see täpp viidates? Kataloogi. Seega on praegune kataloog on lihtsalt sünonüümina kausta. Nii öeldes dot slash, ma ütlen, otsida programmi nimega tere kataloogi - praeguses kaustas. Teisisõnu, minu Dropbox kausta. Ja sellepärast Enterin seejärel tegelikult töötab, et programmi. Kui ma nüüd tüüp LS, märkate, et ma näen kõik minu Dropbox kausta. Kuidas Started.pdf, mis Dropbox annab teile tasuta, minu pildigalerii kataloog, avalik kataloog, salvestamata Dokumendi 1 mis ma tegin kogemata Hetk tagasi foo.c, mida ma varem tehtud täna, ja siis kaks rida - hello.c ja tere. Hello.c on programmi kirjutasin gedit, ja mis on Tema roheline? Tere roheline on täidetavad. Teisisõnu, kui ma jooksin seda käsku hetk tagasi - andke mulle rull ajas tagasi - kui ma jooksin teha tere, see on keskel samm siin. Ja ta võttis hello.c sisend - AKA lähtekoodi - ja see on toodetud fail nimega hello toodanguna, mis sisaldab kõiki neid nulle ja ones. Ja sellepärast, et lõpuks saan tegelikult käivitada käsku nagu. / hello. Kuna Intel Inside, minu operatsioonisüsteemi süsteemi, Linux, avab need nullid ja need, toidab neid ajud minu arvuti - CPU - ja et CPU ei tea, oh, siin on muster nullid ja need, mis ütleb, prindi järgmine asi ekraanil. Mis on järgmine asi? Tsitaat lõppeb, "tere." Olgu, nii kiire kokkuvõtte mõnedest neid käske, et saaksime alustada võttes neid iseenesestmõistetavaks. Lubage mul otse soovitud kus me pooleli jäime. Ja teil meelde tuletada, et meil oli CD meie lõppfaasi hetk tagasi. Need on, ma julgen öelda, sest Tänapäeva eesmärkidel - võibolla sel nädalal - ainult käske me võib olla vaja sisestada käsurealt küsib peale teha. Nii CD seisis mida? Muuda kataloog. See on lihtsalt võrdne kahekordse Klikkides kausta. Ja kõrvale, kui sa saad kaotanud kunagi sees oma seade, nii et Dropbox - Ma tahan saada tagasi oma jharvard kataloog - Kui kahtled, CD, andmeid sisestada, ilma teiste sõnad, ja see lihtsalt lukud teid tagasi kus sa hakkasid, mis on kena väike otsetee. Olgu, nüüd teiste käske. LS. Ma kirjutada, et hetk tagasi. Mis sa arvad, LS tähistab? Niisiis, nimekiri, eks? Juba järgmisel päeval, kui inimesed olid tulemas üles neid käske, nad üritasid olla tõhus ja pigem tüüp välja L-I-S-T enter, nad otsustas LS. See on hea. See kõlab küll nagu nimekirja. Lihtsalt tüüp LS siseneda, ja et loetletakse faile või kaustu minu kaustas. mkdir, saate tõenäoliselt arvan. Tee kataloogis. Nii et sa ei lähe mõned faili menüü ja vali New Folder selles keskkonnas. Pigem sa tippige käsk mkdir ruumi ja siis kausta nimi , mida soovite luua, ja seda tehakse. rm, saate tõenäoliselt arvan. Eemaldamine või kustutamine. Seega, kui soovite kustutada faili, saate näe probleemi komplekt kuidas sa seda teha. Ja rmdir eemaldada kataloogis. Niisiis, jälle, ma kipuvad sõita läbi mõned Nende andmed, üks, sest nad ei ole kõik, et lõbus veeta aega, kuid kaks, anname teile palju üksikasjalikumalt tahes Muidugi probleem seab, eriti Standard Edition, mis tahes samme et sul võib olla vaja sisestada nii et sa saad rohkem ja rohkem hubane need asjad. Aga nüüd andke mulle tease peale üks teine ​​asi. Kui me kirjutada tegema tere hetk tagasi nägime segasena käskude jada. Nägime jälle tegema tere. OK, teeme seda. Olin tegemas viga, kuid [Kuuldamatu] nüüd tunnistama, ma olin umbes ja tee seda tahtlikult. Mida ma valesti tegin just praegu? Jah, ma ei ole Dropbox kataloog, sest hetk tagasi ma trükitud CD ja lihtsalt Enter. See suurendatud mind tagasi sinna, kust ma alustasin, mis ei ole koht, kus minu fail on, nii et ma tõesti vaja teha CD Dropbox siseneda, ja nüüd ma saan rm tere sisestage, eemaldage tavaline fail tere. Ma ei tea, miks see nii segasena. See tähendab lihtsalt, oled sa kindel, soovite kustutada tere? Sa võid kirjutada y jah, märkige, ja nüüd on see kadunud. Ja nüüd, kui ma tüüpi muuta tere jälle, et see on läheb uuesti minu objekti kood, taastada need nullid ja ones. Aga milline on tegeleda see väga pikk käsk? Noh, me kiusupunn see peale Enne pikk, kuid tee - Ma ütlesin natuke hädavale enne - ei ole tõlkija. Tee on programm, mis automaatselt arvud välja, kuidas panna kompilaatori jaoks. Nii käsu, et sa tõesti peaks olema töötab selleks, et teisendada hello.c arvesse tere tegelikult välja veidi enam niimoodi. Ja jumal hoidku peame tegelikult mäletan, et kunagi kirjutada, et kogu käskude jada välja. Eesmärk teha elus on meeles pidada, et keerukad eest meile ja automatiseerida mida muidu olla väga tüütu sammu. Aga ma ei ligikaudne et. Nii kohta seda vähe petma lehte siin, ma saab ligikaudselt, et käsk on teeme lihtsalt kirjutada rõkkama, mis on koostaja nimi saadame kasutades seda semester. Kui keegi teist on kunagi teinud iOS arengu jaoks iPhone või iPad, Rõkkama on programm, mida oled kasutanud jooksul Xcode teha oma apps. Rõkkama, kuigi on lihtsalt üks programm kelle nime me ei kirjuta käsureal kiire ja kehtestades selle nüüd, Võin võtta midagi, mis on vähe esindaja käskude tulla. Nii et lubage mul seda teha käsitsi. Nii rm tere, ja nüüd teate puhul I, nagu meelerahu vaadata - . / Hello, mis sa arvad, et ma peaksid nägema, kui ma seda teen? Mingi viga. No sellist faili kataloogis. Nii et üks on tegelikult üsna otsene. Nüüd lubage mul selge ekraan. Kontroll on lihtsalt kaob ekraanilt kõrvaldada mõned distractions. Ja nüüd ma lähen käsitsi tüüp rõkkama-o hello hello.c. Mis siis on see umbes teha? Täpselt sama asi, mis muudavad tegi meid, kuid ma ei visata mõned üleliigsed sõnad. Rõkkama on programm, mis läheb võtta. c faili sisend ja toota nullid ja need, nagu väljund. Aga-o edaspidi nimetame lüliti või lipp. See on lihtsalt techie žargoonis öeldes see on sõna kirjutad juures kiire et kuidagi mõjutab käitumist programmi sa kasutad. Seega keegi ei taha vist mis-o edasi? Väljund. See on lihtsalt keegi otsustas-o tähendab väljund faili nimega tere ja võtta sisend iganes viimane sõna kiire on, hello.c, nii et kui ma tabanud Sisestage nüüd, midagi tundub juhtuda. Ja imelik küll, selles maailmas programmeerimine, kui midagi juhtub, See on ilmselt hea asi sest seal ei ole viga sõnum ekraanile. Tere, Enter. Minu programm on nüüd jooksma. Aga ma ei tee rumalaid vähe asju see. rõkkama-o, hihihi, hello.c, siseneda, ja nüüd on mul samasugune Programm nimega hihihi. Ta käitub sama, kuid nimi on erinev. Nii et see on ainult öelda, et kui sa tahad mõjutada käitumist programm, me läheme järjest vaata asju nimetatakse käsurea argumente. See on rida. Sa võid käske. Ergo, käsurea. Ja käsurea argumendid on lihtsalt sõnad või vähe tükki süntaksit kuidagi mõjutada käitumist programmid, mis töötab meil. Olgu, mis on ehk kõige igav programm saame kirjutada ja vaata. Teeme nüüd midagi teha põnevamaks. Lubage mul minna ja luua uus fail. Ma lähen edasi minna ja salvestada selle John Harvardi kodu kataloogi, ütleme custom.c, et olla veidi kohandatud programmi. Ma lähen suumida minu peal tabs siin ja uuesti alustada. Kaasa standard stdio.h. Rohkem selle kohta hetkel. int main (void), rohkem et hetkel. printf ("Tere, David"). Palju huvitavam, eks? Nüüd, kui - ei, sest minu nimi, lihtsalt sellepärast, et see on erinev - teha custom siseneda. Custom Tere, David. Aga isegi, et liiga, on valge vale. See programm võib samuti kutsuda David.c, sest see ei ole kohandatud käitumist üldse. Tõesti, ma tahan programm, mis küsib kasutaja oma nime. Niisiis, kuidas ma seda teen? Noh, las ma liikuge üles siin. Ja enne kui ma kasutan avalduse Scratch, enne kui ma kasutada printf, muidu tuntud funktsioon, lubage mul kõigepealt paluda kasutajal mingit sisendit. Nii et seda teha, ma pean teha paar asja. Üks, ma pean koht säilitada kasutaja nime pärast olen temalt või teda selle eest. Mida konstrukt ma pean kasutama tõenäoliselt salvestada raha niimoodi? Muutuja. Seega erinevalt Scratch, kus sa saad kena puzzle tükk, siin, me peame kasutavad ilmselt sõnu väljendada end. Ja edaspidi, millal soovite sõna või fraas, programmeerimine, me nimetame seda stringi. Nii string on sõna või fraas. See järjestus on null või rohkem tähti, ametlikult. Ja kui sa tahad näiteks muutuja olemas, siis pead ütlema mulle ühe. Ja viis, kuidas sa seda teha on öelda string s semikoolon, kus te võib olla ükskõik mida tahad. Tegelikult s on veidi underwhelming. Lubage mul minna ja rohkem selgelt nimetada seda nime. Anna string kutsus nime. Aga nüüd, mis on isiku nimi vaikimisi? Noh, kui inimene ei kirjuta midagi aastal, ilmselt, seal saab olla mingit väärtust nimi. Ja selgub, C, kui sa ei anna muutuja väärtus, see läheb on prügi väärtus. See võib olla mõne juhusliku nulli ja tooted, et sa oled lihtsalt näeme prügi, tõesti ekraanil kui sa püüad seda kuvada. Aga ma ei saa kinnitada, et öelda, tegelikult, poe sees nimi pärast raha. Kuidas sa salvestada väärtusi muutujate kui teil on muutuja nimi lahkus, pead kuidagi panna mida soovite salvestada see õige, ja süntaks, mis läheb olema järgmised. Me ei näinud seda enne, kuid võtma usul hetkeks, et seal olemas teine ​​avaldus maailmas et ma lähen uuesti helistada funktsioon, ja see funktsioon on kutsutud saada string. Ja see sõna otseses mõttes, et. See kuidagi saab märgijada alates inimese ja siis teeb midagi sellega. Ja see näeb välja segasena süntaks. Tavaliselt, kui te kasutate võrdusmärki - sa oled maailma, ütleme, algebra, ja sa oled tegelikult öeldes x võrdub 1. Siin me ei ütle, et nimi võrdub saada string. Me ütleme kaupluse nimi, mida on paremal pool selle võrdusmärgi. Võrdusmärk tähistab omistamisoperaatorile. See on süntaks, mis ütleb panna mis on paremal pool sees, mida on vasakul. Nii et saada string on uus tükk funktsioone, mis mitte ainult ei midagi - küsib kasutaja string - Samuti tagastab selle, kui nii võib öelda. Vaatame, mis toimub siin juhtuma. Ma lähen edasi minna nüüd ja suumimiseks ja ma lähen paar vigu minu kiire. Ma lähen kirjuta teha custom, siseneda. Wow. Terve hunnik vigu. Olgu, see on selline valdav, kindlasti alguses, kuid Selgub kõik need väga küll segasena veateated on viidates mõned mustrid me hakkame nägema ajas. Nii et see, mida ma teen kisu maha, sest see on esimene. Kasutage deklareerimata tunnus string. See tähendab lihtsalt, et gedit või rõkkama, sellisel juhul ei tea mida ma mõtlen string. Ja see on, sest C, programmeerimine keel, siis tegelikult ei ole muutuja tüüpi string. C ei tea, et stringid on olemas. Aga me, CS50 personal teha. Ja nii enne klassi, me loodud fail nimega CS50.h. Ja sees selle faili - ja rohkem süntaks tulla - sees see fail on määratlus mida ma äsja määratletud suuliselt kui string. Nii lihtsalt sõlmides see üks rida koodi oma programmi, olen nüüd õpetamise gedit ja teha ja rõkkama kõik omakorda mida string. Ma ei tea kuidas veel. Mõne nädala pärast, me koor tagasi, et kiht. Aga nüüd tean, et see õpetab tõlkija mida string tegelikult on. Nüüd lubage mul selgitada minu terminal siin. Lubage mul uuesti kulgema teha custom, ja ma lahendada kõik need probleemid. Nii see ka läheb olla korduv teema. Ma ainult kirjutas 9 rida programmi ja veel oli mul 18 rida vigu. See on omamoodi hirmutav. Aga mõistan, et nad sageli kaskaadi selline et üks väike viga käivitab segadust koostaja ja tundub palju hullem kui see on. Nüüd nutikas vaatleja teavad et ma saan stringi kasutaja, aga ma ei ole tegelikult seda, mida on? Ma tegelikult ei tee midagi teha. Nii et kui ma tegelikult kulgema custom jälle see läheb lihtsalt istuvad seal. Mis toimub? Minu programm tundub olevat ummikus mida joon, mis sa arvad? Nii et see on tegelikult kinni on line 7. Ja me pole seda varem näinud, kuid on line 7, seal on jälle see avaldus saada string. Ja see, mida ta ütleb. See ootab nüüd inimese võtta string. See on täiesti unintuitive mulle inimese, sest ma ei ole rääkinud mida teha. Aga lubage mul minna edasi usus ja las ma teesklen, et Rob. Enter. See ei ole programmi ma ette. Nii et meil on meie esimene blogi. Aga proovime põhjendanud kaudu miks see nii on. Esiteks, lubage mul kinnitada seda esimest probleemi. Lubage mul lisada siia joone, mis ütleb, printf, mis su nimi on? Teeme tihedat tsiteerin Lõpusulg. Nüüd lubage mul uuesti käivitada programmi. Probleem. Ma ei näe seda. Just. Ma ei kompileeri see. Niisiis keeles nagu C, sest sa muuta lähtekoodi ei tähenda et olete muutnud oma objekti kood luua uue objekti kood, uus nulli ja ones. Sa pead uuesti kompileerima. Kui ma nüüd uuesti teha custom, andmeid sisestada, ah, veidi veel selge. Minu nimi on Rob. Ikka lollakas. Ja ma tahaks väita, seal paar vead nüüd. See lihtsalt tundub kole, ausalt. Nagu, minimaalselt, ma peaks olema ruumi seal, või liigutage kursori uue rea. Ja tegelikult, uus liin. See on selline oluline lause siin, et oleme näinud, kuid ei ole määratletud. See, kuidas sa saad teksti liikuda onto järgmisele reale sa ei tee seda. See ajab arvuti. See näeb välja nagu kaks eraldi read koodi, millest kumbki on täiesti õige. Sa asemel olema selgem ja öelda, anna mulle uus liin, mis me esindavad C Kenoviiva n. Nii et seal on mõned sellised tegelased. Längkriipsu n saab määrata, et esteetiline. Lubage mul kompileeri oma programmi. Lubage mul uuesti teha mu programmi. See tundub parem. See on ikka üsna primitiivne, aga see on ka ikka lollakas. Nii et seal on üks - isegi kui te pole kunagi programmeeritud enne, saab ilmselt võtma vist , miks see programm on veel puudulik. Mida ma pean tegema, et Ma pole seda veel teinud? Nii et mul on tegelikult teha midagi nimi. Just nagu kriimustus, siis võib tegelikult määrata muutuja nagu n või võidelda nagu tegime eelmisel nädal - väärtusega. Aga kui sul ei ole midagi teha see, midagi ei juhtu. Olgu, las määrata. Las ma kirjutada minu muutuja seal, ja andke minna siin. Lubage mul kompileeri, lubage mul uuesti käivitada, Rob. Nüüd ma olen lihtsalt idioot, eks? Nii et see ei ole tegelikult saada mind edasi. Aga see oli täiesti loomulik, instinkt, ma väita, eks? Kui muutuja on kutsutud nimi, ja ma tahan sinna minna, miks ei ma lihtsalt kirjuta see seal on? Noh, muidugi, meil on eristada nüüd vahel, mis on string? Pange tähele, et tsitaat lõppeb siin, tere nimi? See tegelikult ise on string. See on kõva kodeeritud. See ei ole pärit inimese. See on minu, originaal programmeerija, kuid see on ikka string. Nii et kui sa sõna otseses mõttes kirjutada N--M-E sees on string, mis läheb saada trükitud? Noh, N--M-E. Oleme selle asemel on vaja öelda printf, ei prindi välja sõna otseses mõttes nimetada. Prindi välja väärtuse nimi. Ja mida teha, et me teeme järgmine. Ja see on vaid inimeste konventsioon. Oleme selle asemel öelda% s, ja et tähistab stringi. Ja siis lõpuks minu lähedal tsitaadid, Ma lähen panna koma ja andke teine ​​argument sellesse avaldusega. Ma lähen kirjuta nimi seal. Nüüd teate meil veidi uus süntaks. Meil on veel kaks sulgudes ja edaspidi lubage mul öelda, et asjad sulgudes tähistab argumente arvesse funktsioon - sisenditele kuidagi läheb mõjutada tema käitumist. Nii et loogika, kui palju argumente ei printf näivad võttes sel hetkel? Seega tundub, et tuleb võtta kaks, ja see on tõesti tähendas poolt koma siin. Nii et see on üks argument aastal ja jutumärkides. Kuigi see on koma see, kõik on jutumärkides, mis tähendab, see on üks pikk string. Koma muutuja nimi. Nüüd lubage mul välja suumida. Lubage mul uuesti käivitada. Rob. Kurat, mida ma valesti tegin? Olgu, nii et sa pead uuesti kompileerima. Nii et taas, kerge vigu teha varakult uuesti ja uuesti. Nüüd uuesti teha custom, Rob, siseneda, ja voila. Meil on nüüd kohandatud programmi. Nii et ma nüüd on olemas programm, mis kasutavad mõned omadused mis on väärt märkimist. Üks, ma kasutan CS50.h, vastasel tuntud CS50 raamatukogu. Ja sees CS50 raamatukogu on funktsioonid, mida teised inimesed kirjutasid - nimelt töötajad - teil kasutada ja saada string on üks neist. Toas 2. liin on stdio.h, ja miks see nii on? Võtke oletus. Mis on olemas sees standard IO lapsevanem? Printf. Nii printf, te ei näe seda kuskil veel ekraanil. See peab tulema arvuti kuidagi. Kust see tuli? See on sees - see on deklareeritud, niiöelda seestpoolt fail nimega stdio.h. Nüüd, see kraam, me tuleme tagasi lõpuks, sest see on natuke segavad nüüd. See viitab meie tagastab tüüp. See viitab argument. Aga täna me keskendunud lihtsalt siin nendel liinidel. Nii string nimi, lihtsalt sulgege Mida tegi seda minu jaoks teha? Seega deklareeritakse muutuja string-tüüpi. Nii, et see pidi olema sõnu, mitte numbrid. Nagu kõrvale, kui ma ei taha see on number, siis ma ütleksin, midagi int. Kui ma tahtsin olla ujukoma väärtus, midagi koma, Ütleksin sularahaga. Aga täna, ma olen lihtsalt ütles string. Ja ma olen andnud selle muutuja nimi nimi, kuid ma ei suutnud arvates on see midagi. Tegelikult algselt kutsusin ma ta S. See siin on lihtsalt üks avaldus. Mitu argumente on see kinnitus, võttes? Nii see lihtsalt võtab ühe, ja et on lihtsalt esteetiline detail väljapanek midagi ekraani mulle. Mis on see rida 8 teed üldarusaadavat mõttes? Läheb väärtus kasutaja - nimelt string - ja mis ta sellega teeb? See on põhiliselt selle üleandmist poiss vasakul servas võrdusmärgi, nii et sel juhul nimi muutuja võib tegelikult salvestada. Ja siis printf on teine astme funktsioon. Ja ütleme, et helistada funktsioon. Funktsiooni kasutamiseks on helistada funktsioon. See asi ilmselt võtab kaks argumenti. See üks, koma, see üks. See üks on ise lihtsalt string mis sisaldab kohatäide. % S abil panna teine ​​string siin. Ja nii pannes nimi pärast koma, mis on lisades et asi minu jaoks. Ma võin teha muid asju veel. Lubage mul minna nüüd ja teha natuke rumal programm, kuid lubage mul kustutada seda, ja lubage mul luua loop. Kuigi tõsi. Sümbol tõsi on ilmselt alati saab olla tõsi. Nii et millist loop ma ajendada kirjutades rida nagu see on? Nii lõputu silmuse, eks? Just samas tõsi. Ei ole nii, ma ei muuda sõna tõsi olla midagi muud, nii et see on lihtsalt kavatse joosta igavesti. Nii et kui te olete kunagi tegelikult oli programmi oma Mac või PC, mis tundub et on lukustatud, või ta teeb midagi ja midagi, ja sa lihtsalt ei saa asi lõpetada, kui sa arvuti taaskäivitama või tõmba Task Manager vms Siin on üks näide. Ma ei saa öelda: "Ma olen lollakas programmi." Sulge quote, sulgege sulgudes semikooloniga. Nii et taas, märkama mustreid. Kuigi mõned meie süntaks on uus, märksõna, samas märksõna tõsi, märkate Mul on sama liiki looksulg. Mul semikoolon ja sulgudes. Nüüd lähme edasi ja koostab selle. Tee kohandatud, kohandatud. Et selles kohas, siis ei ole vaja taaskäivitage seade, eks? Nii lihtne õppetund on siin koos kahe sõrme kontrolli C, me loobuma, et programm. Aga näed täpselt, miks see asi aastal kordub ikka ja jälle. Ma ei tee midagi veidi keerulisemaks, kuna teaser. Ma lähen edasi minna ja öelda järgmist. Sest keskmine, mis on täisarv, i lihtsalt üldnimetus anname kõige muutujate programmeerimine, kui oled lihtsalt lugedes, on 0. Lubage mul minna ja öelda, et kui ma ei, oletame, vähem kui 100, i pluss pluss. Me tagasi selle süntaks, kuid see tähendab lihtsalt, juurdekasvu i uuesti ja uuesti. Ja mida ma tahan teha siin? Printf, "ma võin loota, et i." See on lollakas programmi. Mida ma tegelikult kavatsen siin? Protsent ei s, aga sa ei arvan, see. % D on koma täisarv. Koma i. Lubage mul tagasi pöörata. Lubage mul nüüd kompileerida koos teha. Lubage mul nüüd uuesti, kohandatud. Ma võin loota tõesti kuradi kiiresti kui Ma kirjutan programmi niimoodi. Teeme nüüd midagi natuke tahtlik. Kuidas teeme seda, kui ma on suurem või võrdne 0-ga. Mis see läheb esile? Seega loogiliselt, et see ei ole nii tark, sest nüüd kui ma uuesti, see, jutustama, Nüüd saan loota tõesti, tõesti suur. Kahjuks umbes sama kõrge kui saan arv on 4 miljardit, nii et see läheb võtta aega. Miks me ei jäta seda nagu meie pinge, lubades, et on Kolmapäev, näeme, kui see programm on tehtud. Kaks, me tutvustada, kuidas sa ise kirjutada oma funktsiooni, nii et väga kiiresti, hiljemalt kolmapäeval, me, nagu me Üleminek Scratch arvesse C, alustage kirjalikult kunagi järjest keerulisemaks programme, mis teevad palju, palju rohkem. Näeme siis. [APLAUS] SPEAKER 1: Järgmisel CS50, Puzzle Day oli edukas.