[MUSIC KUCHEZA] DAVID Malan: All haki hii ni CS50 na hii ni mwisho wa wiki moja. Hivyo Ningependa kuanzisha zamani yangu advisee, Andel Duff, ambao hufanya si tu iPhone 5 anasimama, kama vile hii lectern, yeye pia hufanya magari. ANSEL DUFF: Vipi ni kwenda, kila mtu? Mimi nataka tu kukuambia kidogo kidogo kuhusu Mfumo SAE, ambayo mimi ni nahodha. Ni timu MIT. Mimi nataka tu kukuambia guys kidogo kuhusu hilo na hopefully kuzalisha baadhi ya riba. Hivyo basi mimi tu kukimbia kwa njia ya wanandoa mambo kuhusu timu yetu. Hivyo sisi ni kabisa mwanafunzi kukimbia, ambamo wote ya wanachama kubuni, kuiga, mtihani, na mtengenezaji sehemu ya mfumo ya gari. Tuna mashine yetu duka mwenyewe na gereji, na N52-- au sorry, N51-- ambayo ni ujenzi huo kama MIT Sayansi ya Makumbusho. Na sisi ni watu kwamba kuendesha gari. Kuna mashindano ya kitaifa katika mwanzo wa majira ya joto, na kisha kuna mikwaju ya ndogo mashindano kwa mwaka mzima. Na kisha sisi kufanya mafunzo dereva siku ya kupata wanachama wapya vizuri. Kujenga yetu siku hizi ni juu ya Jumamosi 11:00-20:00. Chakula cha mchana na chakula cha jioni ni kuchukua huduma wa, kutoka Bertucci na Beantown mtiririko huo. Tuna mkutano wa kila wiki na semina, ambayo ni kwa ajili ya kozi ya mikopo. Ambayo ni mpya kama wa muhula huu, na pia itakuwa kwa ajili ya muhula wa pili, hivyo unaweza msalaba-reg kwa ajili hiyo. Na kisha tuna kubuni, duka, na siku CAD wakati wa wiki, ambapo wanachama mapenzi kujitegemea Sehemu CAD, ili hisa nakadhalika. Hivyo kwa ajili ya umeme uhandisi katika timu tuna tractive yetu, mfumo wa high voltage, ambayo inaendesha katika nominella 300 Volts, ambayo ni pamoja na motors, controllers motor, na Packs betri. Kisha sisi kuwa chini mfumo voltage, ambayo inaendesha katika Volts 12, ambayo ni pamoja na udhibiti, CAN nodes, ubongo sanduku, na dashibodi. Mbali CS unaendelea, sisi kufanya na matengenezo ya tovuti kwamba sisi haja ya kufanyika kwa ajili ya matukio, taarifa uanachama mabadiliko, picha mpya, na PR nyenzo. Na kisha tuna kificho kwamba udhibiti gari kwa ajili ya kudhibiti traction yetu, uzinduzi kudhibiti, dash kudhibiti, moment vectoring, na mifumo ya kusimama regenerative, ambayo kukimbia kawaida katika MATLAB, Simulink, na LabVIEW. Kukuambia kidogo juu ya gari. Hivyo ni juu ya 500 paundi. Ni sheria mdogo kwa 85 kilowatts. Ina 2 EMRAX 207 motors katika nyuma, moja kwa kila gurudumu nyuma. Ina betri Packs desturi-kujengwa kutoka Prismatic seli A123 pouch, ya jumla ya 300 volts na 5.6 kilowatt masaa. Na ni gari moja kwa moja na 2.64-1 gari uwiano. Hapa ni baadhi ya picha sisi alichukua yake katika ushindani. Hapa ni nyuma, pua, koni, na hapa ni motors, wale disks kubwa nyeusi chini ya et mens manus. Hapa ni slide kwamba mimi vunjwa nje ya mashindano mpango wetu. Na hii ni kulinganisha tu gari yetu kwa michache ya magari inauzwa, kama KTM XBOW, Ariel Atom, na Caterha M 7-280. Kama wewe ni ukoo na bei, nguvu kuvuta uzito, dola kwa horsepower, dola kwa moment, na gari yetu makofi yao yote nje ya maji. Kama una maswali yoyote, nukta chini barua pepe hii. Risasi barua pepe katika fsae@mit.edu. Sisi ni furaha kwa majadiliano juu ya kitu chochote Ningependa. Harvard ya wanafunzi ni aina ya wachache kwenye timu. Kama una maswali yoyote kuhusu kwamba tafadhali kufanya risasi us barua pepe, furaha ya kuzungumza, na mimi nina kwenda kwa kichwa nyuma juu ya Daudi. Shukrani. Mimi kufahamu ni, guys. [Makofi] DAVID Malan: Ansel alitumia majira ya joto kufanya kazi na sisi hapa juu ya chuo katika CS50 huu majira ya joto. Na kwa kuongeza katika kazi juu ya mambo kama balbu binary, yeye kweli kweli kufunguliwa wetu eyes-- na mgodi katika particular-- kwa nini kweli makutano ya si ya vifaa na programu wanaweza kuwa. Kwa kweli mambo mengi yeye tu walitembelea wewe kwa njia ya ni hatimaye umba ya kwanza katika programu, na kisha hatimaye fabricated katika ulimwengu wa kweli katika vifaa. Hivyo kama wewe ni nia ya kuchunguza kwamba makutano, labda kuchukua kundi hilo. Sasa wakati huo huo, wale wa wewe ambao ni mashabiki wa teknolojia, na bidhaa Apple katika hasa kujua kwamba kuna na wanandoa wa matangazo jana. Lakini sisi mawazo tunatarajia kuonyesha wewe moja waliotoka siku chache kabla ya kuwa unaweza kuwa na kuonekana. Jørgen EGHAMMER: Unajua, mara moja katika muda kitu huja pamoja kwamba mabadiliko njia ya sisi kuishi. kifaa hivyo rahisi na Intuitive kutumia anahisi karibu ukoo. Kuanzisha 2015 IKEA catalog. Siyo kitabu digital au e-kitabu, ni kitabu-kitabu. Jambo la kwanza kutambua ni hakuna cables, hata cable nguvu. 2015 IKEA catalog huja kushtakiwa kikamilifu, na maisha ya betri ni wa milele. interface ni 7.5 na 8 inches, lakini inaweza kupanua hadi 15 na 8 inches. urambazaji ni msingi tactile kugusa teknolojia ambayo unaweza kweli kujisikia. Content huja kabla ya imewekwa kupitia 328 high-definition kurasa ya msukumo nyumbani samani mawazo. Kwa kuanza kuvinjari, tu kugusa na Drag. Kulia na kushoto kusonga mbele, kushoto na kulia kwa hoja nyuma. Taarifa kitu kingine? Hiyo ni haki. Hakuna bakia. Kila kioo wazi ukurasa mizigo mara moja, bila kujali jinsi ya kufunga wewe kitabu. Kama unataka kupata maelezo ya haraka, tu kushikilia kuwa katika kiganja cha mkono wako, na kutumia tu thumb yako, kasi kuvinjari maudhui. Kama wewe kupata kitu unataka kuokoa kwa ajili ya baadaye, unaweza tu alama yake. Na hata kama wewe karibu maombi, unaweza kupata urahisi alama tena. Amazing. [Kicheko] [Makofi] Hivyo kwamba inatuleta mwisho wa wiki moja. matangazo kadhaa sasa. Hivyo sectioning ni sasa katika maendeleo. Kwenda URL hii hapa wakati mwingine kati ya sasa na Ijumaa saa sita mchana kwa kweli bayana kama wewe ni miongoni mwa wale chini ya starehe, zaidi starehe, au mahali fulani katika kati ya. Hii ni kawaida mmoja wa wale mambo ambayo wewe tu aina ya kujua. Na kwa kweli wale ambao ni chini ya vizuri pengine kujua kama kiasi, wale ambao ni zaidi vizuri kujua kama mengi, na tena kama wewe ni uhakika kabisa ambayo ndoo wale wewe kuanguka katika wewe ni pengine mahali fulani katika kati ya. Lakini wengine uhakika unaweza wabadilishane baada ya wiki kadhaa kama haja kuwa. Wakati huo huo, kwa wiki ijayo sisi si kuanza sehemu per se, lakini sehemu super, ambayo ni wazi kwa wanafunzi wote. Hii kuja Jumapili katika eneo kwa yatatangazwa kwenye tovuti bila shaka tutakuwa na moja kwa walio chini ya starehe, kama vile moja kwa wale vizuri zaidi. Na wale mahali fulani katika kati ya unaweza kuchagua ambayo ya wale wawili, au wote wawili kama Ningependa, kukaa-katika juu ya. Na lengo la wale itakuwa hatimaye juu ya C, ambayo tutaweza kuendelea wetu mazungumzo ya leo. Tatizo kuweka 0 wakati huo huo ni hopefully katika mikono yako. Rasmi kutokana kesho, Alhamisi, saa sita mchana. Kama wewe fedha katika moja yako siku 5 marehemu, ambayo itakuwa kuleta mpaka Ijumaa saa sita mchana. Tatizo kuweka 1 wakati huo huo itakuwa posted kwenye tovuti bila shaka ya. Na hii itakuwa yetu ya kwanza kuliingia kama darasa katika C. Na kwamba tatizo kuweka spec kutembea wewe njia ya kura ya mechanics ya nini sisi kuanza kuzungumza juu ya Jumatatu, na tutaweza kuendelea kuzungumza juu ya leo. C, Linux, CS50 appliance, yote ya kwamba wakisubiri wewe katika vipimo. Ofisi ya masaa wakati huo huo ni katika maendeleo, katika shahada ya kwanza dining ukumbi. Kichwa na URL hii hapa kuona ratiba kwa usiku wa leo na kesho, kama ungependa kushiriki. Maswali wakati huo huo, ili kuwa na fursa ya kuuliza maswali asynchronously, 24/7, kutambua wewe ni si mdogo kwa sehemu na ofisi masaa, lakini badala chombo hiki hapa, CS50 Jadili saa kwamba URL itakuwa bila shaka ya online bulletin bodi programu, kupitia ambayo unaweza kuuliza maswali ya classmates na pia wafanyakazi. Hivyo kuweka katika akili rasilimali kuwa vilevile. Wakati huo huo utamaduni kuanza Ijumaa hii. Kama unaweza kuwa na glimpsed kutoka Jumatano iliyopita teaser video, tuna desturi zaidi kila Ijumaa wakati wa muda ya kuchukua baadhi wanafunzi 50 na wafanyakazi wa mgahawa wa ndani aitwaye Moto na Ice, ambayo sisi ni kawaida alijiunga na baadhi Mbegu au marafiki kutoka sekta ya kwa ujumla kutamani kufanya tabaka la kubwa kujisikia vidogo vidogo. Hivyo ni kawaida kabisa chakula cha mchana. rundo la sisi, wafanyakazi hasa, kucheza viti muziki na kuzungumza na wanafunzi kuhusu 50, maisha ya nje ya 50, maisha katika siku zijazo, ulimwengu wa kweli, Mimi kuzungumza juu ya fursa za ajira na marafiki katika sekta hiyo. Hivyo kama ungependa kujiunga na sisi Ijumaa, kichwa na URL hii hapa. Nafasi ni mdogo, lakini tutaweza kufanya hivyo recurringly katika muda mrefu. Kichwa huko kwa cs50.harvard.edu/rsvp. Na kama wewe si kupata katika wakati huu, si kuwa na wasiwasi. Sisi kufanya hivyo tena katika wiki ijayo kama vizuri. Hivyo hii ni picha sisi walijenga wiki iliyopita, na umefanya pengine imekuwa dabbling katika hivi sasa. Lakini hebu kujaribu kuungana hii sasa kwa nini tunakwenda kufanya leo na kuendelea. Je, nina kujitolea moja? Haki zote, au kadhaa. Vipi kuhusu hapa juu ya mwisho, katika shati bluu. Kuja juu, kitu ambacho jina lako? Alana: Alana. DAVID Malan: Alana. Hivyo Alana, kwa ajili tu ya moment-- vyema kukutana na you-- ni kwenda kucheza nafasi wa kazi hii hapa. block zambarau tumekuwa kuitwa hivi sasa kazi. Basi nini mimi nina kwenda mbele hapa na kutoa Alana ni jina kidogo tag, kufanya wazi nini jukumu wewe ni kucheza. Hivyo mtakuwa kuzuia kusema. Kama unataka kwenda mbele na kuweka kwamba juu ya. Na tunakwenda kuweka hii super rahisi. Kama lengo katika mkono ni tu sasa ni kutekeleza kwa Alana, hii kinachojulikana kusema kuzuia, hapa ni jinsi gani ni kwenda kufanya kazi. Mimi have-- hebu simu yake hoja au parameter, ni kweli tu tupu karatasi. Na ni nyeupe na aina ya kuwa kukumbusha ya sanduku nyeupe katika ambayo wewe Unaweza kuandika maneno. Wakati huo huo mimi nina kwenda hapa. Mimi nina kwenda mbele na kuandika H-E-L-L-O comma dunia. Na sasa mimi, kama kusema programu, kufanya si kweli kujua jinsi ya kusema kitu. Siwezi kuja na maneno, lakini mimi si lazima kujua jinsi ya kujieleza mdomo au juu ya screen. Na hivyo kile mimi nina kwenda kufanya ni kuchukua kipande ya utendaji, ambao input-- au hoja, kama tutaweza simu yake, Nimeandika juu ya kipande hii ya paper-- na mimi nina kwenda outsource yake. Na hakika hiyo ni jukumu la kazi katika lugha ya programu wanaweza kucheza. Kitu kama kusema block inaweza kuwa outsourced kwa mtu ambaye kweli anajua nini yeye au yeye ni kuzungumza juu. Hivyo kama wewe utakuwa hatua ya juu hapa kwa muda tu, Mimi naenda kupita hii pembejeo kwa Alana, na kuuliza kwamba wewe kusema pembejeo hii. Alana: Hello, ulimwengu. DAVID Malan: Hiyo ni. Kwa hiyo, basi ni kazi. Sasa tunaweza kuchukua ni kidogo zaidi, tunaweza kuchukua hatua mbele hapa. Kwa sababu hiyo ilikuwa wazi aghali. Basi hebu sasa kubadilisha hii kwa kitu kidogo kisasa zaidi. Hivyo hii bila shaka ni yetu C version. Hivyo sasa kama unataka kuchukua kwamba off moja, kwamba tag jina off, na hebu kuwa wewe kuweka juu ya jina jipya. Lakini kimsingi wewe ni kucheza nafasi huo, tu hivyo hutokea kwa kuitwa printf sasa. hadithi ni, bila shaka, kwenda be-- pengine tu kama underwhelming-- ni kwenda kuwa yafuatayo. Wewe ni sasa kazi printf. Mimi ni mpigaji, au programu, ambaye anataka kusimama juu ya mabega ya watu katika siku za nyuma kama wewe, ambao wameweza tayari figured nje ya jinsi kwa kweli kuandika kitu chini. Na hivyo wakati huu, badala ya kusema ni hebu kweli matumizi screen yetu zaidi ya hapa. Hivyo kama wewe Ningependa hatua zaidi ya hapa, mimi nina kwenda kupita tena hii kama pembejeo kwa printf rafiki yangu. Kama unaweza kwenda mbele na magazeti kwamba juu ya screen, tu kwa kuchora na yako kidole juu ya screen nyeusi. Excellent. Haki zote, hivyo kura ya mashaka kwa jinsi kwamba alikuwa anaenda kucheza nje. Hivyo sasa hebu kuchukua mambo up moja notch mwisho, kama tunaweza, kama ifuatavyo. Hivyo hii ni C mpango kama sisi alisema mara ya mwisho. Na hii haina tu nini alifanya, ni Prints nje kwa screen, hello, dunia. Hata ingawa kuna mengi wazi ya mambo bughudha up huko. Lakini hebu kuchukua mambo up notch na kuanzisha toleo hili, ambayo kukumbuka ilikuwa toleo la tatu sisi kuishia na wakati wa mwisho. Na sasa kuna wazi matumizi mbili ya printf. Kuna 2 wito kwa Alana katika kesi hii kwa printf, lakini pia kuna simu kwa kazi nyingine. Nini kwamba kazi wazi? GetString. Je, tunaweza kupata moja zaidi kujitolea? OK, kuja juu up. Nini jina lako? JAVIER: Javier. DAVID Malan: Javier, kuja juu up. Hivyo jukumu Javier ni juu ya kipande cha karatasi. Ambayo mimi nina kwenda kuwaita generically s. Sasa hii ni variable, ni ya kamba ya aina, kama alisema na kwamba mstari wa pili katikati huko. Na ningependa wewe kwenda kupata nami kamba. Hasa kichwa chini ya orchestra sehemu na kupata nami jina la mtu, na kurudi na variable zenye thamani hiyo. Ni inaweza kuwa mtu yeyote unataka. Hapa sisi kwenda. Haki wote, Javier ni kuandika jina. Wote haki. Tunaweza wote pengine nadhani jinsi hii ni kwenda kucheza nje. Sisi ni labda belaboring uhakika wa nini kazi ni kufanya, lakini hata hivyo asante sana. Hivyo Javier amerejea kamba hii hapa, ambayo, hawezi kabisa kuona, Jonathan ni kamba kwamba tumekuwa wamezipata. Hivyo sasa nini mimi nina kweli kwenda kutoa kwa Alana ingawa ni kitu tofauti kidogo. Kwa sababu katika toleo la mpango, kwanza kuna hali ya jina lako. Hivyo hoja ya kwanza sana Mimi haja ya kutoa Alana na ni kwenda kuwa literally hali jina lako. Haki wote, rahisi sana kama kwamba Napenda mkono hili na wewe. Na kama mimi kuandika up Hoja ya pili, kama wewe wanataka kwenda mbele na kuandika hii juu ya bodi, hebu kwenda mbele na kufanya mfano wa mwisho hapa kufanya wazi nini hatimaye got kutokea. Hivyo hali ya jina lako, kuandika ni kuelekea juu kama wewe huna akili, hivyo tu kwamba tuna chumba kwa moja line ya pili. Kwa sababu jambo la mwisho mimi nina kwenda kwa sasa kutoa kwa ni si moja, lakini vipande viwili vya karatasi. Wote haki. H-E-L-L-O comma na kisha line tupu. Hivyo kile mimi nina kuhusu kwa mkono Alana sasa ni kitu tofauti kidogo. Si tu yeye kupata hii, ambapo kujaza katika tupu inawakilisha kwamba percent-- nini ilikuwa placeholder tumekuwa kutumia? Yeah, hivyo asilimia s. Wakati huo huo mimi nina kwenda kupita yake katika hoja ya pili, ambayo ni just nini Javier Rudishwa kutoka Jonathan. Hivyo basi mimi kukupa hizi mbili. Kama Ningependa kwa, kwenda mbele na magazeti kwamba athari. Nini hatimaye kinachotokea sasa, Alana tena ni kucheza nafasi ya printf. Javier alikuwa kucheza jukumu la GetString. Hivyo kwamba itakuwa souvenir yako. Na hatimaye nini kinatokea, licha ya hii hello-- yep kwenda mbele na comma. Alana: Je, mimi kupokea hii bado au hakuna? DAVID Malan: Yep, wewe kupokea wote mara moja. Hivyo wazo ni kwamba sasa wanaweza flip ukurasa kushughulikia pili ya wale pembejeo mbili. Hivyo hii ni tu kwa nyundo nyumbani uhakika kwamba wakati Alana kunyongwa line hii ya kijani hapa, na kisha Javier alifanya hivyo moja kwa ajili yetu na kurudi mimi kitu tutaweza wito s, lakini ni kweli tu kwamba kipande cha karatasi yake mwenyewe. Na sasa Alana amefanya line hii ya tatu. Na hata kama haya yote inaonekana hivyo incredibly cryptic labda katika mtazamo wa kwanza, ni kweli ni kama rahisi kama hiyo. Kupita pembejeo kote, kupata matokeo, ama kuwa kimwili mitupu nyuma kitu, au kuona upande athari kama hii. Kitu kuibua yameandikwa juu ya screen. Basi hebu kwenda mbele na kuwashukuru Alana na Javier, ambaye alikuwa chini hapa, kwa kujiunga na sisi hapa. [Makofi] Hivyo sasa hebu kuchukua kwa nafasi tu jinsi moja kwa moja yote ya ambayo inaweza kuwa. Na hebu kuendelea na kweli kufanya kitu katika kanuni halisi. Hivyo juu ya screen hapa ni screenshot kinachojulikana CS50 appliance. Na kama alikuwa na saa, kama 2:00 mchana Jumatano, kuelezea kwa baadhi rafiki nini CS50 appliance ni, jinsi gani unaweza kufafanua katika hukumu? Yoyote sentensi moja? Yeah? STUDENT: Ni kama mpango kwamba inafanya kompyuta ya kila mtu kukimbia na mfumo huo. DAVID Malan: Good! Ni mpango kwamba inawezesha ya kila mtu kompyuta kuendesha kwa mfumo huo. Ni aina ya yako mwenyewe nakala ya uendeshaji mfumo kinachotokea kwa kuitwa Ubuntu Linux. Na ni anaendesha kwa ufanisi ndani ya dirisha juu ya Mac yako mwenyewe au PC, hivyo njia hii haki nje ya lango katika wiki 1, kila mtu hapa katika darasa ina upatikanaji wa zana huo huo, Configuration huo, na hakuna Curve kujifunza maalum kwa Mac au PC katika fulani. Sasa sisi kufunguliwa up, ndani ya CS50 appliance juu ya Jumatatu, mpango huu hapa. Ni hutokea kuitwa gedit. Lakini hiyo ni kweli tu graphical mhariri. Ni kitu kama Notepad au Nakala Hariri juu ya Windows au Mac OS kwa mtiririko huo. Na mimi mapendekezo kwamba kulikuwa na kweli sehemu tatu muhimu kwa screen hii. upande wa juu ni wapi bila kuandika code yako. Na hapo ndipo sisi alitumia muda mwingi wa wetu mifano mitatu katika hotuba ya Jumatatu. chini sisi kuitwa nini, hii dirisha nyeusi, yeah? STUDENT: Compiler? DAVID Malan: Compiler sisi kupatikana kwa njia ya dirisha hilo. Lakini kwa ujumla zaidi. Yeah, ilikuwa ni dirisha terminal. Hii ni umri wa miaka mrefu kwamba tu inaeleza kimsingi blinking haraka, kwamba miaka iliyopita kutumika kuwa juu ya mmoja wa wale kubwa wachunguzi CRT style. Lakini siku hizi ni aina ya virtual katika programu. Na madirisha terminal Hebu us aina amri. Ni aina ya toleo kilichorahisishwa ya user interface au UI. Siyo graphical user interface au GUI, ni interface text-msingi au amri line interface. Na hakika hiyo ambapo hatimaye Nilikuwa na uwezo wa kuandika baadhi code. Mara baada ya mimi ameandika baadhi ya kanuni ingawa, kukumbuka kwamba mimi kutumika amri hii. Na kama ni jina aina ya unaonyesha, hii inaruhusu mimi kufanya programu inayoitwa Hello. Lakini nini ilikuwa ni kweli kufanya? Naam kufanya alikuwa kuchukua yangu pembejeo, chanzo code yangu, na kuwageuza kwa nini, hatimaye? Object code. Na kitu code ni dhana tu njia ya kusema zeros na ndio. Na kisha mara moja nilitaka kukimbia kwamba kitu code, mara moja mimi alitaka kupita kama pembejeo wale zeros na ndio katika kompyuta yangu ya ubongo, kinachojulikana CPU au kitengo kuu usindikaji, Mimi nilikuwa na kuendesha programu. Lakini haikuwa hivyo kabisa rahisi Jumatatu kama mara mbili tu kubonyeza baadhi icon. Nini badala gani mimi kuwa na kufanya ili kuendesha programu? Ilikuwa ni amri kwamba pili nini? Mimi nina kusikia mikwaju kidogo? Ndiyo, yeah? STUDENT: Dot kufyeka na jina programu hiyo. DAVID Malan: Hasa. Dot kufyeka na jina wa programu hiyo. Sasa nini maana ya hii? Naam dot ni njia tu arcane ya kusema directory ya sasa. Chochote folder wewe ni katika ni inatazamwa kama, ni kuwakilishwa kama dot. slash ni tu unapomwona katika Mac OS na Windows kwa miaka, ni separator kati ya directory au folder na wengine wa baadhi jina. Katika Windows hutokea kwenda nyuma, katika Linux na Mac OS hutokea kwenda mbele. Lakini ni tu Separator, hivyo ni tu uninteresting Kiwango cha kisintaksia undani zaidi. sehemu Juicy bila shaka ni jina la mpango, Hello. Na kwamba ni nini kufanya aliumba kwa ajili yetu. Ni outputted faili kwamba kwa ajili yetu. Lakini jinsi gani sisi kupata kwa uhakika kwamba? Hebu sasa kuuliza swali, nini ilikuwa kweli kinachoendelea hapa, angalau kwa Kuhusiana na baadhi ya syntax hii? Hivyo katika hukumu au hivyo, jinsi gani sisi kuelezea mbali line hii ya kwanza hiyo ni yalionyesha katika kijani? Nini ni kwamba mstari wa kwanza kufanya, kwa heshima na mpango wangu? Yeah? STUDENT: [inaudible]. DAVID Malan: Sema tena? STUDENT: Ikiwa ni pamoja na kushusha kazi siku za nyuma [inaudible]. DAVID Malan: Good. Ikiwa ni pamoja na, mimi siwezi kusema kushusha, lakini hebu sema ikiwa ni pamoja na kazi ya kwamba watu wameandika katika siku za nyuma. Na kazi hizo ni kutekelezwa mahali fulani katika kompyuta yangu. Mtu aliandika faili miaka iliyopita, na kwamba faili ni mahali fulani ndani ya CS50 appliance, au kwenye gari yangu ngumu ujumla zaidi. Na hivyo mstari huu ni kimsingi akisema, kwenda kupata kwamba faili, standard I / O dot h, na nakala na kuweka yaliyomo yake haki hapa juu ya faili yangu hivyo kwamba mimi si kuwa na kufanya hivyo manually mwenyewe. Na miongoni mwa vipande juiciest ndani ya kwamba faili sisi alidai alikuwa nini kazi? Nini kazi gani sisi kusema ilitangazwa au zilizotajwa katika standard I / O dot h zaidi uwezekano? Printf, haki? Sisi hakuwa na kuandika printf juu ya Jumatatu, ni tu kuwepo. Mengi kama Alana alikuja tu juu ya hatua na yeye tu kuwepo na alijua jinsi ya kuteka kitu juu ya screen, hivyo haina printf kuwepo kwa miaka mingi. Na hivyo hii ni jinsi sisi kupata huduma hiyo. Sasa kama sisi hoja juu ya hapa, kuu ilikuwa sawa sisi akamwambia puzzle kipande inaitwa wakati kijani bendera clicked katika ulimwengu wa Scratch. Ni aina tu ya jina default kwamba binadamu aliamua itakuwa kuwakilisha default hatua ya kuingia kwa mpango. chunk ya programu code kwamba anapata kwanza kunyongwa. Wakati huo huo braces curly haya ni aina ya kama sura curved mengi ya wale vipande njano mwanzo. Wao aina ya kurejelea nzima rundo la maelekezo pamoja. Hivyo ni aina tu ya kumfunga pamoja baadhi ya utendaji kuhusiana. printf bila shaka ni kazi ambayo Prints screen, kama sisi tu hawakuwa. Nini juu ya mabano haya? Jinsi gani unaweza define-- hata kama wameweza kamwe iliyowekwa mbele, lakini msingi tu sasa juu ya kuongeza hopefully Intuition, nini ni mabano kufanya kwa ajili yetu hapa? Au nini wao jirani? Yeah? STUDENT: Wao ni kusema nini wewe ni kwenda magazeti na printf. DAVID Malan: Yeah, wao ni kusema nini wewe ni kwenda magazeti na printf. Au zaidi kwa ujumla, wao ni jirani pembejeo kwa kazi. Hivyo unaweza karibu kufikiri ya mabano wale kama kuwa kama chuma video juu ya clipboard huu. Ni nini kufanya, ni nini kwenda kutumika kwa kutoa hoja ndani ya kazi, ambayo katika kesi hii inaitwa printf. Hivyo kwa ujumla karibu yoyote ya wakati sisi kuwaita kazi, sisi ni kwenda kuona jozi ya mabano. Labda na kitu ndani yake, kama ilivyo sasa, labda kitu ndani yake. Lakini hiyo ni wapi ingeweza kuweka pembejeo au kinachojulikana hoja kufanya kazi. Hapa ni moja hoja hiyo. Nimekuwa yalionyesha kila kitu kati ya quotes, kwa sababu ni zamu nje katika lugha hii inaitwa C, wakati unataka kuwakilisha string-- kwamba ni neno au maneno au hata paragraph-- una Surround yake na quotes mbili. Quotes Si moja, quotes mbili. Na kwamba ni sawa na kile nimepata kufanyika hapa. Wakati huo huo kuna funky ishara kuelekea mwisho huko. backslash n. Nini sisi kusema kwamba kuwakilishwa? Yeah? STUDENT: mstari mpya. DAVID Malan: New line. Right, huna kwa ujumla hit Enter wakati unataka mpango kwa mate nje mstari mpya. Badala yake, unaweza kuwaambia ni wazi na hii kipande admittedly arcane ya syntax, backslash n, kwamba unataka line mpya kwenda huko. Hatimaye semicolon. Sisi hawakuwa kweli kuzungumza sana kuhusu hili, na kwa mbali hii itakuwa bane ya baadhi ya kuwepo yako kwa tatizo la kwanza kuweka, wakati wewe tu alishindwa kutambua tumesahau kitu kama kijinga kama semicolon. Na kwa ujumla kuweka kutakuwa kurekebisha tatizo. Lakini nini ni kufanya kwa ajili yetu, unaweza kusema? STUDENT: [inaudible]. DAVID Malan: Sorry? STUDENT: [inaudible]. DAVID Malan: Kumaliza taarifa. Ni aina ya kama kipindi katika mwisho wa hukumu ya Kiingereza, ambapo katika lugha hii C ni kuishia taarifa. maelekezo ya programu kificho kwamba wewe tu unataka kusema, Mimi nina kufanyika kwa hii. Sasa taarifa hiyo ni moja tu hapa. Hivyo huna wanataka kupata katika tabia ya kuweka semicolons baada ya kila mabano imefungwa. Kwa mfano kuna hakuna karibu na utupu, na tutaweza kurudi katika siku zijazo kwa nini utupu maana yake. Lakini katika kesi hii printf yako ni kazi, au taarifa kuwa kutumika, na hivyo tunataka kuwa na kwamba terminus mwishoni sana ya hiyo. Na mimi nina makusudi kuokota juu C. Na kusema ukweli mengi ya lugha kama C, C ++, Java, JavaScript, na idadi yoyote ya lugha nyingine kuwa na mengi ya haya aina ya maelezo ya Kiwango cha kisintaksia. Bila shaka kama wewe ni mpya kwa programu unaweza dhati ya safari wewe up. Na wewe, alama yangu maneno, baadhi ya wewe na uzoefu huu katika masaa ya ofisi au kuchelewa wakati wa usiku kufanya kazi katika baadhi p-kuweka, ambapo programu yako damn tu haina kukusanya, haina kukimbia, una sijui nini makosa, inaonekana kabisa mantiki sahihi na wewe. Na ni kwa sababu alisahau kitu kama kupiga semicolon mwishoni mwa baadhi line. Lakini hizi ni aina ya mambo wewe ni kwenda mara moja kujifunza kuona. Na hakika haya ni mambo kwamba CA na TF ya kuwa na wamekuwa aina ya mafunzo ili kuona haraka zaidi kuliko wewe. Na hivyo hii ni tu kusema, kama wewe kupiga mbizi katika tatizo kuweka 1 hasa, hawapati frustrated na mambo haya. Mara baada ya aina ya acclimate kwa ulimwengu, wewe kuanza kuona mambo ambayo unaweza si kuona katika mtazamo wa kwanza wiki hii kwanza. Hivyo chanzo code ni kitu kama hicho. Tunataka kupita katika kinachojulikana compiler. Na kwamba compiler kama sisi alisema hutoa pato inayojulikana kama kitu code, kinachojulikana zeros na ndio. Lakini kutoka huko, je, hiyo kutupa? Naam ni inatupa ruwaza hizi. Na tena kompyuta yako, Intel yako ndani, anaelewa ruwaza hizi ya zeros na ndio. Na wakati mwingine muundo inawakilisha halisi ya simu decimal kama tuliona wiki iliyopita, wakati mwingine inawakilisha ya mbili kama tuliona wiki iliyopita, wakati mwingine inawakilisha mafundisho, kama uchapishaji kitu screen. Hivyo printf kwa instance-- lakini badala yake, basi mimi rewind. Tumekuwa kuchukua kwa nafasi kwamba wale zeros na ndio ni zinazozalishwa na amri hii kufanya. Lakini kufanya ni si compiler. Kufanya si jambo katikati hiyo ni kuzalisha zeros na ndio. Badala yake kufanya ni tu conveniently sana mpango aitwaye ambao lengo katika maisha kimsingi ni kufikiri jinsi ya kubuni programu yako. Na sisi kutumia katika haya wiki ya kwanza kwa sababu tu tuokoa matatizo mengi. Lakini nini kufanya ni kweli kufanya wakati wewe kukusanya hello, ni, kama sisi alisema mara ya mwisho, ni kuangalia kwenye gari yako ngumu au katika folder ya sasa, kwa faili inayoitwa nini, inaonekana? Hello.c, haki? Hiyo ni aina tu ya mkataba. Ni kiholela, lakini hiyo ni jinsi mambo yalivyo. Kufanya, kama wewe tu kutaja jina wa mpango huo bado haina zipo, ni kwenda kuangalia kwa kificho chanzo katika faili, by default maana hello.c. Na kama anaona hayo, kubwa. Ni kwenda kubadilisha chanzo kwamba kificho katika kitu code kwa ajili yenu. Lakini kila wakati nimekuwa hit Enter baada ya mbio kufanya hello, Je, unakumbuka kuona mwisho wakati a haki muda mrefu na mlolongo cryptic ya barua nyingine nyeupe na wahusika juu ya screen? Vizuri kwamba ilikuwa ni amri halisi, compiler halisi, kwamba alikuwa akikimbia. Hivyo compiler halisi tutaweza kutumia zaidi ya muhula ni kitu kinachoitwa Clang. Baadhi ya unaweza kuwa na kutumika Visual Studio kabla ya, au GCC, au idadi yoyote ya compilers nyingine. Tutaweza kutumia Clang. Na Clang inaruhusu sisi kweli kubadilisha kwamba kanuni chanzo kwa kifaa code. Je hii kwa kweli maana katika mazoezi? Naam napenda kwenda katika moja ya folders yangu kutoka wakati wa mwisho. Ndani ya CS50 appliance. Na basi mimi kwenda mbele na kujenga hii faili moja, pamoja na kiwango I / O dot h. Int kuu utupu. Na tutaweza kurudi katika siku zijazo kama kwa nini int njia na maana gani batili. Lakini kwa sasa hebu kufanya hujambo dunia backslash n, tu kama sisi alifanya juu ya bodi. Hebu kuokoa faili hii inayoitwa hello.c. Na sasa kama nataka kukusanya hii Mimi could-- basi mimi zoom in-- kukimbia kufanya hujambo kuingia. Na hii tena mara kwamba line cryptic sana. Lakini neno sasa angalau moja pengine anaruka nje saa wewe. Clang ni kwamba line tuliona kabla ya. Sasa kuna mengi ya mambo mengine kusema ukweli kwamba tutaweza kukitikisa mikono yetu katika kwa leo. Lakini kuna subsets chache, wahusika wachache katika hapa kuwa ni wa maslahi. Lakini mimi nina kwenda mbele na kufanya hili. Mimi nina kwenda kukimbia kwanza hello, tu kuthibitisha kwamba hii ni kazi kama ilivyokuwa siku ya Jumatatu. Lakini sasa mimi nina kwenda kufuta mpango. Na mengi kama sisi alikuwa na hawa majina short mara ya mwisho, amri kwa ajili ya kuondoa kitu ni rm, kuondoa, kuingia. Wewe ni kwenda kupata baadhi maswali ya haki cryptic. Vigumu kuamini kwamba unaweza kufanya hata swali hili vigumu kuelewa. Lakini kuondoa mara kwa mara ya faili hodi tu njia unataka kufuta hello. Na siwezi kwenda mbele na aina y kwa ndiyo, kuingia, na sasa ni gone. Hii ina maana gani sasa, kama mimi wazi screen yangu, ni kwamba badala ya kufanya kufanya hello-- wewe unajua nini, mimi nina kupata nzuri wakati huu. Mimi nina kwenda kukimbia compiler mwenyewe. Mimi hawana haja ya baadhi ya mpango wa kufikiri nini faili yangu inaitwa. Niliandika hello.c, mimi kujua nini ni kuitwa, Mimi nina wazi uwezo wa kuandika hiyo. Hivyo mimi nina kwenda mbele na wala Clang hello.c kuingia. Inaonekana kazi. Na hakuna pato ziada, kwa sababu Clang ni compiler. Ni nini kuwabadili chanzo code kwa zeros na ndio. Hivyo kama mimi sasa kufanya dot kufyeka hodi kuingia, hm. New kosa ujumbe wa leo. Hivyo bash ni tu jina la blinking haraka kwamba sisi ni kutumia. Hiyo ni kurahisisha jumla, lakini kwa sasa kwamba wote yaani, ni haraka blinking. Na kwamba ni kwa nini ni yelling saa yetu. Hakuna vile faili au directory ni kidogo zaidi moja kwa moja. Lakini hakika mimi alifanya kwamba kitu code. Lakini catch ni kwamba kama mimi aina ya amri kuorodhesha yaliyomo ya hii directory, ambayo ni nini? ls kwa orodha. Kuna rundo ya mambo katika hapa, baadhi ya waliokuja pamoja appliance, kama Desktop yangu folder, Mkono folder, Dropbox folder, na wote kwamba mambo ya ajabu. Lakini nini ni ya kuvutia ni hello.c, ambayo Mimi umba wakati iliyopita na gedit. Na nini weirdest kuangalia jina katika hapa, labda kwamba hatukuwa kuona mara ya mwisho wakati wote? a.out, haki? Hivyo nyuma katika siku, ni mara tu aliamua kwamba wakati wewe kukusanya mpango kwa mara ya kwanza, na huna bayana jina ya faili, hebu simu yake. Na a.out tu ina maana hii ilikuwa pato la compiler. Hivyo ni jina kutisha kwa ajili ya mpango. Lakini kwa mantiki hiyo, dot kufyeka kwa saraka ya sasa, kufyeka a.out, lazima maana kuna ukweli katika yangu hujambo mpango dunia. Sasa kidogo joto up zoezi, pia. Kama mimi nataka kubadili jina hili file, zinageuka kuwa wewe kusonga faili kutoka jina moja kwenda nyingine. Hivyo mv a.out, na kisha mimi unaweza kuiita hodi kuingia. Hivyo hii ni amri Linux. DOS alikuwa na miaka hii iliyopita, Windows ina dirisha terminal wa aina fulani kwamba inaonekana kama hii, Linux na Mac kompyuta na hii haraka blinking. Hata ingawa wengi wetu pengine mara chache, kama milele, matumizi yake. Lakini nini mimi tumefanya ni kukimbia mpango, ambaye jina lake ni mv, na nimekuwa zinazotolewa ni pamoja na hoja mbili, hivyo kusema. Barua pembejeo. a.out ni jina la asili. Jambo ni jina jipya. Hivyo kama mimi sasa kufanya dot slash hello, Enter, ambao upo sasa. Na kama mimi kufanya dot slash a.out, nini unatarajia mimi lazima kuona kitu gani? Bash, hakuna vile faili au directory. Kwa sababu mimi tu jina hilo. Hivyo hii inachukua kidogo ya kupata kutumika. Lakini tatizo kuweka 1 vipimo mapenzi kweli kushikilia mkono wako kupitia baadhi ya minutae huu. Kwa sababu hii ni kamili ovyo miliki kutoka zaidi ya kuvutia mawazo katika mkono, ambayo ni kweli kujenga kitu nje ya kanuni. Lakini hebu kufanya muundo moja sasa kwa mpango huu. Kumbuka kwamba mara ya mwisho mimi alifanya kitu kama hii, printf hali jina lako. Na hakika sisi tu alifanya hii juu ya screen kubwa zaidi ya hapo. Na kisha mimi kamba s anapata GetString Paren wazi, Paren karibu. Na Paren tu shorthand nukuu kwa mabano. Hivyo haina kuchukua hoja yoyote GetString? Hakuna pembejeo hapana, lakini mahitaji mabano, kwa sababu hiyo ndiyo demarcates wito wa kazi. Hivyo mimi nina kwenda mbele na kujaribu kukimbia compiler juu ya mpango huu sasa. Clang hello.c, kwa sababu mimi hakuwa na kubadilisha jina lake kwa sasa. Na mimi got rundo ya makosa. Hebu zoom nje hapa. Kama mimi kitabu juu tena, kama nilivyosema mara ya mwisho, wa kwanza, kosa sawa kwamba mimi got wakati wa mwisho. On line 6 ya hello.c Mimi nilikuwa Undeclared kitambulisho kamba, Je, mimi maana ya kiwango katika? Sikuweza. Kwa sababu ya kile makosa na mimi alifanya katika jambo mpango, kama unakumbuka kutoka wakati wa mwisho? Yeah, sisi haja kinachojulikana magurudumu mafunzo kwamba tutaweza tu kutumia kwa wiki chache. Lakini mimi haja ya kutaja kwamba pia, mahali fulani ndani ya appliance, ni faili kwamba sisi aliandika miaka michache tu iliyopita. Ndani ya ambayo ni kazi kama inaonekana GetString. Hivyo sasa kama mimi kwenda nyuma chini hapa, zoom katika, na re-kukimbia Clang hello.c. Damn, kosa jingine. Lakini hatujaona hii moja kabla. Hii moja kidogo zaidi esoteric kufikiri. Lakini hii ni kwa makusudi juu ya screen, kwa sababu sisi alitaka kuelezea hadithi hii. Wakati wewe kukusanya hello.c, kama picha kutoka kabla ya alipendekeza, wewe ni tu kuwabadili kwamba chanzo code kwa zeros na ndio. Sasa CS50 wafanyakazi miaka michache iliyopita aliandika CS50.h, na faili inayolingana, CS50.c. Na sisi, miaka michache iliyopita, ulioandaliwa files wale ndani ya faili kinachotokea kuitwa CS50.o. Au inaweza kuwa jina chache mambo mbalimbali. Lakini hiyo ni njia rahisi ya kufikiri juu yake. Hivyo sisi ulioandaliwa CS50 ya maktaba katika zeros na ndio. Lakini mahali pa kuwa mimi maalum kwamba mimi nataka kuchanganya zeroes yangu na wale kwa hodi yangu dunia mpango na zeros na ndio kwamba wafanyakazi CS50 kuundwa miaka michache iliyopita katika mpango moja kamili. Wote nimekuwa maalum na kuandika Clang hello.c ni kukusanya hello.c. Nimekuwa si aliiambia Clang kwa kiungo katika zeros na ndio wafanyakazi kwamba CS50 kuundwa kwa ajili yenu wakati baadhi iliyopita. Hivyo ni fix rahisi, dash l kwa ajili ya kiungo, CS50. Na tutaweza tena kuona hii kabla ya muda mrefu tena na tena. Lakini taarifa sasa kulikuwa hakuna malalamiko. Hivyo sasa kama mimi kukimbia dot slash hello, sasa ni kazi. Ingawa hiyo ni kidogo kupotosha tangu mimi tu RECREATED faili nini? a.out. Hivyo basi mimi rewind kwa muda tu. mpango sisi tu ulioandaliwa ina mistari mitatu ya code. Wakati mimi mbio hodi dunia, hello wakati iliyopita, sikuweza kuona hali ya jina lako. Na hiyo ni kwa sababu mimi mbio toleo la zamani wa mpango. Lakini kama mimi kwa hakika kukimbia dot slash a.out Kuingia, hali jina lako, Rob, hello, dunia. Hm. Hiyo ni aina ya mdudu. Pengine maana ya kusema Rob, haki? Basi nini fix hapa katika code. STUDENT: [inaudible]. DAVID Malan: Hasa. Hivyo mimi tu haja ya kufanya kwamba tweak mwisho hivyo kwamba mimi nina kupita katika placeholder, kama kujaza katika tupu, kama tulivyofanya wakati iliyopita. Lakini asilimia s ni sasa kwamba kujaza tupu. Hivyo Mwisho hebu yatangaza moja mwisho kina ili kwamba hakuna uchawi. Mimi nina kwenda mbele na kujikwamua hellow. Mimi nina kwenda mbele na kujikwamua a.out. Hivyo sasa mimi kuwa na programu hakuna, tu chanzo code yangu. Na mimi nina kwenda kukimbia amri kidogo tena, Clang dash o hodi hello.c dash LCS50. Sasa hii ni mapya ya aina ya kwenda katika sikio moja na nje ya nyingine labda. Lakini tu tease mbali nini hii ni kufanya. Clang ni compiler, dash LCS50 makusudi mwishoni sana anafanya nini katika hukumu? Links kwa maktaba CS50. Grabs zeros na wale ambao wafanyakazi alifanya na crams yao katika mpango wangu mwenyewe. Hivyo swali la mwisho katika mkono ni, nini ni dash o hodi pengine kufanya, hata kama wewe sijawahi kuonekana syntax huu kabla? Outputting mpango kwamba si jina lake a.out default. Badala yake ni jina lake hello. Hivyo sasa hakuna a.out. Hakuna vile faili au directory, kwa sababu mimi wazi alisema wito mpango huu hello, ili Mimi sasa unaweza aina katika jina kama kwamba na kuwa ni kuishi. Sasa kusema ukweli, mvulana ni kwamba uninteresting kuwa na kukumbuka yote ya kwamba minutia kidogo, haki? Basi hebu kwenda mbele na kujikwamua hodi tena. Na hebu sasa kurudi dunia katika ambayo Inatosha kusema kufanya hello. Lakini hiyo ni uchawi kwamba kufanya ni kufanya kwa ajili yenu, hiyo ni tedium kwamba ni kufanya kwa ajili yenu. Na kama mipango yetu na matatizo kupata ngumu zaidi, kufanya mapenzi kweli kuwa rafiki yako. Kwa sababu si muda mrefu sana kutoka sasa tunakwenda kuwa na mipango ambayo yameandikwa si na faili moja, lakini files kadhaa, na kufanya mapenzi aŭtomate mchakato wa kuandaa yote ya kwamba kwa ajili yetu pamoja. Hivyo sasa magazeti. printf ni ndani ya ya faili hili, standard I / O dot h, kwamba tumekuwa kuona mbele, lakini kuna zaidi ya printf kuliko hiyo. Kuna backslash n ni, lakini pia kuna rundo la Utaratibu nyingine kutoroka. Na kutoroka mlolongo ni tu dhana njia ya kusema kitu kwamba huanza na backslash, si slash mbele, backslash, na anafanya kitu fulani maalum. Na sisi si kukaa juu ya zaidi ya haya, lakini kwa nini kuna Backslash mara mbili quote, unafikiri? Kwa nini kuna mlolongo huu weird ya wahusika, backslash mara mbili quote, kwa nini huenda kwamba kuwa na manufaa? STUDENT: [inaudible]. DAVID Malan: Hasa, haki? Fikiria nyuma hujambo dunia mpango wetu kwamba tumeona kabisa mara chache sasa, kila wakati tumeona kwamba hujambo dunia mpango tulikuwa na quotes mbili ndani ya ambayo ni ya hodi comma dunia backslash n. Lakini kufikiri na wewe mwenyewe, nini kama kweli alitaka magazeti nje alama quotation? Silika yako ya kwanza inaweza kuwa, mimi si kujua kwa nini mimi kutaka do-- hapa, tunaweza kuwa watazamaji tu kidogo fujo, hello rafiki. Sisi kutaka kufanya kitu kama hicho. Lakini kwa nini hii ni sasa tatizo? Kupuuza quotes curly kando kwamba Akitoa kwa ajili yetu moja kwa moja. Kwa nini hii ni tatizo? Hasa. Kwa sababu tuna kama 4 quotation alama. Naam moja kwanza pengine huenda na moja ya pili, na labda moja ya nne huenda na moja ya tatu, au, I mean mimi nina uhakika hata, wala ni kompyuta kwenda kuwa. Kompyuta tena, compilers tena, ni haki bubu. Wao itabidi tu kufanya kile wewe kuwaambia cha kufanya. Na kama wewe ni siyo suala la utata wao ni pengine ni kwenda kutupa makosa. Kama wewe ni siyo suala la utata kama kwa jinsi ya kufanya siagi ya karanga na jelly sandwich mambo ya ajabu ili kufika. Ni wazo moja. Sasa inatosha kusema kuna baadhi Utaratibu nyingine kutoroka, lakini tutaweza kuja kwa wale kabla ya muda mrefu. Kimsingi haya kutoroka Utaratibu kuwakilisha kitu kwamba unaweza kuwa na uwezo kwa urahisi sana katika keyboard, bila utata kompyuta. Sasa wakati huo huo tuna placeholders katika printf. Asilimia d, ambayo inaweza pia kuwa imeandikwa karibu katika kesi zote kama asilimia i, ni placeholder kwa ajili ya aina gani ya data? Ni aina gani ya thamani? simu decimal. Hivyo kweli tutaweza kuanza kutumia asilimia i kwa sababu ni kidogo rahisi, kama integer. Asilimia i. integer kwamba hutokea kwa kuwa decimal. Asilimia s sisi tayari alisema mara placeholder kwa kamba. Ambayo ni neno tu, maneno, aya, insha, chochote. Ni mlolongo wa wahusika wa urefu fulani. Na tutaweza kuona kabla ya muda mrefu baadhi ya hawa wengine. Lakini asilimia c ni kwa ajili ya tabia moja. Asilimia f ni kwa floating kumweka ya simu, kama idadi halisi ambayo ina uhakika decimal ndani yake, ambayo ni ya kweli si integer. Na kuna zima rundo la watu wengine pia. Wakati huo huo katika C, na katika mengi ya lugha, tuna aina mbalimbali data. Aina tofauti ya kioo bakuli kama wewe. bakuli Nilikuwa mara ya mwisho mara kwa mipira Ping pong, lakini pia tunaweza kuhifadhi mbalimbali maadili kama chars na masharti na integers katika chombo, kama variable, na C ina haya. Char ni aina ya data, aina ya kutofautiana, katika ambayo unaweza kuhifadhi tabia. Float ni aina ya kutofautiana katika ambayo unaweza kuhifadhi idadi halisi. Int ni ya kweli kwa int. Na badala ridiculously jina lake kwa muda mrefu kwa muda mrefu ni ambapo unaweza kuhifadhi kimsingi idadi kweli kwa muda mrefu, na hata tarakimu zaidi kisha kawaida int nguvu kuhifadhi. Lakini tutaweza kuja nyuma na kwamba kabla ya muda mrefu. Katika CS50 dot h wakati huo huo nyingine header ya faili kwamba tumeona wanandoa mara katika matumizi, kuna aina nyingine data kwamba hazipo katika C kawaida. Moja ni kamba, na tutaweza kuona katika wiki chache nini masharti kweli ni chini ya Hood. Na moja ni bool. Na bool ni variable kwamba unaweza tu kuchukua juu ya maadili fulani. Na tu misingi ya wiki iliyopita maelezo ya Scratch, na hivi karibuni zaidi C, gani wewe nadhani ni maadili mbili inawezekana kwa baadhi chombo kwamba ni ya aina bool? Ndiyo na hapana. Moja na sifuri. Kweli au uongo. Na hakika ni mwisho kuwa huelekea kuwa kawaida katika programu lugha, kusema kitu kama kweli au uongo. Wakati huo huo maktaba CS50 inakuja pamoja na kundi la utendaji kwamba wafanyakazi aliandika kwa ajili yenu, badala ya kupata tu kamba. Sisi aliandika katika kazi mapema kwamba unaweza kupata integer kutoka kwa mtumiaji, kupata tabia moja, kupata kuelea, kwamba ni idadi tu na decimal uhakika. Kupata muda mrefu kwa muda mrefu, kwa kweli thamani kubwa kutoka kwa mtumiaji. Hivyo tumekuwa tu kuona hili katika hatua katika mfumo wa GetString. Lakini kupitia kazi hizi hivi karibuni kuwa na uwezo wa kuandika programu kwamba kupata pembejeo kutoka kwa mtumiaji. Wakati huo huo kufikiria hili mpango, na kufikiria jinsi sisi tupate sasa kuanza kuongeza kwa ni pamoja na constructs mpya. haraka ziara kimbunga na kisha tutaweza kuangalia katika baadhi ya kuandika baadhi mipango manually wenyewe. Tangu sasa kama tunataka kutekeleza hali, si kwenda kuangalia kama nzuri kidogo puzzle pretty kipande. Ni kwenda kuangalia arcane kidogo zaidi. Lakini hii ni kisheria muundo wa hali ya katika C. neno kama, wawili mabano, ndani ya ambayo ni kwenda kuwa baadhi ya aina wa kujieleza Boolean. Sasa slash slash katikati, hii ni wakati aina ya kama pseudocode code placeholder. Lakini vizuri zaidi, line yoyote ya code katika C kwamba huanza na kufyeka slash ni maoni. Ni kama note nata kwamba waweza kuweka juu ya insha, zilizochapishwa juu ya karatasi. Ni kumbuka na wewe mwenyewe. Haina kazi athari juu ya mpango. Ni aina ya mawaidha, ni yako mwenyewe nyaraka kama kwa nini kinaendelea. Hivyo kufanya hii kwa sasa ni aina ya placeholder kwa ajili ya chochote ni ndani ya ya braces curly wale hatimaye ni kwenda kufanya kitu fulani. Wakati huo huo una uma mbili katika barabara, an kama mwingine kujenga kama hii. Unaweza kama, elseif, mwingine. Sasa ni thamani akibainisha, hasa kama tumekuwa googling karibu online kwa ajili ya rasilimali nje ya udadisi, au kama wewe kuchukua moja ya kozi ya vitabu ilipendekeza juu ya C, utaona kwamba binadamu kuwa na kura matakwa ya mbalimbali kwa jinsi kujieleza katika code. Baadhi ya watu kama kuweka braces curly kama mimi tumefanya hapa. Baadhi ya watu kama kuweka curly inakabiliwa na kwa mfano hapa. Baadhi ya watu kama kuweka elses up hapa na kisha hii zaidi ya hapa. Kuna idadi yoyote ya njia za kuandika, na hakuna hata mmoja wao ni haki per se. Ingawa kuna wachache kwamba ni pretty vibaya. Lakini kuna no-- kama hii ni hatimaye mjadala wa kidini sana. Kwa kweli, mmoja wa watu wengi annoying mambo kuhusu sayansi ya kompyuta ni jinsi opinionated wanasayansi wa kompyuta wanaweza kuwa. Na wewe kupata muda zaidi hata wewe kuendeleza upendeleo wa binafsi kama kwa jinsi code yako lazima kuangalia. Si tu kuishi, si tu kujenga pato, lakini jinsi ni lazima kuangalia aesthetically. Hivyo kile sisi kufanya ni kuongoza wewe pamoja njia ya kuelekea upande, kwa sasa angalau, standard CS50 style kwamba angalau anaendelea mambo sare na rahisi kusoma. Lakini zaidi juu ya wale tofauti kabla ya muda mrefu. Kujieleza Boolean katika C, kama wewe alitaka kusema kama hali hii ni kweli na hali hii nyingine ni kweli, huna kuandika neno na, kama wewe ungekuwa katika lugha ya Kiingereza. You badala yake kutumia Ampersand Ampersand, kwa sababu tutaweza kuja nyuma. Kama unataka kusema au kutumia mbili baa wima, ambayo juu ya Marekani keyboard ni kwa ujumla juu Kuingia ufunguo karibu na backslash. Na hii ina maana tu kama hali hii au hali hii nyingine ni kweli kufanya hivyo. Wakati huo huo kuna hii kitu mambo, ambayo itabidi tukio kutumia mara moja katika muda. Lakini ni tu mbadala njia ya kueleza mwenyewe. Hii, kwa sasa, hebu inasema, ni tu njia nyingine ya kuonyesha funky kama, elseif, elseif, elseif, elseif. Ni tu formatted katika suala ya kesi, ambapo literally enumerate maadili ambayo unaweza kutaka kuangalia kwa. Wakati huo huo loops. Tuliona kulinganisha Scratch na kitanzi. Na mimi nina kwenda kupitisha mkono wangu katika kila moja ya mambo haya ina maana gani. Lakini taarifa kwamba kitanzi mapenzi sana mara nyingi kuanza na keyword kwa. Au itakuwa kuanza na keyword wakati. Au itakuwa kuanza na keyword kufanya, na kuishia na keyword wakati. Lakini nini sisi ni juu ya kuona ni mambo zaidi kama hii. Hapa ni, kwa ujumla katika C, jinsi gani nguvu kutangaza kutofautiana na kuwapa thamani. Katika C haina inatosha, kama katika Scratch, wewe tu kusema nipe variable kuitwa kitu. Mniambie C, na kuwaambia compiler yako, zaidi hasa, ni aina gani ya thamani kufanya wewe wanataka kuweka katika bakuli ya kioo. Je, ni integer? Kama ni hivyo, una literally kusema int na kisha jina la kutofautiana, kisha semicolon. Kama wewe badala alitaka kamba na kuitwa ni s kama mimi code yangu hapa leo, ungependa kusema string s semicolon. Mara baada ya unataka kuwapa thamani unaweza kisha kutumia ishara sawa, inayojulikana kama zoezi operator. Na taarifa ya jinsi kila ya mistari haya ya maadili ya ina semicolon mwishoni mwa yake. Lakini kusema ukweli hii tu inaonekana kidogo ugly. Kwa nini siwezi kusema kwa kompyuta, kutoa mimi kutofautiana na initialize kwa sifuri. Yaani, nipe tupu bakuli ya kioo. Wakati unaweza. Na hivyo moja ya hukumu wito wewe utakuwa na kufanya stylistically baada ya muda ni, je, kuandika code yako kama hii, au je, aina ya safi it up na kumvutia watu kwa kuandika mistari miwili kama moja tu. Na hii itakuwa kuchukuliwa kwa ujumla njia zaidi ya kifahari ya kuandika code yako stylistically. Kazi tuko bila shaka kuonekana. Wao ni kwenda kuchukua muundo huu. jina la kazi, baadhi ya mabano, na kisha labda baadhi mambo ndani. Au unaweza kuona matumizi ya kazi nyingi upande kwa upande, kama kitu kama hiki. Sasa kama tangent, je, utani hii sasa mantiki? [Kicheko] Haina maana ni funny, lakini haina labda kufanya kidogo zaidi akili. Hivyo sasa hebu kwenda katika Appliance CS50 kwa sasa. Na napenda kufungua teaser moja hapa. Na hakika moja ya sababu kwa ajili ya kuanzisha IKEA catalog na flashing picha ya iPhone kidogo iliyopita mara kwa kweli kufunga katika pamoja ukweli kwamba miaka michache tu iliyopita, mwaka 2007, kipande hii ya code ilikuwa iliyotolewa, ambayo ilikuwa moja ya utekelezaji kwanza sana ya kipande cha programu kwamba hana kile kinachoitwa jailbreaking. Kwa wale usio wa kawaida, jailbreaking kitu kama simu au iPhone ina maana kimsingi kuhesabia nje ya jinsi ya kufanya mambo na ni kwamba kampuni ambaye alifanya hivyo hakuwa na nia. Kama unataka kufunga baadhi ya programu ya kwamba si katika kuhifadhi App, jailbreaking simu yako ambayo kufanya mambo kama hayo na zaidi. Lakini ilikuwa ni nini fun katika 2007-- na kuna kuwa kadhaa ya matoleo mbalimbali mambo haya tangu wakati huo, katika kila aina ya languages-- ni kwamba mpango huu hapa, iitwayo iUnlock, kwa kweli imeandikwa katika C. Na hivyo mimi vunjwa juu code chanzo kwa ajili ya hii, tu aina ya kuonyesha baadhi ya yanafanana na constructs tumekuwa kujadili hivi sasa. Sasa kuna njia zaidi utata hapa kuliko tumeona tayari darasani. Hebu kitabu juu kidogo tu hapa. Lakini taarifa these-- vizuri sisi taarifa chache things-- lakini taarifa hizi mistari hapa, ikiwa ni pamoja na kiwango I / O dot h. Na all-- line 24, please-- taarifa standard I / O dot h na rundo zima la wengine files kwamba watu inaonekana nyingine wameandika. Na kama sisi kitabu chini kupitia huu, kidogo kiholela, ilani Sijui jinsi ya kuandika yote ya hii mwenyewe lazima bado, lakini kuna kama. Hivyo inaonekana hii ina tawi. Na kama mimi kitabu chini kidogo zaidi kuna mwingine kama. Kama mimi kitabu juu, nadhani karibu line 100 Mimi niliona kwa. Hivyo mimi nina uhakika kabisa jinsi hii matendo bado, lakini hii ni kwa kitanzi ambayo inaenda basi mimi iterate baadhi ya idadi ya nyakati. Na kama mimi kitabu yote njia ya chini Mimi naona kwamba kuna kazi chini hapa aitwaye kuu, na mikopo baadhi ya ziada kwa ajili ya kusoma radhi yako. Hivyo hii ni tu kwa say-- na tutaweza kuweka hii online kati ya chanzo bila shaka ya code today-- kwamba hata baadhi ya hizi vifaa kwamba sisi kuchukua kwa nafasi, mwisho wa siku bado uko kutumia constructs hizi za msingi kwamba tumekuwa wamekuwa kuanzisha tayari hivi sasa. Hiyo inatosha ya kwamba moja. Haki zote, hivyo sasa hebu kweli kujenga kitu fulani. Hebu kwenda zaidi ya kitu kama hello.c, na kufungua hii, hebu kuandika mpango huu hapa. Mimi nina kwenda mbele na kuandika mpango kuitwa adder.c, kusudi lake katika maisha ni kwenda kuwa kama super rahisi yangu ya kwanza calculator kwamba tu anaongeza wanandoa wa idadi. Si kwa sababu hiyo ni ngumu tatizo, lakini kwa sababu inaruhusu mimi sasa kufunga mambo pamoja chache. Hivyo mimi nina kwenda mbele na ni pamoja na standard I / O dot h na CS50 dot h. Mimi nina kwenda kusema int kuu utupu. Na tena katika siku zijazo tutaweza kuja nyuma yake ndani ya katika muktadha huu na njia batili. Na sasa mimi nina kwenda kusema kitu kama printf, nipe integer. Na sasa juu ya line yangu ya pili, jinsi gani mimi kujieleza kama kwamba mimi nataka kutangaza variable hiyo ni kwenda kuhifadhi int? Literally nini mimi aina kama nataka kujenga variable kwamba maduka ya int unaweza kusema? int a sawa na GetInt. Hakika, hivyo kwamba kazi. Na tu kwa ajili ya msimamo na kanuni utasikia kuona online, basi mimi mabadiliko hii kwa x, kwa sababu tu x ni kawaida jina variable kutumia, angalau katika algebra. Sasa basi mimi kwenda mbele na kufanya printf tena. Nipe integer nyingine. Na sasa mimi nina kwenda aina ya kujifunza kutoka kwa mfano kwamba, Mimi nina kwenda kusema int y anapata GetInt. Na tumekuwa si kutumika GetInt kabla, lakini tu kama GetString huenda na anapata kamba, kama Javier alifanya kutoka kwa watazamaji, vile vile haina GetInt kuanza blinking haraka. Na kwa ufanisi kusubiri kwa mtumiaji kuwapa integer, na kuandika ni katika na kupiga kuingia. Sasa Mwisho mimi nina kwenda kufanya hii, printf Jumla of-- na napenda kupata dhana now-- asilimia i na asilimia i ni sasa i Moderators kumweka backslash n. Na unafikiri nini mimi nina kwenda kuweka katika sasa kama pembejeo za ziada kwa printf? Sitaki kusema literally quote unquote x. Nataka darasa katika x na basi, na sasa hebu kupata dhana na hebu kudhani tu tunaweza kufanya nini tunataka. Nini unataka kusema ijayo? x plus y. Na hakika kwamba itakuwa kazi. Ni minimally programu lugha kufanya kuelewa hesabu ya msingi, na hivyo hii lazima kwa kweli kazi. Hivyo basi mimi kwenda mbele na kufanya kufanya Bafe katika nyeusi na nyeupe dirisha langu hapa chini, kuingia. Cryptic line lakini hakuna kosa ujumbe, hivyo hiyo ni nzuri. Dot kufyeka fira, nipe integer, 1. Nipe integer mwingine, 2. Jumla ya 1 na 2 ni 3. Haki zote, hivyo pretty yasiyo na maana mpango, lakini kile ni kosa gani? Ni kuruhusiwa mimi kutumia kazi wito hapa, piga kazi nyingine hapa, wito mbili kwa GetInt, a tatu wito kwa printf, na kisha kwa kutumia placeholders haya. Hivyo ni kidogo zaidi kisasa zaidi kuliko wakati wa mwisho. Lakini nini kama nataka kupata kidogo fancier? Hebu kwenda mbele na sasa kufanya hivyo. Hebu kwenda mbele na kujenga faili mpya iitwayo hali ya sifuri. Na mimi nina kwenda kuokoa baadhi wakati kwa ajili ya madarasa na tu kuweka katika kwamba code kama kianzio. Na sasa mimi nina kwenda tu kuweka kitu kipya hapa katikati. Hivyo printf Ningependa integer tafadhali. Na kanuni hii yote ni inapatikana kwenye tovuti bila shaka ya, hakuna haja ya aina yote nje darasani kama wewe d badala si. int, na sasa mimi nina kwenda kutumia, badala ya x na y, Mimi naenda kutumia n, ambayo ni pengine jina ya kawaida kwa integer katika programu ya kompyuta. Na sasa nataka kufanya hukumu kidogo hapa. Mimi nina kwenda kuona kama n ni mkubwa kuliko 0, basi Mimi nina kwenda kusema whoops printf--, printf-- wewe ilichukua idadi chanya, Moderators kumweka backslash n. Karibu hiyo. Mwingine mimi nina kwenda magazeti nje printf wewe ilichukua namba hasi. Sasa kabla ya yell saa yangu, hebu kukimbia mpango huu. Hebu kwenda chini hapa. Na jinsi gani mimi mpango wa kukusanya kuitwa hali ya dash 0? Kufanya hali dash 0. Aina ya jina kijinga, but-- Dammit. OK, mafundisho wakati mzuri. Kwa nini kwamba kuvunja? Je, mimi ajali wito faili hili? Unaweza aina ya infer kutoka tab hapa. Hivyo si mbaya kwamba mimi alifanya hivyo, kwa sababu hii kitatokea labda kwa baadhi yenu. Hivyo mimi ajali aitwaye yangu chanzo code hali 0. Lakini chanzo code yangu kwa mkataba lazima kuwa katika faili inayoitwa hali 0 dash c, au chochote dot c. Hivyo basi mimi kurekebisha hii. Tu kama Microsoft Word siwezi kwenda up kwa Save As na kufanya hali 0 dot c. Sasa tu kuwa tidy mimi nina kwenda mbele na kuondoa hali 0, ambayo ilikuwa toleo yangu ya zamani. Na sasa hebu kufanya kufanya hali 0, kuingia. OK, inaonekana nzuri. Hali 0, kuingia. Ningependa integer tafadhali, 50, wewe ilichukua idadi chanya. Sasa vipi kuhusu hasi 50? Wewe ilichukua namba hasi. Vipi kuhusu sasa, 0. Pretty uhakika 0 si hasi. Hivyo hii ni aina ya mdudu mantiki. Je, mimi kurekebisha hili? Mwingine kama n ni chini ya 0, kufanya hivyo, mwingine tunaweza kuwa na njia tatu tawi hapa, printf wewe ilichukua 0. Hivyo sasa kama mimi rerun hii mpango, baada ya kuandaa ni tena kwa kufanya, na sasa rerun hali 0, nini mimi utaona hapa ni 0 anitiaye pato kwamba. Hivyo ambapo ni sisi kwenda na hili? Naam ni rahisi sana kupoteza mbele ya misitu kwa ajili ya miti. Na hivyo kuruhusu sisi kuhitimisha na hii video 2 na 1/2 dakika kwamba hatimaye ni kidogo ya ad kutoka Google, lakini kwa kweli ni ushahidi wa nini hata kwa kutumia jengo hizi za msingi vitalu tunaweza hatimaye kufanya mara moja sisi kuwa na kidogo ya programu savvy chini ya mikanda yetu. [MUSIC KUCHEZA] SAROO Brierley (dubbing): Ilikuwa ni miaka 26 iliyopita, na mimi nilikuwa tu kuhusu kurejea 5. Sisi got kituo cha mafunzo na sisi boarded treni yetu pamoja. Ndugu yangu tu alisema mimi itabidi kukaa hapa, na mimi itabidi kuja nyuma. Na mimi tu mawazo, vizuri unajua, Mimi ili kama vile tu kwenda kulala na yeye itabidi tu kuamka me up. Na wakati nilipoamka ya siku, inasimamia nzima ilikuwa tupu kwenye treni wamekimbia, ghost treni kuchukua mimi sijui wapi. Mimi ilipitishwa kufanyika kwa Australia, kwa familia ya Australia. Na mama alikuwa decorated yangu chumba na ramani ya India, ambayo yeye kuweka karibu na kitanda yangu. I woke up kila asubuhi kuona ramani kwamba, na hivyo ni aina ya naendelea kumbukumbu hai. Watu kusema, wewe ni kujaribu kupata sindano katika haystack, Saroo hutaweza kupata hiyo. Ningependa kuwa ukaangaza pande zote kuni ya maeneo ambayo mimi kutumika kwenda, flashes wa familia yangu nyuso zao. Kulikuwa na sura ya mama yangu, kukaa chini na miguu yake shilingi, tu kuangalia kilio yake. Maisha ni tu hivyo kwa bidii. Hiyo ilikuwa hazina yangu. Na mimi nilikuwa kuangalia Google Map na barabara kuna Google Earth pia. Katika dunia ambapo unaweza zoom katika, Nikaanza kuwa na yote ya mawazo haya na nini uwezekano kwamba hii inaweza kufanya kwa ajili yangu. Mimi mwenyewe alisema, unajua, wewe wameweza got kumbukumbu wale wote picha na alama ambapo wewe ni kutoka, na unajua nini mji inaonekana kama. Hii inaweza kuwa maombi kwamba unaweza kutumia ili kutafuta njia yako nyuma. Nilidhani, pamoja na mimi itabidi kuweka dot juu ya Calcutta kituo cha treni, na radius line, unajua, kwamba lazima kutafuta kuzunguka eneo hili. Mimi aina ya alimkuta treni ya nyimbo hizi. Na mimi kuanza kufuatia, na Nimekuja kituo cha treni ambayo yalijitokeza na mfano uo huo kwamba alikuwa katika kumbukumbu zangu. Kila kitu kuendana. I just walidhani yep, mimi kujua ambapo mimi nina kwenda. Mimi nina kwenda tu basi ramani kwamba nina katika kichwa changu risasi mimi na kuchukua yangu nyuma mji wangu. Nimekuja doorstep ya nyumba kwamba mimi alizaliwa. Na kutembea juu ya 15 mita kuzunguka kona, kulikuwa na wanawake watatu wakiwa wamesimama nje, karibu na kila mmoja. Na moja kati kupitiwa mbele, na I just walidhani, hii ni mama yako. Yeye alikuja mbele, yeye hugged mimi, na tulikuwa huko kwa muda wa dakika tano. Yeye grabbed mkono wangu na yeye alichukua yangu kwa nyumba na got kwenye simu, ambapo yeye rang dada yangu na ndugu yangu kusema kwamba, unajua, ndugu yako ana tu wote wa ghafla alionekana kama ghost. Na kisha familia alikuwa reunited tena. Kila kitu ni yote mema, Mimi kusaidiwa mama yangu nje, yeye hana na kuwa slaving mbali. Yeye anaweza kuishi mapumziko ya maisha yake katika amani. Ilikuwa sindano katika haystack, lakini sindano alikuwa huko. Kila kitu huko. Kila kitu sisi katika dunia ni katika bomba ya kifungo. Lakini nimepata kuwa na mapenzi na dhamira ya kutaka. [MUSIC KUCHEZA] DAVID Malan: Kwa mshangao tamu testimonial tu nini unaweza sasa kufanya na teknolojia. Tutaona wewe wiki ijayo.