DAVID Malan: To je CS50, in to je začetek en teden. In kaj smo mislili storiti je, potegnite nazaj zavesa napravo, da mnogi o ste verjetno šel zdaj mimo za let, vendar morda nikoli povsem znano, kaj je to. Tako da bo ta naprava verjetno iskati seznanjeni, da večina od vas, ki jih zdaj. [Predvajanje videa] -Zmagoslavje matematične in mehanična spretnost je to velik nov samodejna kalkulator na Harvard University. Zapletene težave pri matematiki dal skozi stroj v kodirani obliki na Trak so natančno rešiti na minuto del časa, potrebnega za človeški izračun. Zasnovan tako, da pospeši vse oblike matematične in znanstvene raziskave, velikan mehanska možgani delo za Združene države Amerike Navy dokler koncu vojne. [END predvajanje videa] DAVID Malan: Torej, to je tisto, kar vidite v Science Center, ki je, če da stroj je zdaj nastanjena. Ste dejansko videli le del tega. Samo del je trenutno na ogled, in da je naprava, imenovana Mark I, in to je v bistvu res ogromen kalkulator. To je nasledil Mark II, in to je od Mark II, ki smo dejansko dobili malo leksikon. To je prvi zabeleženi primer kaj si o tem, da postanejo vsi preveč seznanjeni z več kot Potek semestra - sicer bug. Tako se je izkazalo v eni točki oznake Naprava II ni deloval pravilno, in po podrobnejšem pregledu, je bil res bug - vešča - da molj - notranjosti. In odkar smo iz napake v programih, kot so žuželke. Torej, več o tem, da pridejo. Ko že govorimo o video, kot tudi, če tega še ne veš, da je CS50 seveda posnet. Predavanja ponavadi gredo gor takoj po razred na vrsto pred-različici neobdelana format, potem dan ali dva kasneje smo postavili višjo resolucijo in kakovost različica višje. Morda se spomnite Vanesso, ki je imel fortune igranja z Google Glass, kar sem se spomnil, da zaračunati ta čas. Torej, če želite, da bi prišli do po pouku in igrati, bi morali delovati danes. In če bi radi videli, kaj Vanessa Videl drugi dan, kar boste videli tukaj - mi dvigniti obseg tukaj na moj laptop. [Predvajanje videa] -Naj čakalna vrsta je to gor. Vse je v redu. Torej se tega dotaknila. Vse je v redu. OK, Glass. Snemanje videa. Vse je v redu. Vanessa? [END predvajanje videa] DAVID Malan: V redu, tako da razlog da to ni delo za večino od vas na konec razredu je bil, ker sem izhajal posneti eno uro, da Posnetek kaže na sebi po Sem dal očala dol. Torej, danes, jih bom pustil off, ampak hvala vam Vanessa za tak dober šport. Medtem, nekaj objav preden smo korak naprej danes. Torej ena, CS50 ima tradicijo početje kar smo lahko, da bi poskušali narediti zelo Velik razred počutijo manjši. In proti ta namen najbolj vsak petek, smo zbrali v restavraciji v kvadrat, Fire and Ice, s 30 ali 40 svojih sošolcev, sam, nekateri učno osebje, in smo pravkar imajo zelo priložnostno kosilo. Pogosto smo povabili prijatelje iz industrije, alumni za ta razred, alumni iz kolegij, res samo za klepet vsakega drugo gor, pogovarjala o življenju po kolegij, življenje v šoli, in podobno. Torej, če bi želeli, da sodelujejo v tem Prvi tak kosilo v petek ob 13:15, glava, ki URL na neki točki. Vesolje je omejeno, zato bomo vse kdor prej pride, prej melje. Vendar bomo to spet na ponavljajoče podlago, tako da ne skrbi, če ne ga bo v tej prvi seriji. Sedaj glede na sredstva, ki curricularly jih seveda tam je cel kup, in če še niste potegnil spletno stran tečaja je že, zlasti iz predavanj boste ugotovili, da je vse nismo prejšnji teden je tam, tako V videu in neke vrste v elektronski obliki. Ampak preko video posnetkov, boste našli da so zdaj Celotno besedilo transkriptov, na primer vsakega predavanja. Torej, če bi dejansko šel nazaj na tem zaslonu tukaj z Vanesso in smer na spodnjem kotu zaslona boste ugotovili, da dejansko, ne pa za Petkovo predavanje, če pa gremo nazaj Sreda, saj ta funkcija traja Nekaj ​​dni, boste ugotovili, da lahko dejansko potegnite navzgor, za boljše ali še huje, vsaka beseda, ki sem ali prostovoljec na odru dejal. In več kot samo to. Lahko dejansko iskanje, lahko kliknite na katero koli od teh stavkih, skok do te točke v videu, vse v smeri in konec izdelavo materiala za vse bolj plovna. Ampak, če bi ga raje ne sledijo tako podrobno, boste ugotovili, za na primer, ta mali meni tukaj za 1.5x hitrost, 2x hitrost, ali i f sem že govorim prehitro zate, 0.75x hitrost. Torej zavedaš, vse to je ni na voljo za vas. Toda po tem, za predavanja, zavedati da smo tudi te vire Na voljo so tudi. Diapozitivi, na primer koda, karkoli, da sem storite na odru ali pred razredom, bomo pa objavili, tako da lahko igrate skupaj doma ali v Sandersa. Toda kaj smo menili, da bi to letos prvič tudi vam nudijo walkthroughs teh primerov. Bolj, kot sem se odraža na Vrednost predavanj CS50 je, da sem začel na vprašanje, kako koristno je za vidva sedeti tam, mi stati tukaj, in da bi jaz govoril na vas, zlasti kot material, Primeri, dobili bolj zapleten. Zaradi vedno po nekaj več minut nekdo območje ven, in potem ste zamudili nekaj ključnih vpogled v nekatere Na primer, in potem ste v bistvu odšla za preostali del razreda, ki ni najboljša uporaba svoj čas, ali pa, res, naša skupaj kot razred. Pa kaj smo mislili, da bi poskušali narediti, zlasti za nekaj več kompleksni primeri, da ne bi naredil pravice v razredu, da morda ne bo imeti čas za v razredu, ali pa morda samo območje v času, je, da bomo proizvodnjo serija walkthroughs le-teh primeri, tako da če greš v za primer, video stran Prejšnji petek je tu na podlagi primerov, boste videli, da petek, tam je zdaj to povezati walkthroughs. In oblika te se bo sčasoma spremenilo. Za zdaj smo z uporabo preprost YouTube igrica. Ampak, kaj sem naredil z našo ekipo proizvodnje potem je bil sprehod skozi vsak in vsak od teh primerov še enkrat, upajmo kaže v veliko večji jasnost, kaj je takeaways lahko ali pa mora biti od vsakega. Tako boste ugotovili, na primer, od zadnje teden vse primere praske smo šli skozi, so naredili linearno na tak način. Zato vas prosimo, da se vključijo ali ne Vključitev v ta material. Res tema tega posebnega predmeta je, da je verjetno bolj na način virov kot vi bi lahko terjali več potek semestra. Ampak to je namerno. To je pomenilo, da je tako, da so Posamezni učenci lahko sami izberete na podlagi vašega stil učenja. Torej, če predavanja delo za vas, super. Če odseki delajo za vas, super. Če walkthroughs delo za bolje, super. Res bo do vas, da izberete kakšna sredstva delajo za vas najbolje. Končno, hvala na alumnus leta Seveda smo tudi kanonska komplet Scribe not. Torej, namesto da vidva glave dol na predavanjih praskanje navzdol stvari, ki pridejo v razredu, mi, Osebje, vam bo s tem, kar smo počutim se cerkvenih niz pojasnilih vas osvobodi tega odvračanja pozornosti, tako da če ste tukaj in se ukvarjajo, ste Resnično se ukvarjajo s tem, kaj se dogaja, pri vaši sošolci delajo gor na faza, s tem, kar se dogaja na zaslonu, in ne zgolj zapisala dobesedno kaj se je zgodilo, da so bili omenjeni. Torej, zavedati vseh teh virov so vam na voljo. Sekcijo, v odgovor na pogosta vprašanja, se bo začelo v sredo. Mi v bistvu počakati do najbolj drugi razredi so storili tako, da smo lahko zmanjšanje števila sprememb da moramo storiti. Ampak prihaja ta vikend, začenši Nedelja, bo enkrat primerek kar imenujemo super odseke. Ti bodo snemali za tiste, ki ne morejo udeležijo, in v bistvu, Vodje Seveda se nam bo sprehod skozi nekatere za C dela seveda proti odpravi problematičnega niza enega, ki se bo naša prva C, ki temelji Problem set. In to bo zgolj izbirni oddelki v pričakovanju, kaj se bo postanejo ponavljajoči se odseki so privedli s tekom na 50 plus poučevanje tovariši tedensko. Ob nedeljah in ponedeljkih in torkih, smo imajo 90 minutne odseke v zelo običajnem smislu, ki bo možnosti za roke na bolj intimno pregled tečajnega na gradivo. Brez odlašanja, dovolite mi, da uvede Vodje tečaja je, ki so zakulisju z mano, zaradi česar je vse zgodilo. Če bi tisti, danes mi, Rob pridružiti Lauren in Joseph Lucas, vse od katerih so bili z Tečaj za nekaj časa. RJ je tretji tak član naše ekipe. On ne more biti danes tukaj, vendar je me je prosil, da pokažejo fotografijo njim. Nisem prepričan, da je želel to en, vendar pa je. In povej mi samo dovolite ekipa reči zdravo in predstavijo tako, da boste dobili, da jih poznam, kot tudi vaše lastno poučevanje kolegi ta izraz. Lauren CARVALHO: Pozdravljeni. Moje ime je Lauren Carvalho. Sem mentor rezident V Leverett House. Jaz sem tudi super navdušena, da bo glava TV for CS50 letos. CS50 je zelo zahtevna razredu ter kot zelo velikega razreda, tako da, če ste imeli nobenih pomislekov, če se počutite, kot ste zaostali, vas prosimo, da doseči, da vsak od nas v heads@cs50.het, ali z mano, če bi radi igrajo z mojo zlato prinašalca mladička. Tukaj je Lucas. LUCAS FREITAS: Hej, fantje. Moje ime je Lucas Freitas. Jaz sem junior [neslišno] računalništvo in jezikoslovje. Pravzaprav sem iz Brazilije, in sem tudi zavedaš vzhodnoazijskih študij. Torej, če imate kakršnakoli vprašanja o računalništva ali jezik ali karkoli, samo povej mi. Ali CS50, še posebej. JOSEPH Nevladna organizacija: Pozdravljeni. Sem Joseph. Jaz sem višji študij računalnik znanost Elliott House. Torej, poglejmo. Me boš videla knjigovodska ena od teh ogromnih fotoaparatov. Sem rezident fotograf osebje za 50 let, kot tudi, in študenti pogosto včasih me zamenjali za Azijski turist. Torej, če ste me videli s kamero, ne pobegne. Samo nasmeh in ne bodite sramežljivi. In upam, da boste uživali 50. Užival sem zelo veliko, ko sem ga vzel, in to je razlog, zakaj sem bil TFing za ta tri leta. ROB Bowden: Pozdravljeni. Jaz sem Rob. To je moj četrti semester z CS50. Pravkar sem diplomiral v maju. Bil sem v Kirkland. Jaz sem navdušena nad tem polletju, in upam, da ste preveč. DAVID Malan: Hvala za letošnje glave, ter za RJ kot dobro. Torej nekaj končni pojasnila virov. Ena, str nastavite 0, je že pripravljen. Tale obstaja samo v standardni izdaja, ki je namenjen celota razredu. Začenši s p 1 setu, ne bo hacker izdaje večini problematičnih sklopov, ki je, spet, bo zajemal gradivo z malo več izziv, medtem Še vedno dotika na nekaterih istih temah. Naredi si oglejte na spletni strani predmeta je za to specifikacijo za p set 0. Govorilne ure, preveč, se bo začela ta teden, danes, jutri, v sredo, in četrtek v različnih jedilnico Dvorane na kampusu. Odjaviti cs50.net/ohs za pisarno ur tečaja, in zavedaš tega bo zelo priložnostne priložnosti, Vsekakor, na začetku semester, priti s svojim laptop med premorom možganov. Prinesite nekaj prijateljev in klepet gor Seveda je TFS in CAS katere koli Vprašanja, ki ste morda. In ne morem dovolj poudariti, tudi za praske in problem set 0, obstaja res ni neumno vprašanje. Ni študent preveč neprijetno da postavljajo vprašanja. Prosim, vas prosimo, da izkoristijo tega vira. Tam bo recurringly skozi semester, saj bo CS50 Razprava. To je proga spletna razprava forumi tam na tem naslovu. Kaj bomo v času predavanja je naredil tudi spremljati tudi to, zahvaljujoč tečajnega je poučevanje ekipa. In tako, če imate vprašanje v času predavanje, ker sem rekel nekaj slabo ali pa sploh ne, z vsemi sredstvi, vprašajte , ki v realnem času, če imate ali prenosni telefon, na spletni strani, in mi se bomo potrudili v bližnji realnem času odzovejo na to. Ali obstajajo vprašanja o CS 50? Nekega zadnje note rudnika. To vprašanje SAT UNSAT. Kot ste dokončati svoje študijske kartice, če niso že zavedajo, da Poglavitni vizija SAT UNSAT, na voljo za vse učence, je res za pomoč pri rob off tečaja tako, tako rekoč, tako da, če znajdete pozno ponoči, 02:00, 03:00, res razbijati glavo gor proti stena, kjer veš, da si 99% Tako je v zaključku, vendar pa še toliko drugih stvari za početi, Mislim, da je bolje izkoristiti, pogosto pa tudi od Čas učencev je dejansko premakniti na tiste druge stvari, tako da lahko optimizirati svoj čas vsem. In SAT UNSAT je en mehanizem, prek katerega si lahko zadovoljen, saj da se 99% poti obstaja še vedno precej darn dobro. Podobno je tudi, če ste prišli v Tečaj brez predhodnega ozadju ali ni skoraj toliko ozadje kot ti mislim, vaši sošolci morda, res ali neresnična, spoznala, da je to priložnost, da bi dobili vaše roke umazane s tekom, dal prste v voda, tako rekoč, podobno kot jaz sam je pred leti z opravil / ni opravil. Kot sem dejal prejšnji teden, je to pot, kot drugi, ni bilo na voljo opravil / ni opravil v času, bi verjetno ne bi nikoli stopil nogo razred, čeprav sem delal, pet tednov kasneje premislim, ki jo lahko tudi, in preklopi na ali črko stopenjskim statusa. Vse je v redu. Tako smo pogledal na stvari, kot je ta na Petek, in smo zelo hitro dogaja prehod na nekaj, kar izgleda bolj skrivnosten danes. Vendar je kljub temu Enako temeljna ideja. Kaj je splošni izraz, ki smo uporablja za opis kos sestavljanke da je videti, kot to? Torej, izjavo. In lahko to imenujemo koli število stvari. Vendar bomo to izjavo klic, in izjavo samo pove program - ali v primeru nič, Sprite - nekaj storiti. Pozdravi v tem primeru. Nekaj ​​takega smo namesto tega pozval kaj? Ja, tako logični izraz. Logični izraz je le nekaj da je resničen ali neresničen, in tako Scratch jih želi s to obliko, temveč tudi z vprašajem posredovati Ideja, da je odgovor na to vprašanje je bodisi resničen ali neresničen, da ali ne ena, 1 ali 0. In smo uporabo teh logičnih izrazov Notranjost konstruktov, kot ti, ki smo ti kaj? Torej, stanje ali podružnico. In pogoj vidite tukaj Scratch je malo ogrado za puzzle kos iz te oblike, namen , ki je tako, da lahko povlecite in ga spustite na vrhu in potem narekujejo programa, če je to logično Izraz je res, to storijo niz navodila, ta sklop izjav, pa to storijo drugi niz navodil. In opozarjajo, da lahko Gnezdo te stvari. Čeprav ni veliko sobo Vizualno v tem koščka sestavljanke, Scratch bo rasla in skrči, da ustreza karkoli puzzle kosov povlečete in spustite v tam, tako da lahko dejansko to gnezdo in je tripotni odcepu. Če pa če drugega. In lahko celo preseči, da z gnezda dlje kot je potrebno. Torej, na koncu smo videli, konstrukte, kot so to, znane tudi kot zanka. In to je samo nekaj, kar počne nekaj, kar znova in znova in znova. V tem primeru, se zgodi, da se končna Kolikokrat pa smo tudi videli primer, kjer je število krat prišel iz spremenljivke, tako da lahko spremeni. In smo tudi videli drug blok v celoti imenovano večno blok, ki nam lahko zanke neskončno dolgo. Torej še en konstrukt, ki Scratch 2.0 ima - in tiste, ki ste bolj zadovoljni s predhodnim ozadju že dobro seznanjeni s tem konstrukt - Te stvari smo poklicali kaj? Tako smo poklicali te funkcije, drugače znan kot postopkov. Obstaja rahla pomenska razlika, ampak jih bomo le nekaj funkcij pokličite. In funkcijo, pri nič, je po meri puzzle kos, ki lahko sami ustvarite tako, da imate Novi sestavljanke kos, ki je v ta tako, bi se imenuje kašelj, ki pojavi med vsemi drugimi na voljo puzzle kosov v nič. Čeprav MIT ni izumil to puzzle piece, si. Torej funkcija vam omogoča, da ustvarite novo vedenje, ji dati ime funkcije, in potem rečejo, da se tako izrazim. Res ga uporabljate v programih znova in znova brez čakanja Za nekoga, kot je MIT, po cesti do izumiti novo funkcionalnost iz nič. Sami lahko gradijo te uganke kosov sebe, in jih nato ponovno v svojih programih. In bomo videli ponavljajoče primer tega danes in naprej. Torej, danes smo prehod zdaj v nekaj bolj prikrite. Toda ob koncu dneva, nekaj močnejši in izrazit in bolj Predstavnik poti, da bomo na vseh semestru skozi številne jezikov - da kode ali izvorne kode. In izvorno kodo, se je izkazalo, ni tisto, kar računalnik tipično dejansko deluje. Izvorna koda izgleda nekako takole. Torej, to je, spet, morda najpreprostejši Program lahko napišemo v jezik se imenuje C. Začeli bomo Zbadanje to narazen, preden dolgo, in če to res ne izgleda kot grški za tabo, verjemi mi. V samo enem tednu ali dveh, je čas, te bo vse preveč seznanjeni in dejansko kar predstavlja bolj kompleksnih primerov, s katerimi boste tudi dobili bolj udobno. Ampak ne moreš kar tako to vrsta kode običajno. Moraš ga spremeniti v nekaj te Računalnik sam razume. In tako za to pa potrebujemo nekaj bomo klic prevajalnik. Prevajalnik je program, ki traja izvorna koda, kot da si pravkar videl, kot Vhod, in ga proizvaja ničel in tisti, kot so proizvodnja, sicer znan kot objektni kodi. In to je tiste ničle in enice, da lahko videti prav takšen, da na koncu se razume vaš Mac ali PC-jem. Če ste kdaj slišali za promet izraz Intel Inside, ki so pravkar pomeni, da podjetje, imenovano Intel je izdelalo možgani računalnika - sicer znan kot CPU, centralna procesna enota - in to je samo stvar, ki razume vzorcev ničel in enic. In tako s pretvorbo izvorne kode v objektni kodi skozi ta proces tukaj da bomo storili z nekaj ukazov v samo nekaj, ste ustvarjajo vzorci ničel in enic da imajo zaposleni v podjetju Intel odločila predstavljajo določene izjave. Zdaj pa mi ni čisto vedo, kateri je, ki jih samo pogledal na Te ničle in enice. Večina ljudi v teh dneh ne. Toda nekje je vzorec ničle in enice, ki prikazujejo Izjava tisk. Nekje lahko obstaja drugačna nastavite ničel in enic, ki predstavlja pojem za vedno ali ponovite 10-krat ali celo mijav, če je dejansko program, ki lahko vključujejo nekatere zvoke. Torej na kratko, ljudje so le odločil, podobno kot smo storili za ASCII - za črke abecede prejšnji teden - Ljudje so se odločili, da tudi bolj kompleksne vzorce ničel in enic predstavljajo bolj zapleteno vedenje kot tiskanje ali rekel ali meowing. In tako za danes, in v veliki meri naprej v semestru, bomo vzeli za samoumevno, da je nekdo pogruntal izvedeti, kako narediti, da se preslikave. Vendar pa smo, v skladu s tem idejo layering na vrhu dela ljudi ki so prišli pred nami, bo za odobrena na dejstvo, da se ta dogaja Pod pokrovom. Ampak smo veliko bolj zanima gradbene stvari, ki so bolj zanimivo, na vrhu vsega tega. In tako res, Prvi program smo je zapisal v Scratch je to zelo preprost ena, Hello World. In lahko si misliš to kot Glavni program, ki ureja Scratch je vedenje od prejšnjega petka. Danes bomo začeli prevajati Scratch koščke sestavljanke v Izvorna koda v tem jeziku imenuje C, tako da Izgledalo je ta na Petek, od danes dalje, je Zdaj bo izgledala takole. Res je bolj skrivnosten. To je precej moteča in nekako uma omrtvičenje videti vse narekovajev in podpičja in oklepaje in tako naprej. Ampak, če ste začeli ignorirati vse, kar Ne razumem, in res poglej v bistvu belega besedila na zaslon, zagotovo veste, tako kot jaz, "Zdravo, svet". Da poravna z vijolična izjavo up vrhu, in se izkaže , da je ključna beseda glavna bo line up konceptualno s ko zelena kliknili zastava. Torej, z drugimi besedami, medtem ko je v nič, moramo izvajati ta Hello World programa s tema dvema koščke, v C, bomo njeno izvajanje z njimi Štiri nekoliko kriptirni linije. Toda, kot smo se potopite globlje v to, boste vidimo, da vsak od teh beli znaki na zaslonu dejansko ima nekaj poseben pomen, in večina naših programov se bodo poglej strukturno povsem enako. Tako izjavo, mora biti jasno, kaj izgledala "Say Hello" na svetu Petek se bo začela išče všeč v ponedeljek. printf ("Zdravo, svet"). In tam je nek čuden backslash n, tam je oklepaje, tam je podpičji. Toda na koncu dneva, ključ takeaway danes je, da vsi delamo prevaja stvari s slike tvorijo v besedilni obliki. Torej zanka, ki je izgledal kot to Prejšnji teden se bo zdaj izgledal kaj takega. In mi zavračamo, tako kot v Praske, tam je več načinov doseganje istega cilja. Enako v C. Ne bom vam prikazuje le način narediti stvari, ampak na en način prevesti to večno blokirati v zanko C. Ta tukaj, ponovite 10-krat. To mi je res vrsta zavojev misel, ko ste prvič videli. Ampak za izvajanje, da odslej bomo uporabo za zanke, tako rekoč. In očitno obstaja nekaj sintakse, ki je malo kompleksu z I in enaka in 0, ko pa smo se potopite v to danes naprej, greš samo videti, da to je vse samo delaš nekaj osnovna aritmetika, da nas dobili od 0 na do 9 ali 10, v tem primeru. Nazadnje, s spremenljivkami, se spomnite da je spremenljivka kos skladiščenja. No, kaj smo imeli na levi pa zadnja teden bo pogledati malo kaj takega ta teden. Ampak še enkrat, več o tem, da pridejo. Imeli smo logičnih izrazov, ki prejšnji teden, videti takole. Ta teden naprej, da si bo začeli iskati nekaj takega. In ta je dejansko malo pomiriti. To je pravzaprav skoraj tako enostavno kot zeleni bloki. Ampak tukaj imamo spet nekaj novih sintakso z ampersands, lahko pa Morda veš ker nič, si pravijo A-N-D, očitno v C, smo reči 'znak' znak. Vendar bo vse to postane naravna kmalu. Pogoji. Prejšnji teden je kazalo, da ta na levi strani. Ta teden, na desni strani, je bo videti tako. Ampak še enkrat, ključno takeaway tukaj je, da kot vidite stvari, kot da je na pravica, in še posebej, če manj udobna, to je nekako nad vašimi glava, boste dobili malo preobremenjeni, da Jaz res ne vem, kako sem lahko morda prišli do da iz nič - no pun namenjena - samo zavedati, da je to res enako Ideja, da je verjetno počutil toliko bolj naravna prejšnji teden. In tudi če niste vrgli Problem set 0, upam si reči, boste našli da so koščki sestavljanke dokaj intuitivna, ali vsaj postala tako sčasoma. Torej, da se potopite noter Pojdimo naše roke umazane tukaj z ta prva preprost program. In preprosto je seveda relativna. Če želite to narediti, da bom spremenila zaslone za to napravo sem klicala CS50 aparat. CS50 aparat kos programsko opremo, ki teče v notranjosti Okno na mojem Mac, prav tako pa lahko vodijo je v oknu znotraj vašega računalnika, ki mi omogoča, da imajo enako natančni računalniško okolje, kot vsak TF, kot vsak CA, kot vsak študent v razredu. Ker CS50 Aparat je dobesedno drug operacijski sistem imenovano Linux - posebej Fedora Linux - in smo, osebje, nastavljen Postopek namestitve tega operacijskega sistema na tak način, da ena, tam je malo CS50 logotip srednji, dva, tam je meni meri na dno, in tri, pedagoško, smo poenostavljen uporabniški vmesnik, kot kolikor je mogoče, tako da, ko Prvi škorenj to stvar na svoje Mac ali PC, imate enake okolja, kot vsi ostali, in si imajo vsa orodja, ki jih potrebujete za seveda, ne da ugotoviti izvedeti, kako namestiti vsakega in vsak instrument posebej. Tako to izgleda dokaj kot Mac OS ali Windows. V spodnjem levem kotu, si v bistvu ima zagonski meni razpoloženje, ali meni Apple. In potem imate kar sumimo bo so vaše tri najbolj pogoste ikone. Ena je Chrome. Tam notri brskalnik od aparata. Dve je program, imenovan gedit, ki Na kratko smo videli prejšnji teden, ki je samo grafični urednik. In tri je Terminal Program, ki je črno-bela okna iz minulih dni, ki nam omogoča, da tip več Skrivnosten vendar močnejši ukazi na naša tipkovnico. Tako da sem šel naprej in kliknite na gedit, in prepričani, da je problem set 1, ki se sprosti v petek, bo sprehod skozi vseh teh istih korakih. Opazil, da imam zelo preprost uporabniški vmesnik s treh delov. Na levi imam velik prazen okno imenovano izvorno kodo. To je, če grem za ogled povzetka v nobeni kodo, da pišem. Na desni strani, imam velik Kartica, ki je trenutno shranili, in to je kje je moja koda bo šlo. In na dnu, sem vgrajeni Terminal okno, črna in bela poziv, na katerem sem lahko vnesete ukaze pripravijo in teči moje programe - da je narediti in teči moje programe. Torej, začnimo preprosta. Naj grem gor na File, Save. Jaz grem naprej in gredo v jharvard. Torej naprave, ne glede na to kaj vaše ime, spada v fanta z imenom John Harvard, ki ima jharvard dom Imenik znotraj katerega vse vaše slik bo šel. To je tvoja kopija njegovega računa tako da nismo vsi delitev Enako trdi disk. Moraš iluzijo od John Harvard lastne. Vnaprej, sem dejansko nameščen Dropbox. Aparat je opremljen z polpripravljena Dropbox, tako da gre, če bo kaj narobe med semestrom, če ste nastavili napravo z brezplačno Dropbox račun, bodo vse datoteke se samodejno varnostno kopirajo, tako da lahko zelo hitro obnavlja. In jaz grem v moj Dropbox imenik, in tam se že dogaja da se nekaj drugih stvari tam. Ampak jaz grem naprej in pojdite na File, Save. Jaz grem v jharvard, Dropbox, in tu gor, bom da moj program super preprostih ime, hello.c in nato shranite. Torej imam enak vmesnik zdaj. Edina stvar, ki se je spremenila je zavihek do vrha. Tako da sem zelo hitro dogaja, da ponovno ta program iz drsi pred nekaj trenutki. Torej v main (void), nato pa printf, "Zdravo, svet," je nekoliko skrivnostno Nagibnica n, blizu citiram, zaprite oklepaj, podpičje, in nato Ctrl S, da shranite. In obvestilo kot kaj prahi samo pojavil tu na zgornjem levem kotu. In to ni koristno danes, ampak bo uporabna skozi čas. Ti samo glej, spet, povzetek kodo, ki ste jih napisali. In ker sem napisal nekaj, kar ti Glavno, da je, zakaj beseda glavna izstrelil do tja. Toda za večino del, smo ni treba, da je danes. Vse je v redu, zato trdim, da je to moja Prvi program napisan v programiranju jezik se imenuje C. Vemo, od petka da je tisto, kar ta stvar bo naredil Zelo uninterestingly ko sem teči to je samo prikaz - z drugimi besedami, tiskanje z računalnikom Znanstvenik bi rekli - zdravo svet na zaslonu. Torej, da bi to naredili, boste opazili, da imam iti dol na mojo terminal okno, zdaj pa imam utripa hitro. Toda to je sedaj različica tipkovnico moj John Harvard domači imenik. To je tipkovnica način, prek katerega krmariti svoj trdi disk. Tako da ne morem dejansko tipa kot sem jaz Prejšnji teden se pozdravi, ker je to reči nobenega pravila, da bi cilj - nekaj je narobe. Ne razumem kaj to sporočilo sredstvo, ampak to je zato, ker je privzeto, kadar je to črno-belo okno odprl, sem znotraj John Harvard domači imenik. Ampak kje sem rešiti ta program? V moji mapi Dropbox. Zdaj so vsi odraščali računalnikov, kjer boste samo dvojno kliknite na ikono mape je, da odpira, in voila. To je, če datoteka z imenom hello.c bi bilo. Torej, v bistvu, kaj je to. Dovolite mi, da gredo naprej in čim Gedit tako, kot bi na Windows ali Mac OS. Dovolite mi, da gre v dom Mapa v zgornjem levem kotu. Jaz bom tukaj videli kup map. Tukaj je moja mapa Dropbox. Checkmarks pomeni, da so se sinhronizirajo. In tu je nekaj stvari tukaj, ampak obvestilo, da je hello.c res tam. In tako v Mac OS ali Windows, običajno Želel dvokliknite, da se odpre v ne glede na program, in sem na dobri poti. Toda zdaj, vsaj začne danes, smo treba narediti korak nazaj, samo da vam nekaj osnovnih orodij za vaš Komplet za orodje, s katerim naj storijo več močne stvari pred dolgo. Torej, na ta poziv, moram narediti enakovredno dvojnim klikom Dropbox mapo. In za to, da bom na vrsto CD-ja za spremenite imenik, Dropbox, vnesite. In zdaj opazili oklepaje na mojem tako imenovane hitre zdaj pravi, da sem v Tilda, malo vijugasto Simbol na zgornjem levem večina klaviature, / Dropbox. To je le okrajšava za zapis pravi človek, sedaj ste v notranjosti Dropbox mapo, tako, kot da si imel dvojno kliknili na njej. Torej, zdaj, če grem naprej in napišete make Pozdravljeni, vnesite vidim zelo skrivnosten ukaz, ne pa sporočilo o napaki, zdi se, nato drugo utripa hitro. In če se spomnite, kdaj tako hitro v petek, smo to naredili. . / Zdravo. Kar boste videli, je rezultat za moje teče ta program, ali v Mac OS in PC pogoji, če sem ponavadi dvakrat kliknite na programu - v app. Program ali. exe, da se odpre okno in teče. Tipkanje. / Zdravo, je tako kot dvojna klikom na program, da ga zaženete, vendar z mojo tipkovnico. Vstopiti, zdravo svet. In to je to. Torej, kaj je to draži narazen, tako da ne počutim preveč všeč grška. Torej. / Pomeni kaj? Vsakdo, ki je kdaj navigirali tipkovnico okolju, kot je ta, kaj je dot nanaša? Trenutni imenik. Torej trenutni imenik je samo sinonim za mapo. Torej z besedami dot poševnica, sem rekel, poglej za program, imenovan zdravo v trenutni imenik - v trenutni mapi. Z drugimi besedami, moj mapo Nabiralnik. In to je razlog, zakaj udarcev Vpišite zatem dejansko teče ta program. Če bom zdaj Tip LS, opazil, da vidim vse, kar je v moji mapi Dropbox. Kako Started.pdf, ki Dropbox vam daje brezplačno, mojih fotografij imenik, javni imenik, Neshranjen Dokument 1, ki sem ga pomotoma a pred nekaj trenutki, Datoteka foo.c, kar sem naredila prej danes, in nato dve vrstici - hello.c in zdravo. Hello.c je program sem napisal z gedit, in kaj je zdravo zeleno? Pozdravljeni v zeleni barvi, je izvršljiv. Z drugimi besedami, ko sem tekel ta ukaz pred nekaj trenutki - Naj roll nazaj v čas - ko sem tekel, da hello, da je srednji korak tukaj. In to je hello.c kot vhod - AKA izvorno kodo - in se proizvaja Datoteka se imenuje zdravo kot proizvodnja, ki Vsebuje vse od teh ničel in enic. In to je, zakaj na koncu ne morem dejansko vozijo z ukazom. / zdravo. Zaradi Intel Inside moj operacijski sistem Linux, odpira tiste ničle in tisti, ki jih napaja možgani mojem računalniku - CPU - in da CPU ve, oh, tukaj je vzorec ničel in enic, ki pravi tiskanje naslednjo stvar na zaslonu. Kaj je naslednja stvar? Citiraj navednicah, "zdravo svet". Vse je v redu, tako da hitro povzetek nekaterih ti ukazi, tako da lahko začnemo jih vzeli za samoumevno. Dovolite mi, da preskočite , kjer smo končali. In boste spomnim, da smo imeli CD na hrbtu končal pred nekaj trenutki. To so, upam si reči, za Današnje namene - Mogoče je ta teden - le ukaze smo morda morali vnesti v ukazni poziv poleg narediti. Torej CD stal za kaj? Spremenite imenik. To je samo ekvivalent dvojni klikom na mapo. In kot prahi, če dobiš izgubila vse znotraj vašega naprave, tako da Dropbox - Želim, da se vrnem k moji jharvard imenik - ko ste v dvomih, CD, vnesite z nobeno drugo besede, in to šele zadrge si nazaj , kjer ste začeli, ki je lepo bližnjico. V redu, tako da zdaj drugi ukazi. LS. Sem tipkal, da je pred nekaj trenutki. Kaj menite LS pomeni? Torej, seznam, kajne? Nazaj na dan, ko so prihajali ljudje s temi ukazi, ki jih so poskušali biti učinkoviti in ne tip iz L-I-S-T Enter, da odločil LS. To je v redu. Sliši se kot dovolj seznama. Reciva tipa LS začne, in da seznam datotek ali map v mojem trenutna mapa. mkdir, si verjetno lahko uganiti. Ustvariti imenika. Torej ne gre za neke meni File in izberite Nova mapa v tem okolju. Namesto, vnesete ukaz mkdir prostor in nato ime mape , ki ga želite ustvariti, in bo narejen. rm, si verjetno lahko uganiti. Odstranjevanje ali brisanje. Torej, če želite izbrisati datoteko, boste glej na problem niz kako To lahko storimo. In rmdir, odstranitev imenika. Torej, še enkrat, jaz sem se nagibajo k letenje skozi nekatere teh informacij, enega, ker oni ne vse, da zabavno preživeti čas, a dva, vam bomo podali v veliko podrobneje koli Problem tečajnega so zastavljeni, zlasti standardne različice, vse od korakov da boste morda morali to vrsto da boste dobili več in več udoben s temi stvarmi. Ampak zdaj mi draži narazen še ena stvar. Ko smo vnesli, da zdravo pred nekaj trenutki, smo videli Grobni zaporedje ukazov. Videli smo, še enkrat, da zdravo. OK, kaj je to. Ravno sem naredil napako, vendar [Neslišno] zdaj priznati, da sem bil na tem, da in to namenoma. Kaj sem naredil narobe šele zdaj? Ja, tako da nisem v Dropbox imenik, saj je pred nekaj trenutki sem tipkal CD in šele zadeti nastopiti. To me povečani nazaj, kjer sem začel, ki ni kje je moja slika je, tako da sem res morate storiti, CD Dropbox vstop, in zdaj ne morem storiti rm Pozdravljeni vnesite odstranite redno datoteko zdravo. Ne vem, zakaj je tako skrivnosten. To samo pomeni, da ste prepričani, želite izbrisati zdravo? Lahko vnesete y za odgovor pritrdilen, vnesite, in zdaj ga ni več. In zdaj, če mi napišete make Pozdravljeni še enkrat, to je bo ponovno moj predmetne kode, poustvariti tistih ničel in enic. Toda kaj je posel s To zelo dolgo ukaz? No, bomo to draži narazen Pred dolgo, vendar se - Povedal sem malo belo laž pred - ni prevajalnik. Da je program, ki samodejno Številke, kako zagnati prevajalnik za vas. Torej ukaz, da si res morajo biti teče za pretvorbo hello.c v zdravo dejansko izgleda malo več, kot je ta. In Bog ne daj, da imamo dejansko ne pozabite, da nikoli tip, ki cele zaporedje ukazov ven. Namen bi v življenju je ne pozabite, da stopnjo zahtevnosti za nas in avtomatizacijo, kar bi sicer biti zelo utrujajoča korakov. Vendar sem lahko približno to. Torej po tej mali goljufija stanja tukaj, sem lahko približno kaj to ukaz početje, ki ga preprosto vnesete Zvoka, ki je Ime prevajalnik bomo uporabo tega semestra. Če je kdo od vas kdaj naredil iOS Razvoj za iPhone ali iPad, Jek je program, ki ste jo uporabili v Xcode, da bo vaše aplikacije. Jek, čeprav je samo še en program, čigar ime lahko vnesete v ukazno hitro in z uvajanjem tega zdaj, Lahko predstavim nekaj, kar je Malo zastopnik ukazov, ki prihajajo. Torej, kaj mi to storiti ročno. Torej rm zdravo, in zdaj opazili v primeru Sem, tako kot preverjanje sanity - . / Hello, kaj misliš, da sem bi videli, če to naredim? Nekatere vrste napake. No takšno datoteko imenik. Torej, ta je pravzaprav zelo neposredna. Torej, zdaj mi počistite zaslon. Nadzor S samo izklopi zaslon odstraniti nekaj motečih dejavnikov. In zdaj bom ročno Tip Jek-o zdravo hello.c. Torej, kaj se gre, da naredim? Natanko isto stvar, da bi naredil nas, vendar nisem vrgel proč nekaj odvečnih besed. Jek je program, ki bo vzemite c. datoteke kot vhod in proizvodnjo ničle in enice kot izhod. Ampak-o odslej pokličite stikalo ali zastave. To je samo techie žargonu za povedati to je beseda, ki jo vnesete na poziv ki kakorkoli vpliva na vedenje programa, ki ga vodiš. Torej, ali kdo želel ugibati kaj-o sporoča? Izhod. To je samo nekdo odločil-o pomeni izhodna datoteka z imenom zdravo in se kot vhod karkoli zadnja beseda poziv je, hello.c, tako da če sem udaril Vpišite zdaj, nič ne zgodi. In čudno dovolj, v tem svetu, v programiranje, če se nič ne zgodi, to je verjetno dobra stvar ker ni napaka Sporočilo na zaslonu. Pozdravljeni, Enter. Moj program je zdaj teče. Ampak lahko naredim neumne male stvari, kot so to. Jek-o, hihihi, hello.c, vnesti, in zdaj imam enake Program z imenom hihihi. To se obnaša enako, vendar ime je drugačna. Torej je to samo pomeni, da če hočeš vplivati ​​na vedenje Program, bomo bolj vidi stvari, imenovane argumenti v ukazni vrstici. To je linija. Tipkate ukaze. Ergo, v ukazni vrstici. In argumenti v ukazni vrstici so le besede ali majhne koščke sintakse tem nekako vplivajo na obnašanje Programi, ki smo jih izvajajo. Vse je v redu, da je morda najbolj dolgočasno Program lahko napišemo in videti. Poglejmo zdaj nekaj storiti bolj zanimivo. Dovolite mi, da gredo naprej in ustvariti novo datoteko. Jaz grem naprej in shranite to Domači imenik John Harvard, kot je, recimo, da custom.c, da je Malo programa po meri. Grem, da povečate na moji vrhu zavihki tukaj in začeti znova. Vključujejo standardno stdio.h. Več o tem pa v trenutku. int main (void), več o tem da v trenutku. printf ("hello, David"). Veliko bolj zanimivo, kajne? Torej, zdaj, če - ne zaradi mojega imena, samo zato, ker je drugačen - narediti po meri vstopiti. Po meri zdravo, David. Toda tudi to, kar je prav laž. Ta program lahko tudi imenuje david.c, ker to ni po meri vedenje sploh. Res bi rad program, ki zahteva uporabnik za svoje ime. Torej, kako naj to naredim? No, naj se pomaknite navzgor tukaj. In preden sem uporabo izjavo, v Praske, preden sem uporabo printf, sicer znan kot funkcijo, naj me najprej vprašati uporabnik kaj vhoda. Torej za to, da moram naredite nekaj stvari. Ena, rabim prostor za shranjevanje uporabnika naštejemo ko sem ga vprašal, ali ji za to. Kaj konstrukt moram verjetno uporabljate shraniti vrednost takega? Spremenljivka. Torej za razliko od nič, če si dobil lepo puzzle piece, tukaj moramo uporabiti, seveda, besede izraziti sebe. In odslej, kadarkoli želite beseda ali fraza, načrtovanja, bomo poklical, da niz. Torej niz je beseda ali fraza. To je zaporedje nič ali več liki, bolj formalno. In če hočeš takšno spremenljivko obstajajo, moraš reči, dajte mi eno. In način, s katerim to, da je pravijo String s podpičjem, kjer je mogoče biti karkoli želite. Dejansko je je malo underwhelming. Dovolite mi, da gredo naprej in več jasno je ime poklicati. Daj mi niz z imenom ime. Toda zdaj, kaj je oseba, ki je Ime privzeto? Torej, če človek ne tipa nič in, seveda, tam se dogaja da ni vrednost imena. In izkazalo se je v C, če ne bi spremenljivka vrednost, da se bo imajo smeti vrednost. Morda imate nekaj naključnih ničle in tisti, tako da greš samo da vidim smeti, resnično, se na zaslonu Če boste poskušali prikazati. Vendar pa lahko to popravimo, da z besedami, dejansko, trgovina znotraj imena na po vrednosti. Tako boste shranjevanje vrednosti v spremenljivkah če imate ime spremenljivke na levo, moraš nekako dati tisto, kar želite shraniti v njem na desni strani, in sintaksa, da se dogaja da je, kot sledi. Nismo videli že prej, vendar se o veri, za trenutek, da Obstaja še eno izjavo, v svetu da bom funkcije spet poklical, in je ta funkcija imenovano dobili niz. In to dobesedno. To nekako dobi zaporedje znakov od ljudi in nato naredi nekaj z njo. In to ne izgledal Grobni sintakso. Običajno, če ste z uporabo enakih znakov - ste v svetu, pravijo, algebra, in ste dejansko Mnenja x enak 1. Tukaj ne bomo pravi, da Ime je enako dobili niz. Mi praviš trgovino v imenu kaj je še na desni strani tega enačaj. Enačaj predstavlja Operater naloga. To je sintaksa, ki pravi, da mu kaj je na stranska desno roko notri, kaj je na levi strani. Torej se niz je nov del funkcionalnost, ki ne samo, da nekaj - vpraša uporabnika za vrvico - to tudi vrne, če se tako izrazim. Torej, da vidimo, kaj se dogaja da se zgodi tukaj. Jaz grem naprej zdaj in pomanjšanje, in jaz bom dobil nekaj Napake na moj poziv. Jaz grem s tipom narediti po meri, vnesite. Wow. Cel kup napak. Vse je v redu, tako da je to neke vrste velika, vsekakor na prvi, ampak Izkazalo se je vse to zelo sicer kriptirni sporočil o napakah so se nanaša na nekatere vzorce, ki bomo začeli videti v daljšem časovnem obdobju. Tako da to bom odtrgal dol, ker je prvi. Uporabite črno identifikator niza. To samo pomeni, da gedit, ali Jek, v tem primeru, ne ve kaj mislim s niza. In to zato, ker v C programskem jezik, je dejansko Ne spremenljivka tipa niza. C ne ve, da obstajajo strune. Toda mi, CS50 osebje, storiti. In tako vnaprej razredu, smo ustvaril datoteko z imenom CS50.h. In znotraj tega spisa - in Več o skladnji, da pridejo - znotraj te datoteke je definicija tega, kar sem pravkar opredeljen verbalno kot niz. Tako preprosto s sklenitvijo tega eno vrstico kode v mojem programu, zdaj sem poučevanje gedit in klicanje in Jek vse po vrsti, kaj je niz. Ne vem še, kako. V nekaj tednih bomo lupine nazaj, da je plast. Ampak za zdaj, vedo, da je to uči prevajalnik kaj Niz dejansko je. Torej, zdaj mi jasno, moja terminal tukaj. Dovolite mi, da ponovno zagnati narediti po meri, in jaz rešiti vseh teh težav. Torej tudi to bo je ponavljajoča se tema. Napisal sem samo 9 vrstic programa je, in vendar sem imel 18 vrstic napak. To je nekako zastrašujoče. Ampak zavedati, da pogosto kaskade, kot da je ena majhna napaka sproži zmedenost za prevajalnik, in je videti veliko slabše kot je. Torej, zdaj bo prebrisan opazovalec vedeti da grem niz iz uporabnik, vendar nisem dejansko kaj delaš z njim? Nisem pravzaprav počne kaj z njim. Torej, če sem dejansko teči znova po meri, to se dogaja samo sedeti tam. Kaj se dogaja? Moj program se zdi, da je zaljubljen v kaj linija, bi rekli? Torej je dejansko obtičal na liniji 7. In smo nismo videli že prej, vendar on line 7, tam je, spet, to Izjava, dobil niz. In to ne, kaj piše. To je zdaj čaka na človeka da sprejme niz. To je popolnoma unintuitive z mano, človek, ker sem ni povedal, kaj naj naredim. Ampak naj gredo naprej v veri in Naj se pretvarjamo, da je Rob. Enter. To ni program, sem nameraval. Torej imamo prvi blog. Ampak poskusimo utemeljila z zakaj je temu tako. Prvič, dovolite mi najprej popravili to težavo. Naj dodam črto tukaj, ki pravi: printf, kako ti je ime? Reciva storiti tesno ponudbo, blizu oklepajev. Zdaj pa me ponovno zagnali. Problem. Jaz ne vidim tega. Prav. Nisem ga prevedem. Torej, v jeziku, kot je C, ker ste spremenite izvorno kodo ne pomeni, da ste spremenili svoj predmetne kode za ustvarjanje novega predmeta kodo nove ničle in enice. Boste morali ponovno prevesti. Če bi sedaj ponovno zagnati po meri, vnesite, ah, malo bolj jasno. Moje ime je Rob. Še vedno buggy. In sem trdijo, da je nekaj hroščev zdaj. To samo izgleda grozno, odkrito povedano. Všeč, minimalno, bi moral imeti prostor tam, ali premaknite kazalec na novi liniji. In dejansko, nova linija. To je nekako ključni stavek tukaj, da smo videli, vendar ni opredeljen. Način, na katerega boste dobili besedilo , da se premaknete na naslednjo vrstico, ne naredite tega. To povzroča zmedo na računalnik. To izgleda kot dveh ločenih prog kode, ki nista je popolnoma pravilna. Namesto tega morali biti jasnejši in pravijo, daj mi novo linijo, ki smo jo predstavljajo vc z backslash n. Torej je nekaj takih znakov. Nagibnica n bo popraviti to estetiko. Naj ti prevedem program. Dovolite mi, da ponovno zagnati svoj program. To izgleda bolje. To je še vedno precej primitivna, vendar je še vedno buggy. Torej je eden - tudi če ste nikoli programirana prej, lahko verjetno ugibati , zakaj je ta program še vedno pomanjkljiv. Kaj moram storiti, da Nisem še naredil? Torej imam dejansko storiti nekaj z imenom. Tako kot v nič, morda ste dejansko določite spremenljivke, kot so N ali taktiko kot smo zadnja teden - vrednost. Ampak, če ne boste storili ničesar, s je, nič ne bo zgodilo. Vse je v redu, tako da popraviti. Dovolite mi, da vnesete svojo spremenljivko tam, in pusti me tukaj. Naj ti prevedem, mi re-run, Rob. Zdaj sem samo idiot, kajne? Tako da to ni res dobili me še naprej. Toda to je popolnoma naravno instinkt, sem trdijo, kajne? Če je spremenljivka imenuje ime, in sem želim, da bi šel tja, zakaj ne sem tip je tam? No, seveda, imamo razlikovati zdaj med tem, kar je niz? Opazili, da citiram konec citata Tukaj, zdravo ime? To je dejansko sam niz. To je težko kodirane. To ni od človeka. To je od mene, prvotni programer, vendar je še vedno niz. Torej, če ste dobesedno pisati N-A-m-E v notranjosti v nizu, kar se dogaja, da dobili natisnjen? No, N-M-E. Mi namesto tega morali da printf povem, ne natisnejo ven dobesedno poimenovati. Natisnite vrednost imenom. In za to, da naredite naslednje. In to je samo človek konvencije. Mi namesto pravijo% s, in da stojala za niz. In potem na koncu mojih bližnjih narekovajih, Bom dal vejico in mimo drugega argumenta v tej izjavi. Grem vnesite ime tam. Torej sedaj opazili, imamo nekoliko Nova skladnja. Še vedno imamo dve oklepaje, in odslej naj povem, da stvari oklepaju predstavlja argumenti v funkciji - vložki, ki so nekako gredo vplivati ​​na njegovo vedenje. Torej po tej logiki, koliko argumentov printf ne zdi, da je pri čemer v tem trenutku? Tako se zdi, da se ob dveh, in da je dejansko pomenilo z vejico tukaj. Torej je to en argument med narekovaje. Čeprav ima vejico v njej, vse, kar je v narekovajih, kar pomeni, to je en dolg niz. Vejica, ime spremenljivke. Torej, zdaj mi pomanjšati. Dovolite mi, da ponovno zagnati. Rob. Prekleto, kaj sem naredil narobe? Vse je v redu, tako da boste morali ponovno prevesti. Torej še enkrat, enostavno napak, da bi že spet in spet naprej. Torej, zdaj znova zagnati po meri, Rob, enter in voila. Zdaj imamo program po meri. Torej sem zdaj program, ki uporabo nekaj značilnosti , ki jih je vredno omeniti. Ena, sem z CS50.h, drugače znan kot knjižnice CS50. In znotraj knjižnice CS50 so funkcije, ki jih drugi ljudje pisali - sicer osebje - ki ga boste uporabljali, in dobili Niz je eden izmed njih. Notranjost 2. vrstici je stdio.h, in zakaj je to tam? Ugibati. Kar obstaja znotraj Standard IO staršev? Printf. Torej printf, ga ne vidim nikjer drugje na zaslonu. To mora priti z računalnik nekako. Od kod prihaja? To je notranjost - to je izjavil: tako rekoč znotraj datoteka z imenom stdio.h. Zdaj, za te stvari, se bomo vrnili na koncu, ker je malo moteča za zdaj. To se nanaša na našo vrsto vračanja. To se nanaša na trditev. Ampak za danes, smo osredotočeni samo tukaj, na teh progah. Torej niz imena, samo da Rekapitulacija, kaj je to za mene? Torej je razglasila spremenljivko tipa niza. Tako je bilo mišljeno, da se za besedami, ne za številke. Tako kot prahi, če sem rad da je to število, bi rekel, nekaj podobnega notr. Če bi želel biti s plavajočo vejico vrednost, nekaj z decimalno vejico, Rekel bi, da plovec. Ampak za danes, sem pravkar rekel niz. In sem dal to spremenljivko naziv imena, vendar sem lahko so jo imenovali ničesar. V bistvu prvotno, ga imenujemo I S. To tukaj je le še ena izjava. Koliko argumentov je to Izjava ob? Torej to je samo ob eno, in da je zgolj estetski detajl prikazuje nekaj na zaslon z mano. Kaj je ta linija 8 početje v smislu navadnega je? To je pridobivanje vrednosti iz Uporabnik - sicer niz - in kaj počne z njo? To je v bistvu ga izroči tip na levi strani enak predznak, tako da v tem primeru Ime spremenljivke lahko dejansko shranite. In potem je še en printf primerek funkcije. In smo rekli, da pokličete funkcijo. Če želite uporabiti funkcijo je poklicati funkcijo. Ta stvar navidezno traja dva argumenta. Tale, vejica, tole. Tale je sama le niz , ki vsebuje ogrado. % S sredstvi dal še eno vrvico tukaj. In tako z vzpostavitvijo ime po vejica, da je vstavljanje ta stvar zame. Da bom lahko druge stvari še vedno. Dovolite mi, da gredo naprej in zdaj narediti nekaj neumno program, ampak mi izbrisati to, in mi ustvari zanko. Medtem ko je res. Simbol res je očitno vedno tekoč, da bi bilo res. Torej, kakšne zanke sem indukcijo s pisanjem črto, kot je ta? Tako neskončno zanko, kajne? Samo ob res. Tukaj nikakor ne morem spremeniti besedo Res, da je kaj drugega, tako da je to šele tekoč teči večno. Torej, če ste že kdaj imeli program V vašem Mac ali PC, ki se zdi da so zaprli, ali pa to počne kaj in kaj, in si ne morejo dobiti stvar, da se je odpovedal, če vas zagnati računalnik ali potegnite navzgor Task Manager ali podobno, tukaj je tak primer. Lahko rečem: "Jaz sem vozičkom programa." Zapri citiram, zaprite oklepaj, podpičje. Torej še enkrat, opazili vzorce. Čeprav nekatere naše sintakse je nov, ključne besede, medtem ko ključne besede resnične, Opažam, imajo enake nekako zavite oklepaje. Imam podpičjem in oklepaje. Torej, zdaj gremo naprej in pripravijo to. Narediti po meri, po meri. Torej, na tej točki, da vam ni treba znova zagnati napravo, v redu? Tako enostavno Lekcija tukaj je, s dva prsta, Control C, bomo nehal ta program. Vendar pa lahko vidite točno, zakaj je ta stvar je vedno znova ponavlja. Jaz lahko naredim nekaj, malo bolj zapleten, kot teaser. Jaz grem naprej in povem naslednje. Za int, ki je celo število, i samo generično ime, ki ga dajemo najbolj spremenljivke v programiranju, ko ste samo štetje, enaka 0. Dovolite mi, da gredo naprej in reči, medtem ko je i, recimo, manj kot 100, i plus plus. Bomo podprli te sintakse, vendar to samo pomeni, spet in spet prirastek i. In kaj hočem narediti tukaj? Printf, "da se lahko zanesem na i." To je buggy programa. Kaj sem pravzaprav nameravam tu? Odstotkov ne govorite, ampak si ne bi uganiti to. % D je decimalno število. Vejica i. Dovolite mi, da roll nazaj. Dovolite mi, da sedaj prevesti z make. Naj se sedaj ponovi z običaji. Lahko računate res prekleto hitro, ko Pišem program, kot je ta. Zdaj pa naredimo nekaj za malo nenamerno. Kako pa kaj je to, ko sem je večje ali enako 0. Kaj se bo to povzroči? Torej logično, to ni tako pametno, ker zdaj, če sem to ponovi, pripovedujejo, Sedaj lahko računate zelo, zelo visoka. Na žalost, približno tako visoka kot sem lahko Število je 4 milijarde evrov, tako da to se dogaja da bo trajalo nekaj časa. Torej, zakaj ne pustimo, da je to naše Alpinista, ko je obljubil, da se na Sreda, bomo videli, če ta program se izvaja. Dva, bomo uvesti kako si sami napišete svoje funkcije tako, da zelo hitro, da bomo do srede, kot smo Prehod iz nič v C, začnite pisanje vedno bolj zapletena programi, ki veliko naredijo, veliko več kot to. Vam bomo videli potem. [APLAVZ] SPEAKER 1: Na naslednjem CS50, Puzzle Dan je bil uspešen.