[MUSIC PLAYING] DAVID MALAN: Rendben. Isten hozott. Ez CS50, és ez a Hét Egy, folytatás. Tehát az egyik oka annak, hogy már halad körül technológiák, mint a Google Glass, hogy jönnek a valami ismert API, a Application Programming Interface. És hogy ez mit jelent az, hogy a megfelelő fájlokat, és a megfelelő dokumentáció, amit valójában írni szoftver még eszközök, mint ezek. És akkor mi van szem előtt felé félév vége, ha a projekt bevonásával, mondjuk, a Google Glass is fellebbezést, meglátjuk, mit tehetünk tekintve összejönni fel néhány loaner hardver, valamint a nyilvánosan hozzáférhető API, így valójában kezdeni szoftver fut ugyanazon Google Glass. Egy másik eszköz, hogy már játszott és a végén, hogy azt gondoltuk, talán szórakozás félév vége ez a kis dolog itt. Úgy hívják Leap Motion, és mit te arról, hogy technikailag egy reklám az eszköz, de a nem beszél, hogy milyen az adott készülék képes. És ez is jön egy API segítségével amely írhat szoftver irányítani a saját számítógépén olyan módon, nagyon tetszett ez az egy perces filmet itt. [VIDEÓ LEJÁTSZÁS] [END VIDEÓ LEJÁTSZÁS] Tehát most, ez a készülék történik kell végrehajtani, mint egy kis USB csatlakozó, hogy dugja be a számítógépet, de nem lennék meglepve, ha nemsokára van ilyen jellegű technológiák a következő tétel a PC-k és Mac, így valóban, vele kölcsönhatásba módon, mint ezt. Sőt, amit én gondoltam ezt is, ez Húztam egy kis bemutató program, hogy jön ez a szoftver. Szóval már fel a kis érzékelő előtt az én laptop. És mint látható, már rájön hogy a kezem ott van csökkentése érdekében. És mindez az alkalmazás nem csalással kis dolgok, mint ez. De látható, hogy valóban, Én öt ujj van. Ha tudnánk, hogy ezt mind a 10, tudod képzelni, hogy egy csinos zongora alkalmazás vagy hasonlók. Tehát, ha azt szeretné, hogy jöjjön fel óra után ma, és játszani, hogy mivel jól, akkor szívesen. Így még az, hogy felé félév végén. Így néhány adminisztratív bejelentések. Egy, ezt a pontot a péntek délben cs60.net/section. Az URL van a pálya honlapján is. Addig is azonban, supersections fog debütálni a vasárnap. Supersections egy egyszeri dolog, mert tart nekünk egy kis idő, hogy ki, aki a honlap mely részében és hol. Tehát a jövő vasárnap, hogy lesz-e egy részben a kevésbé kényelmes, egy szakasz számára kényelmesebb. És azok, valahol között várjuk, hogy menjen az egyik, vagy mindkettő, vagy egyik sem. Mindkét fogják filmre. Ők lesznek egy nagyobb előadóterem, mint egy része rendszerint, hogy be De a cél itt az, hogy felvértezzük Önt némi vigaszt a problémás az egyiket, a C, a CS50 készüléket, ez a hétvégén, még mielőtt megtudja, a formális rész feladat. Tehát akkor felel meg a TF és a kisebb csoport sectionmates mintegy egy hét múlva. Fogadóóra, eközben már folyik. Ne kihasználják őket ma este, vagy holnap este, ha szeretne. Probléma szett 0 miatt pénteken. Ez egy nappal később, mint a rendszeresen ütemezett csütörtök. De probléma szett 1, látni fogod hogy tartalmaz néhány bemelegítő gyakorlatokat, amellyel te magad bővítheti Csütörtök határidő péntek. Probléma Set 1, eközben fog debütálni A kurzus honlapján a jövő Péntek, ha szeretné, hogy göndör fel , mint én egyszer régen késő Péntek este a szobában. Tehát cs50.net/appliance az a hely, ahol a lehet kapni a CS50 készülék hogy elkezdtük használni hétfőn. Fogjuk használni, hogy egy kicsit ma. De biztos lehetsz benne, hogy a probléma meg 1 specifikáció végigvezetik pontosan a lépéseket meg kell kap, hogy felállt és működik. Szóval ne aggódj csinál, hogy mielőtt Pset 1 ha inkább nem. Rendben van. Így nézett hétfőn forráskód, de az összefüggésben egy új programozási nyelv, azaz a C és C, ellentétben a Scratch, nem grafikus. Ez nem puzzle darab. Ez több, mint a szintaxis angol. És van egy pár lépésből A valóban írásban és fut a C-ben programozni, mert amellett forrás kód, mint ez, ha kell valami úgynevezett fordító. És a laikus szempontból, milyen nem a fordító tenni értünk? Igen. DIÁK: Ez átalakítja a kódot hogy írsz 0s és 1s. DAVID MALAN: Jó. Így alakítja át a kódot, hogy az írunk a 0s és 1s. Ez átalakítja az úgynevezett forráskódját tárgykód, melyek közül az utóbbi úgy néz ki, egy kis valamit, mint ez. És ez a CPU, az agy belsejében a számítógép, hogy mivel a emberek, akik megalkották a számítógépek, tudja, hogy mik azok sorozatok A 0s és 1s jelent. Talán ez azt jelenti, nyomtatás. Talán ez azt jelenti mellett. Talán ez azt jelenti, kivonás. Talán ez azt jelenti, megjelenik egy grafikus. Vannak előre definiált minták bit , hogy a világ úgy döntött, azt jelenti, bizonyos dolgokat. De a legtöbb esetben az a tanfolyam, fogunk dolgozni egy magasabb szinten, és akkor magától értetődőnek, hogy létezik dolgok, mint a fordítók, ami tegyük forráskód funkció , ahogy szeretnénk. Így a program írtunk először a múlt héten majd elkezdte port, így a beszél, a C az elmúlt Hétfő, volt ez. Amikor a zöld zászló kattint, köszönni. Ez volt, természetesen, írt Scratch. És azt állította, hogy az azonos C-ben programozni nézett egy kicsit valami ilyesmi. Szóval, amit én gondoltam, hogy a az első, nézzük kötekedik kívül mit néz, először pillantásra persze, mint a meglehetősen misztikus szintaxis, de akkor elkezd észre minták elég gyorsan. Amit mi is csinál ma nyújt Ön egy mentális modell egyes kanonikus, néhány standard konstrukciók a programozás során. És akkor mi lesz valójában a mi kezünkben van piszkos néhány példát is. Tehát azoknak, kényelmesebb, észre, hogy ezen a héten, majd a következő hét is nagyon jól lehet egy kicsit a felülvizsgálat. De különösen akkor, ha a hacker kiadás A probléma meg 1 megy ki a Természetesen honlapján pénteken, azt gondolom, rájössz, hogy még akkor is töltse ki néhány üres, a jövő héten, vagy két, akkor kezdődik, hogy egyre több kihívást és a találkozás új és újabb dolgokat. Szóval ugratni a program mellett egy pár sort egy időben. Legtetején, van mit technikailag úgynevezett előfeldolgozó direktíva. Ez csak egy sor kód, amely azt mondja: hogy tartalmazza a tartalmát egy fájlt, a Standard I / N, szabványos bemenet - vagy, sajnálom, standard I / O, szabványos bemenet / kimenet,. h, belül a saját programja. Más szóval, ha én írtam ezt program egy egyszerű szövegszerkesztő, mint a gedit, az egyszerűbb megfelelője valami, mint a Microsoft Word, hogy oktatás, # include stdio.h, csak fogja mondani a fordító, fogd a tartalmát, hogy a többi fájl, stdio.h, be őket itt. Nos, miért érdekel? Mit azt állítjuk, belül van a fájl stdio.h nevezett, amely a tárolt valahol a merevlemezen, vagy ebben az esetben valahol a CS50 készülék? Valaki más tette oda nekem. De mi van benne? Igen, ez egy nyilatkozat függvény nevű printf. Tehát printf emlékeztet a funkció kijelzők szavak és karakterek és számokat a képernyőn a licitálás. De én nem írtam. CS50 nem írt meg. Valaki évvel ezelőtt megírta, és lényegében megadta a receptet is nevű fájlt stdio.h. Annak érdekében, hogy az első sorban csak ad nekem való a funkciókat, hogy valaki más írta évvel ezelőtt, többek között amelyek printf. Most, a következő sorban fogok hullám a kezét, legalábbis addig, amíg a jövő héten. De most, tudom, hogy int main (void) a lényegében megegyezik az e sárga puzzle darab, amikor zöld zászló kattintott. A világ, évekkel ezelőtt úgy döntött, hogy ha a írsz egy programot a nyelv a C, elkezd A program egy sor úgy néz ki, mint ezt. Alig egy hét múlva, akkor az, hogy értelme, mi int, mi is érvénytelen. De most, csak belegondolok mivel ez a sárga puzzle darabot. Most a következő, van egy zárójel után a másik közeli zárójel, hogy úgy mondjam. És majd látni ezeket az egész C programok, valamint a JavaScript és a PHP. És ezek csak magukba kapcsolódó sornyi kódot. A nyitott zárójel lényegében azt mondja, itt jön egy kódot. És a zárt zárójel, ami szögben a másik irányba, csak azt jelenti, hogy ez az a a megfelelő kódot. Így a szaftos sor az első program, az utolsó, printf, idézet-idézet vége, hello world. És felhívtam a dolog között idézetek mi utoljára? Tehát ez egy string. És egy sor csak a techie kifejezés egy sorozata karakterek, a szó, a kifejezés. Még egy levél is kell idézőjellel. De ez egy sorozat nulla vagy több karakter. Backslash-n, bár úgy néz ki, egy kicsit furcsa. De ez csak jelent valamit egyszerű a számítógéphez. Mi backslash-n? Új sor. Szóval ez csak a speciális sorrendjét karakterek a világ úgy döntött, azt jelenti, hogy egy sortörés ott, mert a fordító valóban kap zavaros, általában, ha nagyon érthető, de helytelenül, csak kezd Enter, hogy új vonal a kódban. Be kell, hogy egy kicsit explicit és backslash-n. És majd meglátjuk, van még néhány más hasonló minták speciális karaktereket. Például, ha akarta, hogy hagyja el a hintázás egy sarokba esetben tegyük fel, hogy szerettem volna nyomtatni idézőjelig a képernyőn bármilyen okból, hogy úgy tűnik, hogy egy kicsit problémás, nem igaz? Mert ha tesz egy dupla idézet a közepén "hello, world" bármilyen ok, miért, úgy tűnik, potenciálisan problémás? Ez megtöri a húr. A fordító csak egy program. A program, mint a fordító csak megy olvasni a kódot felülről lefelé, balról jobbra. És ha úgy látja, három idézőjel helyett Két, akkor nem fog tudni ha azt jelenti, hogy a dolog, hogy a bal oldali legyen az szöveg, vagy a dolog, hogy a jobb, vagy az egészet. Ez egyértelmű, és akkor mi van egy tipikus fordító tenne csak borulni, valamint néhány hibaüzenetet, és hogy ha a probléma kezelésére. Tehát mivel a backslash-n: új vonal, mi lenne az ösztönök most kezd lenni, ha akar is valami rendhagyó, mint egy dupla idézve belül az egyébként idézett húr? Backslash-double árajánlatot. És így majd meglátjuk ezt ilyen minta is. Ha akarsz valamit, egy kicsit furcsa, rájössz, hogy a megoldások gyakran követik a mintát, és a backslash jelöli egy escape szekvencia. És ez csak azt jelenti, valami különlegeset , hogy meg kell, hogy képviselje a más módon. Ami hogyan képviselik a backslash, Hát, majd jött vissza, hogy a. De a válasz is, valójában egy kicsit nyilvánvaló. Szóval már be más programozási szerkezeteket hogy láttál Scratch. Valószínűleg már magától értetődőnek Már ha már lebukott probléma meg 0-ra. De nézzük most be a szintaxis a C ezek egyébként meglehetősen intuitív ötletek, legalább néhány közülük. Tehát ez a fogalom a feltétel vagy egy ág, míg korábban azt képviselte azt kóddal, hogy nézett így a bal oldalon a Scratch - ha x kisebb mint y, akkor mondjuk így - ehelyett most C - hadd élesíteni be a legegyszerűbb esetben - Mi csak mondani, ha nyitott zárójel, valami igaz - a Logikai kifejezés fog menni ahol mondtam állapot - Záró zárójel, akkor ne mi belül a zárójelek. Tehát itt is, a kapcsos zárójelek olyan mint a Scratch U-alakú puzzle darab. Ne mi van ezekben a zárójelek. Ebben az esetben a perjel perjel. És észre ez egy előre perjel, sem a backslash. Perjel, perjel, azok számára, akik már beprogramozott előtt, csak azt jelenti, - ez csak egy megjegyzés. A megjegyzés nem egy vonal A kód önmagában. Ez egy sor az angol, hogy a ember, írt magadnak, hogy talán emlékeztetni, hogy tegyen valamit, hogy magyarázni magát, hogy elmagyarázza valaki, hogy mi a kód csinál. Ez csak egy leíró megjegyzést. Nos, persze, mi lehet a kétirányú útelágazáshoz éppen ezt, a hármas útelágazáshoz csinál ezt, és ha továbbra is ezt a mintát, akkor négy-utas, öt irányú, hat utas villa az úton, ha kell kezelni, sőt, hogy sok feltétel. És akkor veszi észre a párhuzamot itt - if (feltétel), else if (feltétel), és az egyetlen, ami egy kicsit furcsa az utolsó, amely csak, hogy más. De ismétlem, ez megegyezik, fogalmilag, hogy mit tettünk már, bár a szintaxis fog hogy egy kicsit szokni kell. Most, ebben a példában, vannak más furcsa szintaxist. Látjuk printf újra nyitott zárójel, és szoros zárójel. És azon belül van jegyzett string. A zárójelben keretében A printf, megy a bal és jobb, mi? Mit is leírják, hogy a megadott string általánosságban? Szóval ez az érv. Minden alkalommal, amikor egy funkció, mint például a printf, majd egy nyitott és paren szoros paren és valami belső azt, hogy ez egy string, vagy integer, vagy bármi más, a dolog azok között, zárójelben a neve érv. És az érv csak befolyásolja a függvény viselkedését. Ebben az esetben, ez elég egyértelmű, hogyan. x