DAVID Malan: Ovo je CS50, a to je početak jednog tjedna. I ono što smo mislili da ćemo učiniti je povući Zavjesa od uređaja koje mnogi od vas vjerojatno su šetali pored sada godinama, ali možda nikad dosta zna što je to. Dakle, ovaj uređaj će vjerojatno izgledati upoznati se većina vas do sada. [Video reprodukciju] -Matematičkih i trijumf mehaničkih vještina se ova velika nova automatski kalkulator, na Sveučilište Harvard. Zamršene problemi u matematici staviti kroz stroj u kodiranom obliku na Traka točno rješavaju u minutu djelić vremena potrebnog za ljudska kalkulacija. Dizajniran kako bi ubrzali sve oblike matematička i znanstvena istraživanja, div mehanički mozak raditi za SAD Mornarica do kraja rata. [END video reprodukciju] DAVID Malan: Pa to je ono što vidite u Science Center, što je, gdje Stroj koji se sada nalaze. Vi zapravo vide samo dio njega. Samo dio je trenutno na zaslonu, te da je uređaj nazvan Mark sam, i to je u biti stvarno ogroman kalkulator. To je naslijedio od strane Mark II, a to je sa Mark II koji smo zapravo dobiti malo leksikon. Ovo je prvi zabilježeni primjerak nešto što si to tek postati sve previše upoznat s tijekom toku semestra - Naime, bug. Tako se ispostavilo u jednom trenutku Mark II uređaj ne funkcionira ispravno, a nakon bliže inspekcije, Tu je doista bug - moljac - da moljac - unutra. A otkad smo se spominju greške u programima kao što su greške. Dakle, više o tome doći. Govoreći o video, kao i, ako već niste, znate da je CS50 očito snimljena. Predavanja su obično ići gore odmah nakon klasa u vrsta pre-release neuređeni formatu, a zatim dan ili dva kasnije, postavili smo veću razlučivost i kvalitetnije verzije. Sjetite Vanessu, koji je imao Bogatstvo igrati s Google Glass, koje sam se sjetio naplatiti ovaj put. Dakle, ako želite da se nakon nastave i igrati, oni bi trebali raditi i danas. A ako želite vidjeti što Vanessa vidio neki dan, ono što ćete vidjeti ovdje - neka mi podići volumen ovdje na moj laptop. [Video reprodukciju] -Pa neka mi red je ovo gore. U redu. Dakle dirati to. U redu. OK, staklo. Snimanje videa. U redu. Vanessa? [END video reprodukciju] DAVID Malan: U redu, tako da razlog da to nije posao za većinu od vas, na Kraj klase je zato što sam nastavila za snimanje sat koji Snimka pokazuje na sebi nakon što Stavio je naočale dolje. Tako danas, ja ću ih ostaviti off, ali hvala da Vanessom po tome što dobar sport. U međuvremenu, nekoliko najavama prije nego što smo se kretati danas. Tako je jedan, CS50 ima tradiciju radi ono što možemo pokušati učiniti vrlo Veliki klase osjećam manjim. I prema tom cilju, najčešće svakog petka, okupili smo se u restoranu u trgu, Vatra i led, sa 30 ili 40 od vaših kolega, ja osobno, neki od nastavno osoblje, a mi samo imaju vrlo casual ručak. Mi često pozvati prijatelje iz industrije, bivših studenata u klasi, bivših studenata faksu, zapravo samo razgovarati jedni drugi se, razgovaraju o životu poslije faksu, život na faksu, i sviđa. Dakle, ako želite sudjelovati u ovom Prvi takav ručak ovaj petak, na 13:15, voditeljica na koji URL-u nekom trenutku. Prostor je ograničen, tako da ćemo napraviti prvi dođe-prvi služiti. No, mi ćemo to učiniti opet na ponavljajući Osnova, tako da ne brinite ako ne to učiniti u ovoj prvoj seriji. Sada, u terminima resursa uvjetom curricularly slijedom, postoji cijeli pobio, a ako niste zaustavio tijek web stranice već, posebice, u predavanja, vidjet ćete da je sve nismo prošli tjedan je tu, i u videu i neku o elektroničkom obliku. No, dalje od videa, vidjet ćete da sada postoji cijeli tekst transkripti, primjerice, svakog predavanja. Dakle, ako mi zapravo vratiti na zaslon ovdje s Vanessom, i navigaciju u donjem kutu ekrana, vidjet ćete da je zapravo, ne za Petak predavanje, ali ako ćemo se vratiti u Srijeda, budući da se ova značajka nekoliko dana, vidjet ćete da možete zapravo povucite prema gore, za bolje ili za još gore, svaka riječ koju sam ili volonter na pozornici rekao. I više od toga. Vi zapravo možete ga potražiti, možete kliknite na bilo koji od tih rečenica, skakati do te točke u videu, sve prema i kraj izrade materijala svi su više plovna. No, ako ne želite slijediti ga u takvim detaljima, vidjet ćete, za Primjerice, ovaj mali Izbornik ovdje za 1,5 x brzina, 2x brzina, ili ja sam već f Govorimo prebrz za vas, 0.75x brzine. Dakle ostvariti sve što je Dostupno tu za vas. Ali izvan toga, za predavanja, shvatite Tako ćemo i mi bi ove resurse dostupni kao dobro. Slajdovi, primjer koda, sve što sam učiniti na pozornici ili u unaprijed razredu, ćemo objaviti tamo, tako da možete igrati zajedno kod kuće ili u Sanders. No, što smo također mislili da ćemo to učiniti godine po prvi put je Vam pružiti rješenje korak po korak od tih primjera. Sve, kao što sam odrazilo i na Vrijednost CS50 predavanja, ja sam počeo na pitanje koliko je to korisno je za vi sjediti tamo, za mene stajati ovdje, a mi je govoriti na vas, osobito kao materijal, primjeri, dobili složeniji. Jer uvijek, nakon što su neki broj minute, netko će iz zone, a onda ste nedostaje neki ključni uvid u neke Primjer, a onda si u biti otišao za preostali dio klase, što nije najbolje koristiti Vaše vrijeme, odnosno, zapravo, naša zajedno kao razred. I ono što smo mislili da ćemo pokušati učiniti, pogotovo za neke od više složeni primjeri da nisam mogao učiniti pravde u razredu, da ne bismo imaju vremena za u razredu, ili možda Samo zoni tijekom, mi ćemo je proizvesti Niz rješenje korak po korak za njih primjeri, tako da ako idete u, za Primjerice, prošlog petka je video-isječaka ovdje u primjerima, vidjet ćete da je za petak, tu je sada to link na rješenje korak po korak. A od tih formata će se s vremenom promijeniti. Za sada, mi smo pomoću jednostavne YouTube playlistu. No, ono što sam učinio s našim produkcijskom timu nakon toga je kroz svaki a svaki od tih primjera opet, nadamo ističući mnogo veći Jasnoća je točno ono što su Zaključci mogao biti ili bi trebao biti jedni od. Tako da ćete, primjerice, od prošle tjedna, sve ispočetka primjera smo prošli su učinili linearno u tom modu. Dakle, slobodno se uključe ili ne sudjelovati u ovom materijalu. Stvarno tema ovog određeni tečaj je da postoji vjerojatno više na putu od izvora od tebe eventualno mogao apsorbirati više tijek semestra. Ali to je namjerno. To je značilo da se, tako da su pojedini studenti mogu samostalno odaberite temelji se na vašem stilu učenja. Dakle, ako predavanja raditi za vas, lijepo. Ako su raditi za vas, lijepo. Ako Walkthroughs raditi za bolje, super. To će stvarno biti na vama je da odaberete Koji su resursi raditi najbolje za vas. Konačno, zahvaljujući pitomac Naravno, mi također pružaju kanonska set Scribe bilješke. Dakle, umjesto da se ti dečki glave dolje na predavanjima šaranja dolje stvari koje dolaze u razredu, mi, osoblje, pružit će vam ono što smo osjećam se kanonska skup bilješkama Vas osloboditi tog ometanja, tako da je Ako ste ovdje i bavi, vi ste doista bavi s onim što se događa, sa su vaši kolege rade gore na faza, s tim što je na zaslonu, a ne samo zapisivao riječi do riječi ono što se dogodilo da je rekao. Dakle ostvariti sve one resurse su vam na raspolaganju. Sekcije, u odgovoru na jednom FAQ, će početi u srijedu. Mi u biti pričekati nakon što je većina drugi razredi su učinili tako da možemo smanjili broj promjena da trebamo učiniti. Ali dolaze ovaj vikend, počevši Nedjelja, biti će jedno vrijeme instanca ono što mi zovemo super dijelove. To će biti sniman za one koji ne mogu prisustvuju, i bitno, Naravno je glava će nas provesti kroz neke u C dijelu, naravno, prema jednom kraju skupa jednog problema, što će biti naš prvi temelji C Problem set. I to će biti samo dodatni dijelovi u iščekivanju onoga što će se postala ponavljajući dijelovi doveli by tečaja je 50 plus učeći momci tjedno. Nedjeljom ili ponedjeljkom ili utorkom, mi imati 90 minute sekcije u vrlo tradicionalnom smislu, koji će biti mogućnosti za ruke na i više intimna pregled Naravno materijalno. Bez dodatnih teškoća, neka mi uvesti toku je glava, koji su iza kulisa s mene, čineći sve dogoditi. Ako su oni danas ovdje mogli pridružiti me, Rob i Lauren i Josip i Lucas, sve od kojih su s Tečaj za neko vrijeme. RJ je treći takav član našeg tima. On ne može biti ovdje danas, ali on me pitao pokazati sliku o njemu. Nisam siguran da je on to htio jedan, ali je on. I neka mi samo dopustiti tim reći Pozdrav i predstave, tako da ste upoznati ih kao svoje vlastita demonstrator ovaj pojam. LAUREN Carvalho: Hi. Moje ime je Lauren Carvalho. Ja sam stanovnik tutor u Leverett House. Ja sam također super uzbuđen da se Glava TV za CS50 ove godine. CS50 je vrlo izazovna klase, kao i kao vrlo velikom razredu, tako da ako imate bilo kakvih pitanja, ako se osjećate kao god pada iza, slobodno doprijeti do bilo koji od nas u heads@cs50.het, ili za mene, ako bih vole igrati sa moja zlatna retriver štene. Ovdje je Lucas. LUCAS Freitas: Hej, dečki. Moje ime je Lucas Freitas. Ja sam mlađi [nečujno] računalnih znanosti i lingvistike. Ja sam zapravo iz Brazila, pa sam i ja shvaćaju istočnoazijskim studije. Dakle, ako imate bilo kakvih pitanja u vezi Računalo znanost ili jezik ili ništa, samo recite. Ili CS50, pogotovo. JOSEPH ONG: Hi. Ja sam Josip. Ja sam stariji studiranje računalo Znanost u Elliott House. Dakle, da vidimo. Vi ćete me vidjeti oko knjigovodstvena jedna od tih golemih kamerama. Ja sam stanovnik osoblja fotograf za 50, kao i učenici često Ponekad me zamijeniti za Azijski turist. Dakle, ako ste me vidjeti s kamerom, ne pobjegne. Samo osmijeh i nemojte se sramiti. I nadam se da ćete uživati ​​u 50. Uživao sam ga jako puno kad sam ga uzeo, i to je razlog zašto sam TFing za ove tri godine. ROB Bowden: Hi. Ja sam Rob. Ovo je moj četvrti semestar s CS50. Upravo sam diplomirao u svibnju. Bio sam u Kirkland. Ja sam uzbuđen za ovaj semestar, i nadam se da su previše. DAVID Malan: Hvala vam na ovogodišnjem glave, i na RJ, kao dobro. Tako da nekoliko konačne bilješke o resursima. Jedan, p 0 postavljena je već gore. To postoji samo u jedan standardni Edition, koji je namijenjen za cjelina u klasi. Počevši s p setu 1, održat će se hakerski izdanja većine problemskih skupova, koji se, opet, će pokriti materijal s malo više od izazov, dok Još uvijek dira na neke istih tema. Da li se pogled na tijek stranici za tu specifikaciju za p 0 setu. Radno vrijeme je, također, počet će ovaj tjedan, večeras, sutra, srijeda, i četvrtak u raznim blagovaona dvorane na kampusu. Provjerite cs50.net/ohs za ured za vrijeme tečaja, i to shvatili će biti vrlo povremeni prilike, svakako, na početku semestar, doći sa svojim laptop u mozgu pauze. Donesite neke prijatelje i chat up Naravno TFS-a i CAS s bilo pitanja koja možete imati. A ja ne mogu dovoljno naglasiti, čak i za ogrebotine i bez problema set 0, postoji Zapravo ne glupa pitanja. Nema studenta previše neugodno postavljati pitanja. Slobodno iskoristiti ovog resursa. To će biti tamo recurringly tijekom semestra, što će CS50 razgovarali. Ovaj je tečaj je online diskusija Forum na tu adresu tamo. Ono što ćemo također učiniti tijekom predavanja je Također prati ovo, zahvaljujući Naravno nauk kluba. I tako, ako imate pitanje u predavati, jer sam rekao nešto slabo ili uopće ne, u svakom slučaju, pitajte da se u realnom vremenu ako imate prijenosnog računala ili telefona na web stranici, a mi ćemo se potruditi u blizini realnom vremenu reagirati na to. Ima li pitanja o CS 50? Tada jedan posljednje note od mina. To pitanje sub UNSAT. Kao što završiti svoj studij kartice, ako već niste, shvatiti da sveobuhvatna vizija sub UNSAT, dostupni za sve studente, stvarno kako bi se rub od tečaja ovako, da se tako izrazim, tako da ako ste se naći kasno u noć, 02:00, 03:00, Stvarno lupao glavu protiv zid gdje znate da ste 99% postoji način na završetku, ali ima toliko drugih stvari koje treba učiniti, Mislim da je bolje koristiti, često, od studentska Vrijeme je da se doista premjestiti na one druge stvari, tako da možete optimizirati svoje vrijeme sve oko sebe. I satelit UNSAT je jedan mehanizam putem kojeg možete tješiti činjenicom da je 99% dio posla je još uvijek prilično prokleto dobra. Isto tako, previše, ako ste došli u Tečaj bez prethodne pozadini ili nije ni približno onoliko koliko background kao ti mislim vaši kolege mogli imati, istina ili lažno, shvatiti da je ovo prilika da se vaše ruke prljave uz naravno, stavi prste u vodu, da se tako izrazim, baš kao i sam sebi je godina s pass / fail. Kao što sam rekao prošli tjedan, imao taj tečaj, kao i drugi, nisu bili dostupni prolaze / ne u vrijeme, vjerojatno bih Ne ikada kročio u klase, iako sam učinio, pet tjedana kasnije predomisliti, kojima možda kao dobro, i prijeći na ili slova stupnjevane status. U redu. Tako smo gledali na stvari kao što je ovaj na Petak, a mi smo vrlo brzo ide za prijelaz na nešto što izgleda više zagonetan danas. No, to je ipak ista temeljna ideja. Ono što je opći pojam koji smo koristi za opisivanje slagalice koji je izgledao ovako? Dakle, tvrdnja. I možete nazvati ovo bilo Broj stvari. No, samo ćemo ga zovu izjavu, i izjavu jednostavno kaže program - ili u slučaju nule, sprite - učiniti nešto. Onda su u ovom slučaju. Nešto kao što je ovaj smo umjesto da se zove ono? Da, Boolean izraza. Logički izraz je samo nešto to je istina ili laž, i tako Scratch ih privlači u ovom obliku, ali i s upitnikom prenijeti Ideja da je odgovor na to pitanje je ili istina ili laž, da ili ne jedan, 1 ili 0. I mi koristimo ove Boolean izraza unutar konstrukata poput ovih, koji nazvali smo što? Dakle, stanje ili grana. A uvjet vidite ovdje u Blok ima malo rezervirano za zagonetka komad tog oblika, svrha od kojih je tako da se može povucite i ispustite ga na vrhu, a zatim diktirati programa ako je to Boolean Izraz je istina, to ovaj skup uporabu, taj skup tvrdnji, drugi obavi taj drugi set uputa. I sjećam se da si mogu gnijezdo tih stvari. Iako ne postoji mnogo sobu vizualno u tom slagalice, Scratch će rasti i smanjiti da stane bilo slagalice li povući i ispustiti u tu, tako da možete zapravo to i gnijezde imaju tri put na raskrižje. Ako, ako je ostalo, ostalo. A čak možete ići dalje od toga prema gniježđenje dalje i dalje po potrebi. Dakle, na kraju, kao što smo vidjeli konstrukti ovaj, inače poznat kao petlju. A to je samo nešto što radi nešto opet i opet i opet. U ovom slučaju, to se dogodi da se konačna broj puta, ali smo također Vidio primjer gdje je broj puta došao iz varijable, pa je moglo promijeniti. I mi smo također vidjeli drugi blok uopce pozvao zauvijek blok koji omogućio nam je petlje beskrajno dugo. Dakle, još jedna konstrukt koji Scratch 2.0 ima - i one od vas više ugodno uz prethodnu pozadini već dobro upoznati s ovim izgradnju - ove stvari koje se zove što? Tako smo zvali ove funkcije, u protivnom poznat kao postupaka. Postoji mala semantička razlika, , ali mi ćemo ih nazvati samo funkcija. I funkciju, u slučaju nule, je običaj puzzle komad koji sami možete stvoriti tako da imate nova zagonetka komad koji, u ovom slučaju će se zvati kašalj, koji javlja kod svih drugih Dostupno slagalice u nule. Iako MIT nisu izmislili Ova zagonetka komad, jesi. Dakle funkcija omogućuje stvaranje novih ponašanje, dati mu ime funkcije, a zatim ga nazvati, da se tako izrazim. Stvarno ga koristiti u programima i opet opet i opet, bez čekanja za nekoga poput MIT-cestom izmisliti novu funkcionalnost od nule. Vi sami možete graditi ove puzzle komada sebe, a zatim ih ponovno u svoj program. A vidjet ćemo ponavljajući primjer od toga danas i nadalje. Tako je danas, sada prelazimo na nešto više kompliciranih. Ali na kraju dana, nešto snažnije i izražajnije i više Predstavnik putu da ćemo biti na svim semestra tijekom niza jezika - onom kod ili izvorni kod. A source koda, što se ispostavilo, nije ono što računalo obično zapravo pokreće. Izvorni kod izgleda ovako. Dakle, to je, opet, možda najjednostavnije Program se može napisati u jezik zove C. Mi ćemo početi zadirkuju to apart prije dugo, a ako ovo stvarno izgleda kao grčka da ti sada, vjeruj mi. U samo tjedan ili dva dana, ovaj će biti sve previše upoznat i zapravo sasvim predstavnik sve složenih primjera s kojima ćete Također se ugodnije. No, ne možete samo pokrenuti ovu vrsta koda obično. Morate se to pretvorilo u nešto što Računalo sama razumije. I tako za to, trebamo nešto ćemo pozvati prevodilac. Prevodilac je program koji traje izvorni kod, kao što ste vidjeli, kao ulaza, i to proizvodi nule i one su izlaz, inače poznat kao šifri objekta. I to je ta nula i one koje Možda izgledaju sasvim kao što je ovaj koji konačnici se razumije prema vašem Mac ili PC računala. Ako ste ikada čuli marketinga Izraz Intel Inside, koji samo znači da se tvrtka zove Intel je proizveden mozak računala - inače poznat kao CPU, Središnja procesorska jedinica - i to je samo stvar koja razumije obrasce nule i jedinice. I tako pretvoriti izvorni kod u Šifra objekta kroz taj proces ovdje da ćemo učiniti s nekoliko naredbi u samo malo, vi ste stvaraju obrasci nule i jedinice da su zaposlenici na Intel ima odlučio predstavljaju određene izjave. Sad, ja ne znam točno što koji je po samo pogledavši ove nule i jedinice. Većina ljudi ovih dana ne. No, negdje tamo je uzorak nule i jedinice koji predstavlja Izjava ispis. Negdje tamo moglo biti drugačije set od nule i jedinice koje predstavljaju pojam zauvijek ili Ponovite 10 puta ili čak Mijau, ako je to zapravo program koji može uključiti neke zvukove. Dakle, ukratko, ljudi jednostavno su odlučili, baš kao što smo učinili za ASCII - za slova abecede prošlog tjedna - ljudi su odlučili da je čak složeniji obrasci nule i jedinice predstavlja složeniji ponašanje kao što je tiskanje ili govore ili meowing. I tako je za danas, a uglavnom daljnji u semestru, mi ćemo se za gotovo da je netko shvatio kako to učiniti mapiranje. Ali smo, u skladu s ovom idejom raslojavanje na vrhu radu ljudi koji su došli prije nas, održat će se za dodjeljuje činjenicu da se događa ispod poklopca motora. Ali, mi smo mnogo više zainteresirani za building stvari koje su više Zanimljivo na vrhu svega toga. I tako je doista, prvi program smo napisao je u nule je ovo super jednostavno jedan, Hello World. A možete misliti na to kao Glavni program koji upravlja nule-a ponašanje od prošlog petka. Danas ćemo početi prevođenje Zagrebite slagalice u source koda u tom jeziku zove C, tako da ono što je izgledalo kao ovaj na Petak, počevši od danas pa nadalje je Sada će izgledati ovako. Doduše više zagonetan. To je prilično zbunjujući i vrsta uma zatupljivanja vidjeti sve citati i zarezom i zagrade i tako dalje. Ali ako počnete ignorirati sve što ne razumijem, i stvarno izgleda na bit bijelog teksta na screen, sigurno ste vidjeli, kao i ja, "Hello, world." To linije se s ljubičasta izjavu do vrha, a ispada da ključna glavna će se postroje konceptualno sa kad zeleni Zastava kliknuli. Dakle, drugim riječima, dok je u nule, smo implementirati ovaj Hello World programa s tim dva slagalice, u C, ćemo ga provesti s njima Četiri pomalo zagonetni crte. No, kao što smo zaroniti dublje u to, vi ćete vidim da svaki jedan od onih bijeli likovi na ekranu zapravo ima važno značenje, i većina naših programa će pogledajte strukturno sasvim isti. Dakle izjavu, da bude jasno, što Izgledao je kao "pozdraviti" na svijetu Petak će početi u potrazi ovako ponedjeljak. printf ("Hello, World"). I tu je neka čudna obrnuta kosa crta n, postoji zagrade, postoji zarezom. Ali na kraju dana, ključ takeaway je danas da je sve što radimo je prevodio stvari sa slike formirati u obliku teksta. Dakle, petlja koja izgleda ovako Posljednji tjedan će sada gledati nešto poput ovoga. I neka mi se odriču, baš kao u Scratch, postoji različiti načini postizanje istog cilja. Sve u C. Ja ne pokazujem vam samo način za napraviti stvari, ali jedan način da prevesti ovo zauvijek blokirati na petlji u C. Ova ovdje, ponoviti 10 puta. To je jedan uistinu vrsta zavoja pamet prvi put kad ga vidim. Ali provesti da je sada, ćemo koristiti za petlje, da se tako izrazim. I očito postoji neki sintaksu da je Malo kompleksu se sa I i jednaka i 0, ali kada smo zaroniti da danas nadalje, vi ste samo ide da vidite kako to sve jednostavno radi neke osnovne aritmetičke nas dobili od 0 na do 9 ili 10, u ovom slučaju. Na kraju, s varijablama, vi ćete se prisjetiti da varijabla je dio prostora za pohranu. Pa, ono što smo imali na lijevoj strani posljednja Tjedan će izgledati malo nešto ovako ovaj tjedan. Ali opet, više o tome doći. Imali smo Boolean izraza, koji prošlog tjedna, izgledao ovako. Ovaj tjedan nadalje, oni će početi gledati nešto takvo. A to je zapravo jedan Malo ohrabrujuća. To je zapravo gotovo kao jednostavan kao zelene blokova. Ali ovdje smo, opet, neki novi sintaksu uz znakove za, ali ne možete možda pogoditi dok je u nule, što kažu A-N-D, očito u C, mi smo reći ampersand ampersand. No, sve će to postati prirodno prije dugo. Uvjeti. Prošli tjedan, izgledalo je kao ovo na lijevoj strani. Ovaj tjedan, na desnoj strani, što je kako će izgledati to. Ali opet, ključ je u tome da takeaway kao što vidite stvari kao da je na pravo, a osobito ako je manje ugodno, to je vrsta nad svojim Glava, te dobiti malo osvaja kako Ja stvarno nemam pojma kako sam mogao eventualno se s da je od nule - nema namjeru dosjetka - samo shvatiti da je stvarno ista Ideja da se osjećala tako mnogo više fizička prethodni tjedan. A čak i ako niste zaronili u Problem set 0, usuđujem se reći da ćete pronaći da slagalice su prilično intuitivno, ili barem postao tako tijekom vremena. Tako ćemo roniti u. Idemo naše ruke prljave ovdje ovaj prvi jednostavan program. A jednostavno je, naravno, relativna. Da biste to učinili, ja neću promijeniti ekrane tom uređaju sam pozvao CS50 aparata. CS50 aparat je komad softver koji se izvodi unutar prozor na mom Macu, a također možete pokrenuti je u prozoru unutar vašeg računala, kako mi omogućuje da imaju isto točno računalno okruženje kao i svaki TF, kao svaki CA, kao i svaki student u klasi. Zbog CS50 aparata je doslovno drugi operativni sustav zove Linux - posebno Fedora Linux - a mi, osoblje, su konfigurirani instalacijski postupak za to operativni sustav na takav način da je jedan, postoji mala CS50 logo u Srednji, dva, postoji običaj izbornik na dna, i tri, pedagoški, smo pojednostavljeno korisničko sučelje, kao koliko god je to moguće, tako da kada Prvi dignuti ovu stvar na vlastite Mac ili PC, imate ista okoliš, kao i svi drugi, a vi ima sve alate koji su vam potrebni za tečaj bez potrebe za shvatiti kako instalirati svaki i svako sredstvo pojedinačno. Tako to izgleda relativno kao i Mac OS ili Windows. U donjem lijevom kutu, što u biti imaju izbornik Start vrste, ili Apple izbornika. I onda imate ono što smo osumnjičenik biti vaši tri najčešća ikona. Jedan je Chrome. Tu je browser unutar od aparata. Dvije je program pod nazivom gedit, koji Kratko smo vidjeli prošlog tjedna, što je Samo grafički urednik. I treće je Terminal program, koji je crno-bijeli prozor na prošlost koja nam omogućuje da tip više skrivenim, ali moćniji naredbe na naš tipkovnice. Dakle, ja ću ići naprijed i kliknite na gedit, i budite uvjereni da problema set 1, biti pušten u petak, volju vas provesti kroz sve te iste korake. Obavijest da imam prilično jednostavan Korisničko sučelje s tri dijela. S lijeve strane, ja imam veliko prazna Prozor zove izvorni kod. To je mjesto gdje ću vidjeti sažetak bilo kod koji pišem. Na desnoj strani, imam veliko Kartica, trenutačno videozapisi, a to je gdje je moj broj će ići. A na dnu, ja sam uloženi Terminal prozor, crna i bijela zatražiti na kojem mogu upisati naredbe kompilirati i pokrenuti svoje programe - da je, da bi i pokrenuti svoje programe. Dakle, krenimo jednostavan. Pusti me do File, Save. Ja ću ići naprijed i ići u jharvard. Dakle uređaja, neovisno o tome što Vaše ime je, pripada čovjeka po imenu John Harvard, koji ima jharvard dom katalog u kojemu su sve vaše Datoteke će ići. To je tvoja kopija njegov račun, pa nismo svi dijeljenje Isto tvrdi disk. Vi samo imaju iluziju Johna Harvard sami. U unaprijed, ja zapravo instaliran Dropbox. Uređaj dolazi s pripravljenih Dropbox, tako da ako nešto pođe po zlu tijekom semestra, ako ste konfigurirati svoj uređaj s besplatno Dropbox račun, sve datoteke će se se automatski backup, tako da može vrlo lako ih oporaviti. I ja ću ići u moj Dropbox katalog, a tu je već idući da se prije par drugih stvari postoji. Ali ja ću ići naprijed i idite na File, Save. Ja ću ići u jharvard, Dropbox, i ovdje, ja ću daje moj program je super jednostavna Naziv, hello.c, a zatim spremite. Dakle, imam isto sučelje sada. Jedina stvar koja se promijenila Kartica je do vrha. Tako da sam vrlo brzo će se ponovno da je program od klizi trenutak prije. Tako u glavnom (void), i onda printf, "Hello, World", pomalo zagonetan backslash n, blizu citat, zatvorite zagradu, zarez, te zatim Ctrl S spasiti. I obavijest Kao na stranu što se upravo pojavio ovdje u gornjem lijevom kutu. A to nije korisno danas, ali će biti korisno tijekom vremena. Vi samo vidjeti, opet, sažetak kod koji ste napisali. I zbog toga sam napisao nešto što se zove Uglavnom, to je razlog zašto je riječ glavna popped do tamo. No, za najveći dio, možemo ne treba ti to danas. U redu, tako da ja tvrdim da je to moj Prvi program napisan u programiranju jezik zove C. Mi znamo od petka da je ono što ova stvar ide raditi Vrlo uninterestingly kad sam pokrenuti to je samo prikaz - Drugim riječima, ispisivati, kao računalo Znanstvenik će reći - halo svijet na zaslonu. Tako da to učinite, primijetit ćete da imam ići dolje na moj terminala prozor, i sada imam treptati brz. No, to je sada tipkovnica inačica moj John Harvard home direktorij. To je način putem tipkovnice koja za navigaciju moj hard disk. Pa ja zapravo ne može upisati kao ja prošli tjedan bi pozdraviti, jer je reći ne postoji pravilo da cilj - nešto nije u redu. Ja ne znam točno što je to poruka znači, ali to je zato po defaultu, kada je to crno-bijeli prozor otvorila, ja sam iznutra John Harvard home direktorij. No, gdje sam spasiti taj program? U mom Dropbox mapu. Sada, svi od nas su odrasli uz računalima gdje se samo dvaput kliknite na mapu ikone, što otvara, i voila. To je mjesto gdje se datoteka pod nazivom hello.c će biti. Dakle, u stvari, neka je to. Dopustite mi da ide naprijed i smanjiti gedit baš kao što bi se na Windows ili Mac OS. Pusti me u kući mape na gornjem lijevom kutu. Vidjet ću ovdje hrpa mapa. Evo moj Dropbox mapu. U checkmarks znači da je sinkronizirane. A postoji nekoliko stvari ovdje, ne primijetiti da je hello.c doista tamo. I tako u Mac OS ili Windows, normalno, Ja bih dvaput kliknite na to, ona se otvara u bilo kojeg programa, a ja sam spreman. Ali sada, barem počevši od danas, mi trebaju poduzeti korak unatrag samo vam dati neke osnovne alate za vašu alata s kojima učiniti više Snažne stvari prije dugo. Dakle, na ovaj redak, moram učiniti Ekvivalent dvostrukim klikom Dropbox mapu. A za to, ja ću upisati CD-a za promijenili imenik, Dropbox, upišite. A sada primjetiti zagrade na mom tzv. brz sada kaže da sam u tilda, malo iskrivljena Simbol na gornjem lijevom većina klavijature, / Dropbox. To je samo stenogram notacija za govoreći čovjeka, sada ste unutar Dropbox folder, baš kao da je što je dvostruko klikne na njega. Pa sad, ako idem naprijed i upišite se Pozdrav, unesite, vidim vrlo zagonetan naredbe, ali ne o pogrešci, čini se, a zatim još jedna treperi brz. I ako se sjećaš, uvijek je tako brzo petak, smo to učinili. . / Pozdrav. Ono što ćete vidjeti je rezultat od moje pokretanje ovog programa, ili, u Mac OS i PC termini, ako sam inače bih udvostručiti kliknite na programu - app. Program ili. exe, što otvara prozor i radi. Tipkanje. / Pozdrav je baš kao bračni klikom program da ga pokrenuti, ali pomoću tipkovnice. Ulaz, Hello World. I to je to. Tako ćemo zafrkavati, osim da je ovo tako da ne osjećam previše kao Grčka. Dakle. / Znači što? Svatko tko je ikada plovio tipkovnicu okoliš kao što je ovaj, što je dot koji se odnosi na? Trenutna katalog. Dakle, trenutni katalog je samo sinonim za mapu. Dakle, rekavši dot crtu, ja sam rekao, tražiti program pod nazivom Pozdrav u Trenutna katalog - u trenutnoj mapi. Drugim riječima, mi Dropbox mapu. I to je razlog zašto tipke Enter nakon toga zapravo pokreće taj program. Ako ja sada tipa LS, primijetiti da vidim sve što je u mojoj Dropbox mapu. Dobivanje Started.pdf, koji Dropbox vam daje besplatno, mojim fotografijama katalog, javni imenik, nespašeno Dokument 1 koji sam napravio grešku u Trenutak prije, foo.c, što sam napravio ranije danas, a zatim dvije linije - hello.c i zdravo. Hello.c je program sam pisao gedit, a što je pozdraviti u zeleno? Pozdrav zeleno je izvršna. Drugim riječima, kad sam vodio ovu naredbu maloprije - neka mi uvaljati natrag u vrijeme - kada sam trčao bi halo, to je Srednji korak ovdje. I to je hello.c kao ulaz - AKA izvorni kod - i ona proizvedena file pod nazivom Pozdrav kao izlaz, koji sadrži sve te nule i jedinice. I to je razlog zašto, na kraju, mogu zapravo pokrenuti naredbu kao. / Pozdrav. Zbog Intel Inside, moj operativni Sustav, Linux, otvara one nule i one, ih hrani u Mozak mom računalu - CPU - i da je CPU zna, ah, ovdje je uzorak od jedinica i nula koji kaže ispisivati ​​sljedeće stvar na zaslonu. Što je sljedeće što? Citat završen citat, "Hello World". U redu, tako da kratki sažetak nekih od ove naredbe, tako da možemo početi ih uzimati zdravo za gotovo. Dopustite mi prijeđite na gdje smo stali. A vi ćete se prisjetiti da smo imali CD , na našim leđima završiti maloprije. To su, usudio bih se reći, za današnji svrhe - možda ovaj tjedan - jedine naredbe smo Možda ćete morati upisati u naredbu zatražiti osim napraviti. Dakle, CD stajao za što? Promjena direktorija. To je samo ekvivalent bračni klikom na mapu. I kao na stranu, ako se izgubila sve unutar vašeg uređaja, tako da ispuštanje - Želim se vratiti svojim jharvard katalog - Kada su u nedoumici, CD, unesite, s nitko drugi riječi, i to samo poštanskih brojeva li natrag do mjesta gdje ste krenuli, što je lijepo malo prečac. U redu, tako da sada druge naredbe. LS. Ja upisali da je trenutak prije. Što mislite LS kratica za? Dakle, popis, zar ne? Natrag u dan, kada su ljudi dolaze s tim naredbama, oni pokušavali su biti učinkovita, i prilično tip iz L-I-S-T Enter, oni odlučio LS. To je u redu. To zvuči kao dovoljno popisu. Ajmo Tip LS ući, a to popis datoteka ili mapa u mom trenutne mape. mkdir, što vjerojatno možete pogoditi. Napravite direktorij. Tako da ne idu na neki file izbornika i odabrati novu mapu u ovom okruženju. Umjesto toga, upišete prostor naredbe mkdir a zatim naziv mape koji želite stvoriti, i to će biti učinjeno. rm, što vjerojatno možete pogoditi. Uklanjanje ili brisanje. Dakle, ako želite izbrisati datoteku, vi ćete pogledajte u setu problema kako Možete to učiniti. I rmdir, ukloniti imenik. Dakle, opet, ja ću tendenciju da lete kroz neke od tih pojedinosti, jer jedan nisu svi toliko zabavno provesti Vrijeme na, nego dva, mi ćemo osigurati da se u mnogo veći detalj u bilo Naravno postavlja je problem, pogotovo standardne izdanja, bilo koji od koraka što bi moglo trebati upisati tako da ste dobili više i više udoban s tim stvarima. Ali sada neka mi zafrkavati, osim jedna druga stvar. Kad smo upisali bi pozdraviti maloprije, vidjeli smo zagonetan niz naredbi. Vidjeli smo, opet, bi pozdravio. OK, ajmo to učiniti. Htio sam napraviti pogrešku, ali [Nečujno] sada priznati da sam se spremao i to namjerno. Ono što sam učinio krivo tek sada? Da, tako da nisam u Dropbox katalog, jer sam maloprije upisali CD-i samo pogodak ulaziti. To mi povećali natrag gdje sam počeo, što nije moj file gdje je je, tako da sam stvarno trebate učiniti CD Dropbox ući, a sad ja mogu učiniti RM Pozdrav ući, izvadite obične datoteke Pozdrav. Ne znam zašto je tako zagonetan. To samo znači da ste sigurni Želite li izbrisati halo? Možete upisati y za yes, enter, , a sada je otišao. A sada, ako sam tip bi halo opet, to je će ponovno moj objekt kôd, ponovno one nule i jedinice. No, ono što je s tim ovo jako dugo naredba? Pa, mi ćemo zafrkavati ove apart prije dugo, ali bi - Rekao sam malo bijele laži pred - nije prevodilac. Provjerite je program koji se automatski figure out kako pokrenuti prevodilac za vas. Dakle, naredbe koje ste stvarno trebali biti izvodi kako bi se pretvoriti hello.c u Pozdrav zapravo izgleda malo više ovako. I ne daj Bože da se zapravo sjećam se da je ikada upisati cijeli slijed naredbi van. Svrha učiniti u životu je da sjetite se da je stupanj složenosti za nas i automatizaciju ono što bi inače biti vrlo zamorno koraka. Ali ja mogu napraviti procjenu da. Dakle, po ovom malom cheat sheet ovdje, ja mogu napraviti procjenu što je to naredba rade jednostavnim upisivanjem Dong, koji je naziv prevodilac ćemo se Korištenjem ovog semestra. Ako itko od vas ikada učinio iOS Razvoj za iPhone ili iPad, Dong je program koji ste koristili roku Xcode da svoje aplikacije. Dong, ipak, samo je još jedan program čije ime smo se upisati na zapovijed zatražiti i uvođenjem ovo sada, Ja mogu uvesti nešto što je Malo zastupnik naredbi koje dolaze. Zato mi dopustite da to učinite ručno. Dakle rm Pozdrav, a sada primjetiti u slučaju I, baš kao i razum ček - . / Hello, što ti misliš tko sam treba vidjeti je li to učiniti? Neki vrsta pogreške. Nema takve datoteke katalog. Tako da je jedan je zapravo prilično izravna. Pa sad neka mi jasan zaslon. Kontrola S jednostavno briše zaslon ukloniti neke smetnje. A sad idem ručno Vrsta zazvečati-o Hello hello.c. Pa što je to namjeravao učiniti? Potpuno ista stvar koja bi učinio za nas, ali sam baciti neke od suvišnih riječi. Dong je program koji će uzeti. c datoteku kao ulaz i proizvode nule i jedinice kao izlaz. Ali-o odsad će se zvati prekidač ili zastavu. Ovo je samo tehnologija žargon za govoreći ovo je riječ upišete na upit da na neki način utječe na ponašanje programa radite. Tako se bilo tko želi pogoditi ono-o prenosi? Izlaz. To je samo netko odlučio-o znaci izlaz file pod nazivom Pozdrav i uzeti što Ulaz god posljednja riječ na brz je, hello.c, tako da ako sam pogodio Unesite sada, ništa ne čini da se dogodi. I začudo, u ovom svijetu mjesta programiranje, ako se ništa ne dogodi, to je vjerojatno dobra stvar jer nema pogreške Poruka na zaslonu. Pozdrav, Enter. Moj program je sada pokrenuti. Ali ja mogu učiniti glupe sitnice kao što su ovo. jeka-o, hihihi, hello.c, ući, a sada imam identične Program pod nazivom hihihi. Ona se ponaša isto, ali Ime je drugačiji. Dakle, to je samo reći da ako želite utjecati na ponašanje Program, idemo na sve vidjeti stvari zove argumenata naredbenog retka. To je linija. Vi pišete naredbe. Ergo, naredbenog retka. I argumenata naredbenog retka, samo su riječi ili otrcane sintaksu tu nekako utjecati na ponašanje programi koji su mi trčanje. U redu, to je možda najviše dosadna Program možemo pisati i vidjeti. Idemo sada napraviti nešto zanimljivije. Dopustite mi da ići naprijed i stvoriti novu datoteku. Ja ću ići naprijed i spremite ovaj u John Harvard home direktorij, kao, nazovimo ga custom.c, kako bi se Malo prilagođeni program. Idem za uvećanje na mom vrhu Kartice su ovdje i početi ispočetka. Uključi standardni stdio.h. Više o tome u ovom trenutku. int main (void), više na da je u trenutku. printf ("Hello, David"). Mnogo zanimljivije, zar ne? Pa sad, ako - ne zbog moje ime, Samo zato što je drugačije - napraviti custom ući. Custom, hello, David. Ali čak i da je, također, je bijela laž. Ovaj program može i nazvati david.c, jer to nije običaj ponašanje uopće. Stvarno, želim program koji traži Korisnik za svoje ime. Pa kako ću to učiniti? Pa, neka mi pomaknite se ovdje. I prije nego što sam koristiti u izjavu Ispočetka, prije nego što sam koristiti printf, inače poznat kao funkcija, neka mi Prvi pitati korisnika za neki ulaz. Pa to učiniti, moram napraviti par stvari. Jedan, trebam mjesto za spremanje korisničkog imenovati nakon što sam ga pitao ili joj za to. Što konstrukt trebam koristiti vjerojatno pohraniti vrijednost kao što je to? Promjenjiva. Dakle, za razliku od nule, u kojoj ste upravo dobili lijep puzzle komad, ovdje, moramo koristite, očito, riječi izraziti sebe. I od tada, kad god želite riječ ili izraz, u programiranju, ćemo pozvati da string. Dakle, niz je riječ ili izraz. To je slijed nula ili više znakova, više formalno. A ako želite takvu varijablu postoje, što imate za reći dajte mi jednu. I način na koji ste to jest kažu niz s zarez, gdje je mogu biti sve što želite. U stvari, e je malo underwhelming. Dopustite mi da ide naprijed i više očito ga zovu ime. Daj mi string zove ime. Ali sada, ono što je osoba koja je Ime po defaultu? Pa, ako je ljudski ne upisati ništa u, očito, tu će da nema vrijednost u imenu. I to ispada u C, ako ne daju promjenjiva vrijednost, to će imati vrijednost smeće. To bi moglo imati neke slučajne nule i one, tako da samo idemo vidjeti smeća, doista, na zaslonu Ako pokušate da ga prikazali. Ali ja mogu to popraviti rekavši, zapravo, trgovina unutar imenom u nakon vrijednost. Način na koji ćete pohraniti vrijednosti u varijabli Ako imate varijablu na ime lijevo, morate nekako staviti ono što želite pohraniti u njega na desnoj strani, a Sintaksa za to se događa da se na sljedeći način. Nismo to vidjeli, ali se na vjeri za trenutak da postoji postoji još jedan iskaz u svijetu da ću se opet pozvati funkciju, i to je funkcija naziva se string. I to doslovno da. To nekako dobiva niz znakova od čovjeka, a zatim radi nešto s njom. I to ne izgleda kao zagonetan sintakse. Normalno, ako koristite jednake znakove - ti si u svijetu, kažu, algebre, a ti si zapravo govoreći x jednaka 1. Ovdje mi ne tvrdimo da je Naziv jednak dobili niz. Mi tvrdimo dućan u ime Što je na desnoj strani toga znaka jednakosti. Znak jednakosti predstavlja operator pridruživanja. To je sintaksa da mu kaže što je na desnoj strani u nešto što je na lijevoj strani. Tako se niz je novi komad Funkcionalnost koja ne samo da nešto - pita korisnika za niz - također ga vrati, da se tako izrazim. Tako ćemo vidjeti što se događa se ovdje dogoditi. Ja ću ići naprijed i sada smanjivanje i ja ću dobiti par pogreške na moj upit. Idem upišite bi običaj, upišite. Wow. Cijela hrpa grešaka. U redu, tako da je ovo vrsta porazan, sigurno na prvi, ali ispostavilo se sve to vrlo doduše zagonetni poruke o pogreškama koji se odnosi na neke obrasce koji Počet ćemo vidjeti s vremenom. Dakle, ovo je jedan ću ugrabiti off, jer je prva. Upotreba identifikatora neprijavljenog nizu. To samo znači da gedit, ili Dong, u ovom slučaju, ne zna ono što mislim po žici. A to je zato što u C, programiranje jezik, zapravo Ne varijabla tipa string. C ne znaju da postoje žice. Ali mi, CS50 osoblja, učinite. I tako prije razredu, mi stvorili datoteku pod nazivom CS50.h. A unutar ove datoteke - i Više o sintaksi doći - unutar ove datoteke je definicija onoga što sam upravo definirano verbalno kao string. Tako jednostavno sklapaju jednu liniju koda u mom programu, ja sam sada nastava gedit i napraviti i Dong Sve pak što struna. Ja ne znam kako. U nekoliko tjedana, mi ćemo kore natrag da sloj. Ali za sada, znamo da je to uči prevodilac ono string je zapravo. Pa sad neka mi razbistriti Terminal ovdje dolje. Dopustite mi da ponovno pokrenete napraviti običaj, i ja riješiti sve te probleme. Dakle, ovo je, također, će se se tema ponavlja. Samo sam napisao 9. retka programa, a Još sam imala 18 linije pogreške. To je vrsta zastrašivanja. No, shvatili da su oni često prelijevaju kao da je jedna mala pogreška aktivira konfuzije za kompajler, a to izgleda puno gore nego što jest. Tako sada pronicljivi promatrač će znati da dobivam niz od Korisnik, ali nisam zapravo što radiš s njim? Nisam se zapravo radi ništa s njom. Dakle, ako sam zapravo pokrenuti običaj opet, to će samo sjediti tamo. Što se zbiva? Moj program izgleda kao da se zaglavi na što crta, biste rekli? Dakle, to je zapravo zapeli na liniji 7. I nismo to vidjeli, ali na liniji 7, tu je, opet, ovaj Izjava, dobili niz. I to ne ono što govori. To je za sada čeka čovjeka poduzeti niz. To je potpuno unintuitive mi, čovjeka, jer sam nisu rekli što učiniti. No, dopustite mi da ide naprijed na vjeri i neka mi se pretvarati da je Rob. Upišite. To nije program koji sam ja zamislio. Tako smo naš prvi blog. No, pokušajmo razlog kroz zašto je to tako. Prvo, neka mi riješili prvi problem. Dopustite mi dodati crta na kojoj piše printf, kako se ti zoveš? Ajmo napraviti zatvoriti citat, zatvorite zagradu. Sada neka mi ponovno pokrenuti program. Problem. Ne vidim da je. Točno. Nisam ga kompilirati. Dakle, u jeziku kao što je C, zato što promijeniti izvorni kod ne znači da si promijenio svoj objekt kod generirati novi objekt kôd, Novo nule i jedinice. Morate kompilirati. Ako ja sada ponovno pokrenuti običaj, ući, ah, malo jasnija. Moje ime je Rob. Ipak buggy. I ja bih tvrditi da postoji prije par bugova sada. To samo izgleda užasno, iskreno. Sviđa mi se, minimalno, ja bi trebao imati Prostor postoji, ili premjestiti kursora u novi redak. I zapravo, nova linija. To je vrsta ključne fraze se ovdje vidjeli smo, ali nije definirano. Način na koji ste dobili tekst za pomicanje na sljedeći redak, ne to učiniti. To je zbunjujuće na računalo. Ovo izgleda kao dvije odvojene linije koda, niti od kojih je sasvim točne. Umjesto toga moraju biti eksplicitni i kažu, daj mi novu liniju, što smo zastupati u c s obrnute kose n. Dakle, postoji nekoliko takvih znakova. Kosa crtica prema natrag n će popraviti taj estetiku. Dopustite mi da kompajlirati program. Dopustite mi da ponovno pokretanje moj program. Ovo izgleda bolje. To je još uvijek prilično primitivna, ali to je također još uvijek lud. Dakle, postoji jedna - čak i ako ste nikada nije programiran prije, vjerojatno može uzeti pogodak Zato, na ovaj program još uvijek je manjkav. Što trebam učiniti da Nisam učinio još? Tako sam se zapravo učiniti nešto s imenom. Baš kao u nule, možda zapravo dodijeliti varijablu kao n ili suprotstaviti kao što smo prošli tjedan - vrijednost. Ali ako ne učiniti ništa s je, ništa neće dogoditi. U redu, pa neka popraviti. Dopustite mi da moj tip varijable postoje, i pusti me ovdje dolje. Dopustite mi kompilirati, neka mi re-run, Rob. Sada sam samo idiot, zar ne? Dakle, ovo nije stvarno dobivanje ja dalje. No, to je posve normalno Instinkt, ja bih reći, zar ne? Ako je varijabla zove ime, i ja želite da ide tamo, zašto ne bih jednostavno upišite ga ima? Pa, naravno, imamo razlučiti sada između onoga što je string? Obavijest da je završen citat citat Ovdje, halo ime? To je zapravo sama je string. Teško je kodirana. To nije od čovjeka. To je od mene, izvorni programer, , ali to je još uvijek niz. Dakle, ako ste doslovno pisati N-A-M-E unutar nizova, što će se se ispisuje? I, N-A-M-E. Umjesto toga treba printf reći, ne ispisivati iz doslovno ime. Ispiši vrijednost imena. A za to, možemo učiniti sljedeće. A to je samo ljudska konvencija. Mi umjesto toga reći% S, te da se zalaže za niz. I onda na kraju mojih bliskih citati, Ja ću staviti zarez i proći drugi argument u ovoj izjavi. Ja ću upisati naziv postoji. Tako sada imamo primjetiti nešto novo sintakse. Mi još uvijek imamo dvije zagrade, a Ubuduće neka mi kažu da je stvar između zagradi predstavlja Argumenti u funkciji - ulaza koji su nekako ide utjecati na njegovo ponašanje. Dakle, po toj logici, koliko argumenata printf nema izgleda da se uzimajući u ovom trenutku? Dakle, čini se da je uzimanje dva, i da doista se podrazumijeva od zarez ovdje. Dakle, ovo je jedan argument između navodnika. Iako ima zarez u njemu, sve što je u navodnicima, što znači to je jedan dugi niz. Zarez, naziv varijable. Pa sad neka mi udaljili. Dopustite mi da ga ponovno pokrenuti. Rob. Dovraga, što sam učinio krivo? U redu, tako da ćete morati kompilirati. Pa opet, lako napraviti greške rano opet i opet. Tako sada ponovno pokrenuti običaj, Rob, ući, i voila. Sada imaju prilagođeni program. Tako sam sada imaju program koji pomoću nekoliko obilježja koji su vrijedno spomena. Jedan, ja sam koristeći CS50.h, inače poznat kao CS50 knjižnici. A unutar knjižnice CS50 se Funkcije koje drugi ljudi pisali - naime osoblja - za korištenje, i dobiti string je jedan od njih. Unutar linije 2 je stdio.h, i zašto je to tamo? Uzmi pogodak. Ono što postoji unutar standardni IO roditelj? Printf. Dakle, printf, ne vidim nigdje drugdje na zaslonu. To mora doći s Računalo nekako. Odakle je došla? To je unutra - to je izjavio, da se tako izrazim, unutar file zove stdio.h. Sada, u ovoj stvari, mi ćemo se vratiti na kraju, jer je to malo zbunjujući za sada. To se odnosi na naše povratnog tipa. To se odnosi na svađe. Ali za danas, mi smo usredotočeni Upravo ovdje na ovim linijama. Dakle string ime, samo da ponovim, Što se to učiniti za mene? Tako je proglašen varijablu tipa string. Dakle, to je značilo da se za riječima, Ne brojeva. Kao na stranu, ako sam htjela da bude broj, rekao bih nešto poput int. Ako sam htjela biti s pomičnim zarezom Vrijednost, nešto s decimalne točke, Rekao bih da plutaju. Ali za danas, upravo sam rekao string. I ja sam dobio ovu varijablu naziv imena, ali sam mogao su ga zvali ništa. Naime, prvotno, sam ga nazvao S. Ovo ovdje je samo još jedna izjava. Koliko je to argumenti Izjava uzimanja? Dakle, to je samo uzimanje jednog, a to je jednostavno estetski detalj prikazujući nešto na Zaslon mi. Što je ova linija 8 radi u laik uvjete? To je dobivanje vrijednosti iz Korisnik - naime, string - i što to radi s njom? To je u biti ga predaje tip na lijevoj strani znaka jednakosti, tako da u ovom slučaju, Naziv varijabla zapravo može ga pohraniti. I onda printf je još primjer funkciji. I kažemo pozvati funkciju. Za korištenje funkcija pozvati funkciju. To je stvar očito traje dva argumenta. To je jedan, zarez, ovo. Ovo je jedna sama je samo niz koji sadrži rezervirano. % S znači staviti još jedan string ovdje. I tako stavljajući ime po zarez, koji je umetanjem da je stvar za mene. Dakle, ja mogu raditi druge stvari dalje. Dopustite mi sada ići naprijed i učiniti malo glup program, ali neka mi ovo izbrisati, i neka mi napraviti petlju. Dok je istina. Simbol istina je očito Uvijek će biti istina. Pa kakav petlje sam izazivanja pisanjem liniju ovako? Dakle, klapa, zar ne? Baš dok je istina. Ne postoji način ja mogu promijeniti riječ istina da se bilo što drugo, tako da je ovo samo će se izvoditi zauvijek. Dakle, ako ste ikada zapravo imao program u vašem Mac ili PC koji se čini da su pod ključem, ili to radi nešto i nešto, a vi samo ne može dobiti stvar za prekid ako vas ponovno pokrenuti računalo ili povucite prema gore Task Manager ili slično, evo, kao primjer. Ja mogu reći, "Ja sam lud programa." Zatvori citat, zatvorite zagradu, zarez. Pa opet, primijetit obrasce. Iako neke od sintaksi je novo, ključne riječi, dok, ključna istina, obavijest sam isto vrsta vitičastim zagradama. Imam zareza i zagrada. Pa sad idemo naprijed i sastaviti to. Provjerite običaj, običaj. Dakle, u ovom trenutku, ne trebate ponovno pokretanje aparata, ok? Tako lako pouka ovdje je s dva prsta, kontrola C, ćemo zatvoriti taj program. No, možete vidjeti točno zašto je to stvar je ponavlja opet i opet. Ja mogu učiniti nešto malo složeniji kao teaser. Ja ću ići naprijed i kažu sljedeće. Za int, koji je cijeli broj, i je samo generički naziv dajemo na većinu varijable u programiranju kada ste brojati, jednaka je 0. Dopustite mi da ide naprijed i reći, a ja se, recimo, manje od 100, plus i plus. Mi ćemo vratiti na ovu sintaksu, ali to samo znači ja prirast opet i opet. A što ja želim raditi ovdje? Printf, "Ja mogu računati na i.." Ovo je lud programa. Što sam zapravo namjeravaju ovdje? Posto ne e, ali ne bi valjda ovo. % D je cijeli broj decimala. Ja Zarez. Dopustite mi vratiti. Dopustite mi sada kompilirati s make. Dopustite mi sada reprizu s običajima. Ja mogu računati prokleto jako brzo kada Sam napisati program kao što je ovaj. Sada ćemo nešto učiniti s Malo nenamjerno. Kako o tome ćemo to učiniti dok sam veći ili jednak 0. Što se to događa s izazivati? Dakle, logično, to nije tako mudar, jer sada, ako sam to repriza, brojanje, Ja sada mogu računati jako, jako visoko. Nažalost, o tome kao visok kao što sam ja Brojač je 4 milijarde kuna, tako da to ide kako bi potrajati. Pa zašto ne možemo ovo ostaviti kao naš alpinista, obećavši kako će se na Srijeda, mi ćemo vidjeti ako Ovaj program je učinio. Dvije, mi ćemo uvesti kako sebe napisati svoju funkciju, tako da je vrlo brzo, do srijede, mi ćemo, kao što smo Prijelaz od nule u C, pokrenuti pisati sve složenija programi koji mogu učiniti puno, mnogo više od toga. Vidjet ćemo se tada. [PLJESAK] ZVUČNI 1: Na sljedećem CS50, Puzzle Dan je bio uspjeh.