>> 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.