[Muzikos grojimo] DAVID Malan: Visos teisės tai CS50 ir tai yra savaitės viename gale. Taigi, aš norėčiau pristatyti mano buvęs advisee, Andel Duff, kurie ne tik leidžia "iPhone" 5 stovi, taip pat tai Katedra, jis taip pat daro automobilius. ANSEL DUFF: Kaip viskas vyksta, visi? Aš tik noriu pasakyti šiek tiek tiek apie Formula SAE, apie kurį aš esu kapitonas. Tai MIT komanda. Aš tik noriu pasakyti, vaikinai šiek tiek apie jį ir tikiuosi sukurti tam tikrų interesų. Taigi leiskite man tiesiog paleisti per pora dalykų apie mūsų komandos. Taigi mes visiškai studentas paleisti, kuriame visi iš narių dizainas, imituoti, tyrimas, gamintojas posistemė iš automobilio. Mes turime savo machine shop ir garažai ir N52-- arba klaida, N51-- kuris yra tame pačiame pastate kaip MIT mokslo muziejus. Ir mes esame žmonės kad vairuoti automobilį. Yra nacionalinė konkurencijos į vasaros pradžioje, ir ten yra mažesni Shootout konkursai ištisus metus. Ir tada mes vairuotojų mokymo dienų gauti nauji nariai susipažino. Mūsų statyti dienų yra Šeštadieniais 11:00-20:00. Pietūs ir vakarienė rūpinasi iš iš Bertucci "ir Beantown atitinkamai. Mes turime savaitės posėdyje ir Seminare, kuris yra žinoma kreditą. Kuris yra naujas šio semestro ir taip pat bus kitą semestrą, todėl jūs galite kirsti-reg, kad. Ir tada mes turime projektavimas, parduotuvė, ir CAD dienas per savaitę, o nariai nepriklausomai CAD dalys, kad akcijų ir tt. Taigi elektros inžinerijos komandos mes turime traukos, aukštos įtampos sistema, kuris veikia ne nominali 300 voltų, kuri apima varikliai, variklių valdikliai, ir baterijos. Tada mes turime mažai įtampa sistema, kuri veikia 12-voltų, kuri apima kontrolė, CAN mazgai, smegenis dėžutė, ir prietaisų skydelis. Kiek CS eina, mes turėti interneto svetainės priežiūra kad mes turime padaryti dėl įvykių, narystės pokyčiai, naujos nuotraukos ir PR medžiaga. Ir tada mes turime kodą, kuris kontroliuoja automobilių mūsų traukos kontrolės, starto kontrolė, brūkšnys kontrolė, momentas nukreipimą, ir regeneracinės stabdymo sistemos, kurios paleisti paprastai MATLAB, Simulink ir LabView. Papasakoti šiek tiek apie automobilį. Taigi, tai apie 500 svarų. Tai taisyklės skirtos tik 85 kilovatais. Jis turi 2 EMRAX 207 variklius atgal, po vieną kiekvienai galinio rato. Jis turi pasirinktinius pastatytas baterijos iš Prizminis A123 maišelis ląstelių, iš viso 300 voltų ir 5,6 kilovatvalandžių. Ir tai tiesioginė pavara su 2,64-1 pavaros santykis. Štai keletas nuotraukų mes paėmė jį į konkurenciją. Štai atgal, nosies kūgio, ir čia yra varikliai, tie dideli juodi diskai po et Mens manus. Štai skaidrė, aš iškedentas iš mūsų konkurencijos sistemą. Ir tai tik lyginant mūsų automobilį pora komerciškai prieinamų automobilių, kaip KTM XBOW, Ariel "Atom", ir Caterha M 7-280. Jei esate susipažinę su kaina, galia traukti svorio, dolerių už arklio, dolerių per sukimo momento, ir mūsų automobilis pučia juos visus iš vandens. Jei turite kokių nors klausimų, Užrašoma šį elektroninio pašto adresą. Šaudyti man ne fsae@mit.edu laišką. Mes džiaugiamės, kad kalbėti apie kas norite. Harvardo studentai yra natūra Sutarties dėl komandos mažuma. Jei turite kokių nors klausimų apie kad prašome šaudyti man laišką, malonu pasikalbėti, o aš ruošiuosi galvą atgal per Dovydui. Ačiū. Aš vertinu jį, vaikinai. [Plojimai] DAVID Malan: Anselį praleido vasarą dirbti su mumis čia Campus CS50 šią vasarą. Ir be to, dirba tokie dalykai kaip dvejetainiai lemputes, jis tikrai tikrai atvėrė mūsų eyes-- ir kasyklos particular-- į kas tikrai susikirtimo ne techninės ir programinės įrangos gali būti. Iš tiesų iš dalykų, jis tiesiog gastroliavo jums per galiausiai sukurta pirmoji programinė įranga, ir tada galiausiai pagaminti realiame pasaulyje aparatūros. Taigi, jei jus domina tyrinėti tą sankryžą, galbūt imtis tą grupę. Dabar tuo tarpu, tiems iš jūsų, kurie yra gerbėjai technologijos ir "Apple" produktų pirma žinoti, kad buvo iš pora pranešimai vakar. Tačiau mes manome, kad mes norime parodyti, tu vienas, kad išėjo keletą dienų prieš, kad galite ne mačiau. JORGEN EGHAMMER: Jūs žinote, kartą per kurį laiką kažką ateina kartu, kad keičia, kaip mes gyvename. Įtaisas, paprasta ir intuityvi jį naudojant jaučiasi beveik pažįstamas. Pristatome 2015 IKEA katalogą. Tai ne skaitmeninių knygų ar e-knyga, tai knyga-knyga. Pirmiausia reikia pažymėti, yra ne kabeliai, net maitinimo laidas. 2015 IKEA katalogas ateina visiškai įkrautas, ir baterija yra amžina. Sąsaja yra 7,5 iki 8 colių, bet gali išplėsti 15 iki 8 cm. Navigacija grindžiama lytėjimo liesti technologija, kuri jums tikrai gali jaustis. Turinio ateina iš anksto įdiegta per 328 aukštos raiškos puslapių įkvepiantis interjere idėjas. Norėdami pradėti naršyti, tiesiog palieskite ir vilkite. Iš dešinės į kairę judėti į priekį, į kairę į dešinę perkelti atgal. Atkreipkite dėmesį, kažką kita? Tai tiesa. Nėra atsilikimas. Kiekvienas Švarus puslapis krovinių ir akimirksniu, nesvarbu, kaip greitai jūs slinkite. Jei norite gauti greitą apžvalgą, tiesiog laikykite jį delne, ir naudojant tik nykštį, greitis naršyti turinį. Jei radote kažką norite išsaugoti ateičiai, galite tiesiog pasižymėkite jį. Ir net jei jūs uždaryti programą, Jūs galite lengvai rasti žymą dar kartą. Nuostabi. [Juokas] [Plojimai] Taigi, kad atneša mums Savaitės vienas galas. Keletas pranešimai dabar. Taigi ruožais dabar vyksta. Eiti į URL čia garsųjį nuo dabar ir penktadienį vidurdienį kad iš tikrųjų nurodyti, ar esate tarp tų, kurie mažiau patogūs, daugiau patogus, ar kažkur tarp. Tai paprastai vienas iš tų, dalykų, kad jūs tiesiog rūšies žinoti. Ir iš tikrųjų yra tie, kurie yra mažiau patogus tikriausiai žinote, kiek, Tiems iš jūsų, kurie yra labiau patogu žinoti, kiek, ir vėl, jei nesate visiškai tikri, kurie tų kibirų, į kurią krenti tu tikriausiai kažkur tarp. Tačiau būkite tikri, jūs galite apsikeitimo po poros savaičių jei reikia. Tuo tarpu, dėl ateinančios savaitės nepradėsime skyrius per se, bet super skyriai, kurie yra atvira visiems studentams. Tai sekmadienį iš vietos į bus paskelbta kurso svetainėje turėsime vieną tiems mažiau patogūs, taip pat vienas tie patogesnė. Ir tie, kažkur tarp galite pasirinkti, kuri iš tų dviejų, arba abu, jei norite, sėdėti-in. Ir tie, dėmesys bus galiausiai ant C, kurią mes tęsime pokalbis šiandien. Problema nustatyti 0, tuo tarpu yra tikiuosi jūsų rankose. Oficialiai dėl rytoj, Ketvirtadienis, vidurdienį. Nebent jūs pinigus vieną Jūsų 5 vėlai dienų, kuri jį iki penktadienio vidurdienį. Problema nustatyti 1, tuo tarpu bus paskelbtas aikštyno svetainėje. Ir tai bus mūsų pirmas įsiveržimas kaip klasę į C. Ir kad problema nustatyti spec padės jums per to, kas mechanikos daug Mes pradėjome kalbėti apie pirmadienį, ir mes toliau kalbame apie šiandien. C, "Linux", CS50 prietaisas, visa tai lauks Jus specifikacijos. Darbo valandos, tuo tarpu vis dar vyksta, į bakalauro valgykloje. Eikite į šį URL čia norėdami pamatyti suplanuoti vakarą ir rytoj, jei norėtumėte įsitraukti. Klausimai Tuo tarpu, kad jums turi galimybę užduoti klausimus asinchroniškai, 24/7, reikia suprasti, esate neapsiribojant sekcijas ir biure valandas, bet veikiau tas įrankis čia CS50 Aptarti tuo URL bus žinoma, yra internete skelbimų lenta programinė įranga, per kurią galite užduoti klausimus klasiokais ir taip pat darbuotojai. Taigi reikia nepamiršti, kad išteklių, taip pat. Tuo tarpu tradicija prasideda šį penktadienį. Kaip Jūs galbūt jau prabėgomis iš Praėjusį trečiadienį savo kibinimas vaizdo, mes turime tradiciją dauguma kas kadencijos penktadienis imtis apie 50 studentus ir darbuotojai vietiniame restorane vadinamas Priešgaisrinės apsaugos ir ledo, kuriame mes paprastai prisijungė kai kurie absolventai ar draugai iš pramonės bendrai siekti kad didelė klasė jaučiasi mažesnis. Taigi, tai visiškai atsitiktinis pietūs. Mums krūva, darbuotojai ypač atliks muzikines kėdes ir kalbėtis su moksleiviais apie 50, gyvenimas ne iš 50, gyvenimas ateityje, realaus pasaulio, Aš kalbu apie darbo galimybes su draugais pramonėje. Taigi, jei norite prisijungti prie mūsų šį penktadienį, galvą į šį URL čia. Erdvė yra ribota, bet mes tai padaryti recurringly visoje laikotarpiu. Eikite ten cs50.harvard.edu/rsvp. Ir jei jūs negaunate šį kartą, ne nerimauti. Mes padarysime jį dar kartą Per ateinančias savaites, taip pat. Taigi tai yra vaizdas mes dažytos, praeitą savaitę, ir jūs tikriausiai buvo žymėjimą iki šiol. Bet pabandykime prijungti tai dabar tai, ką mes ketiname daryti šiandien ir pirmyn. Ar aš turiu vieną savanorį? Visos teisės ar kelis. Kaip apie čia pabaigoje, į mėlyną marškinius. Nagi aukštyn, koks tavo vardas? Alana: Alana. DAVID Malan: Alana. Taigi Alana, tik už moment-- nice to meet you-- ketina atlikti svarbų vaidmenį Šios funkcijos čia. Violetinė blokas mes vadinamas iki šiol funkcija. Taigi, ką aš ruošiuosi eiti į priekį čia ir pasiūlyti Alana yra mažai vardas žymeles, padaryti aišku, koks vaidmuo jums žaisti. Taigi jūs būsite tarkim blokas. Jei norite eiti į priekį ir įdėti, kad ant. Ir mes ketiname laikyti tai super paprasta. Jei po ranka tikslas yra tiesiog dabar įgyvendinti su Alana, šis vadinamasis pasakyti blokas, Štai kaip tai vyksta į darbą. Aš have-- tegul ją vadina argumentas arba parametras, tai tikrai tik tuščias popieriaus lapas. Ir tai baltos rūšies bus primenantis baltos dėžutės, į kurią galite rašyti žodžius. Tuo tarpu aš ruošiuosi eiti čia. Aš ruošiuosi eiti į priekį ir rašyti H-e-L-L-O kablelį pasaulį. Ir dabar aš, kaip sako programuotojas, ne iš tikrųjų žino, kaip pasakyti kažką. Galiu sugalvoti žodžių, bet aš nebūtinai žinoti, kaip išreikšti save žodžiu arba ekrane. Ir taip, ką aš ruošiuosi padaryti, tai priimti šį kūrinį funkcionalumo, kurio input-- arba argumentas, kaip mes jį vadiname, Aš parašiau apie šį paper-- gabalas ir aš ruošiuosi perduoti jį. Ir iš tiesų tai vaidmuo, kurį funkcijos programavimo kalba gali žaisti. Kažkas panašaus teigia: blokas gali būti perkamos ką nors, kas tikrai žino ką ji ar jis kalbėti apie. Taigi, jei jums peržengti čia tik akimirką, Aš einu perduoti šią įvestį Alana, ir paprašyti, kad jums pasakyti šiuos įvesties duomenis. Alana: Sveikas, pasauli. DAVID Malan: Štai jis. Taigi, kad yra funkcija. Dabar mes galime priimti jį šiek tiek daugiau, mes galime žengti žingsnį į priekį čia. Nes tai buvo akivaizdus underwhelming. Taigi leiskite dabar konvertuoti tai kažkas šiek tiek daugiau sudėtinga. Taigi, tai, žinoma, yra mūsų C versija. Taigi dabar, jei norite imtis, kad vienkartinis, kad vardas tegus išjungtas, ir tegul turi jums įdėti naują pavadinimą. Bet iš esmės jūs žaisti tą patį vaidmenį, Jis tiesiog taip atsitinka, kad būti vadinamas printf dabar. Istorija, žinoma, ketina be-- tikriausiai kaip underwhelming-- yra bus taip. Jūs esate dabar funkcija printf. Esu skambinantysis, ar programuotojas, kuris nori stovėti ant pečių žmonių kaip jūs praeityje, kas jau suprato, kaip kad iš tikrųjų ką nors parašyti į apačią. Ir todėl šį kartą, , o ne sakyti, kad tegul iš tikrųjų naudoti mūsų ekraną čia. Taigi, jei norite dėti per čia, aš ruošiuosi praeiti dar kartą tai kaip įėjimo į mano printf draugu. Jei tu gali eiti į priekį ir spausdinti, kad ekrane, tiesiog brėžinys su savo pirštą ant juodo ekrano. Puikus. Gerai, kad daug nežinia dėl kaip kad buvo ketinate žaisti. Taigi dabar galime imtis dalykų vienu galutinis klasės, jei galėtume, kaip išdėstyta toliau. Taigi tai yra C programa kaip sakėme paskutinį kartą. Ir tai tik daro tai, ką padarė, kad spausdina į ekraną, Sveikas, pasauli. Nors ten aiškiai daug iš blaško dalykų ten. Bet tegul imtis dalykų vienu žingsniu ir pristatyti šią versiją, kuri primena buvo trečia versija, kad mes galų gale su paskutinį kartą. Ir dabar ten aiškiai dvi naudojimas printf. Yra 2 skambučiai į Alana Šiuo atveju už printf, bet ten taip pat kvietimas kitos funkcijos. Kas tai funkcija aiškiai? Getstring. Ar mes galime gauti daugiau vienas savanoris? Gerai, nagi iki. Koks tavo vardas? JAVIER: Javier. DAVID Malan Javier, nagi iki. Taigi Javier vaidmuo yra šis popierėlis. Kuris Aš ruošiuosi skambinti bendrai ai. Dabar tai yra kintamasis, tai tipo eilutę, kurį rodo tos antros linijos viduryje ten. Ir aš norėčiau, kad jūs eikite gauti man eilutę. Konkrečiai galva žemyn orkestrui skyrių ir gauti man ką nors vardą, ir grįžti su kintamojo , kurių sudėtyje yra šią vertę. Tai gali būti bet kas norite. Here we go. Visos teisės Javier yra užrašyti pavadinimą. Viskas gerai. Mes visi galime tikriausiai atspėti, kaip tai vyksta žaisti. Mes galbūt belaboring iš dalies tai, ką funkcija veikia, bet vis dėlto labai ačiū. Taigi Javier grįžo šį eilutę čia kuris gali ne visai matyti, Jonathanas yra eilutė kad mes Dotarłeś. Taigi, dabar, ką aš iš tikrųjų vyksta teikti Alana nors yra kažkas šiek tiek skiriasi. Kadangi šioje versijoje programa, pirmasis ten nurodyti savo vardą. Taigi labai pirmojo argumento Man reikia teikti Alana su bus tiesiog nurodyti savo vardą. Gerai, taip paprasta, kaip kad Norėčiau atiduoti tau tai. Ir kaip aš rašau iki Kitas argumentas, jei jums noriu eiti į priekį ir rašyti tai ant lentos, eikime į priekį ir padaryti galutinį pavyzdį čia, kad išvalyti tai, kas galiausiai gavo, kad taip atsitiktų. Taigi nurodyti savo vardą, rašyti link viršaus jei jūs neprieštaraujate, tik todėl, kad mes turime kambarį vienai antroje eilutėje. Kadangi paskutinis dalykas aš ruošiuosi dabar teikia jums yra ne vienas, bet du popieriaus lapų. Viskas gerai. H-E L-L-O kablelį, o tada tuščia eilutė. Taigi, ką aš apie rankas Alana dabar yra kažkas šiek tiek skiriasi. Ne tik ji gauti tai, kur užpildyti tuščią atstovauja kad percent-- kas buvo vietos rezervavimo mes jau naudojate? Taip, taip, proc s. Tuo tarpu aš ruošiuosi perduoti jos antruoju argumentu, kuris Būtent Javier Gauta iš Jonatanas. Taigi leiskite man duoti jums šias dvi. Jei norite, eikite į priekį ir spausdinti, kad poveikis. Kas galiausiai vyksta dabar yra, Alana vėl groja su printf vaidmenį. Javieras grojo iš GetString vaidmuo. Taigi, kad bus jūsų suvenyrų. Ir galiausiai, kas vyksta, nepaisant tai hello-- yep eiti į priekį ir kablelis. Alana: Ar aš galiu gauti tai dar ar ne? DAVID Malan: Taip, jūs gavo juos abu vienu metu. Taigi idėja yra ta, kad jums dabar gali apversti puslapį tvarkyti sekundę iš šių dviejų įėjimų. Taigi tai yra tik kartojami atkreipti, kad nors Alana įvykdytas tai žalia linija čia, o tada Javieras tai padarė vienas mus ir grįžti į mane kažką mes paskambinsime s, bet tai buvo tikrai tiesiog, kad popieriaus jo paties kūrinys. Ir dabar Alana padarė šį trečiąjį liniją. Ir nors visa tai atrodo taip neįtikėtinai paslaptingas galbūt Iš pirmo žvilgsnio, tai tikrai yra taip paprasta, kaip kad. Perdavimai įėjimus aplink, gauti rezultatus, arba yra fiziškai perduodamas atgal kažką, arba matyti šalutinį poveikį panašaus. Kažkas vizualiai parašyta ekrane. Taigi eikime į priekį ir ačiū Alana Javier, kuris buvo žemyn čia, nes prisijungti prie mūsų čia. [Plojimai] Taigi dabar galime imtis už suteiktas tik kaip paprasta visa tai gali būti. Ir tegul toliau, kad iš tikrųjų kažką daryti faktinį kodą. Taigi Ekrane čia yra kadrai iš vadinamojo CS50 prietaisu. Ir jei jūs turėjo ne, kaip 02:00 Trečiadienio popietę, paaiškinti tam tikru draugų kas CS50 prietaisas, Kaip apibūdintumėte jį sakinyje? Bet vienas sakinys? Taip? STUDENTŲ: Tai kaip programos kad daro kiekvieno kompiuterį paleisti tą pačią sistemą. DAVID Malan: Geras! Tai programa, kuri leidžia visi s kompiuteryje paleisti tą pačią sistemą. Tai tarsi jūsų pačių kopija operacinės sistema, kuri nutinka būti vadinama Ubuntu Linux. Ir ji veikia efektyviai viduje į savo Mac arba PC langas kad šis būdas teisę iš vartų 1 savaitę, visi čia į klasę turi prieigą prie tų pačių priemonių, ta pati konfigūracija, ir nėra mokymosi kreivė specifinis į Mac arba ypač kompiuteriu. Dabar mes atvėrė, viduje CS50 prietaisas pirmadienį, ši programa čia. Taip atsitinka būti vadinamas gedit. Bet tai tikrai tik grafinis redaktorius. Tai kažkas panašaus į Notepad ar tekstas Redaguoti Windows "arba" Mac OS ", atitinkamai. Ir aš pasiūliau, kad ten buvo tikrai trys svarbūs dalys šį langą. Viršutinė pusė yra, kur jums būtų rašyti savo kodą. Ir tai, kai mes praleido daug mūsų Trys pavyzdžiai pirmadienio paskaitą. Apačioje ir mes vadinami, ką, tai juodas langas, taip? STUDENTŲ: Kompiliatorius? DAVID Malan: Kompiliatorius mes atvertas būdu tą langą. Bet apskritai. Taip, tai buvo tik terminalo langą. Tai metų senumo terminas, kuris tiesiog apibūdina iš esmės mirksintis greitai, kad metų atgal naudojami būti vienas iš tų didelių CRT stiliaus monitorius. Tačiau šiandien tai tarsi virtualios programinės įrangos. Ir terminalo langai Leiskite mums įrašykite komandas. Jis tarsi supaprastintos versijos vartotojo sąsajos arba UI. Tai ne grafinis vartotojo sąsaja arba GUI tai tekstas sąsaja arba komandinės eilutės sąsaja. Ir iš tiesų tai, kur galiausiai Galėjau parašyti tam tikrą kodą. Kai aš buvo parašyta tam tikrą kodą, nors, Primenu, kad aš naudojamas šią komandą. Ir kaip jį vardas rūšies rodo, tai leidžia man padaryti programa, vadinama Hello. Bet ką ji buvo tikrai darai? Na prekinis ženklas buvo atsižvelgiant mano įėjimas, mano kodo, ir konvertuoti jį į tai, ką galiausiai? Objekto kodas. Ir objekto kodas yra tik išgalvotas būdas pasakyti nuliai ir tie. Ir tada, kai aš norėjau paleisti, kad objekto kodą, kai aš norėjau perduoti kaip įvesties tų nuliai ir tie, į kompiuterio smegenys, vadinamasis CPU arba centrinis apdorojimo blokas, Aš turėjau paleisti programą. Bet tai buvo ne visai pirmadienį paprasta kaip tik dvigubai spustelėjus tam tikrą piktogramą. Ką vietoj aš turiu daryti norint paleisti programą? Kas tai buvo antroji komanda? Aš klausos šiek tiek nerijos? Taip, taip? STUDENTŲ: Dot velniop ir šios programos pavadinimą. DAVID Malan: Būtent. Dot velniop ir šios programos pavadinimą. Dabar ką gi tai reiškia? Na taškas yra tik neaiškus būdas sakydamas esamą katalogą. Nepriklausomai aplankas esate yra vadinama, yra atstovaujama kaip taškas. Velniop tai, ką mačiau Mac OS ir Windows už metus, tai tarp kataloge separatorius ar aplanką ir iš kokio nors asmenvardžio poilsio. Windows tai atsitinka eiti atgal, "Linux" ir "Mac" OS tai atsitinka eiti į priekį. Bet tai tik separatorius, todėl tiesiog neįdomu sintaksinė detalė. Sultingas dalis, žinoma, yra Programos pavadinimas, Sveiki. Ir tai, ką padaryti sukurtas mums. Jis išvedamas failą už mus. Bet kaip mes iki to taško? Leiskite dabar paklausti klausimas, kas iš tikrųjų buvo čia vyksta, bent jau Dėl kai kurių šio sintaksė? Taigi į sakinį ar taip, kaip mes pasiaiškinti pirmoji eilutė tai paryškinamas žalia? Kas tai buvo pirmoji eilutė daro, atsižvelgiant į mano programą? Taip? STUDENTŲ: [nesigirdi]. DAVID Malan: Pasakyk tai dar kartą? STUDENTŲ: Įskaitant ir parsisiunčiant Pastaruosius funkcijos [nesigirdi]. DAVID Malan: Geras. Įskaitant, aš nesakysiu atsisiųsti, bet tarkim įskaitant funkcijas, kad žmonės buvo parašyta anksčiau. Ir šios funkcijos yra įgyvendinamos kažkur mano kompiuteryje. Kažkas parašė failą prieš keletą metų, ir kad byla yra kažkur viduje CS50 prietaisas, arba mano kietajame diske apskritai. Ir taip ši eilutė iš esmės sakydamas, eiti surasti tą failą, standartinis I / O tašką h ir nukopijuokite ir įklijuokite savo turinį čia ant mano failo viršuje taip, kad aš neturiu padaryti, kad rankiniu būdu save. Ir tarp juiciest gabalus viduje atveju kad byla mes deklaruotos kokią funkciją? Ką funkcija nebuvo sakome buvo paskelbta ar minėta standartinė I / O dot h greičiausiai? Printf, tiesa? Mes nerašė printf ant Pirmadienis, jis tiesiog neegzistavo. Panašiai kaip Alana tiesiog atėjo scenoje, ir ji tiesiog egzistavo ir žinojo, kaip padaryti kažkas ant ekrano, taip nėra printf egzistuoja jau daugelį metų. Ir todėl tai, kaip mes jį pasiekti. Dabar, jei mes einame čia, Pagrindinis buvo analogiškas mes sakė dėlionės gabalas vadinamas kai žalia vėliava paspaudėte į nulio pasaulyje. Tai tiesiog tarsi numatytasis pavadinimas, kad žmonės nusprendė sudarytų nutylėjimą įvažiavimo į programą. Programavimo kodo riekė kad paleidžiama vykdyti pirmas. Tuo tarpu šie garbanotieji petnešų yra lyg kreivų formos iš tų geltonų įbrėžimams vienetų aikštelė. Jie rūšies piliulę visa krūva instrukcijų kartu. Taigi tai tiesiog rūšies jungiasi kartu kai susijęs funkcionalumas. printf, žinoma, yra funkcija, kuri atspausdina ekrano, nes mes tiesiog padarė. Ką apie šiuos skliausteliuose? Kaip jūs define-- net jei jūs niekada užprogramuotas anksčiau, bet tik remiantis dabar vis daugiau tikiuosi intuicija, ką yra skliausteliuose daro mus čia? Arba ką jie aplinkinių? Taip? STUDENTŲ: Jie sako, kas jūs ketinate spausdinti printf. DAVID Malan: Taip, jie sako, ką jūs ketinate spausdinti printf. Arba apskritai, jie yra aplinkinių į funkciją įėjimai. Taigi jūs galite beveik manote tų skliausteliuose kaip kaip metalo klipas apie šį iškarpinę. Tai, ką ūkyje, tai, kas bus naudojamas teikti argumentus į funkciją, kuri šiuo atveju yra vadinamas printf. Taigi apskritai beveik bet kartą mes vadiname funkciją, mes ketiname pamatyti pora skliausteliuose. Gal kažkas į jį, kaip dabar, o gal ir nieko į jį. Bet tai kur jūs įdėti įėjimai arba vadinamąsias argumentai prie funkcijos. Štai vienas toks argumentas. Aš pabrėžė viską tarp kabučių, nes paaiškėja, Šioje kalba vadinama C, jei norite atstovauti string-- tai žodis ar frazė ar net paragraph-- turite aplink jį su kabutes. Ne Viengubomis kabutėmis, kabutes. Ir tai būtent tai, ką aš padariau čia. Tuo tarpu ten funky link pabaigos ten simbolis. Backslash n. Ką mes galime pasakyti, kad atstovauja? Taip? STUDENTŲ: nauja eilutė. DAVID Malan: Naujoji linija. Teisė, jūs ne paprastai paspauskite Enter, kai Jūs norite, kad programa išspjauti naują eilutę. Greičiau jūs pasakyti, aiškiai su šia tiesa paslaptingą gabalas sintaksė, Backslash n, tai norite naują eilutę ten. Galiausiai kabliataškis. Mes nelabai pasikalbėti per daug apie tai, ir iki šiol tai bus kai pražūtis savo egzistavimą pirmą problemą nustatyti, kai jūs tiesiog nesugebėjo realizuoti pamiršote kažką kaip kvailas kaip kabliataškiu. Ir apskritai išleidimą ten bus tą problemą sutvarkyti. Bet kas tai daro mums pasakytumėte? STUDENTŲ: [nesigirdi]. DAVID Malan: Atsiprašome? STUDENTŲ: [nesigirdi]. DAVID Malan: Apdailos pareiškimą. Tai tarsi ties laikotarpį iš anglų sakinio pabaiga, kadangi šiuo kalba C tai baigiasi pareiškimą. Programavimo pamokos kodas, kad jūs tiesiog noriu pasakyti, Atlikau su tai. Dabar pastebėsite, kad yra tik vienas čia. Taigi jūs nenorite gauti išleidžia kabliataškiais įprotis po kiekvieno uždaroje skliaustuose. Pavyzdžiui ten nė šalia negalioja, ir mes grįžti į ateitį ką negaliojančiu priemonė. Tačiau šiuo atveju jūsų printf yra funkcija arba teiginys naudojamas, ir taip mes norime turėti, kad Terminus pačioje pabaigoje jį. Ir aš tyčia skinti C And atvirai kalbų, tokių kaip C, C ++ daug, "Java", "JavaScript", ir bet koks skaičius kitos kalbos turime tai daug rūšiuoti sintaksinės informacijos. Tai tikrai, jei esate naujas programavimo tiesų gali suveikti tave. Ir jūs, pažymėkite mano žodžiai, kai kurie iš jūsų bus turi šią patirtį biurų valandų ar vėlai naktį dirba kai p-rinkinys, kuriame Jūsų velniškai programa tiesiog neturi sudaryti, jis neveikia, jūs turite ne idėja, kas yra negerai, atrodo visiškai logiškai teisinga jums. Ir tai todėl, kad Jūs pamiršote kažkas panašaus pataikyti ne kokios nors eilutės pabaigos kabliataškis. Bet tai yra rūšių dalykų jūs esate vyksta iš karto išmokti matyti. Ir iš tiesų šie dalykai kad CA ir TF s turi buvo tarsi apmokyti pamatyti daug greičiau, negu jūs. Ir taip, tai tik pasakyti, kaip jūs Pasinerkite į problemą nustatyti 1 ypač Negalima gauti nusivylė šio stuff. Kai jūs tarsi Aklimatizuojama į pasaulį, jums pradėsite matyti dalykus, kurie jums gali ne pamatyti iš pirmo žvilgsnio tai pirmą savaitę. Taigi kodas yra kažkas panašaus. Mes norime, kad perduoti ją į Vadinamasis sudarytojas. Ir tai kompiliatorius kaip sakėme teikia produkciją žinomas kaip objektiniu kodu, Vadinamasis nuliai ir tie. Bet iš ten, ką tai mums duoda? Na tai suteikia mums šių modelių. Ir vėl kompiuteris, Jūsų Intel Inside, supranta šiuos modelius iš nulių ir. Ir kartais modelis reiškia faktinį dešimtainį skaičių kaip matėme praeitą savaitę, kartais ji atstovauja laišką kaip matėme praeitą savaitę, kartais ji atstovauja nurodymą, kaip spausdinti kažką ekrane. Taigi printf už instance-- o, leiskite man atgal. Mes jau vartojate savaime suprantamu dalyku kad tie nuliai ir tie yra pagaminta šio komandų padaryti. Tačiau įsitikinkite, nėra sudarytojas. Padaryti nėra dalykas viduryje Štai gaminti nuliai ir tie. Greičiau, kad yra tik labai patogiai pavadinta programa, kurios tikslas gyvenime yra iš esmės išsiaiškinti, kaip sukompiliuoti savo programą. Ir mes jį naudoti šiuos Pirmieji savaites, nes jame tik taupo mums daug problemų. Bet kas gali padaryti, yra tikrai daro, kai jūs surinkti Sveiki, yra kaip sakėme paskutinį kartą, tai ieško jūsų kietajame diske arba dabartiniame aplanke, už failas, vadinamas, ką, matyt? Hello.c, tiesa? Tai tiesiog rūšies konvencija. Tai savavališkas, tačiau tai, kaip viskas yra. Padaryti, jei jūs tiesiog nurodykite vardą iš programos, kuri dar neegzistuoja, jis ketina ieškoti kodo faile, pagal nutylėjimą reiškia hello.c. Ir jei ji nustato, kad, puikus. Ji ketina konvertuoti tą šaltinį kodas į objektiniu kodu jums. Bet kiekvieną kartą aš Enter paleidus padaryti Sveiki, padaryti pamenate pamatyti paskutinį kartą, gana ilgai ir sunkiai suvokiamas seka Kitų baltomis raidėmis ir simbolių ekrane? Gerai, kad buvo faktinis komandą, Tikrasis sudarytojas, kad buvo paleista. Taigi faktinis sudarytojas mes naudojame dauguma semestras yra kažkas vadinamas Zaszczękać. Kai kurie iš jūsų galbūt naudojamas "Visual Studio prieš arba Persijos įlankos bendradarbiavimo tarybos, arba bet kuriai pagalbinei sudarytojų skaičius. Mes naudojame Zaszczękać. Ir Zaszczękać leidžia mums iš tikrųjų konvertuoti kad kodo objekto kodo. Ką tai iš tiesų reiškia praktiškai? Na leiskite man eiti į vieną iš mano aplankus paskutinį kartą. Viduje CS50 prietaisu. Ir leiskite man eiti į priekį ir sukurti tai pats failas, apima standartinį I / O dot val. Žiniasklaida pagrindinis negaliojančiu. Ir mes grįžti į ateitį, kaip ką int priemones ir kokių void priemones. Bet dabar padarykime hello world Backslash n tiesiog patinka mes padarėme ant lentos. Leiskite išsaugoti šį failą pavadinimu hello.c. Ir dabar, jei noriu surinkti tai Aš could-- leiskite padidinti in-- paleisti padaryti labas įvesti. Ir tai vėl buvo kad labai paslaptingas linija. Bet dabar bent vienas žodis tikriausiai šokinėja į tave. Zaszczękać yra tai, kad linija matėme anksčiau. Dabar yra kitų dalykų, daug atvirai kad mes pakylės mūsų rankas šiandien. Bet ten kelis pogrupius, keletas simbolių čia kad yra svarbūs. Bet aš ruošiuosi eiti į priekį ir tai padaryti. Aš ruošiuosi pirmą kartą paleidus labas, tik įrodo, kad tai veikia, kaip tai buvo pirmadienį. Bet dabar aš ruošiuosi ištrinti programą. Ir panašiai kaip mes turėjome tai trumpi vardai paskutinį kartą komanda pašalinti kažkas yra RM, ištrinti, įrašyti. Jūs ketinate gauti kai gana paslaptingas klausimai. Sunku patikėti, kad jūs galite padaryti net šis klausimas buvo sunku suprasti. Bet pašalinti nuolatinį failo Hello tik priemonė norite ištrinti labas. Ir aš galiu eiti į priekį ir įveskite Y Taip, "Enter", o dabar jis dingo. Ką tai reiškia dabar jei aš išvalyti mano ekrano, yra tai, kad vietoj make hello-- jus žinoti, ką aš gaunu gerai tai. Aš ruošiuosi paleisti kompiliatorius pats. Man nereikia tam tikrą programą į išsiaiškinti, ką mano failas yra vadinamas. Parašiau hello.c, aš žinoti, kaip ji vadinama, Aš aiškiai gali rašyti, kad. Taigi, aš ruošiuosi eiti į priekį o Zaszczękać hello.c Enter. Atrodo, kad dirbti. Ir nėra papildomas išėjimas, nes Zaszczękać yra kompiliatorius. Tai, kas konvertuojant kodą į nulių ir. Taigi, jei aš dabar daryti taškas velniop labas Enter hm. Naujas pranešimas apie klaidą ir šiandien. Taigi bash yra tik pavadinimas mirksi eilutę, kad mes naudojame. Štai bendra supaprastinimas, bet dabar tai viskas, kas yra, tai mirksi greitai. Ir štai kodėl jis šaukiantį į mus. Nėra tokio failo ar katalogo yra šiek tiek daugiau paprasta. Bet tikrai aš padariau, kad objekto kodą. Bet laimikis, kad jei aš įveskite komandą išvardyti šio turinį katalogas, kuris yra tai, ką? LS sąrašą. Yra daiktų krūva čia, kai kurie iš jų atėjo su prietaisu, kaip mano darbalaukio aplanke, parsisiųsti aplankas, Dropbox aplanką, ir visi kad kita. Bet kas įdomu yra hello.c, kuris Aš sukūriau prieš akimirka su gedit. Ir kas keisčiausius ieško vardą čia galbūt, kad mes ne pamatyti paskutinį kartą ne visi? a.out, tiesa? Taigi atgal į dieną, tai buvo tiesiog nusprendė, kad kai kompiliuoti programą pirmą kartą, ir jums nereikia nurodyti vardą iš failo, tegul jį į skambutį. Ir a.out tiesiog reiškia, tai buvo iš kompiliatorius produkcija. Taigi, tai siaubinga pavadinimas programą. Bet šia logika, dot slash už einamojo katalogo, velniop a.out, turėtų reikšti, ten iš tikrųjų Mano hello world programa. Dabar šiek tiek sušilti naudotis, taip pat. Jei aš noriu pervadinti tai byla, paaiškėja, kad jus perkelti failą iš vieno vardo į kitą. Taigi mv a.out, ir tada aš gali jį vadiname labas Enter. Taigi tai yra "Linux" komandą. JV turėjo prieš tai metų, Langai turi terminalo langą kažkoks, kuris atrodo kaip šis, "Linux" ir "Mac" kompiuteriai turi šį mirksi eilutę. Nors dauguma iš mūsų tikriausiai labai retai, jei kada nors, naudokite jį. Bet ką aš padariau, tai paleisti programa, kurios pavadinimas yra mv, ir aš jai pateikė du argumentai, taip sakant. Du įėjimai. a.out yra originalus pavadinimas. Sveiki yra naujas pavadinimas. Taigi, jei aš dabar daryti dot velniop Sveiki, "Enter", kad egzistuoja. Ir jei aš dot velniop a.out, ko jūs tikitės turėčiau pamatyti? Bash, ne tokio failo ar katalogo. Nes aš tiesiog pervadino. Taigi, tai užima daug priprasti prie tiek. Bet problema nustatyti 1 specifikacija bus tikrai laikyti tavo ranką per kai šios minutae. Kadangi tai yra visiškai intelektinės išsiblaškymas nuo įdomiau idėjos po ranka, kuri iš tikrųjų yra sukurti kažkas iš kodo. Bet darykime vieną pakeitimą dabar į šią programą. Prisiminkite, kad paskutinį kartą aš padariau kažką kaip tai, printf nurodyti savo vardą. Ir iš tiesų, mes tiesiog padarė tai dideliame ekrane per ten. Ir tada aš styginių s gauna GetString atvirų paren, uždarykite paren. Ir paren tiesiog sutrumpinimas notacijos už skliaustuose. Taigi ar GetString imtis jokių argumentų? Įėjimai Ne, bet jis reikia skliausteliuose, nes tai, ką pažymėtų iš funkcijos pašaukimas. Taigi, aš ruošiuosi eiti į priekį ir pabandyti paleisti dėl šios programos sudarytojas dabar. Zaszczękać hello.c, nes I nepakeitė savo vardą dabar. Ir aš gavau daug klaidų krūva. Leiskite nutolinti čia. Jei aš slinkti vėl, kaip ir sakiau paskutinis kartas, į pirmą, tos pačios klaidos kad aš paskutinį kartą. Dėl iš hello.c 6 eilutę turėjau nedeklaruota identifikatorius eilutė, aš tai standartas? Aš ne. Nes tai, ką klaida padariau šiame programa, jei pamenate iš paskutinį kartą? Taip, mes turime vadinamasis mokymo ratai kad mes tiesiog naudoti kelias savaites. Bet man reikia nurodyti, kad taip pat, kažkur viduje prietaiso, yra failas, mes parašėme vos prieš kelerius metus. Viduje kurios funkcijos kaip matyt GetString. Taigi dabar, jei aš einu atgal čia padidinti, ir iš naujo paleiskite Zaszczękać hello.c. Velnias, dar klaida. Bet mes nematėme šį vieną anksčiau. Tai vienas šiek tiek daugiau ezoterinis išsiaiškinti. Bet tai yra sąmoningai ekrane, nes norėjome pasakyti šią istoriją. Kai jūs surinkti hello.c, kaip Vaizdas iš anksčiau siūlė, jūs tik konvertuoti, kad kodą į nulių ir. Dabar CS50 personalas prieš kelerius metus rašė CS50.h ir atitinkamas failas, CS50.c. Ir mes, prieš keletą metų, surinkti tuos failus į failą, kad vyksta būti vadinamas CS50.o. Arba tai gali būti pavadinta keletas skirtingų dalykų. Bet tai paprastas būdas mąstymo apie tai. Taigi, mes parengė CS50-ųjų Biblioteka į nulių ir. Bet niekur aš nenurodyta kad aš noriu sujungti savo nuliais ir tie, mano hello world programa su nulių ir kad CS50 darbuotojai sukūrė keletą metų prieš į vieną pilną programą. Viskas, ką aš jau nurodyta raštu Zaszczękać hello.c yra surinkti hello.c. Aš nepasakiau Zaszczękać į nuoroda į nulių ir kad CS50 darbuotojai sukūrė Jums jau seniai. Taigi, tai lengva nustatyti, brūkšnys l už nuorodą, CS50. Ir mes vėl pamatyti tai prieš ilgas vėl ir vėl. Tačiau pastebėti, dabar nebuvo jokių nusiskundimų. Taigi dabar, jei aš paleisti dot velniop Sveiki, dabar jis dirba. Nors tai šiek tiek klaidina nes aš tiesiog atkūrė kas tai per failas? a.out. Taigi leiskite man atgal tik už akimirką. Programa, kurią mes ką tik parengė turi tris eilutes kodo. Kai išbėgau hello world, hello akimirka Prieš Nemačiau nurodyti savo vardą. Ir tai todėl, kad išbėgau metų programos versija. Bet jei aš iš tikrųjų paleisti dot velniop a.out Įveskite, nurodykite savo vardą, Rob, labas, pasaulis. Hm. Tai tipo vabalo. Tikriausiai reiškė pasakyti Rob, tiesa? Taigi, kas fix čia kodą. STUDENTŲ: [nesigirdi]. DAVID Malan: Būtent. Taigi aš tiesiog reikia padaryti, kad galutinį įgnybti kad aš einančios rezervuota, tarsi tuščias užpildyti, kaip mes padarėme prieš akimirką. Bet proc s dabar kad užpildyti tuščią. Taigi galiausiai galime atskleisti vieną paskutinį detalė, kad nėra jokios magijos. Aš ruošiuosi eiti į priekį ir atsikratyti Hellow. Aš ruošiuosi eiti į priekį ir atsikratyti a.out. Taigi, dabar aš neturiu programas, tik mano kodo. Ir aš ruošiuosi paleisti šiek tiek ilgesnis komandą, Zaszczękać brūkšnys o Labas hello.c brūkšnys LCS50. Dabar tai pradeda tarsi eiti vienoje ausyje ir iš kitų galbūt. Bet tik erzinti išskyrus tai, kas tai daro. Zaszczękać yra kompiliatorius, brūkšnys LCS50 sąmoningai pačioje pabaigoje ką sakinyje? Nuorodos į CS50 bibliotekoje. Griebtuvai nulių ir tie, kurie darbuotojai pagaminti ir crams juos į savo paties programą. Taigi paskutinis klausimas po ranka yra kas yra brūkšnys o labas tikriausiai daro, net jei jūs niekada matė šį sintaksė prieš? Outputting programą, kad yra nepavadino numatytąją a.out. Greičiau jis pavadintas labas. Taigi dabar nėra a.out. Nėra tokio failo ar katalogo, nes aš aiškiai pasakė skambinti šią programą Sveiki, taip, kad Aš dabar galite įvesti kaip kad vardą ir jis turi elgtis. Dabar atvirai, berniukas yra tai, kad neįdomu turėti prisiminti visa tai tiek individualiųjų požymių, tiesa? Taigi eikime į priekį ir atsikratyti Sveiki dar kartą. Ir tegul dabar grįžti į pasaulį, kurios pakanka pasakyti, kad labas. Bet tai magija, kad kad tai daro už jus, tai nuobodybė, kad tai daro už jus. Ir kaip mūsų programas ir problemų gauti daugiau sudėtingas, kad tikrai bus jūsų draugas. Kadangi ne per ilgas nuo šiol mes ketiname turi programas, kurios yra raštu ne vieną failą, bet kelis failus, ir padaryti bus automatizuoti procesą Sudarant visa tai mums kartu. Taigi dabar spausdinti. printf yra viduje šį failą, standartinis I / O taškas H, kad mes matėme anksčiau, bet ten daugiau printf, kad ne. Yra Backslash n, bet ten taip pat Kitų sekas pabėgti krūva. Ir pabėgti seka yra tik išgalvotas būdas pasakyti ką nors kad prasideda kairinis brūkšnys, ne nerijos velniop, Backslash, ir daro tam tikrą ypatingą dalyką. Ir mes ne galvoti apie dauguma jų, bet kodėl ten Kairinis pasvirasis brūkšnys dvigubos kabutės, Kaip manote? Kodėl yra tai keistai seka simbolių, Backslash dvigubos kabutės, kodėl tai gali būti naudinga? STUDENTŲ: [nesigirdi]. DAVID Malan: Būtent, tiesa? Prisiminkite mūsų hello world programa kad mes matėme nemažai kartus, kiekvieną kartą, kai mes matėme, kad Hello World Programa mes jau kabutes viduje iš kurių yra labas kablelis pasaulis Backslash n. Bet galvoti, Ką daryti, jei iš tiesų norėjau atsispausdinti kabutės? Jūsų pirmasis instinktas gali būti, aš ne žinoti, kodėl aš galbūt norėsite do-- čia mes galime būti tiek pasyvus agresyvus, hello friend. Mes galbūt norėsite padaryti kažką panašaus, kad. Bet kodėl tai dabar problemų? Ignoruodami garbanotas kabučių žemę, kad Pagrindinį padarė mums automatiškai. Kodėl tai yra problemiškas? Būtent. Kadangi mes turime kaip 4 kabutėse. Na pirmas tikriausiai eina su antruoju vieno, o gal ketvirta eina su trečiosios vieną, ar aš turiu galvoje, aš nesu net tikras, nei yra kompiuteris bus. Kompiuteriai Vėlgi, kompiliatorius vėl, yra gana kvailas. Jie padaryti tik tai, ką jūs pasakykite jiems daryti. Ir jei esate ne vienareikšmis jie tikriausiai ketinate mesti klaidą. Jei nesate vienareikšmis, kaip į padaryti žemės riešutų sviestas ir želė sumuštiniai keistų dalykų gali atvykti. Tai pati idėja. Dabar pakanka pasakyti, ten kai kurių kitų evakuacijos sekas, bet mes ateina tiems, prieš ilgas. Iš esmės jie pabėgti sekas atstovauti kažką kad jums gali nepavykti pernelyg lengvai prie klaviatūros, be paini kompiuterį. Dabar tuo tarpu mes turime pamainymai į printf. Procentas D, kuris taip pat gali būti parašytas beveik visais atvejais kaip proc i, yra kokiu duomenų tipą vietos rezervavimo ženklas? Kokios vertės? Dešimtainis skaičius. Taigi mes iš tikrųjų pradėsite naudojant procentų i, nes tai šiek tiek paprastesnis, kaip sveikasis skaičius. Procentas i. Sveikasis skaičius, kad būna, kad dešimtainis. Procentas ai jau sakiau už eilutę vietos rezervavimo ženklas. Kuris yra tik žodis, frazė, dalis, esė, nesvarbu. Tai iš eilės simbolius gana išsamiai. Ir mes pamatysime netrukus kai kurie iš šių kitų. Bet proc c yra vieno pobūdžio. Procentas f yra slankiojo kablelio skaičių, kaip realusis skaičius, kuris turi Dešimtainis taškas tai, kuri Žinoma ne sveikasis skaičius. Ir ten visa krūva kitų, taip pat. Tuo tarpu C, o įvairiomis kalbomis daug, mes turime skirtingus duomenų tipus. Įvairių tipų stiklo dubenys, jei bus. Dubuo aš paskutinį kartą buvo už ping-pong kamuolius, bet mes taip pat galime laikyti skiriasi vertybės kaip simbolių ir styginiams ir sveikieji konteineryje, kaip kintamąjį, ir C yra šie. Char yra duomenų tipas, kintamojo tipas, , kurioje galite saugoti simbolį. Plūdės yra kintamojo tipo kurioje galite laikyti tikrą numerį. Žiniasklaida yra žinoma už tarpt. Ir gana juokingai pavadintas ilgai ilgai kur Jūs galite laikyti iš esmės tikrai ilgai, skaičių ir net daugiau skaitmenų tada Tipiškas int galybė parduotuvė. Bet mes grįžti į, kad iki ilgai. Be CS50 dot h, tuo tarpu kitas failo antraštės kad mes matėme pora kartus naudoti, yra kiti du duomenų tipai, nėra C paprastai. Vienas iš jų yra eilutė, ir mes pamatyti keletą savaičių ką stygos tikrai yra po kapotu. Ir viena yra bool. Ir bool yra kintamasis, kuris gali vykti tik dėl tam tikrų vertybių. Ir tik remiantis praėjusios savaitės paaiškinimas nulio, ir visai neseniai, C, ką jūs atspėti yra dvi galimos reikšmės kai rezervuare yra tipo bool? Taip ir ne. Vienas ir nulis. Tiesa ar melas. Ir iš tiesų, tai paskutinis, kuris yra linkęs būti įprastinis į programavimo kalba, sakydamas kažką kaip true arba false. Tuo tarpu CS50 biblioteka ateina su funkcionalumu krūva kad darbuotojai parašė jums, be to tiesiog gauti eilutę. Mes parašėme iš anksto funkcijų, galite gauti sveikąjį skaičių nuo naudotojo, gauti vieną simbolį, gauti plūdę, kad yra tik skaičius su kablelio. Gauk ilgai ilgai, tikrai didelę vertę iš vartotojo. Taigi mes tik mačiau tai veiksmai GetString forma. Tačiau per šių funkcijų netrukus galės rašyti programos, kad gauti indėlį iš vartotojo. Tuo tarpu mano, kad tai programa, ir mano, kaip mes galime dabar pradėti pridėti jai su naujomis konstrukcijomis. Greitai viesulas kelionė ir tada mes pažvelgti į kai kuriuos raštu kai programos Rankiniu save. Nuo šiol, jei norime įgyvendinti sąlygą, jis nesiruošia atrodyti gražus gražus galvosūkį gabalas. Tai ketiname ieškoti šiek tiek daugiau paslaptingų. Bet tai yra kanoninis struktūra yra iš C būklės Žodis, jei du skliaustelius, kurio viduje bus kai natūra Būlio išraiška. Dabar velniop velniop viduryje, tai yra tuo metu tarsi Pseudocode kodas vietos rezervavimo ženklas. Bet daugiau tinkamai, bet kodo eilutę C, kuris prasideda su pasviruoju brūkšniu velniop yra komentaras. Tai lyg lipni dėmesį, kad jūs galite įdėti į esė, išspausdintas ant popieriaus. Tai pastaba sau. Jis turi ne funkcinis poveikis programą. Tai tarsi priminimas, kad tai jūsų pačių dokumentacija, kad tai, kas vyksta. Taigi, tai, kad šiuo metu yra tarsi rezervuota dėl kokios nors viduje tų klamrami galiausiai ketina ką nors daryti. Tuo tarpu, jūs turite dvi šakutes į kelių, jei kitur statyti, kaip šis. Galite, jei elseif, kitur. Dabar tai verta paminėti, ypač jei jūs buvote "Google" paiešką visame internete išteklių iš smalsumas, arba jei pasiimti vienas iš aikštyno Rekomenduojamos knygos apie C, Jūs pamatysite, kad žmonės turi daug iš skirtingų lengvatas, kaip išreikšti save kodą. Kai kurie žmonės mėgsta įdėti garbanotieji petnešų, kaip aš padariau čia. Kai kurie žmonės mėgsta įdėti garbanotas Petnešos pavyzdžiui čia. Kai kurie žmonės mėgsta įdėti elses čia ir tada tai čia. Yra bet būdų skaičius rašyti kodą, ir nė vienas iš jų yra teisūs per se. Nors ten nedaug kad yra gana neteisinga. Tačiau yra no-- jei tai galiausiai labai religingas diskusijos. Iš tiesų, vienas iš labiausiai erzina dalykų apie kompiuterių mokslo kaip užsispyręs kompiuterių mokslininkai gali būti. Ir jums bus ilgainiui sužinosite, kad net jums sukurti asmeninius pageidavimus kaip jūsų kodas turi atrodyti. Ne tik elgiasi, o ne tiesiog sukurti produkciją, bet kaip ji turėtų atrodyti estetiškai. Taigi, ką mes padaryti, tai padėti jums kartu būdas link, dabar bent jau standartas CS50 stilius, kad bent išvaduoja vienodas ir lengva skaityti. Bet daugiau apie tuos, skirtumai prieš ilgas. Būlio išraiška C, jei jums norėjau pasakyti, jei ši sąlyga yra teisinga o tai kita sąlyga yra Tiesa, jums nereikia rašyti žodį ir kaip jums būtų anglų kalba. Jūs, o ne naudoti ampersand ampersendo, dėl priežasčių, mes grįžti į. Jei norite pasakyti, ar jūs naudojate du vertikalios juostos, kurios dėl JAV klaviatūros paprastai yra aukščiau Įveskite raktas šalia backslash. Ir tai tik reiškia, kad jei ši sąlyga ar tai kita sąlyga yra teisinga tai padaryti. Tuo tarpu ten tai Crazy dalykas, kuris turėsite progą naudoti kartą per kurį laiką. Bet tai tik alternatyva būdas išreikšti save. Tai, dabar tegul numatyta, kad tai tik kitas madingas būdas išreikšti jei elseif, elseif, elseif, elseif. Tai tiesiog suformatuotas pagal atvejų, kur jums tiesiog išvardyti vertybes, jūs galbūt norėsite patikrinti. Tuo tarpu kilpų. Mes matėme daug palyginimą Scratch su kilpa. Ir aš ruošiuosi mojuoti savo jėgas ką kiekvienas iš šių dalykų reiškia. Tačiau pastebite, kad kilpa bus labai dažnai prasideda už raktinį žodį. Arba jis pradės su raktažodžiu laiką. Arba jis pradės su raktažodžiu daryti, ir baigti su raktažodžiu laiką. Bet ką mes pasiruošę žiūrėt yra dalykų, daugiau, kaip šis. Čia yra bendra C, kaip jums gali paskelbti kintamąjį ir suteikia jai reikšmę. Į C, nepakanka, kaip ir nulio, jūs tiesiog sako duok man kintamasis vadinamas kažką. Jūs turite pasakyti C, ir pasakykite Jūsų sudarytojas, konkrečiau, kokio tipo vertės padaryti jums įdėti į stiklinį dubenį. Ar tai sveikas? Jei taip, jūs turite tiesiog pasakyti int ir tada kintamojo vardas, tada kabliataškis. Jei vietoj norėjo eilutę ir paragino tai ai, kaip aš savo kodą čia šiandien, galėtumėte pasakyti String s kabliataškį. Jeigu norite suteikti jam vertę tada galite naudoti lygybės ženklą, kitaip žinomas kaip priskyrimo operatorius. Ir atkreipkite dėmesį, kaip kiekvienas Šių kodo eilučių turi ne jo pabaigoje kabliataškį. Bet atvirai tai tik atrodo šiek tiek negraži. Kodėl aš negaliu pasakyti kompiuterio, suteikti man kintamasis, inicijuoti ir jį iki nulio. Tai reiškia, kad man tuščią stiklinį dubenį. Nors jūs galite. Ir taip vienas iš sprendimo prašo jums turite padaryti stilistiškai laikui bėgant yra, ar rašote savo kodą panašaus į tai, ar jūs rūšies išvalyti jį ir nustebinti žmonės pagal raštu dvi eilutes kaip tik vieną. Ir tai būtų laikoma paprastai daugiau elegantiškas būdas rašyti kodą stilistiškai. Funkcijos mes, žinoma, matė. Jie ketina imtis šiuo formatu. Iš funkcijos pavadinimą, kai skliausteliuose, tada gal kai Daiktai viduje. Arba jūs galite pamatyti, naudojimo daug funkcijų pusė kito, kaip kažką panašaus į tai. Dabar kaip liestinės, ar tai pokštas dabar prasmės? [Juokas] Tai nereiškia, kad tai juokinga, bet tai nėra gal padaryti šiek tiek daugiau prasmės. Taigi dabar eikime į CS50 prietaisas akimirką. Ir leiskite man atverti vieną teaser čia. Ir iš tiesų viena iš priežasčių, įvesti IKEA katalogą ir mirksi paveikslėlį iPhone prieš tiek buvo iš tikrųjų susieti kartu faktas, kad vos prieš keletą metų, 2007 metais, ši kodo dalis buvo išleistas, kuris buvo vienas iš pirmųjų įgyvendinimo iš programinės įrangos gabalas kad daro tai, kas vadinama gudrybės. Tiems nepažįstamą, gudrybės kažkas panašaus į telefoną arba iPhone iš esmės reiškia suprasti , kaip daryti dalykus, su ja, kad bendrovė kuris padarė ji neketina. Kaip norite įdiegti tam tikras programinė įranga, kuri nėra App Store, gudrybės jūsų telefoną, kuris jūs dalykų, pavyzdžiui, kad ir daugiau. Bet tai, kas buvo smagu 2007-- ir ten buvo dešimtys skirtingų versijų iš šių dalykų, nes tada, visų rūšių languages-- yra tai, kad ši programa čia vadinama iUnlock, iš tikrųjų buvo parašyta C Ir todėl aš išrautas kodą už tai, tiesiog rūšies parodyti jums kai sutartys su konstrukcijomis panašumai mes jau aptarti iki šiol. Dabar yra būdas daugiau sudėtingumas čia kaip mes matėme jau klasėje. Leiskite slinkite aukštyn truputį čia. Bet pastebėsite these-- pat pastebime mažai Quake, bet pranešimas šias eilutes čia įskaitant standartinį I / O dot val. Ir all-- linija 24, please-- pastebėti standartinį I / O dot h ir visa krūva kitų bylos, kad, matyt, kitų žmonių parašiau. Ir jei mes slinkti žemyn per tai, tiek savavališkai, pastebės nežinau kaip rašyti visa tai dar pats nebūtinai, bet ten jei. Taigi, matyt tai turi filialą. Ir jei aš slinkti žemyn šiek tiek toliau yra kita, jei. Jei aš slinkti aukštyn, manau, aplink linijos 100 Pamačiau. Taigi, aš nesu visiškai tikras kaip tai veikia dar, bet tai už linijos, kad ketina leiskite man pakartoti tam tikrą skaičių kartų. Ir jei aš pereikite visus kelias į dugną Matau, kad yra veikti žemyn čia vadinama Pagrindinis, ir kai kurie papildomi kreditai Jūsų skaitymo malonumą. Taigi tai yra tik say-- ir mes įdėti tai tarp aikštyno šaltinio internete kodas today--, kad net kai kurie iš jų prietaisai, kad mes priimame kaip savaime, ne dienos pabaigoje jūs vis dar naudojant šiuos pagrindinius konstruktus, kad mes buvo įvesti jau iki šiol. Tai pakankamai šito. Gerai, kad dabar tegul realiai ką nors statyti. Vykime už kažką panašaus hello.c ir atverti tai, tegul rašyti šią programą čia. Aš ruošiuosi eiti į priekį ir Parašykite programą, pavadintą adder.c, kurio gyvenimo tikslas bus kaip mano pirmasis super paprastas skaičiuotuvas kad tik prideda skaičių pora. Ne todėl, kad tai sunku problema, bet todėl, kad jo leidžia man dabar kaklaraištis kartu keletą dalykų. Taigi, aš ruošiuosi eiti į priekį ir taip pat standartinis I / O taškas h CS50 dot val. Aš ruošiuosi pasakyti int main negaliojančiu. Ir vėl ateityje mes grįžti į ją į šiame kontekste ir negaliojančiu priemonėmis. Ir dabar aš ruošiuosi pasakyti kaip printf, duok man sveikasis skaičius. Ir dabar mano antroje eilutėje, kaip man išreikšti save, pavyzdžiui kad aš noriu paskelbti kintamąjį kad ketina laikyti int? Pažodžiui ką aš tipo jei noriu sukurti kintamąjį, kad saugo int Ar galėtumėte pasakyti? int lygus getint. Žinoma, kad veikia. Ir tik dėl nuoseklumo su kodu jums matyti internete, leiskite man pakeisti tai x, tik todėl, kad x yra bendra kintamojo vardas naudoti, bent jau algebra. Dabar leiskite man eiti į priekį ir padaryti printf dar kartą. Duok man dar vieną sveikąjį skaičių. Ir dabar aš ruošiuosi natūra iš išmokti iš šio modelio, Aš ruošiuosi pasakyti int y gauna GetInt. Ir mes ne naudoti GetInt anksčiau, tačiau tik kaip GetString eina ir gauna eilutę, kaip Javier padarė iš auditorijos, panašiai daro GetInt pradės mirksėti nurodymus. Ir efektyviai laukia vartotojui suteikti jai sveikasis skaičius, įvesdami jį į ir pataikyti Enter. Dabar pagaliau aš ruošiuosi daryti tai, printf sumą of-- ir leiskite man gauti išgalvotas now-- procentai i ir proc i metu i Šauktukas backslash n. Ir ką jūs manote aš ruošiuosi įdėti į dabar kaip papildomų sąnaudų į printf? Aš nenoriu pasakyti, pažodžiui pacituoti citatos x. Noriu klasėje x ir tada, ir dabar galime gauti išgalvotas ir tegul tiesiog manyti, mes galime daryti tai, ką norime. Ką jūs norite pasakyti, šalia? x plius y. Ir iš tiesų, kad veiks. Tai minimaliai programavimo kalbas suprantu pagrindines aritmetines, ir todėl tai turėtų iš tikrųjų darbas. Taigi leiskite man eiti į priekį ir padarysiu padidinimas mano juodos ir baltos spalvos langą žemyn čia Enter. Cryptic linija, bet ne klaida pranešimą, kad gerai. Dot velniop padidinimą, duok man sveikasis skaičius, 1. Duok man dar vieną sveikąjį skaičių, 2. 1 ir 2 suma yra 3. Gerai, kad gana trivialus programa, bet kas tai padarė? Tai leido man naudoti funkciją skambinti čia skambinti į kitą funkciją čia du kvietimai į GetInt A Trečiasis kvietimas printf, ir tada naudojant šiuos vietos rezervavimo. Taigi tai šiek tiek daugiau sudėtingesnės nei paskutinį kartą. Bet kas, jei aš noriu gauti šiek tiek mėgėjas? Leiskite man eiti į priekį ir dabar tai padaryti. Leiskite man eiti į priekį ir kurti naujas failas vadinamas sąlygos nulio. Ir aš ruošiuosi išsaugoti kai kurie klasių labui laikas ir tiesiog įklijuokite kad kodas, kaip atspirties taškas. Ir dabar aš tik ketina įdėti kažkas naujo čia per vidurį. Taigi printf Norėčiau sveikasis prašom. Ir visa tai kodas yra kurso svetainę, Jums nereikia įvesti it all out klasėje, jei jūs nenorite. int, ir dabar aš ruošiuosi naudoti, vietoj x ir y, Aš ruošiuosi naudoti n, kuris yra tikriausiai labiausiai paplitusi vardas už dalyvavimą kompiuterinės programos sveikojo skaičiaus. Ir dabar aš noriu padaryti tiek sprendimas čia. Aš ruošiuosi pamatyti, jei n yra didesnė už 0, tada Aš ruošiuosi pasakyti printf-- šūksniais, printf-- jūs pasirinko teigiamą skaičių, Šauktukas Backslash n. Uždarykite kad. Kita aš ruošiuosi spausdinti printf jūs pasirinko neigiamą skaičių. Dabar, prieš jums klykauti ne man, tegul paleisti šią programą. Leiskite eiti čia. Ir kaip man sudaryti programą vadinamas sąlygos brūkšnys 0? Padaryti sąlygos brūkšnys 0. Koks kvailas pavadinimas, but-- Dammit. Gerai, gerai, mokymas momentas. Kodėl, kad pertrauka? Ką aš netyčia paskambinti šį failą? Galite rūšies išvadą iš skirtuko čia. Taigi tai nėra blogai, kad aš tai padarė, nes tai įvyks galbūt kai kurie iš jūsų. Taigi, aš netyčia pavadino mano kodo sąlyga 0. Bet mano kodo pagal susitarimą turėtų turėti failą pavadinimu sąlyga 0 brūkšnys c, ar kokia taškas c. Taigi leiskite man išspręsti šią problemą. Tiesiog kaip "Microsoft Word" galiu eiti Įrašyti kaip ir tai sąlyga 0 dot c. Dabar tiesiog turi būti tvarkinga aš ketina eiti į priekį ir išimkite sąlyga 0, kuris buvo mano sena versija. O dabar tegul jie padaryti sąlyga 0, Enter. Gerai, atrodo gerai. Būklė 0, Enter. Norėčiau sveikasis prašome, 50, jūs pasirinko teigiamą skaičių. Dabar, kaip apie neigiamą 50? Jūs įlaipinami neigiamą skaičių. Kaip apie dabar 0. Gražūs tikrai 0 ne neigiamas. Taigi, tai yra natūra loginio klaidą. Kaip man išspręsti šią problemą? Else if n yra mažesnis už 0, tai padaryti, nors mes galime turėti trieigis filialą čia printf jūs įlaipinami 0. Taigi dabar, jei aš iš naujo paleisti šią programą, kuri po sąrašo sudarymo vėl padaryti, ir dabar iš naujo paleisti sąlyga 0, ką aš pamatyti čia yra 0 man suteikia tai, kad produkcija. Taigi, kur mes einame su tuo? Na tai labai lengva pamiršti iš už medžių miške. Ir tai leidžia daryti išvadą, su šio 2 ir 1/2 minučių vaizdo kad galiausiai yra tiek išrašą iš "Google" reklamos, bet, kad tikrai yra testamentas kas net naudojant šias pagrindines pastatą blokai mes galiausiai galime padaryti, kai turime programavimo tiek išminties pagal mūsų diržai. [Muzikos grojimo] SAROO Brierley (VoiceOver): Tai buvo prieš 26 metų, ir man buvo tik apie pasukti 5. Mes turime į traukinių stotį ir mes lipa mūsų traukinį kartu. Mano brolis tiesiog sakė, kad aš likti čia, ir aš sugrįšiu. Ir aš maniau, gerai žinote, Aš taip pat tiesiog eiti miegoti ir jis jums tiesiog pabusti mane. Ir kai aš prabudau šalia diena, visa vežimas buvo tuščias dėl išbėgęs traukinio, vaiduoklis traukinys atsižvelgiant mane aš nežinau kur. Buvau priimtas į Angliją, Australiją, į Australijos šeimoje. Ir mama puošia mano kambarys su Indijos žemėlapyje, , kuriuos ji nurodė šalia mano lovos. Aš prabudau kiekvieną rytą Matydamas, kad žemėlapį, taigi ji tarsi nuolat prisiminimus gyvas. Žmonės sakydavo, jūs bando rasti adatą šieno kupetoje, Saroo jūs niekada rasti. Būčiau uždėtinį iš vietų, kad aš naudojamas eiti, kad mano šeimos mirksi susiduria. Nebuvo mano motinos įvaizdį, sėdi su savo kojas kirto, tiesiog žiūrėti savo šauksmą. Gyvenimas yra tiesiog taip sunku. Tai buvo mano lobis. Ir aš ieškojau Google žemėlapis ir supratau ten "Google Earth", taip pat. Į pasaulį, kur galima priartinkite, Aš pradėjau turėti visas šias mintis ir kokios galimybės kad tai galėtų padaryti už mane. Pasakiau sau, jūs žinote, jūs turiu visas tas fotografijos prisiminimus ir orientyrai, kur jūs iš, ir jūs žinote, ką miestas atrodo. Tai galėtų būti programa, kuri galite naudoti rasti savo kelią atgal. Maniau, gerai aš įdėti dot apie Calcutta geležinkelio stoties, ir spindulys linija, žinote, kad jūsų turėtų būti ieško aplink šioje srityje. Aš tarsi atėjau visoje šie traukinio bėgiai. Ir aš pradėjau po jo, o Aš atėjau, kad iš traukinių stoties, kuri atspindi tą patį vaizdą kad buvo mano prisiminimai. Viskas atitiko. Aš maniau, yep, aš žinoti, kur aš einu. Aš tik ketina leisti žemėlapis, kad turiu, mano galva, veda mane ir mane atgal į mano gimtajame mieste. Aš atėjau į slenksčio namas, kad aš gimiau. Ir vaikščiojo apie 15 metrų aplink kampe, ten buvo trys ponios stovi lauke, greta vienas kito. Ir viduriniosios vienas žengė į priekį, ir Aš tiesiog pagalvojau, tai tavo motina. Ji atėjo į priekį, ji apkabino mane, ir mes buvome ten apie penkias minutes. Ji sugriebė mano ranką ir ji paėmė mane į namus ir gavo telefonu, kur ji paskambino mano sesuo ir mano brolis pasakyti, kad, žinote, tavo brolis turi tik visi staiga pasirodė kaip vaiduoklis. Ir tada šeima buvo suvienyta dar kartą. Viskas viskas gerai, Aš padėjau mamai out, ji neturi būti Stebėjimo toli. Ji gali gyventi poilsio savo gyvenimo ramybėje. Tai buvo adatos šieno kupetoje, bet adata ten buvo. Viskas ten. Viskas, ką mes turime pasaulyje yra vieno mygtuko čiaupo. Bet jūs turite turėti valią ir kad nori jį nustatyti. [Muzikos grojimo] DAVID Malan: Nuostabiai saldus atsiliepimas tiesiog tai, ką galite dabar daryti su technologijomis. Mes jus pamatyti kitą savaitę.