[Halisi kucheza] DAVID Malan: zote haki. Karibu tena. Hii ni CS50, na hii ni Wiki moja, inaendelea. Hivyo moja ya sababu tumekuwa kupita kuzunguka teknolojia kama vile Google kioo ni kwamba wao kuja na kitu inayojulikana kama API, Maombi Programming Interface. Na nini maana ya hii ni kwamba pamoja na haki files na pamoja na haki ya nyaraka, unaweza kweli kuandika programu kwa ajili ya vifaa hata kama hizi. Na hivyo kile akilini tuna kuelekea semesters mwisho ni, kama mradi kuwashirikisha, kusema, Google kioo ili rufaa, tutaweza kuona nini tunaweza kufanya katika suala la hooking ninyi mahakamani na baadhi ya loaner vifaa kama vile hadharani-kupatikana API ili uweze kweli kuanza kujenga programu kwamba anaendesha kioo huo Google. Kifaa kingine kwamba sisi tumekuwa kucheza na ya marehemu kwamba sisi mawazo yanaweza kuwa furaha katika mwisho wa muhula ni hii kitu kidogo hapa. Ni wito Leap Motion, na kile wewe ni juu ya kuona ni ya kitaalam tangazo kwa ajili ya kifaa, lakini haina kusema nini hasa hii ya kifaa ni uwezo wa. Na hayo, pia, huja na API kupitia ambayo unaweza kuandika programu ya udhibiti wa kompyuta yako mwenyewe kwa njia kabisa kama filamu hii dakika moja hapa. [Video avspelning] [MWISHO video avspelning] Hivyo sasa hivi, kifaa hiki hutokea kwa kutekelezwa kama USB kidogo kontakt kwamba unaweza kuziba katika yako kompyuta, lakini napenda kushangazwa ikiwa kabla ya muda mrefu tuna aina hii ya teknolojia katika kundi la pili ya PC na Macs hivyo kwamba unaweza, kwa hakika, kiutendaji na hivyo katika namna kama hiyo. Kwa kweli, nilifikiri nini ningependa kufanya, pia, ni Mimi vunjwa hadi maandamano kidogo mpango wa kuja na programu hii. Hivyo nimekuwa kuweka chombo hicho kidogo mbele ya laptop yangu. Na kama unaweza kuona, tayari anatambua kwamba mkono wangu ni pale udhibiti wake. Na hii ya maombi yote gani ni swimmingly kidogo mambo kama haya. Lakini unaweza kuona kwamba, kwa hakika, Nina vidole tano huko. Kama tunaweza kupata kufanya yote 10, unaweza kufikiria piano nadhifu maombi au kama. Hivyo kama wewe Ningependa kuja baada ya darasa leo na kucheza na kwamba kama vizuri, wewe ni kuwakaribisha. Hivyo zaidi juu ya kwamba kuelekea mwisho wa muhula wa. Hivyo michache ya utawala matangazo. Moja, kufanya sehemu kwa Ijumaa hii saa sita mchana saa cs60.net/section. Kwamba ni juu ya URL ya shaka Mzee pia. Wakati huo huo, ingawa, supersections itakuwa ya kwanza Jumapili hii. Supersections ni jambo ya wakati mmoja, kwa sababu inachukua sisi baadhi muda wa kufanya kazi nje ambaye katika ambayo sehemu na wapi. Basi Jumapili hii ijayo, kutakuwa na moja sehemu kwa ajili ya wale chini ya starehe, sehemu moja kwa ajili ya wale vizuri zaidi. Na wale wa wewe mahali fulani katika kati ni kuwakaribisha kwenda ama au wote wawili, au wala. Wote hawa itakuwa zingine. Wao utakuwa katika ukumbi kubwa kuliko sehemu ya kawaida itakuwa in Lakini lengo hapa ni kuwaandaa kwa baadhi ya faraja na tatizo kuweka moja, na C, na appliance CS50, hii mwishoni mwa wiki, hata kabla ya wewe kujua wako rasmi sehemu ya kazi. Hivyo itabidi kukutana TF yako na yako ndogo kundi la sectionmates katika kuhusu wiki wakati. Masaa ya ofisi, wakati huo huo, wamekuwa kinachoendelea. Kufanya kuchukua faida yao usiku wa leo au kesho usiku kama ungependa. Tatizo kuweka 0 ni kutokana siku ya Ijumaa. Hii ni siku ya baadaye kuliko mara kwa mara-uliopangwa kufanyika Alhamisi. Lakini pamoja na tatizo kuweka 1, utaona kuwa ni pamoja na baadhi ya joto-up mazoezi na ambayo wewe mwenyewe inaweza kupanua yako Alhamisi tarehe ya mwisho ya Ijumaa. Tatizo kuweka 1, wakati huo huo, itakuwa ya kwanza kwenye tovuti ya kozi ya hii kuja Ijumaa, kama Ningependa kwa curl up na kama mimi alifanya hivyo mara moja juu ya muda marehemu Ijumaa usiku katika chumba yako. Hivyo cs50.net/appliance ni mahali ambapo unaweza kupata appliance CS50 kwamba sisi kuanza kutumia Jumatatu. Tutaweza kutumia ni kidogo zaidi leo. Lakini wengine uhakika kwamba tatizo kuweka 1 vipimo kutembea wewe kupitia just hatua unahitaji kupata kwamba juu na kukimbia. Hivyo msiwe na wasiwasi juu ya kufanya hivyo kabla ya Pset 1 kama wewe d badala si. Wote haki. Hivyo sisi inaonekana Jumatatu katika kanuni ya chanzo, lakini katika mazingira ya mpya programu lugha, yaani C. Na C, tofauti Scratch, si graphical. Siyo Puzzle vipande vipande. Ni zaidi ya Kiingereza-kama syntax. Na kuna michache ya hatua zinazohusika katika kweli kuandika na kukimbia mpango katika C, kwa sababu badala ya chanzo kanuni kama hii, unahitaji kitu kuitwa mkusanyaji. Na katika suala layman, nini haina mkusanyaji kufanya kwa ajili yetu? Yeah. MWANAFUNZI: Ni waongofu kanuni kwamba kuandika kwa sekunde 0 na 1s. DAVID Malan: Good. Hivyo waongofu kificho kwamba tunaweza kuandika sekunde 0 na 1s. Ni waongofu kinachojulikana chanzo kanuni na kitu kificho, mwisho ya ambayo inaonekana kitu kidogo kama hii. Na ni CPU yako, akili ya ndani ya kompyuta yako, kwamba kwa sababu ya watu ambao wameumbwa kwa wale kompyuta, kujua nini wale Utaratibu wa maana sekunde 0 na 1s. Labda maana magazeti. Labda maana yake ni kuongeza. Labda maana yake ni kutoa. Labda maana yake ni kuonyesha graphic. Kuna chati predefined ya bits kwamba dunia imeamua maana baadhi ya mambo. Lakini kwa sehemu kubwa katika kozi hii, tutaweza kazi katika ngazi ya juu, na tutaweza kuchukua nafasi ya kwamba kuna kuwepo mambo kama watunzi kwamba unaweza kufanya chanzo chetu kanuni kazi katika njia ya sisi nia. Hivyo mpango tuliandika kwanza wiki iliyopita na kisha wakaanza bandari, hivyo kuongea, na miaka ya nyuma C hii Jumatatu, ilikuwa hii. Wakati bendera ya kijani clicked, kusema hello. Hii ilikuwa, bila shaka, imeandikwa katika Scratch. Na mimi alidai kuwa sawa mpango katika C inaonekana kidogo kitu kama hiki. Hivyo kile Nilidhani tunatarajia kufanya saa ya kwanza ni, hebu tease mbali kile inaonekana, kwa mara ya kwanza mtazamo, admittedly, kama haki arcane syntax, lakini utasikia kuanza kwa taarifa chati kabisa haraka. Nini tutaweza pia kufanya leo ni kutoa wewe na mfano wa akili kwa baadhi ya kisheria, baadhi constructs kiwango katika programu. Na kisha tutaweza kweli kupata mikono yetu chafu na baadhi ya mifano kama vile. Hivyo kwa wale wa wewe vizuri zaidi, kutambua kwamba wiki hii na kisha ya pili wiki vizuri sana kuwa kidogo ya mapitio. Lakini hasa wakati toleo hacker ya tatizo kuweka 1 huenda nje ya tovuti ya kozi ya juu ya Ijumaa, mimi nadhani utapata kwamba hata kama wewe kujaza baadhi ya nafasi zilizoachwa wazi juu ya wiki moja au mbili, itabidi kuanza kupata milele zaidi changamoto na kukutana mpya na karibu zaidi mambo. Basi hebu tease mpango huu mbali mistari michache wakati huo. Saa ya juu sana, tuna nini kitaalam inaitwa Preprocessor maelekezo. Hii ni mstari wa kanuni kwamba anasema ni pamoja na yaliyomo ya faili, kuitwa kiwango I / N, kiwango pembejeo - au, pole, kiwango I / O, kiwango pembejeo / pato,. h, ndani ya ya mpango wangu mwenyewe. Hivyo kwa maneno mengine, kama mimi aliandika hii mpango kwa mhariri rahisi Nakala kama gedit, sawa rahisi ya kitu kama Microsoft Word, kwamba mafundisho, pamoja # stdio.h, ni tu kwenda kuwaambia mkusanyaji, kunyakua yaliyomo ya faili kwamba nyingine, stdio.h, na kuweka haki yao hapa. Sasa, kwa nini mimi huduma? Nini sisi kudai ni ndani ya faili hili kuitwa stdio.h, ambayo ni kuhifadhiwa mahali fulani kwenye gari yangu ngumu, au katika hii kesi, mahali fulani katika appliance CS50? Mtu mwingine kuweka pale kwa ajili yangu. Lakini nini ndani yake? Yeah, hivyo ni tamko la kazi kuitwa printf. Hivyo printf anakumbuka kazi ambayo maonyesho ya maneno na na wahusika idadi ya juu ya screen kwa amri yangu. Lakini sikuweza kuandika. CS50 hawakuwa kuandika. Mtu miaka iliyopita aliandika, na wao kimsingi alitupa kichocheo kwa ajili yake katika faili iitwayo stdio.h. Hivyo kwamba mstari wa kwanza tu anatoa mimi kupata kwa kazi ambayo mtu mwingine aliandika miaka iliyopita, kati ya ambayo ni printf. Sasa, line ijayo mimi naenda kukitikisa yangu mkono katika, angalau hadi wiki ijayo. Lakini kwa sasa, tunajua kwamba int kuu (utupu) ni kimsingi sawa na hii njano puzzle kipande wakati kijani bendera clicked. dunia, miaka iliyopita, aliamua kwamba kama wewe ni kuandika mpango lugha inayoitwa C, kuanza mpango wako na line kwamba inaonekana kama kwamba. Katika tu kuhusu muda wa wiki, kutakuwa na kufanya maana kile int ni, nini ni batili. Lakini kwa sasa, tu kufikiria ni kama hii kipande ya njano puzzle. Sasa ijayo, tuna brace curly ikifuatiwa na mwingine brace karibu curly, hivyo kusema. Na tutaweza kuona haya katika programu katika C, kama vile JavaScript na PHP. Na hawa tu kurejelea kuhusiana mistari ya kificho. wazi curly brace kimsingi anasema, inakuja kanuni fulani. Na kufungwa curly brace, ambayo ni angled katika upande mwingine, tu njia, hiyo ni kwa ajili ya kanuni husika. Hivyo mstari Juicy katika hii kwanza mpango ni ya mwisho, printf, quote-unquote, hello dunia. Na mimi kuitwa kitu kati ya quotes nini mara ya mwisho? Hivyo ni kamba. Na kamba ni techie mrefu kwa ajili ya mlolongo wa wahusika, neno, maneno. Hata barua moja inaweza kuwa mara mbili alinukuliwa. Lakini ni mlolongo wa sifuri au zaidi wahusika. Backslash-n, ingawa, inaonekana ajabu kidogo. Lakini tu maana kitu rahisi kwa kompyuta. Nini backslash-n? Mpya line. Hivyo kwamba tu mlolongo maalum ya wahusika kuwa dunia imeamua njia kuweka kuvunja line haki pale, sababu mkusanyaji itakuwa kweli kupata kuchanganyikiwa, kwa kawaida, kama wewe, sana vyema, lakini kimakosa, tu kuanza kupiga Kuingia kuweka mpya mistari katika kanuni yako. Unahitaji kuwa zaidi kidogo ya wazi na backslash-n. Na tutaweza kuona kuna wachache vile wengine chati kwa herufi maalum. Kwa mfano, kama alitaka basi yako akili tanga kwa kesi kona, tuseme kwamba nilitaka magazeti mara mbili quote juu ya screen kwa sababu yoyote, ambayo wanaonekana kuwa kidogo tatizo, haki? Kwa sababu kama mimi kuweka quote mbili katika katikati ya "dunia hello,," kwa ajili ya chochote sababu, kwa nini kwamba wanaonekana uwezekano wa tatizo? Inavunja kamba. mkusanyaji ni mpango. mpango kama mkusanyaji ni kwenda tu kusoma kanuni yako juu hadi chini, kushoto na kulia. Na kama anaona tatu quotes mbili badala wa wawili, siyo kwenda kujua kama wewe maana kwamba kitu kwa upande wa kushoto lazima kamba, au kitu haki, au jambo zima. Ni utata, na hivyo kile kawaida mkusanyaji bila kufanya ni kituko nje, na kukupa baadhi ya ujumbe wa kosa, na kufanya wewe kukabiliana na tatizo. Hivyo kutokana na kwamba backslash-n maana mpya line, gani silika yako sasa kuanza kuwa kama alitaka ni pamoja na kitu ajabu kama mara mbili quote ndani ya hii vinginevyo-alinukuliwa kamba? Backslash-mbili kunukuu. Na hivyo tutaweza kuona hii aina ya muundo pia. Kama unataka kufanya kitu kidogo ajabu, utapata kwamba ufumbuzi mara nyingi kufuata muundo, na backslash inaashiria mlolongo kutoroka. Na ni njia tu kitu maalum kwamba tunahitaji kuwakilisha katika njia tofauti. Kama kwa jinsi gani unaweza kuwakilisha backslash, vizuri, tutaweza kuja nyuma na kwamba. Lakini jibu, pia, ni kweli kidogo dhahiri. Basi hebu sasa kuanzisha baadhi ya wengine programu constructs ulizoziona katika Scratch. Ve pengine kuchukuliwa kwa nafasi tayari kama umefanya tayari dived katika tatizo kuweka 0. Lakini hebu sasa kuanzisha syntax katika C kwa ajili ya haya vinginevyo haki angavu mawazo, angalau baadhi yao. Hivyo hii dhana ya hali au tawi, ambapo awali sisi kuwakilishwa kwa kificho kwamba inaonekana kama hii juu ya kushoto katika Scratch - kama x ni chini ya y, kisha kusema hivyo - badala yake sasa katika C - basi mimi hone katika juu ya kesi rahisi - tuko tu kwenda kusema, kama, kufungua mabano, kitu ni kweli - Kujieleza Boolean ni kwenda ambapo nilivyosema hali - mabano karibu, basi nini ndani ya wale braces curly. Hivyo hapa, pia, braces curly ni aina ya kama ya Scratch U-umbo puzzle vipande vipande. Je, nini ndani braces hizi curly. Katika kesi hiyo, kufyeka kufyeka. Na taarifa hii ni mbele kufyeka, si backslash. Mbele kufyeka, mbele kufyeka, kwa wale ambao wameweza iliyowekwa kabla, tu ina maana - ni tu maoni. maoni ni si line wa kanuni, per se. Ni mstari wa Kiingereza kwamba wewe, binadamu, wameandika kwa mwenyewe labda kuwakumbusha kufanya kitu, kwa kuelezea kwa mwenyewe, na kuelezea kwa mtu mwingine, nini code yako ni kufanya. Ni tu maoni ya kina. Sasa, bila shaka, tunaweza kuwa na njia mbili uma katika barabara tu kwa kufanya hivyo, njia tatu uma katika barabara kwa kufanya hii, na kama wewe kuendelea hii muundo, unaweza kuwa na nne ya njia, tano-njia, sita-njia uma katika barabara kama unahitaji kushughulikia, kwa hakika, kwamba wengi masharti. Na kisha taarifa parallelism hapa - kama (hali), mwingine kama (hali), na moja tu kwamba ni kidogo ajabu ni ya mwisho, ambayo ni kwamba tu mwingine. Lakini tena, hii ni sawa, conceptually, kwa kile ambacho tumefanya tayari, ingawa syntax mapenzi kuchukua kidogo kidogo kupata kutumika. Sasa, katika mfano huu, kuna baadhi nyingine ya ajabu syntax. Tunaona printf tena, mabano wazi, na karibu mabano. Na ndani ya kuna kamba alinukuliwa. mabano, katika mazingira ya printf, kwenda upande wa kushoto na haki ya nini? Je, sisi kueleza kwamba alinukuliwa kamba kama zaidi kwa ujumla? Hivyo ni hoja. Wakati wowote una kazi, kama printf, na kisha paren wazi na karibu paren na kitu ndani ya hivyo, kama ni kamba, au integer, au kitu kingine chochote, jambo katika kati ya mabano wale inaitwa Hoja. Na hoja tu mvuto kazi ya tabia. Katika kesi hiyo, ni pretty wazi jinsi. x