>> JASON Hirschhorn: Tere tulemast CS50 jagu kõigile.
Minu nimi on Jason Hirschhorn.
Ma olen palju sinu TF, kuid palju inimesed loodetavasti meiega
online, pikendamine õpilased või üliõpilased püüdes leida läbi lõik, kui nad
Vastamata oma osa, et nädal või lihtsalt jõuda kui nad tahtsid
läbi mõned materjali.
>> Nii nagu iga õppekava, mis kõik teist on lugenud, on õige?
Ma näen palju pea noogutab.
Sektsioonid pakub võimalusi uurida kursuse
materjali intiimsem keskkond, samuti sukelduda
praktiliste tegevuste.
>> Nii et põhimõtteliselt mida me oleme kavatse tegema iga nädal.
Me läheme läbi, mida meil määratud olema kõige olulisem
teemade loeng ja need, ilmselt ka kõige kasulikum ja
kõige tõenäolisemalt tulla on probleem komplekti ja viktoriinid ja oma kodeerimine
elu väljaspool CS50.
Nii et me ei kavatse minna neid teemasid, arutada neid minna nende üle,
kõikidele küsimustele teiega on, ja siis me ei kavatse teha palju
praktikas probleeme kodeerimine.
>> Te kõik tõi sülearvutid mis on fantastiline.
See on arvutiteadus klass.
Kuid palju harjutusi me teeme, sa ei pea oma sülearvutid.
Seda saab teha neid paberil.
See, kuidas sa lähed teha neid viktoriine.
Ja tõepoolest, see on suurepärane võimalus tea, et kuidas seda teha
midagi, kui sa ei pea Check 50 toetuda või muuta tugineda, ütlen
sa tegid vigu.
>> Nii et sa oled teretulnud kood seadme või run.cs50.net, mis on
üks vahend, mis võimaldab teil kodeerida online, kuid ma soovitaks, kui
sa pole seda proovinud, kasutades lehel Paberi ja üritab neid praktikas
probleeme paberileht.
Sest taas, see on lõppkokkuvõttes mida sa lähed, et olla
palutakse teha viktoriine.
>> Alustame meie tänase päevakorra.
Me läheme üle mõned normid meie osa, siis me läheme sukelduma
arvesse massiivid, funktsioonid ja käsurida argumente, mis on see, mida te
on kaetud möödunud nädalal loengu ja siis esmaspäev, ja mida saate katta
rohkem homme.
Ja siis lõpuks, me rääkida pset2.
Kui ma saaksin käe, kui te pole vaadeldi lahendamist kaks
spetsifikatsioonile.
Me ütleme kõigile.
Fantastiline.
>> Me räägime probleem telerit natuke, aga kui sa loed probleemi komplekt
spetsifikatsioon, mis on kõik mida sa pead tegema.
Kui sa loed, et enne kui tulevad klass ja osa teisipäeval, siis
olla suurepärane positsioon.
Me võime minna läbi lahendamist, mis on see, mida me
teha lõpus.
Me läheme läbi loogika, veenduge,
Kõik on samal lehel.
>> Ma tahan, et te saaks lahkuda teisipäev tunne väga rahul, mida sa
pead tegema selle nädala lahendamist, ja kui sa seda ei tee, siis ma õnnelikult
viibimise pärast ja koos teiega.
Aga see on üks asi, mida sa pead teha, kuid ma arvan, et oleks väga tark,
lihtsalt lugeda lahendamist spetsifikatsiooni klassis teisipäeval,
mis kõlab palju te tegite.
>> Ma alustada päevakorra iga klassi et sa tead, kuhu me läheme.
See on abiks ka inimesed vaatavad online-sest iga osa
on värv kodeeritud, nii et kui sa tahad tulla tagasi ja lihtsalt vaadata 10 minutit pigem
kui kogu 90-minutilise osa, siis võid minna värvikoodiga osa
ja vaadata seda osa.
Nii et ma olen püüdnud murda nad üles kena moodulid, mis võimaldab teil -
kui sa tahad tagasi tulla ja vaadata, või teiste õpilastega, kes on lihtsalt
vaadates lõik läbi -
leida konkreetne asi, mida nad tahan pöörata tähelepanu
ja rohkem teada.
Sweet.
>> Normidele.
Olen FOP juht ülikoolilinnak.
Ma ei tea, kas keegi tegi FOP.
Kas keegi teha FOP?
Üks inimene tegi FOP.
Kaks inimest tegid pakendi esiküljel.
Lahe.
Nii pakendi esiküljel on esimene aasta Outdoor Orientation Program.
Võtame rebaseid metsa ja teha kõige maagiline kogemusi
oma elu, on õige?
Jah.
Helid õige.
>> Nii et ma tahtsin, et alustada meie esimene lõik arutades mõned normid
klassi ja meie suhe sest ma arvan,
nad väga oluline.
Ennekõike on need, kes on minu jagu saanud ja
on arutatud, et e, ma armastan seda.
See on mu lemmik osa aastast.
Ma olen nii põnevil.
Ma olen siin olnud tunde täna.
Ma ei jäänud see hoone, välja arvatud minna sööma, sest ma armastan CS50 jagu, I
armastan õpetamine, ma armastan töö teiega.
>> Üks minu peamisi prioriteete, kui mitte minu prioriteet number üks, mitte ainult
Selle klassi, vaid ka minu teisi klasside ja extracurriculars, on
toetada teid ja teid aidata, ja teha oma parima, et veenduda, et sa
kutid on imeline, lõbus produktiivne, huvitavat, põnevat
kogemusi selles klassis.
See on see, mida ma olen pühendunud.
Sellepärast ma armastan seda.
See on minu number üks asi, toetab teid.
Kui teil on küsimusi loengu Ülesanded, osa,
elu, isegi kui sa tahad rääkida elu, siis võib vabalt jõuda.
>> Sul on mu mobiili number, sul on minu e-posti
aadress, siis on minu gchat.
Minuga saab ühendust aadressil või kõik neid alati, kuid ilmselt ei saa
vastus alati.
Püüan ja saada tagasi 24 tunni jooksul.
Sageli on see sees 20 minutit või 24 minutit.
Ma olen öelnud, et teha seda paralleelselt.
Aga sa saad vastuse päris kiiresti.
>> Kui te teksti mulle tund enne Ülesanded on tingitud, ma su maha rahustab
maha ja teha sügav hingamine õppused teiega, aga kui sa pole veel alanud,
sa oled ilmselt ei kavatse lõpetada, ja Ma ei saa tõesti aitab teil seal
kuigi ma püüan oma parima.
Nii et ma teen kõik Võin teid toetada.
Vastake jõuda kas see on osa jälle juures Lahtiolekuaeg
kui sa näed mind, või isegi väljaspool.
Mul on hea meel, et luua aeg kohtuda ja töö kaudu probleeme
või minna üle materjali.
Nii et on number üks, toetust.
Ma teen kõik, mida ma saab teid toetada.
>> Number kaks, koosoleku keskel.
Niipalju, kui ma tahaksin olla, ma olen mitte kõikvõimas ega kõikvõimas või
kõiketeadev, nii et ma ei tea, kõik ajal, kui see, mida ma teen on saada
üle, kui teed ma õpetan teema aitab teil õppida, või kui sa
on segaduses mingil teemal, kuid ei tõsta oma käsi või küsi
või saatke mulle email.
Või isegi kui sa jälle segi midagi on probleem komplekti.
Kui te ei jõua välja mulle, Ma ei tea seda kindlalt.
Ma teen oma parima, et kontrollida sisse kutid, veendumaks, et kõik on
läheb hästi, proovige õpetada asju teed mis soodustab ka enamik
oma õppimise stiile, aga kui seal on ma saan midagi teha, andke teada.
>> Selles suunas, kui sa tahad abi probleemiga set, ma olen rohkem
kui hea meel teid aidata probleemi komplekti.
Me teeme palju mis suunas teine
pool sellest jagu.
Aga kui sa ei ole lugenud probleem seab tagasi ja ei jälginud jalutuskäigu
läbi ja ei jälginud püksid ja ootab mind õpetab
kõik, mis on videole line, et leiad juures CS50
uuring, et ei ole tõesti õiglane Sinu või teiste oma partnerit.
>> Nii et palun, ma olen rohkem kui õnnelik, et aidata teid, kuid te saite kohtuda mind
keskel.
Meil on tonni ressursse sa saadaval CS50.
Mainisin mõned neist.
Palun ära neid.
Kui oled segaduses, ma olen rohkem kui rahul , mis aitavad teil neid kirjeldada
teine ​​võimalus, kuid see ei ole õiglane, kui õpilased ilmuda tööaega
ei ole alustanud midagi, ja see on Neljapäeva õhtul ja nad loodavad
TF kõndida neid läbi iga asi probleem seatud tõttu
keskpäeval järgmisel päeval.
Mõtet?
Jällegi palun meiega kohtuda keskel.
>> Ja lõpuks, kõrged ootused.
Ma lähen olema liigitamise kõigile, kes on minu jagu, või punktisüsteem oma
probleem komplekti.
Te ei ole läinud tagasi probleem määratud null või üks veel.
Kahjuks sellest.
Kulus natuke aega, et lõpuks lahendada lõigud ja nüüd
saame alustada mune.
>> Ma toon need sulle tagasi nii kiiresti kui võimalik.
Need on mõned minu advisees seal.
Ma toon need sulle tagasi nii kiiresti kui võimalik.
Ja probleem komplekti kaks, me olema ajakava ja hakkame poolajaks
et sa päris kiiresti pärast lülitad neid sisse
>> Kui sa saad oma probleemile lükkus, siis saad punkte, kui sa tead
Lugedes ainekava - korrektsus, disain, ulatust ja laadi hinded.
Samuti saate kommenteerida.
Kommentaarid on tähtsam kui hinded.
Ma arvan, et see on ohutu öelda, et.
>> Hinded on lihtsalt number üks kuni viis.
Seda on raske välja lugeda neid.
On raske parandada omadest.
Aga kommentaarides tuua välja asjad, mida sa tegid hästi või piirkondade
saab parandada ja anda teile mõningaid ideid tulevikuks või alternatiivsete
viise asju.
>> Nii et palun, palun, palun loe kaudu kommentaare.
Ma panin palju aega need kommentaarid.
Palun lugege neid ja ei ole lihtsalt kerige alt
PDF, otsima oma skoor, või minna online ja leida oma skoor, ja siis ignoreeri
kommentaarid.
See ei ole, kuidas sa oled läheb aina paremaks.
See ei ole, kuidas sa tahad, et suurendada oma hinded lõpuks, just
vaadates hinded.
Palun vaadake neid kommentaare.
>> Ja piki suuri ootusi, jälle, nagu ma ütlesin, siis
saab viskas ühest viieni.
Kahed, kolmekesi ja püksid on Valdav enamus hinded
sa lähed saada.
Ones ja viied mõlemad tõesti harva.
Alati on asju me saame teha paremini.
Kui ma koodi programmi, seal on alati midagi, mida ma
oleks võinud paremini teha.
>> Nii et selle asemel öelda, et sa saad viie kogu aeg kõike ja tegi
kõik täiuslik, ma ei usu, meist tõesti usun, et me - või
loodetavasti, me ei tee kõike täiuslik kogu aeg.
Nii et ärge olema mures, kui te ei saanud viis.
Viis ei map peale, neli ei map peale B, kolm ei
ei kaart peale C. See ei ole kuidas hinded tööle.
>> Nagu David on öelnud mitu korda, on semestri lõpuks kõik oma hinded ja
sisend minult oma TF, kokku ja määrata koondhinde teile.
Aga jälle, see ei ole viis, , Nelja-, B-, jne.
Nii et ma lähen on kõrged ootused kutid.
Ma oodata head probleem komplekti ja ma annan
sa tagasisidet kui sellist.
Ja ta ei kavatse tähenda, et sa oled hakka halvem hinne.
Sul on sorteeritud poolest oma edusamme nädalast
nullini, et kursuse lõpus.
>> Ja lõpuks, nii kõrge ootusi klassis, ma armastan, kui
inimesed osaleda.
Ma saan aru, mõned inimesed end rohkem või vähem mugav osalevad.
Teised inimesed osalevad mitte tõstes oma käsi ja
kogu aeg räägivad.
Aga me selles klassis saab olema teeme palju väikseid probleeme, palju
mini küsimusi, ja siis mõned suurem kodeerimine probleeme.
Seega kindlasti tööd need harjutused välja kui me neid oma arvutis või
paberileht.
>> Aga ma ka teile veidi aega enne keegi kunagi on vastata mõnele
küsimused küsin.
Nii, kuna ma annan teile aega mõtle selle peale, sest me ei kavatse
teha asju partnerite vahel, Ma eeldada, kõik
tegelevad mõnevõrra.
Ja puudumise tõttu parem termin, seal Tõenäoliselt cold calling, mis
on koht, kus igaüks on võimalus mõelda vastust, ja seejärel
Ma kutsun teid, ja siis saate öelda vastus.
>> Ära muretse ega karda, et.
Ma olen teinud seda varem ja oleme leidnud et see on palju edukamad,
lugeda ka haridusuuringute on see, et kindlaks teha, kas see oli
hea taktika.
See on väga kasulik, eriti kui teil anda õpilastele aega, et mõelda
vastuseid ja ei tee neid lihtsalt tulevad välja ja ütlevad, et see õigus ära nahkhiir.
Aga kui sa ei tunne end mugavalt vastamine, ma olen ka päris hea
kaugseire läbi, ja me ei kavatse panna teid kohapeal, eriti
kaamera, kuigi ükski oled kaamera kohe.
>> Nii et need on normid olen.
Üks asi veel eeskujul kohtumine keskel.
Ma annan teile poisid palju tagasisidet.
Palun anna mulle tagasisidet samuti.
Seal kodulehel sayat.me/cs50.
Nii et see on aus tagasiside.
Kui soovite anda selle käigus osa, Ma saan talle kui see juhtub.
Võtame murda natuke, nii et ma vaadata läbi tagasiside siis.
Kui sa kunagi mingit tagasisidet, palun anna mulle seal.
>> Kui sa annad mulle tagasisidet Q, mis on suurepärane, aga see juhend
et te lõpus.
Aga see saab olema semestri lõpus nii Ma ei saa võtta ükskõik mis
tagasisidet ja muuta see õpetamine kutid parem.
Nii et palun, kui teil on tagasisidet, anna see mulle.
Ma armastan tagasisidet.
Tagasi pakendi esiküljel, saame tagasiside kogu aeg.
>> Sa ei anna mulle plussid, häid asju, deltadega asjad võin täiustada.
Võite kommenteerida mu varustus.
See ei ole nii kasulik, kuid sa oled teretulnud kommenteerida iga ja
kõike.
Palun, palun andke mulle tagasisidet.
Hindan seda palju ja see tähendab mulle palju.
>> Veel üks norm, fun.
Me läheme, et on palju nalja.
Loodetavasti selles muidugi, saate on palju lõbus.
Me peame kristalliseerunud osa.
Me peame muusika.
Me loodetavasti üksteist tundma, veel mõnevõrra ka, nii et ma tahan
see on lõbus, kaasates kogemused.
>> Ma tean, et mõned teist on läinud magama loengud sul oli täna varem,
Loodetavasti ei tee juhul praegu.
Ja kui see on praegu, vaid ei norskama, sest see võib
püütud kaamera.
Sweet.
Kõik küsimused, kommentaarid või muresid enne kui ma liikuma midagi oleme
rääkis?
Great.
>> Nii et me läheme arvesse massiivid esimene.
See, kuidas sa teha massiiv.
Me oleme näinud seda enne.
Sul on andmetüüp, mida nimi ja siis on suurus.
Siinsamas, ma saan luua kaks massiivid.
Esimene neist on massiiv tähtedega ja see on 26 ruumi.
Teine on massiiv hinded ja ta on kolm
ruumid kolme täisarvu.
Jah?
>> Üliõpilane: Kas kõik need slaidid kuskil olemas meie jaoks?
>> JASON Hirschhorn: Hea küsimus.
Küsimus oli, on kõik need slaidid saadaval?
Jah.
Kõik need slaidid on kättesaadavad, ja tulevikus, ma neile meili
te enne jagu.
Aga täna, sest see on esimene nädal oli meil hilja alustada.
Nii tavaliselt, saad neid slaide, kuid need tehakse kättesaadavaks internetis ja
Ma neile meili sulle kohe pärast klassi.
Muid küsimusi?
>> Nii et taas, massiivid on karbid, puudumise tõttu parem sõna, et olla mitmeid
elementide ühte andmetüüpi ja nad üksteise kõrval mällu.
Ja nii uuesti, see on, kuidas saab teha kahte tüüpi massiive.
>> Niisiis, kui olete teinud oma massiivi et esimene rida - int skoori, sulg
kolm, sulg - te soovid vormindada see.
Sa tahad panna mõned väärtused on.
Ja see on, kuidas sa paned mõned väärtused seal, lihtsalt valides indice ja
kirjalikult number.
Joonistame selle lauale.
Kas kõik võivad näha?
Igaüks saab näha.
Sweet.
>> Nii et see saab olema minu massiivi nimetatakse punkte.
Nagu näete, on see suurus kolm.
On kolm kasti seal.
Iga üks mahub mis liiki andmete tüüp?
>> Üliõpilane: Integer.
>> JASON Hirschhorn: täisarv see üks.
Me kirjutasime int skoori, ja esimene sõna on andmetüüp, mis läheb
minna kastide et massiivi.
Nii et ma mahub kolm.
Miks mul on null kuni seal laual?
Miks öeldakse tulemus null võrdub 1?
Meenutad mulle oma nimi.
>> Üliõpilane: Kurt.
>> JASON Hirschhorn: Kurt.
>> Üliõpilane: Jah.
>> JASON Hirschhorn: Miks?
>> Õpilane: Kuna esimene indeks on null, alustame nullist.
>> JASON Hirschhorn: Nii alustame nullist.
See on täpselt õige.
See on segane osa ja seiskub teid, eriti kui sa oled
üritab korrata läbi massiivid mis me teeme natuke.
Alustame nullist.
Nii et kui ma tahan viidata esimese kast, see ei ole kasti üks.
Kahjuks see kast null.
Teine on kasti üks, ja selles juhul, kolmas on kast kaks.
>> Aga kasti kolm?
Kus on kasti kolm?
Või kui ma tahan teha skoori, sulg kolm, sulg, mis see on?
Nii et sa ütlesid null iseloomu.
Kõik muud mõtted?
Mis on tulemus sulg kolm sulg?
>> Üliõpilane: See ei ole tegelikult olemas, sest te ainult määratletud hinded,
sulg kolm.
>> JASON Hirschhorn: Nii te ütlete see ei ole tegelikult olemas.
Mõningatel juhtudel, kui me tegeleme stringid, üldiselt me ​​paneme null
märgi lõpus.
Me jõuame, et teine.
Aga sel juhul on ei ole kolmanda kasti siin.
Nii tuleb viimane lahter igal massiivi on miinus 1.
Nii et kui meil on massiivi suurus n, Esimene kast on nullis, viimane on
kell n miinus 1.
Ja sel juhul, et seda ei eksisteeri.
Midagi on siin mälu, kuid see ei ole meie.
Me ei oma.
Me ei küsi seda.
Nii et kui me püüame kasutada seda, mis me tulen teha natuke, me ilmselt läheb
hätta.
>> Sel juhul ma käivitumist minu massiivi kolm muutujat.
Me paneme üks lahtrisse null, kaks lahtrisse üks, ja kolm kasti kaks.
Kas keegi on mingeid küsimusi umbes käivitumist massiivi?
>> Läksime üle selle just praegu.
Scores, sulg kolm, sulg, et ei ole olemas.
Me null indekseeritud infotehnoloogia, nii me alustame nullist.
Viimane lahter on meile kättesaadav, see on kolmas kast, kuid seda nimetatakse box
number kaks.
>> Allapoole, see on alternatiivne viis käivitumist massiivid.
Nii et selle asemel luua massiivi ühel line, täites esimene kast, siis
teise kasti, siis kolmas kast saate seda teha kõik ühes reas.
Nii et joon nii massiivid.
See tekitab sama täpne massiivi mida me loodud siin, kuid see
lihtsalt see ühele reale.
>> Nüüd oleme loonud meie massiivi.
Tavaliselt, kui sa luua massiivi, siis tahan midagi teha, kas
mis on seda täita või asju välja ja printida ekraanil.
Sel juhul me läbi meie hinded massiiv, mis me vormindatud kohta
esimene rida siin hallis.
Ja siis on teine ​​rida, hakkame iterating läbi massiivi.
Kas keegi on küsimusi struktuuri jaoks loop?
>> Nii et see on silmus.
Meil on esialgne seisund ja seejärel meie viimane tingimus, ja siis me
korrata, i, iga silmus.
Ja looksulg selle eest loop, mis juhtub, kui ma joosta
selle programmiga?
Kas keegi oskab mulle öelda, mida me saame?
[? Matu? ?]
>> MATU: Prindi kõik hinded igale reale.
Oleks printida iga tulemus eraldi real.
>> JASON Hirschhorn: Mida täpselt oleks see printida?
>> Üliõpilane: Oleks printida ühe, siis kaks, siis kolm.
>> JASON Hirschhorn: Täpselt.
Oleks printida üks, siis kaks, siis kolm, iga eraldi ridadel, sest
me läheme läbi massiivi ja saate näha, et teine, printf
avaldus, hinded i.
Nii esimese ringi meie jaoks loop, i võrdub nulliga, mis tähendab, et me oleme
saada väärtus skoor null -
mis, kui me tagasi minna meie skeem on üks -
ja täites -
oh, see ütleb, c.
See peaks olema% d.
Ma kinnitada, et natuke, kui I poolt, et viia teid.
Aga me esitades täisarv nii, et see peaks olema% d siin, mitte% c.
Mis on% c jaoks?
>> Üliõpilane: Iseloom.
>> JASON Hirschhorn: Iseloom, täpselt.
Mis on teine?
Kui sa ei taha seda teha% d jaoks täisarv, mida veel saab teha?
>> Üliõpilane: i.
>> JASON Hirschhorn:% i, täpselt.
Nii tekib küsimusi iterating läbi massiivi?
Mis juhtub, kui me seda teeme?
Selle asemel, et teeme i on väiksem kui kolm me i on vähem
võrdne või kolm.
Mis juhtub, kui võtame selle koodi?
Jah, Annie?
>> Üliõpilane: Nad lähevad välja trükkida imelik värk neljandal real.
>> JASON Hirschhorn: Nii et sa ütlesid, on see trükkimineku välja imelik värk
Neljas rida?
Kas keegi on vastus oma küsimusele?
Nii tõenäoline, et kui saame -
nii edasi neljanda vooru läbi meie jaoks loop, nagu sa arvasid, Annie,
see saab olema hinded sulg kolm, mis me oleme juba arvasin, ei
olemas, ja me ei kavatse proovida ja juurdepääs, et printida
välja, kasuta seda mingil moel.
Nii arvuti tõenäoliselt jääb vihasta meid.
Sa oled täpselt õige.
>> See võib lõpetada programmi täielikult.
See võib välja printida midagi väga imelik.
Sa ei saa öelda, kindlasti.
Koefitsiendid on see ilmselt vihasta teile ja lihtsalt loobuda kohe.
>> Aga see on üldine viga pead kus sa oled lihtsalt maha ükshaaval
aasta lõpuks, ja see on viga, mis katk teile kogu oma kodeerimist.
Üks viis, kuidas mulle meeldib teha, on just tahvel, läbida iga iteratsiooni
of loop käsi või paberil näha mis toimub, ja siis
üldiselt mõistavad, oh oota, ma ei peaks läinud alla või
võrdub kolm.
Ma oleks pidanud peatunud kaks, mis on Mis juhtub siis, kui teie seisund on vähem
kui kolm.
Küsimusi nii palju?
Sweet.
>> Nii et kõik on arvutis avatud.
Me anname teile 2:58 minutit, et kirjutada programm, mis
loob massiivi täisarvud üks läbi viis ja seejärel prindib iga
täisarv uuele reale.
Ja kui teil on küsimusi, tõsta oma käsi.
Mul on hea meel tulla.
Nagu ma ütlesin, võtame kolm minutit, et kirjutada seda.
Kas igaüks OK, kui ma minna uus aken ja sulgeda?
>> Mul on kahju, kui sa ei ole olnud võimalust lõpuni, kuid me ei kavatse seda teha
koos kohe.
Nii ekraanile, olen # include cs50.h, # include stdio.h.
Kas keegi mulle öelda, mida need kaks rida teha?
Michael?
>> Üliõpilane: Nende hulka kuuluvad raamatukogud et CS50 tehtud ja et Steve on
salvestatud saate kasutada muuta oma elu lihtsamaks.
>> JASON Hirschhorn: Nii et sa ütlesid, et nad sisaldavad raamatukogud, mis CS50
tehtud, cs50.h, ja üks, mis on lihtsalt standardile kaasas
C paketi stdio.h.
Mida sa mõtled hulka raamatukogude, kuigi?
Suudad sa olla veidi täpsemalt?
>> Üliõpilane: See teeb seda nii, et sa ei kasutada teatud kood sõnad on
toimida juhtuda ilma minna ja teha funktsioon c ise.
>> JASON Hirschhorn: Kas te anna mulle näiteks?
>> Õpilane: Asjalik printf on see, mida saab kasutada.
>> JASON Hirschhorn: Printf.
Nii et sa ütlesid printf on üks neist ülesandeid, kus selle asemel, et
kirjuta printf ise, printf on lisatud tegelikult stdio.h, siis
võid seda kasutada ja endale et ta töötab.
In stdio.h, kui te avada see fail, oleks see sisaldama kuidas printf
töötab, kõik kood printf?
Miks sa loksutatakse oma pea?
>> Õpilane: Kuna header fail lihtsalt sisaldab funktsiooni deklaratsiooni.
>> JASON Hirschhorn: Täpselt õige.
Päisefailist vaid hõlmab funktsiooni deklaratsiooni.
Ühesõnaga, kui sa kompileerida see, tabanud Tee Count, mis me teeme
teine, tõlkija teab, et kui kasutate printf, printf olemas.
See saab kindlaks määrata kuskil.
See ei ole probleem teie jaoks kasutada.
Ja siis hiljem, siis see sisaldab ühtesid ja nulle, et tegelikult sisaldavad
printf rakendamise ja liita neid oma koodi.
Kuidas veenduda, et see hõlmab ühtesid ja nulle, ütleme, saada string?
>> Üliõpilane: Get string on cs50.h.
>> JASON Hirschhorn: Õigus.
Nii ütleb, et saada string on olemas, funktsiooni deklaratsiooni.
Aga siis ühtesid ja nulle, binaarne faili, mis tegelikult hõlmab
rakendamise get string?
Kuidas teha kindlaks, et läheb koos oma programmi?
>> Üliõpilane: Pass linker sisse käsurea argument.
>> JASON Hirschhorn: Pass linker aastal käsurea argument.
Kuidas sa seda tegid?
>> Üliõpilane: On-l rida rõkkama
>> JASON Hirschhorn: Täpselt õige.
Ütlete-l CS50, eks?
See hõlmab ühtesid ja nulle.
>> Õpilane: Aga teha ei et teile, eks?
>> JASON Hirschhorn: Täpselt.
Tee ei tee seda sinu jaoks, kuid lõpuks sa ei pea tootja või
sa pead tegema Make ise, nii et see
hea asi, mida mäletan.
Kui te ei kavatse kasutada ühte neist teised raamatukogud, mitte ainult teil
kirjutada # include ja siis raamatukokku.
Teil on vaja ka lingi sisse
Ja need kaks asja on erinevad. -L CS50 on erinev
kui # include cs50.h.
>> Siis on meil int main void looksulg, ja nüüd me lähme kood
sees peamine.
Esimene rida on mul siin on kommentaar , mis ütleb luua massiivi
koos ints üks läbi viis.
Mis on hea sõna, et kirjeldada, mida ma on kohe ekraanil, lihtsalt
Kommentaarid sees peamine?
Mida me nimetame seda?
>> Üliõpilane: Pseudocode.
>> JASON Hirschhorn: Pseudocode.
Aitäh, Jeffrey.
See on täpselt õige.
Pseudocode.
Kas te olete näinud pseudokoodi enne?
Tõsta käsi, kui olete kasutanud pseudokoodi enne probleemi seadma üheks.
Umbes pool sulle.
>> Ma väga soovitame kasutada pseudokoodi murda probleeme arvesse
väiksemad, lihtne hammustada tükki.
Samuti, kui sa pseudokoodi, siis on teie kommentaare juba suuresti
ehitatud, nii et sa ei pea minna tagasi ja proovida aru saada,
mida sa teed.
Nii saab keegi anda mulle see esimene rida luua massiivi ints üks
läbi viis?
You?
>> Üliõpilane: Int ja siis saate helistada mis iganes number ja seejärel ruut
sulg viis.
>> JASON Hirschhorn: Nii int numbrid nurksulg viis.
>> Üliõpilane: Vastus, ja siis looksulg.
>> JASON Hirschhorn: Vastus, looksulg.
>> Üliõpilane: Üks, kaks, kolm, neli.
>> JASON Hirschhorn: Üks, kaks, kolm, neli, viis.
>> Üliõpilane: Ja siis looksulg ja siis semikoolon.
>> JASON Hirschhorn: Ja lokkis traksid ja semikooloniga.
Suurepärane.
Prindi välja iga int uuele reale.
Kas keegi annab mulle, et kood, palun?
[? Matu? ?]
Lase käia.
>> Üliõpilane: For (
>> JASON Hirschhorn kohta: (
>> Üliõpilane: int i = 0
>> JASON Hirschhorn: int i = 0
>> Üliõpilane: Semikoolon i alla viie.
>> JASON Hirschhorn: semikooloniga i vähemalt 5.
>> Üliõpilane: semikooloniga i + +.
>> JASON Hirschhorn: semikooloniga i + +.
>> Õpilane: Suletud sulgudes siis avatud traksidega.
>> JASON Hirschhorn: Suletud sulgudes ja kaks traksid.
Toas traksid?
>> Üliõpilane: Ja siis printf "% d / n"
>> JASON Hirschhorn: Vabandust, oota.
Printf "% d / n, suletud tsiteerida.
>> Üliõpilane: Ja siis suletud tsiteerin koma, count, sulg i.
>> JASON Hirschhorn: Comma, loota, sulg i.
>> Üliõpilane: Vabandust, numbrid sulg i.
>> JASON Hirschhorn: numbrid, sulg i.
>> Üliõpilane: Vabandust.
Ja siis suletud sulgudes semikooloniga.
>> JASON Hirschhorn: Suletud sulgudes semikooloniga.
Ma lähen, et päästa seda.
Me kavatseme teha count.
Ja kuidas ma saan loota?
>> Üliõpilane: Längkriipsu.
>> Üliõpilane: Dot kaldkriips -
>> JASON Hirschhorn /. Loota, täpselt.
Aitäh. . / Loe.
Üks, kaks, kolm, neli, viis on uued liinid.
Paistab, et see töötas.
Jah, Noah?
>> Üliõpilane: Sa võid teha ka väiksem või võrdub neli, nagu i on väiksem kui
võrdne või neli?
Kas on olemas eelis, et teeme vähem kui viis, või lihtsalt teistmoodi
kirjutamist?
>> JASON Hirschhorn: Seega on küsimus teile oleks võinud teha i on väiksem või
võrdub nelja asemel i on vähem kui viis.
Kas see on töötanud sama?
>> Üliõpilane: peaks.
>> JASON Hirschhorn: Jah.
See täiesti oleks tööd sama.
Stiililiselt on tavaliselt alla, ja näete sekundis
meil stringid, mida saab kasutada midagi nimetatakse strlen, mis sa oled näinud
enne, et saada pikkus on string.
Ja sa ei saa alla või võrdne strlen.
Sa võiksid teha või väiksem võrdub strlen miinus üks.
Nii et see on lihtsalt kenamaks teha vähem kui strlen.
Jah?
>> Üliõpilane: Ja tegelikult viktoriine, tee meil on pakkuda kommentaarid meie
kood ka?
>> JASON Hirschhorn: küsimus oli ka viktoriine, kas sa
peavad esitama märkusi?
Nii et me räägime rohkem viktoriine kui nad tulevad välja, kuid üldiselt hea
Rusikareegel on, kui oled kirjutada koodi, esitada oma märkused.
Kui sa kood vale kuid kommentaar õige, võite saada mõned
krediidi nii mind kui ma hindasin Teid lahendamist või viktoriini.
Nii kommentaarid on alati hea pakkuda.
Sweet.
Loe.
Suurepärane töö.
Liigume edasi.
>> Strings.
Strings.
Me oleme näinud seda varem loeng.
See puhus minu meelest, kui ma kõigepealt leida see välja.
Tõenäoliselt ei puhu kellegi midagi siin, kuid see on OK.
>> Strings on massiive märki ja nad lõpuks koos, nagu te ütlesite varem,
null terminaator mis on see / 0 iseloomu.
Kui me läheme juhtida string pardal, me teha seda siin.
Kui kaua on see string?
Vabandust.
Kui pikk on see string?
>> Õpilane: [kuuldamatu].
>> JASON Hirschhorn: Neli?
Miks on neli?
>> Õpilane: Kuna viienda koha on null iseloomu.
>> JASON Hirschhorn: Nii viienda koha on null iseloomu.
Nii et kui ma joosta strlen edasi see oleks mulle neli.
Õige.
Ja massiivi, aga kui ma initsialiseerida see massiiv, kui palju ruumi
oleks mul küsida?
>> Üliõpilane: Viis.
>> JASON Hirschhorn: viis.
Ma pean küsima viis, aga ma ei panna ainult neli märki siin
sest mul on vaja panna, et null terminaator otsas.
Nii et me ei kavatse kirjutada "Ohai" ja pane null terminaator lõpus.
Me ütleme see on string s võrdub see.
Mis on s sulg null?
s sulg null, Annie?
>> Üliõpilane: O.
>> JASON Hirschhorn: O, täpselt. s sulg üks?
s sulg viis?
>> Üliõpilane: ei ole olemas.
>> JASON Hirschhorn: ei ole olemas.
Täpselt õige.
Lahe.
Küsimusi mõista nöörid massiive tähemärki?
Olgu siis.
Üks programm kutid.
Kirjutada programm, mis küsib kasutaja jaoks string siis prindib iga
märgi uuele reale.
Võtame kolm minutit, et kirjutada Selles programmis, ja siis me koodi see
rühmana.
>> Vabandust.
Kas teil on vaja näha seda?
>> Õpilane: Ei
>> JASON Hirschhorn: OK.
Võtame veel ühe minuti koodi see, või vähemalt alustada sellega.
>> Nii saab käia tööl, kuid ma lähen alustada läbimas ta.
Nii nagu varem, mul on ekraanil # Include cs50.h, # include stdio.h.
int main tühine.
Toas peamine on looksulg, mul on kaks kommentaari, pseudokoodi.
Üks on küsida string kasutaja.
Teine on välja trükkida iga märgi uuele reale.
Nii Anna, kas sa annad mulle palun jaoks string kasutaja?
>> Üliõpilane: Printf.
>> JASON Hirschhorn: Printf?
>> Üliõpilane: Jah.
(
>> JASON Hirschhorn: (
>> Üliõpilane: "Anna mulle string.
>> JASON Hirschhorn: "anna mind tn - oops -
string.
>> Üliõpilane: / n ") semikooloniga.
>> JASON Hirschhorn: Lõpetage string, suletud sulgudes semikooloniga.
>> Üliõpilane: Jah.
Ja siis järgmine rida, string s = saada string.
>> JASON Hirschhorn: String s = saada string.
>> Üliõpilane: Jah.
Ja siis ()
>> JASON Hirschhorn: ()
>> Üliõpilane: semikooloniga.
>> JASON Hirschhorn: semikooloniga.
Fantastiline.
Nii et ma lähen string ja Ma lähen, et salvestada see mida?
Mis on muutuja nimega et te lõite?
>> Üliõpilane: String s.
>> JASON Hirschhorn: muutuja nimetatakse s.
See tüüp string.
Täpselt.
Järgmine asi, mida me tahame on välja printida iga märk uuele reale.
Kes saab anda mulle, et kood?
[Kuuldamatu]?
Kas sa annad selle mulle?
>> Üliõpilane: Muidugi.
>> JASON Hirschhorn: Teeme seda.
Ja kahju.
Mulle ei meeldi, et korrata seda, mida sa ütled sest sa saada see õigus, kuid ma
tuleb korrata, et kui nad transkribeerida see, et nad saavad kõik
teksti läbi transkriptsiooni.
Nii saab muudkui räägib.
Kahjuks pean ma öelda, et see sinu üle.
Mul on kahju, kuid -
>> Üliõpilane: See on hea.
Sest int i = 0
>> JASON Hirschhorn kohta: int i = 0
>> Üliõpilane: I alla -
>> JASON Hirschhorn: semikooloniga.
>> Üliõpilane: Enne seda, me saame panna muutuja, nii saad int nimi pikkus?
>> JASON Hirschhorn: Oh, sa ei pea tahan panna semikoolon?
OK.
Nii et mida sa tahad teha pärast nulli?
>> Õpilane: Ma tahan saada string pikkusega s ja
määrata, et muutuja?
>> JASON Hirschhorn: OK, Niisiis, kuidas ma seda teen?
>> Üliõpilane: Nii et sa ei int pikkus =
>> JASON Hirschhorn: int pikkus =
>> Üliõpilane: S-T-R-L-E-N.
>> JASON Hirschhorn: S-T-R-L-E-N -
>> Üliõpilane: s.
Brackets.
>> JASON Hirschhorn: (a).
>> Üliõpilane: Ja siis ma arvan, et sa pead pane semikoolon kahe ints.
>> JASON Hirschhorn: semikoolon pärast nulli?
>> Üliõpilane: Jah.
Siis pane semikoolon pärast seda, ning sa ütled, ma alla pikkus.
i alla pikkus, mis on muutuja.
>> Üliõpilane: Ja siis semikoolon.
>> JASON Hirschhorn: semikooloniga.
>> Üliõpilane: i + +.
>> JASON Hirschhorn: i + +.
Seal on meie jaoks silmus.
OK, sees silmus.
>> Üliõpilane: Ja siis tee printf.
>> JASON Hirschhorn: Printf.
>> Üliõpilane: Brackets.
>> JASON Hirschhorn: sulgudes hinnapakkumisi.
>> Üliõpilane: sulgudes hinnapakkumisi,% c / n.
>> JASON Hirschhorn:% c, OK.
>> Üliõpilane: / n.
>> JASON Hirschhorn: / n.
>> Õpilane: Suletud hinnapakkumisi.
>> JASON Hirschhorn: Suletud hinnapakkumisi.
>> Üliõpilane: koma.
>> JASON Hirschhorn: koma.
>> Üliõpilane: S.
>> JASON Hirschhorn: S.
>> Üliõpilane: Bracket i.
>> JASON Hirschhorn: Bracket i.
>> Üliõpilane: Ja siis suletud sulgudes.
>> JASON Hirschhorn: Suletud sulgudes.
>> Üliõpilane: Ja siis semikoolon.
>> JASON Hirschhorn: semikooloniga.
Fantastiline.
Teeme salvestada.
Tee õigekirja.
Oh boy.
Mul paar vigu.
Esimene viga on line 11, ta ütleb, oodata väljendus, ja see annab
minu viga, et teine int, seal on viga.
On mõned viga seal ringi.
Kas keegi teab, mis viga see on?
Kurt?
>> Õpilane: Ma arvan, et see peaks olema koma ning ei sisalda semikoolonit.
>> JASON Hirschhorn: OK, koma asemel semikooloniga.
Nii on see, et kõik me vajadust määrata?
>> Õpilane: Ei
>> JASON Hirschhorn: Mida meil on vaja kindlaks määrata?
>> Üliõpilane: Peame lisada string.
>> JASON Hirschhorn: lisada string.
Kust ma vaja lisada, et?
>> Üliõpilane: Samas kohas sa ka muud asjad, eks
pärast sisaldama stdio.h.
>> JASON Hirschhorn: Vaatame, kas see töötab esimene, sest üldiselt, mulle meeldib
määrata üks asi esimene ja seejärel käivitage , ja siis vaata vigadest saame.
Nii et me läheme puhtaks terminal kontrollgrupiga n, teeme teha õigekirja.
Nii teine ​​viga on line 11.
Oodatud semikooloniga.
Ja ma olen ikka saada vigu sellel liinil.
Nii et see ei andnud mulle viga öeldes ei saa aru, mida strlen on
kuid see annab mulle viga sellel line, nii et mida veel on valesti?
Mark?
Marcus.
>> Üliõpilane: Kas teil on kõrvaldada Teise int deklaratsiooni?
>> JASON Hirschhorn: Eemalda Teise int.
Proovime seda.
Nüüd selge terminal.
Tee õigekirja.
Viga.
Kaudselt kuulutatakse raamatukogu funktsioon strlen.
Nüüd me näeme, et viga.
Mida me vajame, et kanda?
>> Üliõpilane: string.
>> JASON Hirschhorn: lisada string, Teeme # include string ülaosas
ekraani.
Hoiame teha õigekirja.
Nüüd koostatakse.
Nii et taas, mida me vaja Jäta line 12 meie jaoks silmus
me selle loomiseks, int i = 0, pikkus = strlen (s).
>> See on fantastiline strateegia.
Stiil see on suur, disain see on suurepärane.
Me ei hakka neid põhjusi hiljem vaid see, kuidas sa ainult vaja helistada
strlen kord asemel iga käivitamisel läbi silmuse.
Kuid teil on vaja kasutada koma seal ja sa ei pea int uuesti.
Kui oled tuues välja nii need muutujad koos, siis
ei pea int uuesti.
Ja siis, kui te ei kavatse kasutada strlen, mis on teise raamatukogu
funktsiooni, mis ei kuulu stdio.h või cs50.h teha
Ärge unustage lisada string.
Kurt?
>> Õpilane: Niisiis, kui sa ei pea öelda, mis tüüpi pikkus on, siis kas see
tähendab see peab olema int?
Sa ei saa olla kahte erinevat tüübid on?
>> JASON Hirschhorn: et sa võiksid on kaks erinevat liiki.
Pikkus on int siin, kuigi.
Pikkus on int, sest see on koma ja siis sama asi.
>> Üliõpilane: Nii see eeldab, et see toimub olema sama kui esimene?
>> JASON Hirschhorn: Täpselt.
Me ei kavatse seda teha nüüd, aga sa võib sisaldada kaks muutujad
sama liini kasutades üks andmetüüp.
Nii int x, y tekitaks kahe muutuja.
Nii int x, y, kui me teeme seda, see annab mind kasutamata muutuja x ja y, sest
me ei kasuta neid.
Nii paneb void enne on lihtsalt fancy trikk, kui te ei kasuta
midagi, et seda kasutada.
Aga nagu näete, ma loon x ja y samas kooskõlas koma.
See loob kaks täisarvu seal.
Nii et jah, täiesti võimalik luua kaks asja samal joonel
eraldatud komaga.
Laseme lahti neist, kuigi.
>> Nii et seal on õigekirja.
Aitäh poisid kodeerimine ta meile.
Teeme seda veel kord, käivitage see.
Anna string.
[Kuuldamatu] sa seda kõige rohkem.
Mis string?
>> Üliõpilane: Tere.
>> JASON Hirschhorn: Hello.
H-E-L-L-O, iga märk on üks rida.
Tundub hea.
Olgem käivitada uuesti.
Alati saab kontrollida nurgas juhtudel.
Mis on hea nurga puhul kontrollida?
>> Üliõpilane: number?
>> JASON Hirschhorn: number.
Nii et ma panen 1, ja see prinditakse välja 1.
See ei nõua tähtedega, nii tundub numbrid toimib.
Hea nurga puhul kontrollida.
Mis on veel üks hea nurga puhul kontrollida?
>> Üliõpilane: tühi string.
>> JASON Hirschhorn: Hm?
>> Üliõpilane: Nagu tühi string.
>> JASON Hirschhorn: Tühi string.
Seega ärgem panna midagi.
Ja mida saab välja printida?
>> Üliõpilane: Mitte midagi.
>> JASON Hirschhorn: Mitte midagi.
Tundub, et see töötab.
Võid proovida veel nurgas juhtudel, kuid tavaliselt numbreid, erinevaid andmeid on
tore proovida, aga pole midagi.
Mitte midagi, null, negatiivid on alati suuri asju proovida ja asju, mida
peaks test, asjad kindlasti me testida ja Check 50 testib eest.
Küsimusi spell.c?
>> Okei, pea taha.
Mul on veel üks programm kutid kirjutada.
Seda nimetatakse students.c.
See on programm, mis küsib kasutaja jaoks viis nime, siis juhuslikult valib
ja prindib välja üks nimesid.
See programm on natuke rohkem seotud kui kaks viimast me kirjutasime,
miks me ei võiks võtta viis minutit koodi see eraldi, ja siis me
koodi see rühmana.
>> See programm hõlmab mõningaid asju sa ei näinud enne, nii et kui
teil on küsimus, kuidas teha Ma seda teen, tõsta oma käsi.
Ma tulen üle ja juhtida teie õiges suunas.
Aga me ka teeme seda, sest see on hea viis teha mõned
teemasid, mis on keeruline.
>> Nii see toimib, eks?
>> Üliõpilane: Jah.
>> JASON Hirschhorn: Kui lülitate sisse Ülesanded, seal on palju võimalusi seda teha
, kuid mõned on veel elegantne kui teised.
Olgem sukelduda sisse
# Include cs50.h.
# Include stdio.h.
int main õigustühine looksulg.
Toas looksulg, Mul on kaks kommentaari.
Esimene neist on, küsige kasutaja jaoks viis nime.
Teine on, juhuslikult valida ja välja trükkida üks nimesid.
Teeme esimene, küsige kasutaja jaoks viis nime.
Kes on palunud kasutaja viieks nimed ja ei ütle mulle, kuidas seda teha?
Ainult kaks inimest tegid esimese osa.
Kolm inimest tegi esimese osa.
Neli, viis.
Tom, kuidas sa seda teed?
>> Üliõpilane: Sa oleks kuulutada string ja siis nimi, sulg viis.
>> JASON Hirschhorn: String nimi sulg viis.
Mis siis on see joon teed, string nimi sulg viis?
>> Üliõpilane: Sa oleks kuulutada massiivi stringe.
>> JASON Hirschhorn: See on massiivi stringe.
Mitu strings lähevad mahtuda siin?
>> Üliõpilane: Viis.
>> JASON Hirschhorn: viis.
Suurepärane.
Me läheme seda nimetada nimesid, sest me ei kavatse saada mitu ones.
OK, edasi?
>> Üliõpilane: Ja siis on loop -
>> JASON Hirschhorn: For loop.
>> Üliõpilane: - i = 0.
>> JASON Hirschhorn: jaoks (int i = 0.
>> Üliõpilane: semikooloniga.
>> JASON Hirschhorn: semikooloniga.
>> Üliõpilane: ma vähem kui viis.
>> JASON Hirschhorn: ma vähem kui viis.
>> Üliõpilane: semikooloniga.
>> JASON Hirschhorn: semikooloniga.
>> Üliõpilane: i + +.
>> JASON Hirschhorn: i + +.
>> Üliõpilane: Ja siis suletud sulgudes.
>> JASON Hirschhorn: Suletud sulgudes ja siis mõned looksulg.
Toas looksulg?
>> Üliõpilane: Ja siis printf.
>> JASON Hirschhorn: Printf.
>> Üliõpilane: Open sulgudes nime% d.
>> JASON Hirschhorn: Vabandust?
>> Üliõpilane: Nimi.
>> JASON Hirschhorn: Nimi.
>> Üliõpilane: Ja siis ruumi ja siis% d.
>> JASON Hirschhorn: Nime, ruumi,% d.
>> Üliõpilane: Ja siis / n, ja siis suletud.
>> JASON Hirschhorn: Nii nimi, kosmos, % D / n, suletud sulgudes.
>> Üliõpilane: Comma, i + 1.
Mul on kahju.
Suletud quote, ja siis koma, i +1.
>> JASON Hirschhorn: Suletud tsiteerida, koma, i +1.
>> Üliõpilane: Jah.
Ja siis järgmine rida -
>> JASON Hirschhorn: i + 1.
>> Üliõpilane: Jah.
Ja siis järgmisele slaidile on nimed sulg i.
>> JASON Hirschhorn: Järgmine rida on nimed sulg i.
>> Üliõpilane: = saada string.
>> JASON Hirschhorn: = Get -
kapitali G-E-T -
string.
Oih, vabandust.
>> Üliõpilane: avatud, suletud sulgudes ja siis -
>> JASON Hirschhorn: avatud, suletud paren.
>> Üliõpilane: semikooloniga.
>> JASON Hirschhorn: semikooloniga.
OK, nii et sa initsialiseerida array stringid, nimed ja seejärel minna läbi
jaoks loop, ja viis korda välja printida mõned küsib kasutaja ja siis salvestada
viis keelt.
Kas keegi on muudatusi on?
Tom, ma arvan, et kõik nõus sinuga.
Paistab päris hea.
OK.
Miks sa seda tegid i +1, kuigi?
>> Õpilane: Ma mõtlen, et ei ole olla, kuid i +1, nii et see on
nimi üks nimetada viis.
Vastasel juhul oleks see nimi null nimetada neli.
>> JASON Hirschhorn: Nii et sa tegid i +1 sest vastasel korral oleks ta
trükkida null läbi nelja sest see on, kuidas arvutid arvad, kuid inimestel
tõesti ei lugenud sellist.
See on teine ​​asi, saate kokku puutuda.
Mõnikord, kui sa välja printida midagi kasutajale, mida sa tahad teha seda
natuke ilusamaks ja teed i 1 on sellisel juhul
nii, et oleks ilusam.
>> Näen ka viis korda, string nimi on viis, i on vähem kui viis.
Ma tean, kus sa said viie.
Sul seda mulle räägib sa viis nime.
Aga kui me tahtsime teha kood natuke tugevam, üks asi, mida me
võiks teha, on siin, väljaspool int, me võiksime teha midagi sellist,
# Define, ja me võiksime teha NIMED 5.
>> Ühesõnaga, kuhu ma kirjutan kapitali N, kapitali, kapitali M, kapitali E,
kapitali S, et string, asendab see et koos 5-koodi.
Või lähme lihtsalt kutsun seda - me lihtsalt nimetame seda numbrit.
Nii et ma olen määratletakse kõik mütsid NUMBER olla 5.
>> Nüüd kus mul on number 5, I saab asendada see kõik mütsid number.
Ja nüüd, kui ma tahan muuta number nimede, kõik, mida ma vaja teha, on
see üks rida, rida neli, kus ma olen # Define number 5, muuta, et 10,
või muuta, et 4.
Kui teie kood muutub pikemaks, sa ei ole läheb vaja meeles pidada kõiki kohti
panna, kui palju nimesid, mida tahtsid, ning selleks, et sa ei pane üks, see on
Hea viis seda teha, et leida midagi, üleval ja siis lihtsalt kasutama, et fraas
kõikjal kogu oma kood.
Marcus?
>> Üliõpilane: Kas see stiililiselt eelistatud kui ülemaailmselt määratlemisel
pidev n?
>> JASON Hirschhorn: Nii et stiililiselt eelistatud kui maailmas
määratlemisel pidev n?
Nii et sa tahad öelda, et sa võiksid teha, int arv = 5?
>> Üliõpilane: Kas neil on kaashäälikud C või ei?
>> JASON Hirschhorn: Or const - võrdsetes.
Nii et sa tahad öelda, lihtsalt globaalne muutuja?
>> Üliõpilane: Jah.
>> JASON Hirschhorn: Nii stiililiselt, pole tingimata üks õige
vastata, kuid mõlemad neist on parem kui lihtsalt visata neid juhuslikult
numbrite kasutusõigused kogu oma kood.
Me kutsume neid magic numbreid.
Kui ma vaatan oma koodi või kui keegi loeb läbi, siis nad
ei taha lihtsalt neid juhuslike arvude et ei ole mõtet.
Isegi number 26, mis on üldiselt tähtede arv tähestik
see on parem määratleda tähestik üleval ja salvestage number 26, et string,
kui see on mõistlik.
>> Või probleem määrata ühe asemel - jälle, me ei räägi see on
aega, kuid selle asemel, et lihtsalt visata aastal 25 kõikjal või 10, saate
salvestada number 25 kui veerand või 10 kui DIME ja mis muudab lihtsamaks
kes loeb läbi oma koodi aru, miks te otsustasite, et number.
Ja ka teile, kui sa kunagi tahad uuendada oma koodi, see muudab natuke
jõulisem.
Jah?
>> Üliõpilane: see kood ka läheb olema kättesaadav meie pärast?
>> JASON Hirschhorn: Kõik need koodid et me oleme kirjutanud koos on
kavatse meilitsi poisid ja saadaval.
Jah.
Nii et küsida kasutaja jaoks viis nime.
Juhuslikult valida ja printida üks nendest nimedest.
Kes seda tegi rida?
See on trickiest line siin.
Vabandust, Tom.
Sa tegid väga head tööd, kuid see on veidi keerukam.
Marcus, edasi minna.
>> Õpilane: Noh esiteks, sa lähed vaja lisada stdlib.h ja time.h.
>> JASON Hirschhorn: Nii et sa räägid juures top, hõlmata veel kaks raamatukogudes.
Sa tahad, et lisada S-T-D-L-I-B dot H, Standard raamatukogu ja mida
oli teine?
>> Üliõpilane: Time.h.
>> JASON Hirschhorn: # include time.h.
Nii et need on kaks raamatukogudes.
Eeldan, nüüd me ei kavatse olla kasutades funktsioonid, mis sisalduvad nendes
kaks, mis on põhjus, miks teil on vaja kaasata neid?
>> Õpilane: Niisiis, esimene oled lähed tahan kirjutada srand.
>> JASON Hirschhorn: srand.
>> Üliõpilane: (aeg (0)
>> JASON Hirschhorn: Vabandust.
Srand (aega (
>> Üliõpilane: 0.
>> JASON Hirschhorn: 0.
>> Üliõpilane:)), semikoolon.
>> JASON Hirschhorn: Teine suletud paren?
Semikooloniga.
Ma lähen lihtsalt asendada oma nulli NULL.
Seda saad teha sama asja, kuid üldiselt, näete NULL, mis
me räägime seda line teine.
>> Üliõpilane: Stiililiselt paremini?
>> JASON Hirschhorn: Üldiselt, inimesed õigus NULL, kuid sama asi.
>> Üliõpilane: Ja siis int nimi.
>> JASON Hirschhorn: Int nimi.
>> Üliõpilane: =
>> JASON Hirschhorn: =
>> Üliõpilane: Rand.
>> JASON Hirschhorn: Rand.
>> Üliõpilane: ()
>> JASON Hirschhorn: ()
>> Üliõpilane: Modulo number.
>> JASON Hirschhorn: Mis on moodul?
Iseloomu?
Protsenti iseloomu?
>> Üliõpilane: Percent iseloomu.
Modulo number, mida määratletakse up top.
>> JASON Hirschhorn: Modulo number.
>> Üliõpilane: Ja siis semikoolon.
>> JASON Hirschhorn: semikooloniga.
>> Üliõpilane: Ja siis uus liin, printf.
>> JASON Hirschhorn: Printf.
>> Üliõpilane: (
>> JASON Hirschhorn: (
>> Üliõpilane: "
>> JASON Hirschhorn "
>> Üliõpilane:% s / n
>> JASON Hirschhorn:% s / n
>> Üliõpilane: "
>> JASON Hirschhorn:% s / n "
>> Üliõpilane: koma, tühik nimed.
>> JASON Hirschhorn: Space -
>> Üliõpilane: Oh, ma arvan, mida Kas me nimetame seda siin?
>> JASON Hirschhorn: Me kutsusime seda nime.
>> Üliõpilane: sulg, nimi.
>> JASON Hirschhorn: sulg, nimi.
>> Õpilane: Suletud sulg.
>> JASON Hirschhorn: Suletud sulg.
>> Üliõpilane:)
>> JASON Hirschhorn:)
>> Üliõpilane: semikooloniga.
>> JASON Hirschhorn: semikooloniga.
OK, olgem salvestada.
Teeme seda koodi.
Õpilased.
Olgem käivitada koodi.
Õpilased.
Ei. / Õpilane. . / Õpilased.
Nimeta üks.
Me ütleme David.
Nimeta kaks, RJ.
Nimeta kolm, Rob.
Nimi neli, Lucas.
Nimi viis, Joseph.
Ja siis ta trükib Joseph uuesti.
>> Nii et lubage mul kasutada seda uuesti.
Lubage mul teha sama nime.
David, RJ, Rob, Lucas, Joseph.
Ja see andis mulle David seekord.
Nii et ma tegin sama asja, kuid see andis minu teine ​​asi, ja see on
sest muidugi me palume jaoks juhuslik nimi.
Nii et ma arvan, põhineb off mind ekslemine ruumis ringi, et enamik inimesi,
ilmselt sai esimese osa paremale, loomist, et massiivi ja siis saada
kõik nimed.
Ma räägin read 10 kuni 16.
Aga ridade 18 kuni 21 on ilmselt mõned asjad, mida sa ei ole varem näinud,
nii lähme läbi need.
>> See liin, srand aeg NULL on sisuliselt -
Vabandust, lähme jätke maha line, rand ().
See annab teile juhusliku arvu, juhuslik täisarv.
Ja kui vajutad mees rand, mis palju sa tegid -
M--N ruum R-N-D -
terminalis niimoodi, M-, N ruum R-N-D, Enter.
Te tulla käsiraamat ja oleks võimalik lugeda, et rand
käsu väljundit num pseudo juhuslikke baite pärast külvamist juhuslik number
generaator kord.
>> Nii et see kirjeldus.
Just rand teeb, annab sa juhusliku arvu kui
sa nimetad seda funktsiooni.
Kahjuks see ei ole tõesti juhuslik sest kui sa lihtsalt helistada juhuslikult
ilma saada see mõned seemned, mõned lähtepunkt, siis alati valida
sama, ja see kasutab valemit kindlaks järgmise üks.
Nii et kui te helistate rand, see lihtsalt teile sama asi.
See saab olema väga etteaimatav.
See tegelikult ei ole juhuslik.
>> Niisiis, mida me peame tegema, inimese Marcus on juhised mind, olid seeme rand
millegi muuga, mis on see, mida srand funktsioon teeb.
See seemned rand koos midagi natuke rohkem juhuslik kui sama asi, ja
ta on külv see aeg NULL, mis on, lihtsalt kokkuleppeliselt, praegune
aeg sekundites.
>> Nii et sa oled eeldades, et kõik ei ole kavatse joosta koodi täpne
samas teine, nii et see on kindel, et aeg NULL saab olema erinev
iga kord, kui see kood töötab.
Kindel et seega srand tahe seeme rand midagi erinevat iga
ühtne kord.
Nii kokkuleppeliselt kui me ei taha juhuslik number, me kirjutame seda joont,
srand aeg NULL, et anda meile palju rohkem juhuslik seeme, ja siis võtame
rand, mis annab meile juhuslik number.
Jah?
>> Üliõpilane: Kas oskate öelda, mida mõtled seeme?
>> JASON Hirschhorn: Seed nagu -
nii rand läheb korja mõned number ja see saab kasutada mõningaid
valem sinna jõuda.
Nii see läheb alustada millegi ja seejärel muuta see midagi, mis põhineb
ära selle valemi.
Kui sa alati seda sama asja, See on alati kavatse muuta see
sama asi.
Nii et esimene asi, mida anna see seeme.
Nii et sa tahad seda midagi erinevate hakata läbi, ja nii see
muutub see midagi muud.
>> Ja siis lõpuks, joon 20, see% on nn
moodul ja see on segane.
See on midagi, mis on natuke erinevad siin, et sa tõesti ei
on reaalses elus matemaatikat.
Aga sisuliselt, kui te võtate hiiglane number ja sa jagad in C, mis
juhtub ülejäänud?
>> Õpilane: Läheb kärbitud.
>> JASON Hirschhorn: Läheb kärbitud.
Seega 20 jagatud 3 on mis?
Mis, et naasta te, 20 jagatud 3.
Vabandame, 10 jagatud 3.
Mis see tagasi sulle?
>> Õpilane: [kuuldamatu].
>> JASON Hirschhorn: 10 jagatud 3 lihtsalt tagastab 3, mitte 3 ülejäänud 1.
Mis siis 10 moodul 3 naaseb on lihtsalt Ülejäänud 1.
Nii et kui sa tahad teada, mis 10 jagada 3 tegelikult oli, siis oleks
teha 10 jagatud 3, sa saad oma 3, ja siis teeksin 10 moodul 3, ja
soovite saada 1.
Nii, et sa mõistad, et 10 jagatud 3 on 3, ülejäänud 1.
>> Ja seda joont, rand võiks olla mis tahes täisarv, sisuliselt.
Nii mooduli ütleb, jagada see number, mis on antud juhul 5.
Ja kui sa kunagi jagage number, täisarv alati olema väiksem kui
mis number.
Seega, kui olete jagades number 5, Ülejäänud on alati saab olema
null kuni neli.
See on lihtsalt, kuidas matemaatika toimib läbi.
>> Nii suur hulk moduloed väiksemal number alati tagasi
Ülejäänud ja alati tagasi mõned number, mis on vähem, kui te
jagatud.
Kas keegi on küsimusi moodul, sest see tulla väga,
Väga mugav, nii et ma tahan veenduda, igaüks mõistab seda?
Lahe.
Ja me nägime, et see programm toimib.
OK, liigub edasi.
>> Nii et järgmine, me ei kavatse minna funktsioonide ja me läheme
läbi ülejäänud seda kraami päris kiiresti, sest ma tahan saada
käsurea argumente.
Nii funktsioonid on sisuliselt kui olete näinud, mustad kastid.
Nad võtavad asju nimetatakse parameetrid nad midagi teha, et neid kas
neid muuta või luua mõned kõrvaltoimed, ja lõpuks nad sülitasid
midagi välja, mis on tagastatav väärtus.
Kas keegi oskab anda mulle üks põhjus, miks me ei kasuta funktsioone?
Igaüks?
Üks põhjus, miks me tahaks kasutada funktsioone?
Keegi?
Ma nägin kahte kätt.
Mis on hea põhjus?
Marcus?
>> Üliõpilane: Kui teil on helistada sama tüki koodi mitu korda.
>> JASON Hirschhorn: OK, kui teil on vaja helistada sama tüki
koodi mitu korda.
Jeff, kas sul on mõni põhjus?
>> Õpilane: Just nii, et saab kodeerida vähem.
>> JASON Hirschhorn: Saate koodi alla.
Just.
Kui sa tahad teha midagi palju -
eelmise koodi, ma oleks võinud kirjalik saada string viis korda, kuid
silmus muudab ilusam ja teil on kirjutada vähem koodi.
Funktsioonid on sarnane idee.
Kui ma tahan teha sama palju, liiguta see funktsioon ja helistada, et
toimi iga kord.
See teeb selle asja teile.
See on hea põhjus kasutada funktsioone.
>> Nii anatoomia funktsioon.
Funktsioon on reeglina näeb välja selline.
Seda saad alustada tulu liik, siis saad ka nimi.
See võtan argumendid, vastasel tuntud parameetreid ja sees
need looksulg, saate kirjuta oma kood.
>> Me oleme näinud üks funktsioon palju.
See on peamine.
Siin on peamine üksteise peale et anatoomia Mul oli varem.
Mis int siin tähendama?
Mis int tähendab?
Kui ma kirjutan int main (void).
>> Üliõpilane: Return tüüp?
>> JASON Hirschhorn: Vabandust?
>> Üliõpilane: tagastab tüüp.
>> JASON Hirschhorn: Int on tagasi tüüp, täpselt õige.
Main tagastab int.
Mis on peamine?
>> Üliõpilane: funktsiooni nime.
>> JASON Hirschhorn: Main on funktsiooni nimi.
Täpselt õige.
Õigustühiseks?
Mis on tühine sulgudesse?
>> Üliõpilane: See ei võta välist väärtust.
>> JASON Hirschhorn: Nii void -
õige.
Sulgudes, paneme parameetrid või argumente
Funktsioon, mis toimub must kast.
Kui Sa kirjutad tühine, sa räägid see võtab midagi sisse
Nii int main void tähendab peamine on ei võta midagi sisse
>> Toas looksulg, meil on mõned kood ja siis me näeme lõpus
tagasi nulli.
Mis tulu null tähendab?
Noh, me rääkisime tagastab tüüp.
Main peab tagastama int.
See on see, mida see joon teeb.
Ta naaseb int, null.
>> Muidugi, me ei ole näinud, et palju sest programmeerimise me teeme
masinad teeme ja koostajad me kasutame tänapäeval, siis
ei ole vaja, et liin.
Põhiline on eriline piisavalt, et ta teab, kui jõuad lõpuks peamine, just
tagasi nulli, kui kõik läks hästi.
Tegelikult, kui midagi ei lähe hästi, Peamine pöörduvad sageli erinevad
number, tähistades midagi valesti läks oma programmi.
>> Nii üldiselt kui näete kood, siis ei kirjuta tagasi nulli, aga see on hea
teada, et see juhtub taga stseene, sest iga kord, kui sa kirjutad
teist tüüpi funktsiooni, te ei kavatse vaja
hõlmata turutingimustel liin.
Kui sa tahad öelda, et ma lähen tagasi int, pead
kirjutada midagi tagastada.
Kui te ütlete, void kuni siin Alguses void main void jaoks
Näiteks siis see ei tule midagi - tühjus ei tähenda midagi -
nii et sa ei pea seda tagasi rida.
Aga sa kunagi kirjutada midagi, mis ei ole kehtetuks tagastamise tüüp, peate
line, mis ütleb, tagastamise ja te on vaja panna midagi seal
mis vastab tüübile.
Kõik küsimused selle kohta?
Sweet.
>> Ulatus.
See on midagi, mida me oleme puudutas samuti.
Iga muutuja, nagu me teame, on teatud ulatus, ja see on põhimõtteliselt
räägi kus muutuja võib olla või mitte olla objektidega.
Ja ma tahan öelda, mis juhtub aastal looksulg jääb
sees looksulg.
Nii näiteks, kui me vaatame seda koodi me määratleda globaalne muutuja
väljaspool peamist, int, siin üleval.
Me kutsume veel int sees peamine.
Meil on veel mõned looksulg ja Me nimetame teise int.
>> Meil on kolm oma koodi.
Need ei ole sama asi.
Olen loonud kolm erinevat muutujat.
Siis sees need sisemine lokkis traksid, ma ütlen = 4.
Milline on see, et räägime, Esimene, teine,
või kolmas?
>> Üliõpilane: kolmas.
>> JASON Hirschhorn: See räägib umbes kolmas.
Kõik need on tegelikult võimalik rääkis selles konkreetses
Näiteks, kuna nende ulatus kõik läheb neisse sisemine looksulg.
Samas, kui sa nimetad asju sama nimi, seal on midagi, mida nimetatakse peidus.
Nii et sa ainult tegeleda või määrata või kasutage Viimane muutuja, või üks
Teile kõige lähemal.
Nii seest siin, see kolmas on kõige lähemal selle rea, a = 4, nii et see
mõjutab kolmas.
Ja viimane rida, a = 2, mis on et räägime, on esimese, teise,
või kolmas?
>> Õpilane: teine.
>> JASON Hirschhorn: See räägib umbes teine.
Muidugi, kolmas on kõige lähemal see kood, kuid kolmas
ei eksisteeri väljaspool need looksulg.
Kui sa saad selle suletud lokkis traksidega, see on nagu ta on läinud,
sisuliselt.
Nii ainult kaks olete lahkunud on need Esimesed kaks, ja muidugi nüüd
see on kõige lähemal teine.
>> Nii et see on hea asi Jäta umbes ulatus.
Näiteks, ma olen kindel, et olete kokku puutunud seda teha, samas silmus.
Kui te initsialiseerida muutuja sees ei samas loop ja siis proovida
kasutada seda väljaspool, siis ilmselt sain mõned hoiatus nagu see
muutuja ei ole olemas.
Ongi, sest ulatuse idee, et asjad eksisteerivad vaid
sees need looksulg.
Looksulg on nagu hiiglaslik kallistada, et sa oled andes oma koodi, on teine
viis mõelda.
>> Nii et see on veel üks funktsioon, mida kutid kood, hellofunction.c.
Me läheme vahele, et nüüd, kuid see on midagi, mida ma kutsun teid üles
praktiseerida oma.
Kirjutada programm, mille peamine kõned teine ​​funktsioon, mis prindib välja
tervitus kasutaja.
See on sisuliselt võttes tere ja refereerimine et printf sisse
teine ​​funktsioon.
Aga me ei kavatse teha, et kohe sest meil ei ole nii palju aega
lahkus, kui ma oleksin tahtnud.
>> Nii funktsiooni deklaratsiooni.
Me oleme näinud seda enne ka.
Kui sa tahad kirjutada teine ​​funktsioon, peate arvuti teaks ja
Peamine tean, et see on olemas.
Niisiis, mida me teeme, on eespool peamine, me kirjutame tagasi tüüp, nimi ja
parameetrid ja seejärel allapoole peamine, siia alla, me tegelikult kopeeri et liin
ja siis kirjutada tegelikku koodi.
Nii et see tee, kui te helistate funktsiooni peamiste tipus, peamised teab, et
Tema ei ole, näiteks kui ma helistada tere ja siis tundub, et
rakendamise allapoole.
Mis juhtub, kui ma ei hõlma see rivistama top, tühine tere (void)?
>> Kui ma ei hõlma see rida ja peamised kõned tere, ma olen
hakka viga.
Ma lähen, et saada viga, kuna koostaja ei tea
et see asi ei ole.
See on sarnane, miks me ei # include cs50.h.
Mis sisuliselt cs50.h teeb paneb saada string seal.
See paneb saada int seal.
See paneb kõik need funktsiooni prototüübid enne peamisi nii, et kui
helistate neile peamine, peamine teab et need asjad on olemas.
Just need. H faili teha.
Ja kui sa lähed teha oma funktsioon, sul veenduda
paned et prototüüp seal.
Küsimusi selle nii kaugele?
>> Käsurea argumendid.
See on see, mida me ei kavatse lõpetada kohta, ja siis LOODETAVASTI
pigistada mõned pset.
Ma ei tea, kas me saaks pigistada et kuna aega, kuid
teiega, kes siin on, ja kui sa tahate öelda peale jaoks natuke, me
võib minna üle väljaspool.
Aga me ei kavatse lõpetada käsureaargumentidena
viimase 15 minuti jooksul.
Me ärkvel, Michael?
Sa oled ärkvel?
Hea.
Ma ei tea, kas sa magad silmad kinni.
Oleks keeruline.
>> Käsurea argumendid.
Need on üks viis, kuidas edastada teavet arvesse programmi.
Lõpuks, me kogevad teised.
Aga sisuliselt me ​​lõpetada kirjalikult int main (void), kui tahame
võtta mõned käsurea argumente.
Me läheme kirjutada see asi nimetatakse int main (int argc,
string argv, sulgudes.
See on segane.
See on palju kirju, mis ei ole inimese inglise keeles, nii me läheme
lahti neist kohe.
>> Argc tähistab argument arv -
ja jälle, kõik neist on olema kättesaadav internetis -
ja see on mitmeid argumente.
Argv tähistab argument vektor ja need on argumendid ise.
See on massiivi stringe.
Oleme näinud hulgaliselt stringide enne täna.
Me oleme loonud ühe viimase Programmi me kodeeritud.
>> Nii et siin on näide.
Ma kirjutan. / Ohai CS50 osa minu käsurealt.
Argc sel juhul võrdub 3.
Argv sulg 0 on Ohai, argv sulg 1 on CS50, argv sulg 2 osa.
Jällegi argc on mitmeid argumente, ja reis sind veidi
natuke oleme alati loota nime funktsiooni esimese argumendina.
Nii et kui on kolm argumendid, funktsiooni nimi
ja siis need kaks, et ma kirjutada sisse
>> Järgmisena me salvestada need argumendid ise argv.
Ja jälle, nagu me nägime enne, tegime Selle viimase programmi me kodeeritud.
Võite liikuda massiivi argv ja saada need stringid.
See on sisuliselt mida me tegi lõpuks meie viimane programm.
Korjasime juhuslik nimi ja siis läks nimed sulg iganes ja trükitud
puhtaks sinna.
>> Peal lihtsalt üks massiiv, sest stringid ise paneelid
rääkis, sul võib olla massiivid massiivid, mis on
sisuliselt mida argv on.
Üks viis saate mõelda see on read ja veerud.
Võin teha, et kohe.
Nii argv -
see pole kustutamine.
Joonistame all Ohai.
>> Nii et kui ma kirjutasin, Ohai CS50 osa, Ma lähen kärpida
osa selles näiteks.
Aga sisuliselt minu mitmemõõtmeline massiiv, Ohai CS50,
me teeme sekti.
Nii et siin, ma ei saa kasutada -
kui ma andsin argv üks number -
see on vale.
Mis on valesti, seda skeemi?
>> Üliõpilane: Alusta nullist.
>> JASON Hirschhorn: see peaks alustada nullist.
Ma peaks ilmselt ka pöörata, kuid sest ma olen juba teinud seda, ma olen
jätan ta seal nüüd.
Aga see algab nullist.
Just nii.
Mul on kahju, kui see on väike.
Kas te poisid omamoodi näha?
Nii et kui ma teen argv 0, ma saad kõik Ohai.
Kui ma argv 1, ma saan kõik CS50.
Kui ma argv 2, ma saan kõik sekti.
>> Aga nüüd, kui me ütlesime, keelpillid on massiivid ise.
Niisiis, mida ma teha saan, on mul võimalik käsitleda seda kui mitmemõõtmeline array, ja ma
saab midagi eeskujul argv 0, 0, mis annab mulle lihtsalt
iseloomu 0.
Argv 0, 1, mis annab mulle lihtsalt h.
Argv 1, 3, mis annab mulle lihtsalt see 0 siin all CS50.
>> Niisiis, kuna stringid ise on massiive, me paneme
et teise massiivi.
Meil on nüüd massiiv massiivid, ja me võib indeks meie esimene massiivi ja
siis indeks meie teine ​​massiiv.
Ja nagu ikka, me teeme seda poolt lihtsalt paneb need kaks -
teeme nurksulgudes lihtsalt paremale üksteise kõrval.
Nii et see näide, argv 1 CS50 ja argv 1, 2, nagu me ütlesime, on vaid 5.
Kas keegi on küsimusi mitmemõõtmeline massiivid?
Te teete fantastiline.
Sweet.
>> Nii et meil on teise programmi siin, ja see on viimane asi, mida me oleme
teeme kohe.
Nii et ma tahan, et sa kirjutada programm, mis võtab kasutaja täielik nimi, kaks ja ainult
kaks käsurea argumente, ja lõpuks, välja printida tervituse
kasutaja, et on oma eesnimi.
Miks sa ei võta kolm või neli minutit, et seda teha, ja siis me läheme
üle rühmana ning siis me pakkima?
>> Ja jälle siin, kui me ütleme, võtta kasutaja täisnime kohta kirjeldus
selle probleemi, siis tuleb käsk argumente, mis ei kasuta saada string.
Jah, Marcus?
>> Üliõpilane: Nii et kui te ütlete, kaks käsk argumente on see, et lisaks
. / joosta, või -
>> JASON Hirschhorn: Hea küsimus.
Kas, sh. / Run, kolm käsurea argumente.
Või sh. / Personaliseeritud, in Sel juhul, kuna see on
Selle faili nimi.
Nii argc oleks kolm.
Aga ma tahan ainult kaks argumenti antud programmi.
Ma tuleks täpsustada, et.
Ma teen, mis muutus enne postitamist need ja saadab teid.
>> Üliõpilane: Mis siis, kui te on teine ​​nimi?
>> JASON Hirschhorn: Kui teil on keskel nimi, sa oled õnne.
Mul on kahju.
Või kui sul on ainult minna Shakira, sa oled ka õnne.
Jah?
>> Üliõpilane: Nii et kui inimesed ei ole cs50.h, nad määratlevad argv
kui char star argv?
Või on see ikka nimega string argv?
>> JASON Hirschhorn: Jah.
Nii string jälle me varjata selle üle, mida täpselt seal toimub.
See saab lahti pakkida võibolla Kolmapäeval, kuid kiiresti.
See on nagu abirattad.
Sest sisuliselt on see sama asi.
>> Võtame veel ühe minuti, et programm seda, ja siis me läheme üle
see grupp ja seejärel nagu ma ütlesin, pakkima.
Ja ma arvan, et nad ikka pildi kommid, nii et te peaks loodetavasti võtma
et, või siis võtta seda.
>> Vabandust, kui sa ikka kirjalikult, aga ma tahan sukelduda ja me
võib lõpetada koos.
Nii et mul on kirjutatud, # include cs50.h, # include stdio.h.
int main (void), lokkis traksidega, lokkis traksidega, sees kolm rida
pseudokoodi võtta kasutaja täielik nimi, kaks ja ainult kaks käsurea
argumendid, välja printida tervituse kasutaja, et on oma eesnimi.
>> Nii esimene, võtma kasutaja täisnime.
Kes saab mind aidata võtta kasutaja täielik nimi?
Kuidas seda teha, et osa?
Kas te teete, et esimene osa?
Võtke kasutaja täisnime.
Noh, et üks käsurea argument, mida ma peaksin kirjutama?
Mida ma peaks muutma umbes minu funktsioon deklaratsiooni?
>> Üliõpilane: Sa ei taha see õigustühiseks enam.
>> JASON Hirschhorn: Täpselt.
Ma ei taha, et see on tühine.
Mida ma tahan, et see tuleb?
>> Üliõpilane: Int argc.
>> JASON Hirschhorn: Int argc.
>> Üliõpilane: String argv.
>> JASON Hirschhorn: String argv.
>> Üliõpilane: Bracket, sulg.
>> JASON Hirschhorn: Bracket, sulg.
See on täpselt õige, ja see on tegelikult, kuidas ma lähen, et saada
kasutaja täisnime.
Nad lähed pane see sinna.
Nii et üks on tehtud.
Nüüd ma tahan kaks ja ainult kaks käsurea argumente.
Nii Noah, mis see on üks viis, kuidas ma arvu vaatamine käsk
argumente mul on?
>> Üliõpilane: Sa kas avalduse.
>> JASON Hirschhorn: Kui avaldus, täpselt.
Mida ma tahan on see haigus?
>> Üliõpilane: Kui argc üle 3.
>> JASON Hirschhorn: Kui argc on suurem kui 3.
Kui argc suurem kui 3, mida ma pean tegema?
>> Üliõpilane: Tagasi 1.
>> JASON Hirschhorn: Tagasi 1.
Kas see tagab mul kaks ja ainult kaks?
>> Õpilane: Ei
Kui argc on suurem kui 3 ja vähem kui 2.
>> JASON Hirschhorn: Kui argc on suurem kui 3 ja argc on alla 2.
Mis on üks viis, kuidas ma kirjutan selle lihtsalt üks rida, või ilma, et
ja Boole'i ​​operaatori?
>> Üliõpilane: See ei ole võrdne 2.
>> JASON Hirschhorn: Kui argc ei ole võrdne 2.
Täpselt.
Nii et kui argc ei ole võrdne 2, et annab mulle selle programmi,
personaliseeritud, kui ma saan seda ja mis annab mulle, kui palju
käsurea argumente?
Kui palju ma kontrollida?
>> Vabandust.
Lubage mul sõnastada seda.
Kui argc = 2, kui palju tegi kasutaja kirjutage line?
>> Üliõpilane: One.
>> JASON Hirschhorn: Lihtsalt üks.
Nii et enne, sul oli õigus, Noah.
Mida ma tegelikult vaja panna on?
>> Üliõpilane: See võrdub 3.
>> JASON Hirschhorn: Argc ei ole võrdne 3.
Tahan võrdne 3, sest ma tahan personaliseeritud pluss ülejäänud kaks.
Nii et kui argc ei võrdu 3, tagasi 1.
Miks sa ütled naasta 1?
>> Üliõpilane: Sest et tähendab, et see on vale.
>> JASON Hirschhorn: See tähendab, et see on vale, Ja mis see teeme?
>> Üliõpilane: Re-kiire kasutaja.
>> JASON Hirschhorn: See saab väljuda programmi, nii et see on joosta
uuesti, kuid meil ei ole midagi siin küsida uuesti.
Ma ei küsinud seda.
Nii see on täpselt õige.
Tagasi 1 lihtsalt sulgub programm.
Great.
>> Ja välja trükkida tervitus kasutajale mis sisaldab oma eesnimi.
Kuidas ma saan seda teha?
Anna?
>> Üliõpilane: Printf.
>> JASON Hirschhorn: Printf.
>> Üliõpilane: ("
>> JASON Hirschhorn: (
>> Üliõpilane: "tere
>> JASON Hirschhorn: "tere
>> Üliõpilane:% s
>> JASON Hirschhorn:% s
>> Üliõpilane: / n
>> JASON Hirschhorn: / n
>> Üliõpilane: ",
>> JASON Hirschhorn: ",
>> Üliõpilane: argv
>> JASON Hirschhorn: Vabandust?
>> Üliõpilane: argv
>> JASON Hirschhorn: argv
>> Üliõpilane: Nurksulud 1.
>> JASON Hirschhorn: Nurksulud?
>> Üliõpilane: 1.
>> JASON Hirschhorn: 1.
>> Üliõpilane: Ja) semikooloniga.
>> JASON Hirschhorn:) semikooloniga.
Olgem selle käivitada.
Tee personaliseeritud.
. / Personaliseeritud.
See lihtsalt loobuda.
Miks see lõpetada?
>> Üliõpilane: Sa ei pane ühtegi argumenti.
>> JASON Hirschhorn: ma ei ole pane ühtegi argumenti sisse
Tundub hea.
Te naelutatud ta.
Nii et taas, sa läksid argv ja te kontrollitud alguses argc.
Need on kaks olulist asju meeles pidada.
Nii et meie viimase kahe minuti, enne kui me jätta, me ei saa, et pset kaks, kuid
nagu ma ütlesin, kui soovite jääda pärast 10 minutit, ma oleks ta hea meelega
üle teiega loogika Nende probleem komplekti.
Meil oli palju nähtud täna nii et ma ei saanud neid.
Üldiselt mulle meeldib lisada aasta lõpus.
Nii et kui soovite jääda umbes, kinni umbes 10 minutit.
Me teeme seda.
>> Siis, kui ma alguses mainisin, pset null ja üks, et me jõuame selle
tagasiside tagasi teile niipea kui võimalik.
Eesmärgiks on saada pset üks tagasisidet, Kommentaarid osa,
enne pset kaks on tingitud.
Nii et kui teil on tehtud mõningaid vigu või stiililiselt, asjad võiks olla parem,
sul on, et teave, et sa ei tee samu asju pset kaks.
Ja siis tulevikus saad sa kõik oma pset tagasisidet ja kommentaare
tagasi enne järgmise põhjuseks.
>> Lõpuks, kui ma saaks panna veel plug tagasisidet.
See on teie esimene lõik.
See oli minu esimene lõik õpetamine sellel aastal.
Minge sinna.
Kirjutage asju, hea ja halb, ja ma kasutan seda teha
osa järgmine kord paremini.
Ja viimane, samas, kui teil on vaja midagi, andke teada.
Ma olen rohkem kui õnnelik, et teid aidata.
Kui tahad lihtsalt kommi, ma on pildi kommid.
Ma olen õnnelik, et tuua selle sulle.
>> See saab olema hämmastav muidugi.
See on üks, kui mitte mu lemmik Loomulikult olen võtnud kogu mu elu,
ja ma loodan, et see saab olema, et imeline teile.
Ma tahan teha kõik, mis minu võimuses teha seda, mis vinge teie jaoks.
Ma lähen välja saata kiri, kui oled minu osa või Noa ja
kavatsen proovida ja ajakava koos iga kutid aeg vaadata üle
Järgmise paari nädala jooksul, et ma saan tunnet, mida teie CS taust,
ja see aitab ka mind kohandada need lõigud paremini sobib teie vajadustele.
Nii see on, mida mul on rivistatud.
Jällegi näeme väljaspool kui sa tahad olla seal.
See oli nädal kaks osa.
Tänan teid väga.