>> JASON Hirschhorn: Sveiki CS50 skyriuje visiems.
Mano vardas Jason Hirschhorn.
Aš esu tavo TFS daug, bet daug žmonių, tikimės, bus galima prisijungti prie mūsų
internete, pratęsimo studentai arba studentai bando ieškoti per padalinį, jei jie
praleido savo skyrių, kuris savaitę ar tik pasivyti, jei jie norėjo
peržiūrėti tam tikrą medžiagą.
>> Taigi pagal mokymo programą, kurios visos iš turite perskaityti, pataisyti?
Matau galvos linkteli daug.
Profiliai suteikti jums galimybes ištirti aikštyno
medžiaga labiau intymioje aplinkoje, taip pat pasinerti į
praktinės veiklos.
>> Taigi, kad iš esmės tai, ką mes ketinate daryti kiekvieną savaitę.
Mes ketiname eiti per tai, ką turime nustatoma, kad svarbiausia
aptartos temos paskaitos, ir tie tikriausiai taip pat labai naudinga ir
labiausiai tikėtina, kad ateis ant probleminių rinkiniai ir viktorinos, ir jūsų kodavimo
gyvenimas ne CS50.
Taigi, mes ketiname eiti į šiomis temomis, aptarti juos, eiti per juos,
atsakyti į visus klausimus, kurie jums vaikinai, ir tada mes ketiname daryti daug
praktikos problemos kodavimas.
>> Jūs visi atnešė nešiojamieji kompiuteriai, kuris yra fantastinis.
Tai informatikos klasę.
Tačiau iš pratimų mes darome daug, Jums nereikės savo nešiojamuosius kompiuterius.
Jūs galite padaryti juos ant popieriaus lapo.
Štai kaip jūs ketinate padaryti juos viktorinos.
Ir iš tiesų, tai puikus būdas tikrai žinau, kad jūs, kaip tai padaryti
kažkas, jei jūs neturite Patikrinkite 50 iki remtis ar Padaryti remtis, pasakoja
jūs padarėte kokių nors klaidų.
>> Taigi jūs laukiami kodo Prietaisas ar run.cs50.net, kuris yra
kita priemonė, kuri leidžia jums koduoti internete, bet aš taip pat norėčiau rekomenduoti, jei
jūs ne bandė jį naudojant lapą Popieriaus ir bando šias praktika
problemas ant popieriaus lapo.
Nes vėl, tai galiausiai ką jūs ketinate būti
paprašė daryti viktorinos.
>> Taigi, pradėkime mūsų darbotvarkė šiandien.
Mes ketiname eiti per tam tikromis normomis ir mūsų skyrius, tada mes ketiname nerti
į matricos, funkcijos, ir komandų eilutės argumentai, o tai, ką jūs vaikinai
apėmė praeitą savaitę į paskaitą ir tada pirmadienis, ir ką jūs padengti
daugiau rytoj.
Ir galiausiai, mes ketiname kalbėti apie pset2.
Jei galėčiau rankos pakėlimu, jei turite ne pažvelgė į problemą, dviejų
specifikacija.
Mes pasakyti visiems.
Mobiliesiems telefonams.
>> Mes kalbame apie problemines rinkinių truputį, bet jei jūs skaitote problemą,
specifikacija, tai viskas, ką reikia daryti.
Jei jūs perskaitėte, kad prieš jums ateiti į klasės ir skyriuje antradienį, jums bus
būti puiki vieta.
Mes galime eiti per problema nustatyti, o tai, ką mes ketiname
daryti pabaigoje.
Mes ketiname eiti per logika, įsitikinkite,
visi yra tame pačiame puslapyje.
>> Noriu, kad būtų galima palikti antradienis jausmas labai patogu su tuo, ką
reikia padaryti šią savaitę problematikos, o jei ne, aš laimingai
likti po ir dirbti su Jumis.
Bet yra vienas dalykas, kad jūs turite padaryti, bet manau, būtų tikrai protingas,
tiesiog skaityti problemą, specifikacija klasės antradienį,
kurioje jis skamba daug iš jūsų vaikinai padarė.
>> Aš pradėti darbotvarkę kiekviena klasė kad jūs žinote, kur mes einame.
Tai taip pat naudinga žmonėms žiūrėti internetu, nes kiekvienas skyrius
yra spalva koduotas, todėl, jei norite eiti atgal ir tiesiog žiūrėti 10 minučių, o
nei visas 90 minučių skyriuje jūs galite tiesiog eiti į spalvų užkoduotų skyriuje
ir pažvelgti į tai daliai.
Taigi, aš bandžiau nutraukti juos į gražus moduliai, kurie leis jums -
jei norite grįžti ir persvarstyti ar kiti studentai, kurie yra teisingi
žiūrėti skyrių apžvalga -
rasti konkretų dalyką jie nori atkreipti dėmesį į
ir daugiau sužinoti apie.
Saldus.
>> Normos.
Aš FOP lyderis miesteliu.
Aš nežinau, jei kas nors padarė FOP.
Ar kas nors padaryti FOP?
Vienas asmuo padarė FOP.
Du žmonės padarė FOP.
Nuostabus.
Taigi FOP yra pirmieji lauko Pažintinė programa.
Mes pirmakursių į mišką ir padaryti labiausiai stebuklinga patirtis
savo gyvenimą, tiesa?
Taip.
Garsai apie teisę.
>> Taigi, aš tik norėjau pradėti savo pirmųjų skyriuje aptariant keletą normas
šioje klasėje ir mūsų santykius nes manau,
jie labai svarbūs.
Pirmiausia ir svarbiausia, kaip tie iš jūsų, kurie yra mano skyrius gavo ir
buvo aptarta, kad laišką, aš myliu tai.
Tai mano mėgstamiausia dalis per metus.
Aš taip susijaudinęs.
Aš čia šiandien valandų valandas.
Aš nepaliko šį pastatą išskyrus eiti valgyti, nes man patinka CS50 skyrių, aš
patinka mokyti, aš myliu darbo su jumis vaikinai.
>> Vienas iš mano prioritetų, jei ne mano prioritetas numeris vienas ne tik
šios klasės, tačiau su mano kita klasės ir extracurriculars, yra
padėti jums vaikinai, ir padėti jums vaikinai, ir darysiu viską, kad įsitikinti, kad jūs
vaikinai nuostabus, įdomus, produktyvus, patrauklus, įdomus
patirties šioje klasėje.
Štai ką aš įsipareigojusi.
Štai kodėl aš myliu tai padaryti.
Tai yra mano numeris vienas dalykas, remti jums vaikinai.
Jei turite kokių nors klausimų apie paskaitą klausimų, problema rinkinys, skyrius,
gyvenimą, net jei norite kalbėti apie gyvenimas, nedvejodami pasiekti.
>> Jūs turite savo mobiliojo telefono numerį, jūs turite savo elektroninio pašto adresą
adresas, jūs turite mano gchat.
Galite susisiekti su manimi bet kuriuos arba visus tie kai, bet tikriausiai ne gauti
atsakas, kai.
Aš stengiuosi ir grįžti per 24 valandas.
Dažnai ji bus per 20 minučių ar 24 minučių.
Turėčiau pasakyti, kad kad būtų lygiagrečios.
Bet jūs gausite atsakymą gana greitai.
>> Jei tekstas man valandą prieš problema rinkinys yra dėl, aš nuraminti tave
žemyn ir padaryti giliai kvėpavimo pratimai su jumis, bet jei nėra pradėtas,
jūs tikriausiai nesiruošia baigti ir Aš negaliu tikrai padės jums ten
nors aš pabandyti mano geriausia.
Taigi darysiu viską Galiu jus paremti.
Prašome nedvejodami pasiekti ar tai skyriuje vėl ne darbo valandomis
jei matote mane, ar net už jos ribų.
Man malonu sukurti laiko susitikti ir darbui pasinaudojant problemų
arba eiti per medžiagą.
Taigi, kad yra numeris vienas, o parama.
Darysiu viską, ką gali padėti jums.
>> Numeris du, susitikimas viduryje.
Kiek aš norėčiau būti, aš nėra visagalė arba visagalis arba
visų žinant, kad aš nežinau, visi laikas, jei ką darau vis
susidurti, jei taip aš mokyti tema padės jums išmokti, arba jei
yra painiojama į temą, bet ne pakelti ranką ar paklausti manęs
arba siųsti man laišką.
Ar net jei jūs vėl yra painiojama apie kažką dėl problemų rinkinį.
Jei neturite pasiekti mane, Aš negaliu žinoti, kad tikrai.
Aš ruošiuosi daryti mano geriausia patikrinti dėl vaikinai, įsitikinkite, kad viskas yra
vyksta gerai, pabandykite išmokyti dalykų, taip kuri bus palanki daugumai
savo mokymosi stilių, bet jei yra ką aš galiu padaryti, leiskite man žinoti.
>> Palei tas linijas, jei norite šiek tiek padėti su problema rinkinį, aš daugiau
nei laimingi galėdami padėti jums su problema rinkinys.
Mes ketiname padaryti daug kad į antrą
pusė šiame skyriuje.
Bet jei jūs turite ne skaityti problemą rinkiniai atgal ir dar stebėjo pėsčiomis
per ir nėra stebėjo šortai ir tikėjosi man išmokyti jus,
viskas, kas buvo filmuojami internete arba galite rasti CS50
tyrimas, tai tikrai teisinga man ar į kitus bendraamžių.
>> Taigi, prašome, aš daugiau nei laimingi galėdami padėti , bet jūs vaikinai turite susitikti su manimi
viduryje.
Mes turime tonų išteklių jums rasti CS50.
Minėjau, kai kurie iš jų.
Prašome pasinaudoti jais.
Jei esate supainioti, aš daugiau nei laimingi , siekiant padėti jums paaiškinti juos
dar vienas būdas, tačiau tai nėra teisinga, jei studentai rodomi ne darbo valandomis,
dar nepradėjo nieko, ir tai Pirmadienio naktį ir jie tikisi
TF vaikščioti juos per kiekvieną dalykas, kad problema nustatyta dėl
vidurdienį kitą dieną.
Prasminga?
Vėlgi, prašome susitikti su mumis per vidurį.
>> Ir, pagaliau, dideli lūkesčiai.
Aš ruošiuosi būti klasifikuojamos visi, kas mano skyriuje, arba balais savo
problema rinkinių.
Jūs nesate sugrįžo problemą nustatyti nulį arba vieną dar.
Apgailestaujame, kad.
Mums prireikė kurį laiką pagaliau atsiskaityti skyrius, o dabar
mes galime pradėti rūšiavimą.
>> Aš gausiu juos su Jumis kuo greičiau.
Tai yra kai kurie iš mano advisees ten.
Aš gausiu juos su Jumis kuo greičiau.
Ir problemą, du, mes būti planuoti ir pradėsime gauti juos
jums gana greitai po to, kai jums paversti juos in
>> Kai jūs gaunate jūsų problema atsukti atgal, jūs bus gauti rezultatai, kaip žinote iš
skaityti mokymo programą, - teisingumą, dizainas, apimtis ir stilių balai.
Jūs taip pat gausite komentarus.
Šios pastabos yra svarbesni nei balai.
Manau, kad tai galima pasakyti, kad.
>> Balai yra tiesiog skaičius Nuo vienerių iki penkerių.
Sunku skaityti į juos.
Sunku pagerės nuo jų.
Bet komentarai bus nurodyti konkrečios ką padarė gerai ar sritys
galite pagerinti ir duoti jums kai kurie idėjos ateityje ar alternatyvių
būdų, kaip daryti dalykus.
>> Taigi, prašome, prašome, perskaitykite per komentarus.
Aš įdėti daug laiko į tie komentarai.
Prašome perskaityti juos ir ne tik slinkite žemyn iki apačios
PDF, ieškoti savo rezultatą, arba eiti internete ir rasti savo rezultatą, ir tada ignoruoti
komentarus.
Tai nėra, kaip jūs gerės.
Tai nėra, kaip jūs ketinate padidinti savo balus galiausiai, tiesiog
žiūri į balus.
Prašome pažvelgti į tas pastabas.
>> Ir kartu su didelių lūkesčių linija, vėl, kaip ir sakiau, jūs
gali būti įmušė nuo vieno iki penkių.
Twos, trise, ir keturiomis kojomis Dauguma balų
jūs ketinate būti gauti.
Tie ir penketus abu tikrai retai.
Visada viskas mes galime padaryti geriau.
Kai aš koduoti programą, yra visada yra kažkas, aš
galėjo padaryti geriau.
>> Taigi, o ne sako jums penkis visi apie viską laiką ir padarė
viskas puikiai, aš nemanau, kad bet koks iš mūsų tikrai manau, kad mes - arba
tikiuosi, mes nedarome viską tobulinti visą laiką.
Taigi nereikia nerimauti, jei jūs negavau penkis.
Penkių neturi map ant, keturių nėra map ant B, trijų ar
ne žemėlapis ant C. Tai nėra kaip balai dirbti.
>> Kaip Dovydas sakė daug kartų, bent semestro pabaigoje visa savo balus ir
įėjimas iš manęs, jūsų TF, drauge ir nustatyti galutinio pažymio už jus.
Bet vėl, tai ne penkerių metų, , Keturių, B, ir tt.
Taigi, aš ruošiuosi didelius lūkesčius už jus vaikinai.
Aš tikėtis gero problema rinkiniai ir aš ruošiuosi duoti
jūs atsiliepimai toks.
Ir ji nesiruošia reiškia, kad jūs esate ketina gauti dar blogiau klasės.
Jūs rūšiuojami pagal savo pažangą nuo savaitę
nulio kurso pabaigoje.
>> Ir, pagaliau, kalbant apie aukštos lūkesčiai klasės, Man patinka, kai
žmonėms dalyvauti.
Aš suprantu, kai žmonės jaučiasi daugiau ar mažiau patogūs dalyvauti.
Kiti žmonės dalyvauja ne didinti savo jėgas ir
kalbėti visą laiką.
Bet mes šioje klasėje bus daro mažų problemų daug, daug
mini klausimus, ir tada kai didesnis kodavimo problemas.
Taigi tikrai dirbti šiuos pratimus iš kai mes juos savo kompiuteryje arba
popieriaus lapas.
>> Bet aš taip pat suteiks jums šiek tiek laiko, kol kas nors kada nors turi atsakyti į kai kuriuos
klausimų prašau.
Todėl, kad aš tau duosiu šiek tiek laiko galvoti apie tai, nes mes ketiname
daryti dalykus partneriais kartais, Aš tikėsis visiems
užsiimti šiek tiek.
Ir trūksta geresnio laikotarpiu, yra tikriausiai bus cold calling, kuris
kur kiekvienas turės galimybę galvoti apie atsakymą, tada
Aš raginu jus, ir tada jums pasakyti atsakymą.
>> Nesijaudinkite, arba bijo apie tai.
Aš padariau jį į praeitį ir mes pastebėjome kad tai daug geriau sekasi,
taip pat skaityti edukacinių tyrimų apie jį nustatyti, ar tai buvo
gera taktika.
Tai yra labai naudinga, ypač jei suteikti studentams tiek laiko pagalvoti apie
atsakymai ir neverskite jų tiesiog ateiti ir pasakyti jį Iškart.
Bet jei jūs neturite jaustis patogiai atsakyti, aš taip pat gana gerai
jutimo, kad iš, ir mes neketiname padėti jums vietoje, ypač
kamera, nors nė vienas iš Jūs esate kamera dabar.
>> Taigi tie, kurie normos turiu.
Dar vienas dalykas, palei linijas įvykdyti per vidurį.
Aš norėčiau duoti jums vaikinai grįžtamojo ryšio aikštelė.
Prašau duoti man grįžtamąjį ryšį, taip pat.
Yra svetainė, sayat.me/cs50.
Taigi tai sąžiningas atsiliepimų.
Jei norite suteikti jai metu skyriuje Gaunu laišką, kai taip atsitinka.
Mes priimsime į šiek tiek pertraukos, todėl aš žiūrėti pro atsiliepimus tada.
Jei kada nors kokių nors atsiliepimų, prašome man jį ten.
>> Jei galite man duoti atsiliepimus apie Q, tai nuostabu, bet tai gidas
kad jūs pabaigoje.
Bet tai bus ne semestro pabaigos, Aš negalės imtis bet kokių, kad
Atsiliepimai ir paversti ją mokant vaikinai geriau.
Taigi, prašome, jei turite grįžtamasis ryšys, duok jį.
Aš myliu atsiliepimą.
Atgal į FOP, mes gauti atsiliepimus visą laiką.
>> Jūs galite suteikti man pliusus, gerų dalykų, delta, viskas galiu patobulinti.
Jūs galite komentuoti mano komplektus.
Tai nebus toks naudingas, bet jūs Sveiki atvykę į pastabas dėl bet kokių ir
viskas.
Prašome, prašome duoti man atsiliepimą.
Aš vertinu tai daug ir IT daug reiškia man.
>> Dar viena norma, įdomus.
Mes ketiname turėti smagi.
Tikimės, kad šiame kurse, jums turėti smagi.
Mes turime saldainiai ne skyriuje.
Mes turime muziką.
Mums bus tikiuosi pažinti vieną dar šiek tiek gerai, todėl aš noriu
tai bus įdomus, patrauklus patirtis.
>> Žinau, kai kurie iš jūsų jau užmigo paskaitos jūs turėjote anksčiau šiandien,
todėl tikiuosi, kad nebus būti dabar.
Ir jei ji yra dabar, tiesiog neturi knarkti, nes tai gali
būti sugauti kamera.
Saldus.
Visi klausimai, komentarai ar susijęs su kol aš pereiti apie ką mes
kalbėjo apie?
Didysis.
>> Taigi, mes ketiname eiti į masyvų pirmųjų.
Tai, kaip jūs padaryti masyvą.
Mes matėme anksčiau.
Jūs turite duomenų tipą, turite vardas, o tada jūs turite dydį.
Štai čia, galiu sukurti dvi matricas.
Pirmasis yra simbolių masyvas, ir ji turi 26 vietų.
Antrasis masyvas balai, ir ji turi tris
erdvės trys sveikieji skaičiai.
Taip?
>> STUDENTŲ: Ar visi šie skaidres galima kažkur mus?
>> JASON Hirschhorn: Puikus klausimas.
Klausimas buvo, yra visi tai skaidres galima?
Taip.
Visos šios skaidrės bus galima, ir ateityje, aš siųsti juos elektroniniu paštu
jūs prieš skyriuje.
Tačiau šiandien, nes tai yra pirmasis savaitę, mes turėjome jų vėlyvos įgyvendinimo pradžios.
Taigi paprastai, gausite šias skaidres, bet jie bus prieinami internete ir
Aš atsiųsime juos jums iš karto po klasę.
Visi kiti klausimai?
>> Taigi dar kartą, matricos yra dėžės, dėl nepakankamo geriau žodis, kad turėti daug
elementai vieną duomenų tipą, ir jie vienas šalia kito atmintyje.
Ir taip dar kartą, tai, kaip jūs galite padaryti dviejų tipų matricos.
>> Taigi, kai jūs atlikote savo komplekta su kad pirmoji eilutė - int balai, laikiklis
trijų, skliaustai uždaromi - jūs nori inicijuoti jį.
Jūs norite įdėti keletą reikšmių ten.
Ir tai, kaip jūs įtraukėte kai vertybes ten, tiesiog pasirenkant Indice ir
raštu numerį.
Leiskite atkreipti tai ant lentos.
Ar visi gali pamatyti?
Kiekvienas gali pamatyti.
Saldus.
>> Taigi, tai bus mano masyve balai.
Kaip matote, tai dydis trys.
Yra trys dėžutės ten.
Kiekvienas iš jų gali tilpti, ką duomenų tipas tipo?
>> STUDENTŲ: Sveikasis skaičius.
>> JASON Hirschhorn: sveikasis skaičius šį vieną.
Mes rašė int balus ir pirmasis žodis yra duomenų tipas, kuris ketina
eiti į tame masyve dėžės.
Taigi, aš gali tilpti trys.
Kodėl aš turiu nulį iki ten ant lentos?
Kodėl jis sako rezultatas nulis lygus 1?
Priminti man savo vardą.
>> STUDENTŲ Kurt.
>> JASON Hirschhorn Kurt.
>> STUDENTŲ: Taip.
>> JASON Hirschhorn: Kodėl?
>> STUDENTŲ: Kadangi pirmasis indeksas nulis, mes pradedame skaičiuoti nuo nulio.
>> JASON Hirschhorn: Taigi mes pradedame skaičiuoti nuo nulio.
Būtent dešinėje.
Tai paini dalis ir kelionė jus, ypač kai esate
bando pakartoti per masyvus, kurios mes padaryti šiek tiek.
Mes pradedame skaičiuoti nuo nulio.
Taigi, jei aš noriu kreiptis į pirmas dėžutė, tai ne langas vienas.
Deja, tai dėžutė nuliui.
Antrasis langas vienas, o tai atveju, trečiasis yra dėžutė du.
>> Ką apie langelyje trijų?
Kur yra dėžutė tris?
Arba, jei aš noriu padaryti, rezultatus, laikiklis trijų, skliaustai uždaromi, kas tai?
Taigi, jūs sakėte null pobūdžio.
Visos kitos mintys?
Kas yra rezultatas laikiklis trijų laikiklis?
>> STUDENTŲ: Jis iš tikrųjų neegzistuoja, nes jūs tik apibrėžiama kaip balai,
laikiklis trys.
>> JASON Hirschhorn: Taigi jūs sakote, tai nėra tikrai egzistuoja.
Kai kuriais atvejais, kai mes susiduriame su stygos, paprastai mes įdėti null
simbolis pabaigoje.
Mes gausite, kad per sekundę.
Tačiau šiuo atveju, nėra trečias langelis čia.
Taigi paskutinis langelis bet masyvo dydis yra minus 1.
Taigi, jei mes turime dydžio n matrica, Pirmajame lauke yra ties nuline padala, naujausia yra
ne n minus 1.
Ir šiuo atveju, tai neegzistuoja.
Yra kažkas čia atminties, bet tai ne mūsų.
Mes ne savininkas.
Mes neprašė už jį.
Taigi, jei mes stengiamės ją gauti, o mes atsiųsime padaryti šiek tiek, mes tikriausiai bus
patekti į bėdą.
>> Šiuo atveju, aš Inicijuojama MY masyvas su trimis kintamaisiais.
Mes išleisti vieną langelį nulio, du langelyje vienas, o langelyje du trys.
Ar kas nors turi kokių nors klausimų, apie iniciacijos masyvą?
>> Taigi, mes nuėjome per tai tik dabar.
Natos, laikiklis trijų, skliaustai uždaromi, kad neegzistuoja.
Mes nulis indeksuojami kompiuterių mokslo, todėl mes pradedame skaičiuoti nuo nulio.
Paskutinis langelis mums prieinama, tai trečias langelis, bet ji vadinama dėžutė
numeris du.
>> Apačioje, tai yra alternatyva būdas Inicijuojama masyvai.
Taigi vietoj sukurti masyvą į vieną linija, pripildymo pirmąjį langelį, tada
antra dėžutė, tada trečias langelis, galite tai padaryti visus viena eilute.
Taigi, tos linijos, abu masyvai.
Tai sukuria tą patį tiksliai masyvo taip ką mes sukūrėme čia, tačiau ji
tiesiog tai daro vienoje eilutėje.
>> Dabar mes sukūrėme mūsų masyvo.
Paprastai, kai jums sukurti masyvą, jūs nori kažką daryti su juo, ar
tai užpildyti jį arba gauti dalykų iš jo ir spausdinti juos ekrane.
Tokiu atveju, mes ketiname per mūsų balai masyvas, kurį mes inicijuoti dėl
Pirmoje eilutėje čia pilkai.
Ir tada antroje eilutėje, mes pradedame iteravimu per masyve.
Ar kas nors turite kokių nors klausimų apie iš struktūra kilpa?
>> Taigi tai yra už linijos.
Mes turime pradinę būklę, ir tada mūsų galutinis sąlyga, ir tada mes
pakartoti, i kiekviena kilpa.
Ir garbanotieji petnešų šiame kilpa, kas atsitiks, jei aš buvo paleisti
ši programa?
Ar kas nors pasakykite man, ką gautume?
[? Matu? ?]
>> Matu: Spausdinti visas balai kiekvienoje eilutėje.
Tai būtų spausdinti kiekvieną rezultatą atskiroje eilutėje.
>> JASON Hirschhorn: Kas tiksliai tai turėtų spausdinti?
>> STUDENTŲ: Būtų spausdinti vieną, tada du, tada trys.
>> JASON Hirschhorn: Būtent.
Būtų spausdinti vieną, tada du, tada trys, kiekvienas atskirose eilutėse, nes
mes ketiname per masyvo ir jūs matyti, kad antra, printf
pareiškimas, balai i.
Taigi į pirmojo turo per mūsų už kilpa, aš lygus nuliui, o tai reiškia, kad mes
gauti už rezultatą nulinė vertė -
kuris, jei mes einame atgal į mūsų diagrama yra vienas -
ir pildymo -
O ji sako, c.
Tai turėtų būti% d.
Aš nustatyti, kad šiek tiek kai Aš ranka į tave vaikinai.
Bet mes pristatyti sveikasis skaičius, todėl turėtų būti% d čia, o ne% c.
Kas yra% C?
>> STUDENTŲ: simbolių.
>> JASON Hirschhorn: simbolių, tiksliai.
Kas yra kita?
Jei jūs nenorite daryti% D sveikasis skaičius, ką dar galite padaryti?
>> STUDENTŲ: i.
>> JASON Hirschhorn:% i, tiksliai.
Taigi bet apie Iteracja klausimai per masyvo?
Taigi, kas atsitiks, jei mes tai darome?
Užuot man yra mažesnis nei trijų, mes i mažiau
nei arba lygus trims.
Kas atsitinka, kai mes paleisti šį kodą?
Taip, Annie?
>> STUDENTŲ: Jie ketina spausdinti keistai stuff ketvirtoje eilutėje.
>> JASON Hirschhorn: Taigi, jūs sakėte, tai ketinate spausdinti keistai stuff
Ketvirtoje eilutėje?
Ar kas nors turi atsakyti į savo klausimą?
Taigi, šansai yra, kad kai mes turime -
tt ketvirtą etapą, per mūsų už kilpa, kaip jūs manėte, Annie,
tai bus balai laikiklis trijų, kuri mes jau išsiaiškino nėra
egzistuoja, ir mes ketiname bandyti ir pasiekti, kad spausdinti
iš, naudoti ją tam tikru būdu.
Taigi kompiuteris tikriausiai supykti mus.
Jūs esate visiškai teisus.
>> Tai gali išeiti iš programos apskritai.
Jis gali spausdinti ką nors tikrai keista.
Jūs negalite pasakyti, tikrai.
Šansų yra, tai turbūt gauti pykstu Jūs ir tik mesti iš karto.
>> Bet tai dažnai pasitaikanti klaida, jūs turite kur jūs tiesiog išjungti vienu
pabaigos, ir tai yra klaida, kuri bus maras jums visą savo kodavimas.
Vienas iš būdų aš norėčiau padaryti, tai tik ant lenta, eiti per kiekvienos iteracijos
dėl ranka arba ant popieriaus kilpa pamatyti kas vyksta, ir tada
paprastai suprantame, oi palauk, aš neturėtų praėjo mažiau nei arba
lygus trims.
Aš turėjo sustojo prie dviejų, kuri yra kas atsitiks, jei Jūsų būklė yra mažiau
kaip trys.
Turite klausimų iki šiol?
Saldus.
>> Taigi jūs visi turime kompiuterių atviras.
Mes ketiname suteikti jums 2:58 minučių Parašykite programą, kuri
sukuria masyvą su skaičiais vieno per penkerių tada spausdina kiekviena
sveikasis skaičius iš naujos eilutės.
O jei turite kokių nors klausimų, pakelti ranką.
Man malonu atvykti.
Kaip ir sakiau, paimkime tris minučių rašau tai.
Ar visi gerai, jei aš einu į naują langą ir uždarykite tai?
>> Aš atsiprašau, jei turite ne turėjo galimybę iki pabaigos, bet mes ketiname tai padaryti
kartu dabar.
Taigi ant ekrano, aš # include cs50.h, # include stdio.h.
Ar kas nors pasakykite man, ką tos dvi eilutės daryti?
Michael?
>> STUDENTŲ: Jie apima bibliotekas kad CS50 padarė ir kad Steve turi
išsaugoti, kuriuos galima naudoti padarys jūsų gyvenimą lengviau.
>> JASON Hirschhorn: Taigi, jūs sakėte, jie įtraukti bibliotekas, vieną, kad CS50
padarė, cs50.h, ir vienas, kad yra tiesiog standartas, ateina su
C paketą, stdio.h.
Ką reiškia būti bibliotekos, nors?
Ar galite būti šiek tiek daugiau konkretaus?
>> STUDENTŲ: Tai daro jį taip, kad jūs galite naudoti tam tikras kodas žodžius turėti
veikti atsitikti nereikia eiti ir padaryti funkcija c sau.
>> JASON Hirschhorn: Ar galite duok man pavyzdį?
>> STUDENTŲ: kaip printf yra vienas, galite naudoti.
>> JASON Hirschhorn: Printf.
Taigi, jūs sakėte printf yra vienas iš tų funkcijos, kur užuot
rašyti printf savo, printf yra įtraukti faktiškai stdio.h, todėl jūs
galite tiesiog naudoti jį ir prisiimti kad jis veiks.
Be stdio.h, jei atvėrė šį failą, tai turėtų būti numatyta, kaip printf
darbai, visi už printf kodą?
Kodėl jūs purtant galvą?
>> STUDENTŲ: Kadangi failo antraštės tiesiog apima funkcinį deklaraciją.
>> JASON Hirschhorn: visiškai teisus.
Failo antraštės tiesiog apima funkcija deklaracija.
Taigi, iš esmės, kai jūs surinkti tai, nukentėjo Padaryti Count, kuri mes daryti
antra, kompiliatorius žino, kad jei naudoti printf, printf egzistuoja.
Tai bus apibrėžta kažkur.
Tai nėra problema, jūs jį naudoti.
Ir tada vėliau, jis bus įtraukti ir nulių rinkinys, kad iš tikrųjų yra
printf įgyvendinimo ir sujungti juos su savo kodą.
Kaip jūs įsitikinkite, kad jis apima ir nulių rinkinys, tarkim, gauti eilutę?
>> STUDENTŲ: Gauk eilutę yra cs50.h.
>> JASON Hirschhorn: Teisingai.
Taigi, kad sako, gauti eilutę egzistuoja, funkcija deklaracija.
Bet tada ir nulių rinkinys, dvejetainiai failas, kuris iš tikrųjų yra
įgyvendinimas get eilutę?
Kaip jūs įsitikinkite, kad eina su savo programa?
>> STUDENTŲ: Pass Jungiantis į komandinės eilutės argumentas.
>> JASON Hirschhorn: Pass Jungiantis į komandų eilutės argumentu.
Kaip tai padaryti?
>> STUDENTŲ: Tai-L eilutė Zaszczękać
>> JASON Hirschhorn: visiškai teisus.
Jūs sakote-l CS50, tiesa?
Tai apima ir nulių.
>> STUDENTŲ: Bet kad nėra kad jums, tiesa?
>> JASON Hirschhorn: Būtent.
Padaryti tai daro už jus, tačiau, galų gale, Jūs neturite Padaryti arba
jūs turite padaryti Padaryti savo, todėl tai
geras dalykas prisiminti.
Jei jūs ketinate naudoti vieną iš šių kitos bibliotekos, o ne tik jūs turite
rašyti # include ir tada biblioteka.
Taip pat reikia susieti jį in
Ir tie du dalykai yra skirtingi. -L CS50 skiriasi
kaip # include cs50.h.
>> Tada mes turime int main negaliojančiu garbanotas petnešos, ir dabar mes ketiname kodas
viduje pagrindinis.
Pirmoje eilutėje turiu čia yra komentaras , kuris sako, sukurti masyvą
su Ints vieną per penkių.
Kas yra geras žodis apibūdinti, ką aš turi dabar ekrane, tiesiog
komentarai viduje pagrindinis?
Ką mes vadiname tai?
>> STUDENTŲ: Pseudocode.
>> JASON Hirschhorn: Pseudocode.
Ačiū, Jeffrey.
Tai yra visiškai teisus.
Pseudocode.
Ar jus vaikinai matyti pseudocode anksčiau?
Pakelkite rankas, jei jūs naudojote Pseudocode prieš problemą nustatyti vieną.
Maždaug pusė iš jūsų.
>> Aš labai rekomenduojame naudoti Pseudocode suskirstyti problemas į
mažesni, lengviau atsikąsti vienetų.
Be to, jei jūs darote pseudocode, jūs turėti savo komentarus jau plačiai
pastatytas, todėl jūs neturite grįžti atgal ir pabandyti išsiaiškinti,
ką veikėte.
Taigi gali kas nors duoti man pirmoji eilutė sukurti masyvą su Ints vieną
per penkis?
Jūs?
>> STUDENTŲ: Žiniasklaida ir tada galite skambinti kad ir kiek, ir tada aikštė
laikiklis penki.
>> JASON Hirschhorn: Taigi int numeriai, kvadratas laikiklis penki.
>> STUDENTŲ: Lygu ir tada garbanotas petnešos.
>> JASON Hirschhorn: Lygu, garbanotas petnešos.
>> STUDENTŲ: Vienas, du, trys, keturi.
>> JASON Hirschhorn: Vienas, du, trijų, keturių, penkių.
>> STUDENTŲ: Ir tada garbanotas petnešos ir tada kabliataškis.
>> JASON Hirschhorn: Ir garbanotas petnešos ir kabliataškiais.
Puikus.
Spausdinti kiekvieną naujoje eilutėje int.
Ar kas nors dar duoti man tas kodas, prašome?
[? Matu? ?]
Eiti į priekį.
>> STUDENTŲ: for (
>> JASON Hirschhorn: for (
>> STUDENTŲ: int i = 0
>> JASON Hirschhorn: int i = 0
>> STUDENTŲ: kabliataškiu aš mažiau nei penki.
>> JASON Hirschhorn: kabliataškiu, aš mažiau nei 5.
>> STUDENTŲ: kabliataškiu, aš + +.
>> JASON Hirschhorn: kabliataškiu, aš + +.
>> STUDENTŲ: Uždaroji skliausteliuose, tada atidarykite petnešomis.
>> JASON Hirschhorn: Uždaroji skliaustai ir dvi petnešos.
Viduje petnešos?
>> STUDENTŲ: Ir tada printf "% d / n"
>> JASON Hirschhorn: Atsiprašome, laikykis.
Printf "% d / n, uždaras citata.
>> STUDENTŲ: Ir tada uždaro citata, kablelis, skaičių, laikiklis i.
>> JASON Hirschhorn: Kablelis, skaičius, laikiklis i.
>> STUDENTŲ: Atsiprašome, numeriai laikiklis i.
>> JASON Hirschhorn: numeriai, laikiklis i.
>> STUDENTŲ: Atsiprašau.
Ir tada uždaryti skliaustų, kabliataškis.
>> JASON Hirschhorn: Uždaryta skliausteliuose, kabliataškiais.
Aš einu gelbėti,.
Mes ketiname padaryti skaičių.
Ir kaip man paleisti skaičiavimą?
>> STUDENTŲ: ukośnikiem.
>> STUDENTŲ: Dot nerija -
>> JASON Hirschhorn:. / Suskaičiuoti tiksliai.
Ačiū. . / Suskaičiuoti.
Vienas, du, trys, keturi, penkias naujas linijas.
Atrodo, kad jis dirbo.
Taip, Nojus?
>> STUDENTŲ: Jūs taip pat galėtų padaryti arba mažiau lygus keturiems, kaip aš yra mažesnis nei
arba lygus keturiems?
Ar yra koks nors privalumas daro mažiau nei penkerių metų, arba tiesiog kitoks būdas
raštu jį?
>> JASON Hirschhorn: Taigi klausimas jums galėjo padaryti aš, yra mažesnis arba
lygus keturiems, o ne i yra mažesnis nei penki.
Ar tai dirbo tą patį?
>> STUDENTŲ: jis turi.
>> JASON Hirschhorn: Taip.
Jis visiškai būtų dirbti pats.
Stilistiškai, tai apskritai yra mažesnė nei, ir pamatysite per sekundę, kai
mes stygos, galite naudoti kažką vadinamas strlen, kurį mačiau
anksčiau, norėdami gauti ilgis iš eilutę.
Ir tu negali padaryti mažiau nei arba lygus strlen.
Tai galite padaryti arba mažiau lygi strlen minus vienas.
Taigi, tai tik gražiau daryti mažiau nei strlen.
Taip?
>> STUDENTŲ: Ir tikrasis viktorinos, padaryti mes turime pateikti pastabas dėl mūsų
kodas taip pat?
>> JASON Hirschhorn: klausimas buvo į viktorinos, jūs
turi pateikti komentarų?
Taigi mes kalbame daugiau apie viktorinos, kai jie atėjo, bet apskritai geras
nykščio taisykle yra, kai jūs rašyti kodą, pateikti savo pastabas.
Jei gaunate kodą neteisingai, bet komentarą teisus, jūs galite gauti kai
Kredito tiek iš manęs, jei aš buvo klasifikavimo jūs ant problemą, ar viktorinos.
Taigi, komentarai visada geras suteikti.
Saldus.
Grafas.
Puikus darbas.
Pereikime.
>> Stygos.
Stygos.
Mes matėme tai anksčiau paskaitoje.
Tai susprogdino mano protas, kai aš pirmiausia konstatavo this out.
Tai tikriausiai ne smūgis niekieno galvą čia, bet viskas OK.
>> Stygos yra matricos simbolių, o jie baigiasi, kaip jūs sakėte anksčiau,
null terminatorius, kuris tai / 0 charakterį.
Jei mes ketiname padaryti apie eilutę lenta, mes parengti jį čia.
Taigi, kaip ilgai tai seka?
Atsiprašau.
Kaip ilgai tai seka?
>> STUDENTŲ: [nesigirdi].
>> JASON Hirschhorn: keturi?
Kodėl tai keturių?
>> STUDENTŲ: Kadangi penktasis vietoje yra niekinis pobūdžio.
>> JASON Hirschhorn: Taigi penktoji vieta yra niekinis pobūdžio.
Taigi, jei aš buvo paleisti strlen nuo tai, man duotų keturių.
Ištaisyti.
Ir masyvas, nors, jei aš buvo inicijuoti šį masyvą, kiek erdvės
aš norėjau paklausti?
>> STUDENTŲ: Penki.
>> JASON Hirschhorn: Penki.
Aš turiu prašyti penkių, bet galiu tik įdėti keturis simbolius čia
nes man reikia įdėti, kad netekusiais Terminatorius ant pabaigos.
Taigi, mes ketiname rašyti "ohai" ir įdėti null terminatorius ir pabaigoje.
Mes pasakyti, tai yra eilutė ai lygus tai.
Kas yra S laikiklis nulis?
ų laikiklis nulis, Annie?
>> STUDENTŲ O.
>> JASON Hirschhorn: O, tiksliai. ų laikiklis vienas?
ų laikiklis penki nariai?
>> STUDENTŲ: Neegzistuoja.
>> JASON Hirschhorn: Neegzistuoja.
Visiškai teisus.
Cool.
Bet apie supratimo klausimai styginiams, masyvų simbolių?
Gerai, tada.
Dar viena programa jums vaikinai.
Parašykite programą, kuri prašo vartotoją styginių tada spausdina kiekviena
personažas iš naujos eilutės.
Taigi, galime paimti tris minutes rašyti ši programa, ir tada mes kodą jį
kaip grupė.
>> Atsiprašau.
Ar jūs turite tai pamatyti?
>> STUDENTŲ: Ne
>> JASON Hirschhorn: Gerai.
Paimkime dar vieną minutę koduoti tai, arba bent pradėti jį.
>> Taigi jūs galite ir toliau dirbti, bet aš ruošiuosi pradėti eiti per ją.
Taigi, kaip ir anksčiau, turiu ekrane # Include cs50.h, # include stdio.h.
int main negaliojančiu.
Viduje pagrindinis yra garbanotas petnešos, turiu du komentarai, pseudocode.
Vienas iš jų yra prašyti iš vartotojo eilutę.
Antrasis atsispausdinti kiekvieno personažas iš naujos eilutės.
Taigi Anna, galite duoti man užduoti už iš vartotojo eilutę?
>> STUDENTŲ: Printf.
>> JASON Hirschhorn: Printf?
>> STUDENTŲ: Taip.
(
>> JASON Hirschhorn: (
>> STUDENTŲ: "duok man eilutę.
>> JASON Hirschhorn: "Duok man g - Oops -
eilutę.
>> STUDENTŲ: / n) kabliataškis.
>> JASON Hirschhorn: baikite eilutę, uždaros skliausteliuose, kabliataškiais.
>> STUDENTŲ: Taip.
Ir tada kitą eilutę, styginių s = gauti eilutę.
>> JASON Hirschhorn: String s = gauti eilutę.
>> STUDENTŲ: Taip.
Ir tada ()
>> JASON Hirschhorn: ()
>> STUDENTŲ: kabliataškiu.
>> JASON Hirschhorn: kabliataškiu.
Mobiliesiems telefonams.
Taigi, aš ruošiuosi gauti eilutę ir Aš ruošiuosi įrašyti jį į ką?
Kas yra kintamasis vadinamas kad jūs sukūrėte?
>> STUDENTŲ: String s.
>> JASON Hirschhorn: kintamasis yra vadinamas s.
Tai tipo eilutę.
Būtent.
Kitas dalykas, mes norime, kad yra spausdinti kiekvienas iš naujos eilutės simbolis.
Kas gali duoti man, kad kodą?
[Nesigirdi]?
Ar galite duoti man?
>> STUDENTŲ: Žinoma.
>> JASON Hirschhorn: Darom.
Ir atsiprašau.
Man nepatinka pakartoti tai, ką tu sakai nes jūs gaunate, kad teisinga, bet aš
turi ją pakartoti, kad, kai jie užrašius tai, jie gali gauti visi
tekstas ant transkripcijos.
Taigi, galite tiesiog laikyti kalbėti.
Deja, turiu pasakyti, kad per jus.
Aš atsiprašau, bet -
>> STUDENTŲ: Tai gerai.
Dėl int i = 0
>> JASON Hirschhorn: Dėl int i = 0
>> STUDENTŲ: Aš mažiau nei -
>> JASON Hirschhorn: kabliataškiu.
>> STUDENTŲ: Prieš tai mes galime įdėti kintamasis taigi, galėsite gauti int pavadinimo ilgis?
>> JASON Hirschhorn: O, jūs neturite norite įdėti kabliataškį?
Gerai.
Taigi, ką jūs norite daryti po nulio?
>> STUDENTŲ: Noriu gauti eilutės ilgis S ir
Nustatyti, kad kintamasis,?
>> JASON Hirschhorn: Gerai Taigi, kaip man tai padaryti?
>> STUDENTŲ: Taigi jūs int ilgis =
>> JASON Hirschhorn: Žiniasklaida ilgis =
>> STUDENTŲ: S T A L-El-N.
>> JASON Hirschhorn: S T A L-El-N -
>> STUDENTŲ: S.
Skliausteliuose.
>> JASON Hirschhorn: (-ai).
>> STUDENTŲ: Ir tada aš manau, kad jūs turite įdėti tarp dviejų Ints kabliataškiu.
>> JASON Hirschhorn: kabliataškis po nulio?
>> STUDENTŲ: Taip.
Tada kabliataškis po to ir jūs sakote, aš mažiau nei ilgio.
aš mažiau nei ilgio, kuris yra kintama.
>> STUDENTŲ: Ir tada kabliataškis.
>> JASON Hirschhorn: kabliataškiu.
>> STUDENTŲ: i + +.
>> JASON Hirschhorn: i + +.
Yra mūsų kilpos.
Gerai, viduje už linijos.
>> STUDENTŲ: Ir tada padaryti printf.
>> JASON Hirschhorn: Printf.
>> STUDENTŲ: skliausteliuose.
>> JASON Hirschhorn: skliausteliuose, kabučių.
>> STUDENTŲ: Skliaustai, citatos,% c / n.
>> JASON Hirschhorn:% c, Gerai.
>> STUDENTŲ: / n.
>> JASON Hirschhorn: / n.
>> STUDENTŲ: Uždaroji kabučių.
>> JASON Hirschhorn: Uždaroji kabučių.
>> STUDENTŲ: kableliais.
>> JASON Hirschhorn: kableliais.
>> STUDENTŲ S.
>> JASON Hirschhorn S.
>> STUDENTŲ: Laikiklis aš.
>> JASON Hirschhorn: Laikiklis aš.
>> STUDENTŲ: o vėliau uždarė skliausteliuose.
>> JASON Hirschhorn: Uždaroji skliausteliuose.
>> STUDENTŲ: Ir tada kabliataškis.
>> JASON Hirschhorn: kabliataškiu.
Mobiliesiems telefonams.
Taigi galime išsaugoti tai.
Padaryti rašybos.
O berniukas.
Turiu klaidų pora.
Pirma klaida on line 11, ji sako, Tikimasi, išraiška, ir tai suteikia
man klaida, kad antrasis int, yra klaida.
Yra kai aplink ten klaida.
Ar kas nors žino, kas tai yra klaida?
Kurt?
>> STUDENTŲ: Manau, kad jis turėjo būti kablelis, o ne kabliataškis.
>> JASON Hirschhorn: Gerai, kableliu vietoj kabliataškiais.
Taigi, kad viskas, ką reikia pataisyti?
>> STUDENTŲ: Ne
>> JASON Hirschhorn: Kas kitas mums reikia pataisyti?
>> STUDENTŲ: Mes turime įtraukti string.h.
>> JASON Hirschhorn: Įtraukti string.h.
Kur man reikia įtraukti tai?
>> STUDENTŲ: toje pačioje vietoje jūs įskaitant Kita, teisė
po apima stdio.h.
>> JASON Hirschhorn: Leiskite pamatyti, jei tai veikia visų pirma todėl, paprastai, man patinka
nustatyti vieną dalyką, o paskui paleisti tai ir tada pamatyti klaidas mes gauti.
Taigi, mes ketiname išvalyti terminalą su valdymo n, galime padaryti pagal rašybą.
Taigi kitą on line 11 klaida.
Tikimasi, kabliataškiu.
Ir aš dar vis klaidų šioje eilutėje.
Taigi tai nedavė man klaidą sakydamas, kad tai nesupranta strlen yra
bet jis suteikia man klaidos tai linija, tai kas dar negerai?
Pažymėti?
Marcus.
>> STUDENTŲ: Ar turite pašalinti antra LC deklaracija?
>> JASON Hirschhorn: Pašalinti antra int.
Pabandykime tai.
Dabar aišku terminalą.
Padaryti rašybos.
Klaida.
Spėti skelbiantis biblioteką funkcija strlen.
Taigi dabar mes matome, kad klaida.
Ką reikia įtraukti?
>> STUDENTŲ: String.h.
>> JASON Hirschhorn: Įtraukti string.h, Mes padarysime # include string.h viršuje
iš ekrano.
Išsaugokime, kad rašybos.
Dabar surinkti.
Taigi dar kartą, ką mums reikia prisiminti liniją 12 mūsų už linijos, kai
mes ją nustatyti, int i = 0, ilgis = strlen (-ai).
>> Tai fantastinis strategija.
Tai stilius yra puikus, dizainas tai puiku.
Mes galime eiti į šių priežasčių vėliau tačiau tokiu būdu jūs tik reikia paskambinti
strlen kartą vietoj kiekvieną kartą paleidus per kilpą.
Tačiau, jūs turite naudoti kablelį ten ir jums nereikia int dar kartą.
Jei skelbiantis tiek tie, kintamieji kartu, jūs
nereikia int dar kartą.
Ir tada, jei jūs ketinate naudoti strlen, kuris yra dar vienas biblioteka
funkcija nėra įtraukta į stdio.h arba cs50.h, kad
tikrai yra string.h.
Kurt?
>> STUDENTŲ: Taigi, jei nereikia pasakyti, kokio tipo ilgis, ar tai
reiškia, kad jis turi būti int?
Jūs negali turėti dviejų skirtingų Tipai Yra?
>> JASON Hirschhorn: Taigi tu gali yra dvi skirtingos rūšys.
Ilgis yra int čia, nors.
Ilgis yra int, nes tai kablelis ir tada tas pats.
>> STUDENTŲ: Taigi, daroma prielaida, kad jis ketina būti kaip pirmasis patį?
>> JASON Hirschhorn: Būtent.
Mes neketiname daryti tai dabar, bet jūs gali būti dviejų kintamųjų, susijusių su
toje pačioje eilutėje naudojant vieną duomenų tipą.
Taigi int x, y sudarytų dviejų kintamųjų.
Taigi int x, y, jei mes darome, kad ji suteikia man nepanaudotų kintamųjų x ir y, nes
mes nenaudojame jų.
Todėl pradėti negaliojančiu prieš tai tik išgalvotas triukas, jei nenorite naudoti
kažkas, jį naudoti.
Bet, kaip matote, sukurti x ir y toje pačioje eilutėje kableliu.
Tai sukurti du sveikieji skaičiai teisę ten.
Taigi taip, visiškai įmanoma sukurti du dalykai toje pačioje eilutėje
atskiriami kableliu.
Leiskite atsikratyti tų, nors.
>> Taigi nėra rašybos.
Ačiū jums, vaikinai kodavimo ją mums.
Padarykime tai vienas daugiau laiko paleisti jį.
Duok man eilutę.
[Nesigirdi], tu pats jį.
Kas seka?
>> STUDENTŲ: Sveiki.
>> JASON Hirschhorn: Sveiki.
H-El-L-L-O kiekvienas vienoje eilutėje pobūdžio.
Puikiai atrodo.
Leiskite paleisti jį dar kartą.
Visada ketina patikrinti kampiniams atvejais.
Kas yra geras kampas atveju tikrinti?
>> STUDENTŲ: skaičius?
>> JASON Hirschhorn: skaičius.
Taigi, aš įdėti in 1, ir ji spausdina 1.
Jis neprašo raidžių, todėl atrodo numerių darbas.
Geras kampas atveju patikrinti.
Kas yra dar vienas geras kampas atveju tikrinti?
>> STUDENTŲ: Blankas eilutę.
>> JASON Hirschhorn: Hm?
>> STUDENTŲ: kaip tuščią eilutę.
>> JASON Hirschhorn: tuščia eilutė.
Taigi galime neskirti nieko.
Ir kas bus atspausdinti?
>> STUDENTŲ: Nieko.
>> JASON Hirschhorn: Nieko.
Atrodo, ji veikia.
Galite pabandyti daugiau kampų atvejus, tačiau paprastai numeriai skiriasi duomenys
puikus išbandyti, taip pat nieko.
Nieko, nulis, negatyvai visada daug dalykų, kuriuos galite išbandyti ir viskas jums
turėtų testas, viskas tikrai mes išbandyti už ir Check 50 tirs.
Bet apie spell.c klausimų?
>> Gerai, tegul galvą atgal.
Turiu dar vieną programą už jus vaikinai rašyti.
Tai vadinama students.c.
Tai programa, kuri prašo vartotoją penkios pavardės, tada atsitiktinai pasirenka
ir spausdina vieną iš pavadinimų.
Ši programa yra šiek tiek daugiau dalyvauja kaip pastaruosius dvejus rašėme,
tai kodėl gi ne mes penkias minutes kodą jį individualiai, ir tada mes
kodą iš jos kaip grupė.
>> Ši programa taip pat apima kai kuriuos dalykus Jūs negalite matęs, todėl, jei
Turite klausimų apie, kaip tai padaryti Aš padaryti, kad pakelti ranką.
Ateisiu vėl ir nukreips jus teisinga kryptimi.
Bet mes taip pat darome, nes tai bus geras būdas įdiegti kai
temos, kurios yra sudėtinga.
>> Taigi ji veikia, tiesa?
>> STUDENTŲ: Taip.
>> JASON Hirschhorn: Kai atneši problema komplektas, yra daug būdų tai padaryti
ji, bet kai kurie elegantiškas nei kiti.
Leiskite mums pasinerti in
# Include cs50.h.
# Include stdio.h.
int main negaliojančiu, garbanotas petnešos.
Viduje garbanotas petnešos, Turiu dvi pastabas.
Pirmasis yra, paprašykite vartotojo penkerius pavadinimų.
Antroji yra, atsitiktinai pasirinkti ir spausdinti vieną iš pavadinimų.
Taigi darykime pirmasis, kreipkitės penkerius pavadinimų vartotojas.
Kas prašė vartotoją, penkių pavadinimų ir gali man pasakyti, kaip tai padaryti?
Tik du žmonės padarė pirmąją dalį.
Trys žmonės buvo pirmą dalį.
Keturi, penki.
Tomas, kaip jūs tai darote?
>> STUDENTŲ: Jūs paskelbti eilutę ir tada vardas, laikiklis penki.
>> JASON Hirschhorn: String pavadinimas laikiklį penki.
Taigi, kas yra ši eilutė daro, Styginių pavadinimas laikiklis penki nariai?
>> STUDENTŲ: Jūs deklaruoti eilučių masyvo.
>> JASON Hirschhorn: Tai eilučių masyvo.
Kiek stygos vyksta kad tilptų čia?
>> STUDENTŲ: Penki.
>> JASON Hirschhorn: Penki.
Puikus.
Mes ketiname jį vadiname Vardai nes mes ketiname gauti daug tie.
Gerai, toliau?
>> STUDENTŲ: Ir tada jūs turi už linijos -
>> JASON Hirschhorn: už linijos.
>> STUDENTŲ: - už i = 0.
>> JASON Hirschhorn: for (int i = 0.
>> STUDENTŲ: kabliataškiu.
>> JASON Hirschhorn: kabliataškiu.
>> STUDENTŲ: Aš mažiau negu penki.
>> JASON Hirschhorn: Aš mažiau negu penki.
>> STUDENTŲ: kabliataškiu.
>> JASON Hirschhorn: kabliataškiu.
>> STUDENTŲ: i + +.
>> JASON Hirschhorn: i + +.
>> STUDENTŲ: o vėliau uždarė skliausteliuose.
>> JASON Hirschhorn: Uždaroji skliausteliuose, ir tada kai garbanotas petnešos.
Viduje garbanotas petnešos?
>> STUDENTŲ: Ir tada printf.
>> JASON Hirschhorn: Printf.
>> STUDENTŲ: Darbo skliausteliuose, vardas% d.
>> JASON Hirschhorn: Atsiprašau?
>> STUDENTŲ: Vardas.
>> JASON Hirschhorn: Vardas.
>> STUDENTŲ: Ir tada tarpas ir tada% d.
>> JASON Hirschhorn: Vardas, erdvė,% d.
>> STUDENTŲ: Ir tada / n, ir tada uždaryti.
>> JASON Hirschhorn: Taigi, pavadinimas, plotas, % D / n, uždaros skliausteliuose.
>> STUDENTŲ: Kablelis, i +1.
Aš atsiprašau.
Uždaryta citata, o tada kableliu i +1.
>> JASON Hirschhorn: Uždaryta citata, kablelis, i +1.
>> STUDENTŲ: Taip.
Ir tada kitą eilutę -
>> JASON Hirschhorn: i +1.
>> STUDENTŲ: Taip.
Ir tada kita skaidrė yra pavadinimai laikiklis i.
>> JASON Hirschhorn: Kitas linija yra pavadinimai laikiklis i.
>> STUDENTŲ: = gauti eilutę.
>> JASON Hirschhorn: = Gauti -
kapitalas G-E-T -
eilutę.
Oi, atsiprašau.
>> STUDENTŲ: atidaryti, uždaryti skliaustai ir tada -
>> JASON Hirschhorn: Atidaryti, uždaryti skliaustelius.
>> STUDENTŲ: kabliataškiu.
>> JASON Hirschhorn: kabliataškiu.
Gerai, kad jūs inicijuoti įvairių stygos, pavadinimai, ir tada eiti per
už linijos, ir penkis kartus atspausdinti kai greitai vartotojui ir tada laikyti
penkios stygos.
Ar kas nors turi bet patikslina šį?
Tomas, aš manau, kad visi sutinka su jumis.
Atrodo gana gerai.
Gerai.
Kodėl tu i +1, nors?
>> STUDENTŲ: Aš turiu galvoje, neturi būti, bet i +1, kad tai
pavadinimas vienas įvardyti penkis.
Priešingu atveju, tai būtų vardas nulis pavadinti keturių.
>> JASON Hirschhorn: Taigi tu i +1 nes kitaip būtų
išspausdinti nulio per keturių nes tai kaip kompiuteriai galvoti, bet žmonės
tikrai ne skaityti, kaip kad.
Tai yra dar vienas dalykas, jums susidurti.
Kartais, kai jūs spausdinti ką nors vartotojui, jūs norite, kad jis
šiek tiek gražiau, ir daro šiuo atveju 1 i
taip, kad ji gražesnė.
>> Aš taip pat matau penkių dvigubai, Styginių pavadinimas yra penki, i mažiau nei penki.
Aš žinau, kur jūs turite penkis.
Jūs turite jį nuo manęs, sako jūs penkios pavardės.
Bet jei mes norėjome padaryti kodą šiek tiek labiau patikimas, vienas dalykas, mes
gali padaryti, tai iš čia už int, mes galime padaryti kažką panašaus į tai,
# Define, ir mes galime padaryti pavadinimai 5.
>> Taigi, iš esmės, kad ir kur aš rašau kapitalą N, kapitalas, kapitalo M kapitalas E
didžiosios S, kad seka, jis pakeis kad su 5 kodą.
Arba tegul tiesiog vadina jį - mes tik jį vadiname skaičius.
Taigi, aš apibrėžiamos visos kepurės Skaičius yra 5.
>> Taigi dabar kur turiu skaičius 5, aš galite pakeisti jį su visais dangteliais skaičius.
Ir dabar, jei noriu pakeisti numerį pavadinimų, viskas, ką reikia padaryti, tai
tai viena eilutė, linija keturių, kur aš # Define skaičius 5, pakeisti, kad iki 10,
arba pakeisti, kad iki 4.
Kai jūsų kodas pailgėja, jūs ne ketina prisiminti visų vietų, kur
įdėti kiek vardų norėjo, o kad jums nepraleisti vieną, tai
geras būdas tai padaryti, rasti kažką iki viršaus ir tada tiesiog naudokite šią frazę
visur per savo kodą.
Marcus?
>> STUDENTŲ: Ar tai stilistiškai pirmenybė kaip visame pasaulyje apibrėžiant
nuolatiniai n?
>> JASON Hirschhorn: Taigi yra ta, kad stilistiškai pirmenybė nei visame pasaulyje
apibrėžiant pastovų n?
Taigi jūs sakote galėtumėte padaryti, int numeris = 5?
>> STUDENTŲ: Ar jie turi priebalsiai į C ar ne?
>> JASON Hirschhorn: Arba konstanta - lygiomis.
Taigi jūs sakote, tiesiog pasaulinį kintamąjį?
>> STUDENTŲ: Taip.
>> JASON Hirschhorn: Taigi stilistiškai nėra būtinai vienas teisingas
atsakyti, bet abu jie yra geriau nei tiesiog mesti juos atsitiktine tvarka
numeriai visoje savo kodą.
Mes vadiname juos magija numeriai.
Kai žiūriu į savo kodą arba kai kas skaito per jį, jie
nenoriu tik šiuos atsitiktinius numerius , kurios neturi prasmės.
Net numeris 26, kuris paprastai yra Raidžių skaičius abėcėlėje,
tai geriau apibrėžti abėcėlės iki viršaus ir įrašyti skaičių 26 Šiuo eilutę,
jei tai turi prasmę.
>> Arba problema nustatyti vieną, o ne - dar kartą, mes ne kalbėti apie tai ne
laikas, bet vietoj tiesiog mesti per 25 visur arba 10, galite
įrašyti skaičių 25 kaip ketvirtį arba 10, kaip DIME, ir kad lengviau
kas skaito per savo kodą suprasti, kodėl pasirinkote šį numerį.
Ir taip pat už jus, jei jūs kada nors norite atnaujinti savo kodą, ji tampa šiek tiek
labiau patikimas.
Taip?
>> STUDENTŲ: Ar šis kodas taip pat ketina būti prieinama mums po to?
>> JASON Hirschhorn: Visi šie kodai kad mes parašėme kartu yra
bus išsiųsta Jums elektroniniu paštu vaikinai ir prieinama.
Taip.
Taigi prašyti penkių pavadinimų vartotoją.
Atsitiktinai pasirinkti ir spausdinti vienas iš pavadinimų.
Kas tai padarė šią eilutę?
Tai sudėtingiausia linija čia.
Atsiprašome, Tomas.
Tu tikrai gerą darbą, bet tai yra šiek tiek sudėtingesnis.
Marcus, eiti į priekį.
>> STUDENTAS: Na pirma, jūs ketinate reikia įtraukti stdlib.h ir time.h.
>> JASON Hirschhorn: Taigi jūs sakote, ne viršuje, įtraukti dar dvi bibliotekos.
Jūs norite mane įtraukti S-T-D-L-i-B taškas H Standartinis biblioteka, ir ką
buvo kita?
>> STUDENTŲ: Time.h.
>> JASON Hirschhorn: # include time.h.
Taigi tai yra dar dvi bibliotekos.
Manau, dabar mes ketiname naudoti funkcijos, kurios yra įtrauktos šios
du, kuris yra, kodėl jums reikia įtraukti juos?
>> STUDENTŲ: Taigi, pirmasis esate ketinate norite rašyti srand.
>> JASON Hirschhorn: Srand.
>> STUDENTŲ: (laikas (0)
>> JASON Hirschhorn: Atsiprašau.
Srand (laikas (
>> STUDENTŲ: 0.
>> JASON Hirschhorn: 0.
>> STUDENTŲ:)), kabliataškis.
>> JASON Hirschhorn: Kita uždaras skliaustas?
Kabliataškis.
Aš ruošiuosi tiesiog pakeisti Jūsų nulis su NULL.
Tai bus daryti tą patį, bet paprastai, pamatysite NULL, kuris
mes kalbame apie tai linija sekundę.
>> STUDENTŲ: Stilistiškai geriau?
>> JASON Hirschhorn: Apskritai, žmonės teisė NULL, bet tas pats.
>> STUDENTŲ: Ir tada int pavadinimą.
>> JASON Hirschhorn: Žiniasklaida pavadinimą.
>> STUDENTŲ: =
>> JASON Hirschhorn: =
>> STUDENTŲ: Randas.
>> JASON Hirschhorn: Randas.
>> STUDENTŲ: ()
>> JASON Hirschhorn: ()
>> STUDENTŲ: Modulo skaičius.
>> JASON Hirschhorn: Kas moduliu?
Charakterį?
Procentų charakterį?
>> STUDENTŲ: Procentas pobūdžio.
Modulo numerį, kurį apibrėžti iki viršaus.
>> JASON Hirschhorn: Modulo skaičius.
>> STUDENTŲ: Ir tada kabliataškis.
>> JASON Hirschhorn: kabliataškiu.
>> STUDENTŲ: Ir tada nauja linija, printf.
>> JASON Hirschhorn: Printf.
>> STUDENTŲ: (
>> JASON Hirschhorn: (
>> STUDENTŲ: "
>> JASON Hirschhorn: "
>> STUDENTŲ:% s / n
>> JASON Hirschhorn:% s / n
>> STUDENTŲ: "
>> JASON Hirschhorn:% s / n "
>> STUDENTŲ: Kablelis, kosmoso pavadinimai.
>> JASON Hirschhorn: Kosmosas -
>> STUDENTŲ: O, manau, kas Ar mes jį vadiname čia?
>> JASON Hirschhorn: Mes pavadino jį pavadinimai.
>> STUDENTŲ: Atidaryti laikiklis, pavadinimą.
>> JASON Hirschhorn: Atidaryti laikiklis, pavadinimą.
>> STUDENTŲ: įvykdyta laikiklis.
>> JASON Hirschhorn: įvykdyta laikiklis.
>> STUDENTŲ:)
>> JASON Hirschhorn:)
>> STUDENTŲ: kabliataškiu.
>> JASON Hirschhorn: kabliataškiu.
Gerai, galime išsaugoti.
Padarykime šį kodą.
Studentams.
Leiskite paleisti šį kodą.
Studentams.
Ne. / Studentas. . / Studentams.
Vardas vienas.
Mes pasakyti Dovydui.
Vardas du RJ.
Vardas trijų Rob.
Vardas keturių, Lucas.
Vardas penkių Juozapas.
Ir tada jis spausdina Juozapą iš naujo.
>> Taigi leiskite man paleisti dar kartą.
Leiskite man padaryti tuos pačius pavadinimus.
Davidas, RJ, Rob, Lucas Juozapas.
Ir ji man davė Dovydui šį kartą.
Taigi aš tą patį, bet tai davė mane kitas dalykas, ir tai
nes, žinoma, mes prašome už atsitiktiniu pavadinimu.
Taigi, manau, pagrįsta ne man klajojo aplink kambarį, kad dauguma žmonių
tikriausiai gavo pirmąją dalį teisę, įsteigti, kad masyvas ir tada gauti
visi vardai.
Aš kalbu apie linijas 10 iki 16 metų.
Bet per 21 18 eilutės yra tikriausiai keletas dalykų, jūs dar nematėte anksčiau,
todėl galime pereiti per juos.
>> Ši eilutė, srand laikas NULL iš esmės -
Atsiprašome, galime praleisti žemyn linija, rand ().
Tai suteikia jums atsitiktinį skaičių, atsitiktinis sveikasis skaičius.
Ir jei jūs nukentėjo žmogus randas, kuris iš jūsų daug padarė -
M N erdvė R-N-D -
į panašaus terminalo M-N erdvė R-N-D, paspauskite Enter.
Galima būtų sugalvoti vadove ir būtų galima skaityti, kad randas
komandų išėjimai num pseudo atsitiktinių baitai po sėjos atsitiktinių skaičių
generatorius vieną kartą.
>> Štai aprašymas.
Štai ką randas daro, suteikia jūs atsitiktinių skaičių, kai
skambinate šią funkciją.
Deja, tai tikrai ne atsitiktinai nes jei tiesiog paskambinkite atsitiktinai
be getting tai kai sėkla, kai Išeities taškas, ji visada bus pasirinkti
ta pati ir ji naudoja formulę nustatyti kitą.
Taigi, jei Jūs skambinate randas, jis bus tik duos jums tą patį.
Tai bus labai nuspėjamas.
Jis tikrai nebus atsitiktinis.
>> Taigi, ką mes turime padaryti, už Marcus instrukcijos man buvo sėklų randas
su kažkuo kitu, o tai, ką srand funkcija veikia.
Jis sėklos RAND su kažkuo šiek tiek daugiau atsitiktinis nei tą patį, ir
jis sėti jį su laiko NULL, kuris yra tik pagal susitarimą, dabartinis
laikas sekundėmis.
>> Taigi jūs darant prielaidą, kad visi ne ketina paleisti kodą tiksli
pati antra, todėl saugus statymas, kad laikas NULL bus kitoks
kiekvieną kartą, šis kodas yra paleisti.
Saugus statymas, kad tokiu būdu, srand will sėklų randas su kažkuo kitu kas
vieną kartą.
Taigi pagal susitarimą, kai mes norime atsitiktinių skaičių, mes rašome šią eilutę,
srand laikas NULL, mums daug daugiau atsitiktinių sėklos, tada mes paleisti
randas, kuris suteikia mums atsitiktinių skaičių.
Taip?
>> STUDENTŲ: Ar galite pasakyti, kas turite galvoje sėklos?
>> JASON Hirschhorn: Sėklų kaip -
taip randas ketina pasiimti šiek tiek skaičių ir jis ketina naudoti tam
formulė ten patekti.
Taigi jis ketina pradėti su kažkuo ir tada įjunkite jį į kažką, pagrįstą
nuo tos formulę.
Jei visada suteikti jai tą patį, jis visada bus paversti ją
tas pats.
Taigi, kad pirmas dalykas, kurį duoti tai yra sėklų.
Taigi, jūs norite suteikti jai kažką skiriasi pradėti su, ir todėl
bus paversti ją kažką kitą.
>> Ir galiausiai, linijos 20 tai% vadinama
modulį, ir tai klaidina.
Tai kažkas, kad yra šiek tiek skiriasi čia, kad jums nereikia tikrai
turėti realiame gyvenime matematikos.
Bet iš esmės, kai išgėrėte milžinas skaičius ir jums padalinti C, kas
atsitinka laikui?
>> STUDENTŲ: Ji gauna sutrumpintas.
>> JASON Hirschhorn: Ji gauna sutrumpintas.
Taigi 20 padalinta iš 3 yra kas?
Ką tai grįžti į tu, 20 padalinta iš 3.
Atsiprašome, 10 padalinta iš 3.
Ką tai sugrįšiu pas tave?
>> STUDENTŲ: [nesigirdi].
>> JASON Hirschhorn: 10 padalinta iš 3 tik grąžina 3, o ne 3 likusi 1.
Taigi, kas 10 modulį 3 grįžta yra tik likusi 1.
Taigi, jei jūs norite žinoti, kas 10 skirstomos pagal 3 buvo iš tikrųjų, tai darytumėte
padaryti 10 padalinta iš 3, norite gauti savo 3, ir tada jums reikia padaryti 10 modulo 3 ir
norite gauti 1.
Taigi jūs norite suvokti, kad 10 padalinta iš 3 yra 3, likusi 1.
>> Ir šioje eilutėje, randas gali būti bet koks sveikasis skaičius iš esmės.
Taigi moduliu sako, padalinsime jį į numeris, kuris yra šiuo atveju 5.
Ir jei jūs kada nors padalinti iš skaičiaus, sveikasis skaičius visada turi būti mažesnis nei
kad skaičius.
Taigi, jei jūs padalijant skaičius 5 Likusi dalis visada bus
nulis per keturi.
Tai tiesiog kaip matematikos darbus atlikti.
>> Taigi daug moduloed pagal mažesni numeris bus visada grįžti
Likusi ir visada grąžinkite skaičius, kuris yra mažesnis nei numerio, kurį
padalintas.
Ar kas nors turite kokių nors klausimų apie modulį, nes jis bus labai,
labai patogu, todėl aš noriu įsitikinti, visi tai supranta?
Cool.
Ir matėme, kad ši programa veikia.
Gerai, juda.
>> Taigi kitą, mes ketiname eiti į funkcijos, ir mes ketiname eiti
per šią medžiagą poilsio gana greitai, nes aš noriu patekti į
komandinės eilutės argumentai.
Taigi funkcijos yra iš esmės, kaip jūs mačiau, juodosios dėžės.
Jie dalykų, vadinamų parametrais, jie ką nors jiems arba
juos pakeisti arba sukurti tam tikrą šalutinį poveikį, ir galiausiai jie ėmė spjaudyti
kažkas, kuris yra Grąžina reikšmę.
Ar kas nors duoti man vieną priežastį, kodėl mes turėtume naudoti funkcijas?
Kiekvienas?
Viena iš priežasčių, kodėl mes norime naudoti funkcijas?
Anyone?
Aš mačiau dvi rankas.
Kas yra gera priežastis?
Marcus?
>> STUDENTŲ: Jei jūs turite skambinti pats riekė kodą kelis kartus.
>> JASON Hirschhorn: Gerai, jei jums reikia galimybė skambinti tuo pačiu riekė
kodą kelis kartus.
Jeffas, tu turi skirtingą priežastį?
>> STUDENTŲ: Tiesiog taip, kad galite koduoti mažiau.
>> JASON Hirschhorn: Jūs galite koduoti mažiau.
Teisė.
Jei norite padaryti kažką daug -
ankstesniame kodą, galėčiau parašyta gauti styginių penkis kartus, tačiau
už kilpa tai atrodo gražiau ir turite rašyti mažiau kodo.
Funkcijos yra panaši idėja.
Jei aš noriu daryti tą patį daug, perkelti jį į funkciją ir skambinti, kad
veikti kiekvieną kartą.
Kad bus padaryti, kad dalykas jums.
Tai puiki priežastis naudoti funkcijas.
>> Taigi anatomija funkcijos.
Funkcija paprastai atrodyti taip.
Tai bus pradėti grąžinti tipą, tada jūs gausite pavadinimą.
Jis paims argumentus, kitaip žinomas kaip parametrų, o viduje
tas garbanotas petnešos, jums parašykite savo kodą.
>> Mes matėme vieną funkciją aikštelė.
Tai pagrindinis.
Čia yra pagrindinis iškaltas ant kad anatomija turėjau anksčiau.
Ką int čia reiškia?
Ką int reiškia?
Kai aš rašau int main (void).
>> STUDENTŲ: Grįžimas tipas?
>> JASON Hirschhorn: Atsiprašau?
>> STUDENTŲ: grįžimo tipo.
>> JASON Hirschhorn: Žiniasklaida yra grįžti tipo, visiškai teisus.
Pagrindinis grąžina int.
Kas yra pagrindinis?
>> STUDENTŲ: Funkcijos pavadinimas.
>> JASON Hirschhorn: Maino pavadinimas funkciją.
Visiškai teisus.
Ir negalioja?
Kas yra negaliojantis skliausteliuose?
>> STUDENTŲ: Ji neatsižvelgia bet išorės vertė.
>> JASON Hirschhorn: Taigi negaliojančiu -
teisus.
Skliausteliuose, mes įdėti parametrai arba argumentai
Funkcija, kas vyksta viduje juodosios dėžės.
Rašydami negaliojančiu, jūs sakote tai užtrunka nieko įvartį
Taigi int main negaliojančiu tai pagrindinis ųjų nesiima nieko in
>> Viduje garbanotas petnešos, mes turime kai kodas, ir tada mes matome pabaigoje
grįžti nulį.
Ką grįžti nulis reiškia?
Na, mes kalbėjome apie grįžimo tipo.
Pagrindinė turi grąžinti int.
Štai ką ši eilutė nėra.
Ji grąžina int, nulis.
>> Žinoma, mes nematėme, kad daug nes programavimo mes darome su
mašinos mes darome ir kompiliatoriai mes naudojame šiandien, jums
nereikia tos linijos.
Pagrindinis ypatingas pakankamai, kad jis žino, kai jūs pasieksite pagrindinė, tiesiog pabaigą
grįžti lygi nuliui, jei viskas buvo gerai.
Iš tiesų, jei kažkas neviršijama gerai, Pagrindinis dažnai grįžti kitoks
skaičius, reiškiantis, kad kažkas nutiko su jūsų programa.
>> Taigi, paprastai, kai pamatysite kodą, Nerašykite grąžą nulio, bet tai gerai,
žinoti, kad tai, kas vyksta už scenos, nes kai rašote
kitą funkciją tipas, jūs ketinate reikia
įtraukti Grįžtamoji linija.
Jei jūs sakote, aš ruošiuosi grįžti int, turite
rašyti grįžti kažką.
Jei sakai, kad tuštuma čia ne pradžia negaliojančiu pagrindinis negalioja, nes
Pavyzdžiui, tada jis negrįžta nieko - tuščia tai nieko -
todėl jums nereikia, kad grįžtamosios linijos.
Bet jūs kada nors ką nors parašyti, kad ne negaliojimą grąžinimo tipo, jums reikia
linija, kuri sako grąžinti ir jums reikia įdėti kažką ten
, kuris atitinka tipą.
Bet apie tai klausimų?
Saldus.
>> Taikymo sritis.
Tai kažkas, ką mes palietė taip pat.
Kiekvienas kintamasis, kaip žinome, turi tam tikras sritis, ir tai iš esmės
kalbėti apie tai, kur kintamasis gali arba negali būti aprašyti.
Ir aš norėčiau pasakyti tai, kas vyksta į garbanotieji petnešų lieka
viduje garbanotas petnešomis.
Taigi, pavyzdžiui, jei pažvelgsime į šio kodekso, mes apibrėžiant pasaulinį kintamąjį
ne pagrindinis, int, čia viršuje.
Mes skambina kita int viduje pagrindinis.
Mes turime šiek tiek daugiau vingiuotus skliaustus, ir mes skambina kitą int.
>> Mes turime tris ųjų kodą.
Tai nėra tas pats dalykas.
Aš sukūriau tris skirtingus kintamuosius.
Tada jų viduje vidinės garbanotus petnešos, sakau a = 4.
Kuris yra tai, kad kalbame apie, Pirmasis, antrasis,
ar trečias?
>> STUDENTŲ: trečiasis.
>> JASON Hirschhorn: Tai kalbu apie trečią vieną.
Visi šie iš tikrųjų gali būti kalbėjo apie tai ypač
Pavyzdžiui, nes jų apimtis viskas vyks į šiuos slapčiausias garbanotieji petnešų.
Tačiau, kai jūs vadinate viskas tas pats vardas, kažkas pavadino slepiasi.
Taigi jums reikia tik kovoti su arba nustatyti arba naudoti Naujausia kintamasis, arba vienas
arčiausiai Jūsų.
Taigi viduje čia šis trečiasis yra arčiausiai prie tos linijos, = 4, todėl
veikia trečiuoju.
Ir paskutinė eilutė, = 2, kuris yra kad kalbėti apie, pirma, antra,
ar trečiosios?
>> STUDENTŲ: Antra.
>> JASON Hirschhorn: Tai kalbu apie antrą a.
Žinoma, trečiasis yra arčiausiai tai į kodą, bet trečia
nėra ribų tas garbanotas petnešos.
Kai gausite į šį uždarą garbanotus petnešomis, tai kaip jis dingo,
iš esmės.
Taigi, tik du liko tie Pirmieji du, ir, žinoma, dabar
tai arčiausiai antrą.
>> Štai geras dalykas prisiminti apie taikymo sritį.
Pavyzdžiui, aš tikiu, kad jūs susidūrėme tai padaryti, o kilpą.
Jei inicijuoti kintamąjį rinkmenoje ar while cikle ir tada bandyti
pasiekti jį į lauką, jūs tikriausiai gavo kai, pavyzdžiui, šį įspėjimą
kintamasis neegzistuoja.
Štai dėl apimtis idėja, kad viskas egzistuoja tik
viduje tas garbanotas petnešomis.
Garbanotasis petnešos yra tarsi milžinas apkabinti, kad jūs suteikiant kodą, yra dar vienas
būdas galvoti apie tai.
>> Taigi tai yra kita funkcija, kažkas už jus vaikinai į kodą, hellofunction.c.
Mes ketiname praleisti, kad dabar, bet tai yra kažkas, raginu jus
praktikuoti savo.
Parašykite programą, kurioje pagrindiniai skambučių kita funkcija, kuri spausdina
sveikinimo vartotojui.
Tai iš esmės atsižvelgiant hello world ir referavimas, kad printf į
kitos funkcijos.
Tačiau mes neketiname daryti, kad dabar nes mes neturime tiek pat laiko
paliko kaip aš būtų norėję.
>> Taigi funkcija deklaracija.
Mes matėme prieš tai taip pat.
Jei norite rašyti kitą funkciją, Jums reikia leisti kompiuteris žinoti ir
Pagrindinis žinoti, kad jis egzistuoja.
Taigi, ką mes darome, yra virš pagrindinio, mes rašome grįžimo tipo, vardas ir
parametrai, tada žemiau pagrindinis, žemyn čia, mes iš tikrųjų nukopijuoti ta linija
ir tada parašyti faktinį kodą.
Taigi šiuo būdu, jei Jūs skambinate funkciją ir pagrindinis viršuje, pagrindinis žino, kad
Apie egzistuoja, pavyzdžiui, jei aš buvo skambinti labas, ir tada atrodo, kad
įgyvendinimas žemiau.
Kas atsitiks, jei aš neturiu įtraukti šį liniją iki viršaus, negalioja Apie (tuščia)?
>> Jei aš neapima šios linijos ir pagrindinės ragina Sveiki, aš
ketina gauti klaidos.
Aš ruošiuosi gaunate klaidos, nes kompiliatorius nežino
kad šis dalykas egzistuoja.
Tai panašu, kodėl mes tai # include cs50.h.
Ką iš esmės cs50.h daro yra išleisti gauti eilutę ten.
Tai pradėti gauti int ten.
Tai išleisti visų šių funkcijų prototipų iki prieš pagrindinius valgymus, kad kai
Jūs juos vadinate ir pagrindinis, pagrindinis žino kad šie dalykai egzistuoja.
Štai ką tie. H failai daryti.
Ir todėl, jei jūs ketinate padaryti savo funkcija, jūs turite įsitikinti,
jūs įdėti, kad prototipas ten.
Bet apie tai kiek klausimų?
>> Komandinės eilutės argumentai.
Tai, ką mes ketiname baigti , ir tada tikiuosi mes atsiųsime
išspausti kai pset.
Aš nežinau, jei mes galėsime išspausti kad dėl laiko, tačiau
su jumis vaikinai, kurie yra čia, ir jei vaikinai nori pasakyti, po truputį, mes
gali eiti per jį lauke.
Tačiau mes ketiname baigti su komandinės eilutės argumentai
per pastaruosius 15 minučių.
Mes miega, Michael?
Jūs esate miega?
Geras.
Aš nežinau, jei jūs miego su savo akimis uždarytas.
Būtų sudėtinga.
>> Komandinės eilutės argumentai.
Tai yra vienas iš būdų perduoti informaciją į programą.
Galų gale, mes susidurti kitiems.
Bet iš esmės, mes ketiname sustabdyti raštu int main (void), jei norime
imtis tam tikrų komandų eilutės argumentus.
Mes ketiname parašyti tai, ką vadinamas int main (int argc,
styginių argv, laikikliai.
Tai painu.
Štai raidžių daug, kad nėra žmogaus Anglų, todėl mes ketiname
išpakuokite juos dabar.
>> Argc reiškia argumentų skaičius -
ir vėl, visi jie bus galima rasti internete -
ir tai argumentų skaičius.
Argv reiškia argumentas vektoriaus ir tas yra argumentai patys.
Tai eilučių masyvo.
Mes iš tikrųjų matyti masyvas eilučių iki šiandien.
Mes sukūrėme vieną per pastaruosius programa, kurią mes koduojami.
>> Taigi čia pavyzdys.
Aš rašau. / Ohai CS50 skyrius mano komandinės eilutės.
Argc šiuo atveju lygus 3.
Argv laikiklis 0 yra ohai, argv laikiklis 1 yra CS50, argv laikiklis 2 skyriuje.
Vėlgi, argc yra argumentų, ir kelionė jus tiek
tiek, mes visada suskaičiuoti vardą veikia kaip pirmojo argumento.
Taigi, šiuo atveju, yra trys argumentai, Šios funkcijos pavadinimas
ir tada tie du, kad aš įvedėte in
>> Be to, mes ketiname išgelbėti tuos, argumentai patys argv.
Ir vėl, kaip matėme anksčiau, mes padarėme tai paskutinę programos mes koduojami.
Jūs galite pereiti per įvairių argv ir gauti tuos eilutes.
Tai iš esmės, ką mes padarėme ne mūsų paskutinio programos pabaiga.
Mes pasirinkome atsitiktinai vardą ir nuvyko į pavadinimai laikiklis bet ir atspausdintas
iš eilutės yra ten.
>> Ant tik viena masyvas, nes stygos patys matricos, kaip
kalbėjo apie, jūs galite turėti masyvų iš masyvų, kuris yra
iš esmės tai, ką argv yra.
Vienas iš būdų, galite galvoti apie tai eilutes ir stulpelius.
Galiu padaryti, kad dabar.
Taigi argv -
tai ne ištrinti.
Leiskite atkreipti pagal ohai.
>> Taigi, jei rašiau, ohai CS50 skyriuje Aš ruošiuosi trumpinti
skyrius šiame pavyzdyje.
Bet iš esmės, mano įvairialypis masyvas, ohai CS50,
mes ketiname padaryti sekta.
Taigi čia, galiu prieiti -
jei aš tiesiog suteikti argv vieną numerį -
Tai neteisinga.
Kas negerai šioje diagramoje?
>> STUDENTŲ: Pradėti nulio.
>> JASON Hirschhorn: jis turi pradėti nuo nulio.
Aš tikriausiai turėtų taip pat sukasi, bet nes aš jau parengti jį, aš
ketina palikti jį ten dabar.
Bet tai prasideda nulis.
Tai tiesa.
Aš atsiprašau, jei tai yra maža.
Ar jus vaikinai rūšies pamatyti?
Taigi, jei aš argv 0, aš gauti visus ohai.
Jeigu aš argv 1, aš gauti visus CS50.
Jeigu aš argv 2, aš gauti visus sekta.
>> Bet dabar, kaip mes sakėme, siūlai yra matricos patys.
Taigi, ką aš galiu padaryti, tai galiu traktuoti tai kaip multi-dimensional masyvą, ir aš
galime padaryti kažką išilgai linijos argv 0, 0, kuris suteikia man tiesiog
simbolis 0.
Argv 0, 1, kuris suteikia man tiesiog val.
Argv 1, 3, kuris suteikia man tiesiog šis 0 žemyn čia CS50.
>> Todėl, kad stygos patys yra masyvus, mes nukreipiame
kad kitoje masyvo.
Mes dabar turime įvairių masyvų, ir mes gali indeksuoti į mūsų pirmojo masyvo ir
tada indeksą į mūsų antrą masyvo.
Ir kaip galima tikėtis, tai mes darome tik pradėti šių dviejų -
mes skliaustus tik šalia vienas kito.
Taigi šiame pavyzdyje argv 1 yra CS50 ir argv 1, 2, kaip sakėme, yra tik 5.
Ar kas nors turite kokių nors klausimų apie kelių vienmačių masyvų?
Jūs vaikinai daro nuostabus.
Saldus.
>> Taigi mes turime kitą programą čia, ir tai yra galutinis dalykas, mes
ketinate daryti dabar.
Taigi aš noriu jums parašyti programą, kuri mano vartotojo vardą, pavardę, du ir tik
dvi komandinės eilutės argumentai, ir, pagaliau, atsispausdinti pasveikinimą
vartotojas, kuris apima jų vardą.
Taigi, kodėl gi ne jums imtis trijų ar keturių minučių tai padaryti, ir tada mes eiti
per jį kaip grupė vertinimą, ir tada mes susivynioti?
>> Ir vėl čia, kai mes sakome, imtis vartotojo vardas, pavardė už informacijos
šią problemą, turėtų būti komanda eilutės argumentai, o ne naudojant gauti eilutę.
Taip, Marcus?
>> STUDENTŲ: Taigi, kai jūs sakote du komandą eilutės argumentai yra tai, kad be
. / run, arba -
>> JASON Hirschhorn: Geras klausimas.
Ar, įskaitant. / Run, trys komandinės eilutės argumentai.
Arba įskaitant. / Asmeninės, kad šiuo atveju, nes tai
pavadinimas šio failo.
Taigi argc būtų trys.
Bet aš noriu tik du argumentus atsižvelgiant į programą.
Turėčiau nurodyti, kad.
Aš padaryti, kad pakeisti, kol aš rašyti šiuos ir siųsti juos į jūsų vaikinai.
>> STUDENTŲ: Ką daryti, jei turi antrą vardą?
>> JASON Hirschhorn: Jei turite viduryje vardas, jūs iš laimės.
Aš atsiprašau.
Arba, jei tik eiti Shakira, jūs taip pat nesiseka.
Taip?
>> STUDENTŲ: Taigi, kai žmonės neturi cs50.h, jie apibrėžti argv
kaip char žvaigždučių argv?
Ar tai dar vadinama eilutės argv?
>> JASON Hirschhorn: Taip.
Taigi eilutę, vėl, mes užmaskuoti per kiek tiksliai ten vyksta.
Tai bus išpakuota gal trečiadienį, tačiau netrukus.
Tai kaip mokymo ratų.
Nes iš esmės, tai tas pats.
>> Taigi galime žengti dar vieną minutę programos tai, ir tada mes galėsime eiti per
tai kaip grupė, o tada kaip ir sakiau, susivynioti.
Ir manau, kad jie vis dar papildomų saldainiai, Taigi jūs vaikinai turėtų tikiuosi imtis
kad arba prašome, kad.
>> Atsiprašau, jei jūs vis dar raštu, bet aš noriu pasinerti ir mes
galite baigti kartu.
Taigi aš parašyta, # include cs50.h, # include stdio.h.
int main (void), garbanotas petnešomis, garbanotas petnešomis, viduje tris eilutes
Pseudocode, imtis vartotojo vardą ir pavardę, du ir tik du komandinės eilutės
argumentai, atsispausdinti pasveikinimą vartotojas, kuris apima jų vardą.
>> Taigi pirmasis, imtis vartotojo vardas, pavardė.
Kas gali man padėti imtis vartotojo vardas, pavardė?
Kaip aš galiu padaryti, kad dalyvauti?
Ar jus vaikinai padaryti, kad pirmąją dalį?
Paimkite vartotojo vardą ir pavardę.
Na, kad vienas komandinės eilutės argumentas, ką turėčiau rašyti?
Ką turėčiau pakeisti apie Mano užduotis deklaracija?
>> STUDENTŲ: Nenorite tai negaliojančiu nebėra.
>> JASON Hirschhorn: Būtent.
Aš nenoriu, kad ji būtų niekinis.
Ką aš noriu, kad jis būtų?
>> STUDENTŲ: Žiniasklaida argc.
>> JASON Hirschhorn: Žiniasklaida argc.
>> STUDENTŲ: Styginių argv.
>> JASON Hirschhorn: Styginių argv.
>> STUDENTŲ: laikiklis, laikiklis.
>> JASON Hirschhorn: laikiklis, laikiklis.
Būtent dešinėje, ir tai iš tikrųjų, kaip aš ruošiuosi gauti
vartotojo vardas, pavardė.
Jie ketina jį ten.
Taigi, kad vienas daroma.
Taigi, dabar noriu du ir tik du komandinės eilutės argumentai.
Taigi Nojaus, kas yra vienas būdas aš galiu patikrinti komandų skaičių
eilutės argumentai turiu?
>> STUDENTŲ: Jūs darote, jei ataskaitoje.
>> JASON Hirschhorn: Jei apsauga, tiksliai.
Ką aš noriu kaip būtiną sąlygą?
>> STUDENTŲ: Jei argc mažesnis kaip 3.
>> JASON Hirschhorn: Jei argc yra didesnis kaip 3.
Jei argc didesnis kaip 3, ką man daryti?
>> STUDENTŲ: Grįžimas 1.
>> JASON Hirschhorn: return 1.
Ar, kad užtikrinti Turiu du ir tik du?
>> STUDENTŲ: Ne
Jei argc yra didesnis nei 3 ir mažiau nei 2.
>> JASON Hirschhorn: Jei argc yra didesnis kaip 3 ir argc yra mažiau nei 2.
Kas yra vienas iš būdų Gebu parašyti tai tiesiog viena eilutė arba nenaudojant, kad
ir Būlio operatorius?
>> STUDENTŲ: Tai nėra lygi 2.
>> JASON Hirschhorn: Jei argc nėra lygi 2.
Būtent.
Taigi, jei argc nėra lygi 2, kad duos man šią programą,
individualizuota, kai aš paleisti jį, ir kad duos man kiek
komandinės eilutės argumentai?
Kiek aš patikrinti?
>> Atsiprašau.
Leiskite performuluoti, kad.
Jei argc = 2, kiek daug padarė vartotojas rašyti į eilutę?
>> STUDENTŲ: Vienas.
>> JASON Hirschhorn: Tiesiog vienas.
Taigi, prieš, tu buvai teisus, Nojus.
Ką iš tikrųjų reikia įdėti ten?
>> STUDENTŲ: kuris lygus 3.
>> JASON Hirschhorn: argc nėra lygi 3.
Noriu lygios 3, nes noriu asmeniniams plius kiti du.
Taigi, jei argc nėra lygi 3, grįžkite 1.
Kodėl jūs sakote grąžinti 1?
>> STUDENTŲ: Nes reiškia, kad jis neteisus.
>> JASON Hirschhorn: Tai reiškia, kad tai negerai, ir kas, kad ketinate daryti?
>> STUDENTŲ: Re paskatinti vartotojas.
>> JASON Hirschhorn: jis ketina mesti programa, todėl ji turės paleisti
vėl, bet mes neturime nieko čia paprašyti, kad jie dar kartą.
Aš neprašiau, kad.
Štai visiškai teisus.
Grįžti tik 1 meta programą.
Didysis.
>> Ir atspausdinti sveikinimą vartotojui kuri apima savo vardą.
Kaip aš galiu tai padaryti?
Ana?
>> STUDENTŲ: Printf.
>> JASON Hirschhorn: Printf.
>> STUDENTŲ: ("
>> JASON Hirschhorn: (
>> STUDENTŲ: "labas
>> JASON Hirschhorn: "labas
>> STUDENTŲ:% s
>> JASON Hirschhorn:% s
>> STUDENTŲ: / n
>> JASON Hirschhorn: / n
>> STUDENTŲ: "
>> JASON Hirschhorn: "
>> STUDENTŲ: argv
>> JASON Hirschhorn: Atsiprašau?
>> STUDENTŲ: argv
>> JASON Hirschhorn: argv
>> STUDENTŲ: laužtiniuose skliaustuose 1.
>> JASON Hirschhorn: laužtiniuose skliaustuose?
>> STUDENTŲ: 1.
>> JASON Hirschhorn: 1.
>> STUDENTŲ: O) kabliataškis.
>> JASON Hirschhorn:) kabliataškis.
Leiskite mums paleisti.
Padaryti individualizuotas.
. / Individualizuotas.
Jis tiesiog mesti.
Kodėl ji mesti rūkyti?
>> STUDENTŲ: Neįdėjote jokių argumentų.
>> JASON Hirschhorn: aš ne įdėti jokių argumentų in
Puikiai atrodo.
Jūs vaikinai prikalė jį.
Taigi dar kartą, Jūs patekote į argv ir jums tikrinamas pradžioje argc.
Tai yra du svarbūs dalykų, kuriuos reikia prisiminti.
Taigi mūsų paskutines dvi minutes, kol mes atostogų, mes ne gauti pset du, bet
kaip ir sakiau, jei norite likti po 10 minučių, aš norėčiau jis laimingas eiti
per su vaikinai logika Šių probleminių rinkinių.
Mes turėjome daug šiandie todėl aš ne gauti į juos.
Apskritai, man patinka būti kad pabaigoje.
Taigi, jei norite klijuoti aplink, klijuoti aplink 10 minučių.
Mes tai padarysime.
>> Tada, kaip minėjau pradžioje, pset nulis ir vienas, mes gauti, kad
grįžtamasis ryšys su Jumis, kaip kaip galima greičiau.
Tikslas yra gauti pset vieną atsiliepimą, komentarai dalis,
prieš pset du yra dėl.
Taigi, jei jums padarė keletą klaidų ar Stilistiškai, viskas gali būti geriau,
jūs turite tokią informaciją, todėl jūs nebus padaryti tą patį, ką ir pset du.
Ir tada ateityje, gausite visas Jūsų pset atsiliepimus ir komentarus
atgal, kol šalia vienas yra dėl.
>> Galiausiai, jei galėčiau įdėti į kitą kištukas atsiliepimus.
Tai jūsų pirmasis skyrius.
Tai buvo mano pirmasis skyriuje mokymo šiemet.
Eiti ten.
Rašyti stuff, gera ir bloga, ir aš jį naudoti, kad
skyriuje geriau kitą kartą.
Ir paskutinis, vėlgi, jei jums reikia nieko, leiskite man žinoti.
Aš daugiau nei laimingi galėdami padėti jums vaikinai.
Jei tiesiog norite saldainių, aš turės papildomų saldainiai.
Esu laimingas, kad jį jums.
>> Tai bus nuostabi kursas.
Tai yra vienas, jei ne mano mėgstamiausia Žinoma, aš imtasi per visą savo gyvenimą,
ir aš tikiuosi, kad jis bus toks, kad puikus jums.
Taigi aš noriu padaryti viską, kas mano kad jis už jus nuostabus.
Aš ruošiuosi siųsti laišką, jei esate mano skyriuje ar Nojus, ir
pasistengsiu ir tvarkaraščio su kiekviena iš vaikinai yra laiko patikrinti per
ateinančius porą savaičių, kad aš galiu gauti jausmas, ką jūsų CS fonas,
ir tai taip pat padės man pritaikyti jų skyriai geriau atitiktų jūsų poreikius.
Štai ką aš turiu sustatyta.
Vėlgi, aš pasimatysime ne jei norite ten būti.
Tai buvo savaitės du skyrius.
Ačiū vaikinai tiek daug.