>> [Musiikki soi]
>> DAVID MALAN: Okei tämä on CS50 ja tämä on viikon lopussa yksi.
Joten haluan esitellä minun entinen advisee, Andelin Duff, joka ei ainoastaan ​​tee
iPhone 5 seisoo, sekä tämä lectern, hän tekee myös autoja.
ANSEL Duff: Miten menee, kaikille?
Haluan vain kertoa teille hieman vähän siitä Formula SAE, josta minä
olen kapteeni.
Se MIT joukkue.
Haluan vain kertoa sinulle kaverit vähän siitä
ja toivottavasti tuottaa jonkin verran kiinnostusta.
>> Joten haluan vain ajaa läpi pari asioita tiimiimme.
Olemme siis täysin Opiskelija aikavälillä, jolloin kaikki
jäsenistä suunnittelu, simuloida, testi, ja valmistaja osajärjestelmä
auton.
Meillä on oma konepaja ja autotallit ja N52-- tai anteeksi,
N51-- joka on samassa rakennuksessa kuten MIT Science Museum.
Ja me olemme ihmisiä että ajaa autoa.
On kansallinen kilpailu alussa kesän,
ja sitten on pienempiä rangaistuspotkukilpailun kilpailuja ympäri vuoden.
Ja sitten teemme ajoharjoittelua päivän päästä uusia jäseniä tutustui.
>> Build päivät ovat Lauantaisin klo 11 kaksikymmentä.
Lounas ja päivällinen huolehtivat on vuodesta Bertucci ja Beantown
vastaavasti.
Meillä on viikoittain kokouksen ja seminaari, joka on tietenkin luottoa.
Joka on uusi, koska tämän lukukauden, ja se on myös ensi lukukauden,
joten voit ristiin reg siitä.
Ja sitten meillä on suunnittelu, kauppa, ja CAD viikonpäivinä,
kun taas jäsenet itsenäisesti CAD-osat, tilauskanta ja niin edelleen.
>> Niin sähkö insinööriksi joukkue
meillä on vetävä, suurjännite-järjestelmä,
joka kulkee nimellisellä 300 volttia, joka sisältää
moottoreineen, moottorin valvontalaitteita, ja akkuja.
Sitten meillä on alhainen jännite järjestelmä, joka kulkee
12 volttia, joka sisältää tarkastukset, CAN solmut, aivot
ruutuun, ja kojelauta.
Sikäli CS menee, teemme on sivuston ylläpito
ettei meidän tarvitse tehdä tapahtumia, jäsenyyden muutoksia, uusia kuvia, ja PR materiaalia.
Ja sitten meillä on koodi, joka ohjaa auton meidän luistonesto, käynnistää
ohjaus, kojetaulusta, vääntömomentti vectoring, ja jarrutusenergian järjestelmiä, jotka
ajaa tyypillisesti MATLAB, Simulink, ja LabView.
>> Kertoa hieman siitä autosta.
Niin se on noin 500 kiloa.
Se on sääntöjen rajoitettu 85 kilowattia.
Se on 2 EMRAX 207 moottorit takaisin, yksi jokaista takapyörää.
Se on erikoisvalmisteinen akut alkaen Prismaattinen A123 pussi soluja,
yhteensä 300 volttia ja 5.6 kilowattituntia.
Ja se on suoraveto kanssa 2,64-1 asemaan suhteessa.
Tässä muutamia kuvia meidän otti sen kilpailun.
Tässä on takana, nenä kartio, ja tässä ovat moottorit,
ne iso musta levyjä alla et miesten Manus.
Tässä liukumäki että vedin pois meidän kilpailun järjestelmää.
Ja tämä on vain vertaamalla automme pari kaupallisesti saatavilla autoja,
kuten KTM XBOW, Ariel Atom, ja Caterha M 7-280.
Jos olet perehtynyt hinta, teho vetää painoa, dollaria per hevosvoimaa,
dollaria vääntömomentti, ja automme puhaltaa ne kaikki pois vedestä.
Jos sinulla on kysyttävää, hiukkaakaan alas tämä sähköpostiosoite.
Ampua meille sähköpostia osoitteeseen fsae@mit.edu.
>> Olemme iloisia puhua mitä haluat.
Harvardin opiskelijat ovat ystävällisiä vähemmistön joukkue.
Jos sinulla on kysyttävää että älä ammu meille sähköpostia,
onnellinen puhua, ja aion suunnata takaisin yli Davidille.
Kiitos.
Arvostan sitä, kaverit.
[APPLAUSE]
>> DAVID MALAN: Ansel vietti kesän kanssamme täällä kampuksella CS50
tänä kesänä.
Ja lisäksi työtä asioita, kuten binary sipulit,
hän oikeastaan ​​todella avasimme eyes-- ja kaivoksen particular--
mitä todella risteyksessä ei laitteisto ja ohjelmisto voi olla.
Itse asiassa paljon asioita hän vain kiersi läpi viime kädessä
Ensimmäisenä syntynyt ohjelmisto, ja sitten lopulta valmistettu
reaalimaailmassa laitteisto.
Joten jos olet kiinnostunut tutkimalla, että risteys,
ehkä ryhtyä tähän ryhmään.
>> Nyt puolestaan, ne teistä jotka ovat faneja tekniikkaa,
ja Applen tuotteita erityisesti tietää, että
oli pari ilmoitukset eilen.
Mutta ajattelimme näyttää Oletko yksi, joka tuli ulos
muutama päivä ennen että et ehkä ole nähnyt.
>> JORGEN EGHAMMER: Tiedätkö, silloin tällöin jotain
tulee pitkin että muuttaa tapaamme elää.
Laite niin yksinkertainen ja intuitiivinen käyttäen se tuntuu melkein tutulta.
Esittelyssä 2015 IKEA-kuvastot.
Se ei ole digitaalinen kirja tai e-kirja, se kirja-kirja.
>> Ensimmäinen asia huomata ole kaapeleita, ei edes virtajohtoa.
2015 IKEA-kuvastot tulee täyteen,
ja akku on ikuinen.
Käyttöliittymä on 7,5 8 tuumaa, mutta voidaan laajentaa 15 8 tuumaa.
Navigointi perustuu painallustoiminen tekniikka, että voit todella tuntea.
>> Sisältöä tulee esiasennettuna kautta 328 HD-sivut
innostavia kodin sisustamiseen ideoita.
Selaimen käytön aloittaminen, yksinkertaisesti koskettamalla ja vetämällä.
Oikealta vasemmalle eteenpäin, Vasemmalta oikealle liikkua taaksepäin.
>> Huomaa jotain muuta?
Aivan oikein.
Ei viiveellä.
Kukin kristallinkirkas sivu kuormat välittömästi,
ei väliä kuinka nopeasti voit vierittää.
Jos haluat saada nopeasti yleiskuvan, vain pidä sitä kämmenelle,
ja käyttämällä vain peukalolla, nopeus selata sisältöä.
>> Jos löydät jotain haluat tallentaa myöhemmin, voit merkitä sen suosikiksi.
Ja vaikka suljet sovelluksen, voit helposti löytää kirjanmerkki uudelleen.
Amazing.
>> [Naurua]
[APPLAUSE]
Joten tämä tuo meidät viikon lopussa yksi.
Muutama ilmoitukset nyt.
Joten leikkuu on nyt käynnissä.
Siirry osoitteeseen täällä joskus nykyhetkestä ja perjantaina keskipäivällä
itse määrittää, oletko joukossa vähemmän mukava, enemmän
mukava, tai jotakin siltä väliltä.
>> Tämä on tyypillisesti yksi niistä asioita, joita et juuri sellainen tietää.
Ja itse asiassa ne teistä, jotka ovat vähemmän mukava luultavasti tietää yhtä paljon,
Niille teistä, jotka ovat enemmän mukava tietää niin paljon,
ja uudelleen, jos et ole aivan varma, mikä Näiden kauhat putoat olet
luultavasti jossain välissä.
Mutta varma et voi vaihtaa jälkeen pari viikkoa, jos tarvetta on.
>> Samalla tulevan viikon emme aloita kohdat sinänsä,
mutta Super kohdat, jotka ovat avoimia kaikille opiskelijoille.
Tulevana sunnuntaina paikassa Ilmoitetaan kurssin sivuilla
meillä on yksi nämä vähemmän mukava,
sekä yksi ne mukavampaa.
Ja ne jossain välissä voi valita, kumpi näistä kahdesta,
tai molempia, jos haluat, istua-in.
Ja keskittyä näiden on viime kädessä C,
jonka me jatkamme keskustelun tänään.
>> Harjoitus 0 välin on toivottavasti sinun käsissäsi.
Virallisesti johtuen huomenna, Torstaina keskipäivällä.
Ellet käteistä yhdessä teidän 5 myöhään päivää,
mikä toisi perjantaihin klo.
Harjoitus 1 välin tulee lähetetty kurssin kotisivuilla.
Ja tämä on ensimmäinen ryöstöretki luokkana osaksi C.
Ja että ongelma asettaa spec käydään läpi paljon mekaniikkaa mitä
aloimme puhua maanantaina ja jatkamme puhumme tänään.
C, Linux, CS50 laite, kaikki kyseisen
odottaa sinua selityksessä.
>> Toimisto avoinna puolestaan ​​ovat käynnissä, vuonna perustutkintoa ruokasalissa.
Suunnata tätä URL tästä nähdäksesi ajoittaa illan ja huomenna,
jos haluat nauttia.
Kysymyksiä välin, niin että te on mahdollisuus esittää kysymyksiä
asynkronisesti, 24/7, ymmärtää olet ei rajoitu kohdat ja toimistoon
tuntia, vaan tämä työkalu Täältä CS50 Keskustele tuohon URL
tulee olemaan kurssin verkossa ilmoitustaulu ohjelmisto, jonka kautta
Voit esittää kysymyksiä luokkatoverit ja myös henkilökuntaa.
Niin pitää muistaa, että resurssi samoin.
Samaan perinne alkaa tänä perjantaina.
Kuten olet ehkä vilaukselta viime keskiviikon teaser video,
meillä on perinne eniten joka perjantai lukukausien
ottaa noin 50 opiskelijaa ja henkilöstön paikallinen ravintola nimeltään
Fire and Ice, jossa olemme tyypillisesti liittynyt noin alumni
tai ystäviä teollisuuden yleisesti pyrkiä
tehdä suuren luokan tuntuu pienempi.
Joten se on täysin rento lounas.
Porukalla, henkilöstö varsinkin, pelaavat tuolileikissä
ja keskustella oppilaiden kanssa 50, elämän ulkopuolella 50,
elämää tulevaisuudessa, todellisessa maailmassa, Puhun työmahdollisuuksia
ystävien teollisuudessa.
>> Joten jos haluat liittyä meihin perjantaina, pää tätä URL täällä.
Tilaa on rajoitetusti, mutta me teemme tätä recurringly koko ajan.
Pää siellä cs50.harvard.edu/rsvp.
Ja jos et ota tällä kertaa, ei hätää.
Teemme sen uudestaan lähiviikkoina samoin.
>> Joten tämä on kuva me maalattu viime viikolla,
ja olet todennäköisesti ollut leikittelevät toistaiseksi.
Mutta yritetään yhdistää tämän nyt mitä aiomme tehdä tänään
ja eteenpäin.
Saisinko yksi vapaaehtoinen?
Okei, tai useita.
Entä täällä pää, sininen paita.
Tule ylös, mikä on nimesi?
ALANA: Alana.
DAVID MALAN: Alana.
Niin Alana, vain moment-- kiva tavata sinä--
aikoo näytellä Tämän toiminnon täältä.
Violetti lohko olemme kutsutaan toistaiseksi toimintoa.
Joten mitä aion mennä eteenpäin täällä ja tarjoavat Alana
on pieni nimilappu, jotta selvää, mitä roolia pelaat.
>> Joten sinun on sanoa lohko.
Jos haluat mennä eteenpäin ja laittaa sen päälle.
Ja me aiomme pitää tätä erittäin yksinkertaista.
Jos tavoite käsillä on yksinkertaisesti nyt panemaan Alana,
Tämän niin kutsutun sanoa lohko, Näin se tulee toimimaan.
Olen have-- kutsukaamme sitä väitteen tai parametri,
se on oikeastaan ​​vain tyhjä paperi.
Ja se on valkoinen sellaista tuoda mieleen valkoisen laatikon, johon voit
osaa kirjoittaa sanoja.
>> Samalla aion mennä tänne.
Aion mennä eteenpäin ja kirjoittaa H-E-L-L-O-pilkku maailmassa.
Ja nyt minä, niin sanon ohjelmoija, eivät oikeastaan ​​tiedä miten sanoa jotain.
En voi keksiä sanoja, mutta en välttämättä
osaa ilmaista itseäni suullisesti tai ruudulla.
Ja niin mitä aion tehdä, on ottaa tämä pala
toimintoja, joiden input-- tai väitteitä, kuten me sitä kutsumme,
Olen kirjoittanut tästä pala paper-- ja aion ulkoistaa sen.
>> Ja tosiaan se rooli, joka toiminnot ohjelmointikieli
voi pelata.
Jotain sananvaltaa lohko voidaan ulkoistaa
joku, joka todella tietää mitä hän tai hän puhuu.
Joten jos sinulla askel yli täällä vain hetken,
Aion välittää tämän tulo Alana, ja pyytää, että sanot tähän tuloon.
>> ALANA: Hei, maailma.
DAVID MALAN: Siinä se.
Niin, että on olemassa funktio.
Nyt voimme ottaa sen hieman enemmän, voimme ottaa askeleen eteenpäin täällä.
Koska se oli selvästi underwhelming.
Joten nyt muuttaa tämän jotain hieman kehittyneempiä.
>> Joten tämä on tietenkin meidän C-versio.
Joten nyt, jos haluat ottaa sen kertaluonteinen, että nimilappu pois,
ja otetaanpa laitat uuden nimen.
Mutta pohjimmiltaan olet pelissä sama rooli,
se vain niin sattuu kutsua printf nyt.
>> Tarina on tietenkin, menossa olet-- luultavasti
aivan kuten underwhelming-- on tulee olemaan seuraava.
Olet nyt funktio printf.
Olen soittaja, tai ohjelmoija, joka haluaa
seistä harteille ihmiset menneisyydessä kuin sinä,
jotka olen jo tajunnut, miten todella kirjoittaa jotain alas.
Ja niin tällä kertaa, pikemminkin kuin sanoa se katsotaanpa
tosiasiallisesti käyttää näytön tänne.
Joten jos haluat vaiheeseen tänne, aion
siirtää uudelleen tätä tulo minun printf ystäväni.
Jos voisit mennä eteenpäin ja tulostaa, että ruudulla,
yksinkertaisesti vetämällä kanssa Sormi musta ruutu.
Erinomainen.
Okei, niin paljon jännitystä varten miten tämä oli menossa pelaamaan.
>> Joten nyt ottakaamme asioita yhdessä lopullinen lovi, jos voisimme seuraavasti.
Joten tämä on C-ohjelma kuten sanoimme viime kerralla.
Ja tämä vain tekee mitä teit, se tulostaa näyttöön, hei, maailma.
Vaikka siellä on selvästi paljon häiritseviä juttuja siellä.
Mutta ottakaamme asioita lovi ja käyttöön tämä versio, joka muistuttaa
oli kolmas versio, joka päädyimme viime kerralla.
>> Ja nyt on selvästi kaksi käytöt printf.
On 2 puhelut Alana Tässä tapauksessa printf,
mutta siellä on myös puhelun toisen toiminnon.
Mikä tämä toiminto selvästi?
Getstring.
>> Saammeko yhden vapaaehtoinen?
OK, tule ylös.
Mikä sinun nimesi on?
>> JAVIER: Javier.
>> DAVID MALAN: Javier, tule ylös.
Joten Javier rooli on tämä paperinpala.
Jonka aion soittaa yleisesti s.
Nyt tämä on vaihteleva, se on tyypin string, kuten ehdotetun
tämän toisen rivin keskellä on.
Ja haluan sinun mennä saada minut merkkijono.
Erityisesti pää alaspäin orkesteri jakso ja saada minulle nimen joku,
ja tulla takaisin muuttuja sisältävät kyseisen arvon.
Se voi olla kuka tahansa haluat.
>> Tässä sitä mennään.
Kunnossa, Javier on kirjoittaa ylös nimi.
Kunnossa.
Me kaikki voimme arvata, miten tämä on menossa pelaamaan.
Olemme ehkä belaboring piste, mitä
toiminto tekee, mutta kuitenkin paljon kiitoksia.
>> Joten Javier on palannut tämän merkkijonon täällä, mikä oikein näe,
Jonathan on merkkijono että olemme saaneet.
Mitä nyt olen todella menossa toimittamaan Alana vaikka
on jotain hieman erilaista.
Koska tässä versiossa Ohjelman ensimmäinen siellä nimesi.
Joten ensimmäinen väite Minun täytyy antaa Alana
kanssa tulee olemaan kirjaimellisesti nimesi.
Kunnossa, niin yksinkertaista se on Ojensin tämän sinulle.
Ja kun kirjoitan ylös seuraava argumentti, jos
haluavat mennä eteenpäin ja kirjoittamaan tämän taululle, mennään eteenpäin
ja tehdä lopullinen esimerkki tästä tehdä tyhjentää mitä lopulta sai tapahtua.
Joten nimesi, kirjoittaa sen yläosaa kohti
jos et mielessä, juuri niin, että meillä on tilaa yhdelle toisen linjan.
Koska viimeinen asia, aion nyt tarjota sinulle ei ole yksi,
mutta kahden paperiarkin.
>> Kunnossa.
H-E-L-L-O-pilkku ja sitten tyhjä rivi.
Joten mitä olen aikeissa luovuttaa Alana nyt on jotain hieman erilaista.
Ei vain hän saa tämän, jossa täytä tyhjä edustaa
että percent-- mikä oli paikanvaraaja olemme käyttäneet?
Joo, niin prosentin s.
Samalla aion kulkea hänen toinen argumentti, joka
Juuri Javier noudetaan Jonathan.
>> Joten annan teille nämä kaksi.
Jos haluat, mennä eteenpäin ja tulostaa tästä.
Mitä lopulta tapahtuu nyt on, Alana jälleen
pelaa rooli printf.
Javier pelasi roolia GetString.
Niin, että on teidän matkamuisto.
Ja lopulta mitä tapahtuu, vaikka Tämän hello-- juu mennä eteenpäin ja pilkku.
ALANA: sain tämän vielä vai ei?
DAVID MALAN: Jep, saanut ne molemmat kerralla.
Joten ajatus on, että te voi nyt kääntää sivulle
käsittelemään toista nämä kaksi tuloa.
Joten tämä on vain tuoda äänekkäästi huomauttaa, että vaikka Alana teloitettiin
Tämän vihreän linjan täällä, ja sitten Javier teki tämä meille
ja palata minulle jotain soitamme s, mutta se oli todella
vain että paperinpala oman.
Ja nyt Alana on tehnyt tämän kolmannen rivin.
>> Ja vaikka tämä kaikki näyttää niin uskomattoman arvoituksellinen ehkä
ensi silmäyksellä, se todella on niin yksinkertaista.
Syöttäminen tuloa ympärillä, saada tuotoksia, joko
on fyysisesti palautettu jotain, tai nähdä sivuvaikutus näin.
Jotain visuaalisesti kirjoitettu näytölle.
Joten mene eteenpäin ja kiitos Alana ja Javier,
joka oli täällä, ja tuloaan tänne.
>> [APPLAUSE]
>> Joten nyt oletetaan itsestäänselvyytenä, kuinka suoraviivainen kaikki tämä voisi olla.
Ja katsotaanpa edetä todella tehdä jotain itse koodia.
Niin ruudulle tässä kuvakaappaus ja ns CS50 laite.
Ja jos oli klo, koska 14:00 keskiviikkona iltapäivällä,
selittää jossain kaverille mitä CS50 laite on,
Miten määrittelisit sen lauseen?
Jokin lause?
Joo?
Opiskelija: Se on kuin ohjelma joka tekee kaikkien tietokoneeseen
ajetaan samaan järjestelmään.
DAVID MALAN: Hyvä!
Se on ohjelma, joka mahdollistaa kaikkien tietokone ajaa samaa järjestelmää.
Se on tavallaan oman kopio toiminta
joka sattuu kutsua Ubuntu Linux.
Ja se toimii tehokkaasti sisällä ikkuna omalla Mac tai PC,
jotta näin oikealle ulos portista viikolla 1, jokainen täällä luokassa
on pääsy samoja työkaluja, sama kokoonpano,
ja ei ole oppimiskäyrä erityistä Mac tai PC erityisesti.
>> Nyt avautunut sisällä CS50 Laitteen maanantaina, tästä ohjelmasta.
Se sattuu olemaan nimeltään gedit.
Mutta se on oikeastaan ​​vain graafinen editori.
Se on jotain Notepad tai teksti Muokata Windows-tai Mac OS vastaavasti.
Ja ehdotin, että siellä oli todella kolme tärkeää osaa tähän näyttöön.
Yläpuoli on, jos olisi kirjoittaa koodia.
Ja siellä vietimme paljon meidän kolme esimerkkiä maanantain luento.
Pohja soitimme mitä, tämä musta ikkuna, joo?
>> Opiskelija: Compiler?
>> DAVID MALAN: Compiler me käsiksi tapa tuosta ikkunasta.
Mutta yleisemmin.
Joo, se oli vain pääte ikkuna.
Tämä on iän vanha käsite, joka vain kuvaa lähinnä Vilkkuva
nopea, että vuosia sitten tottunut yksi niistä iso CRT tyyliin näytöt.
Mutta nykyään se on eräänlainen virtuaalinen ohjelmisto.
Ja terminaali-ikkunaa Katsotaanpa meille kirjoitat komentoja.
Se tavallaan yksinkertaistettu versio käyttöliittymän tai UI.
Se ei ole graafinen käyttöliittymä tai GUI,
se on tekstipohjainen käyttöliittymä tai komentoriviltä.
>> Ja todellakin se on silloin lopulta Pystyin kirjoittamaan koodia.
Kun olin kirjoittanut koodia kuitenkin, muistuttaa, että käytin tätä komentoa.
Ja koska se nimi Tällainen voi päätellä, tämä
antaa minulle mahdollisuuden tehdä ohjelma nimeltä Hei.
Mutta mitä se oikeastaan ​​tekee?
No make otti minun input, minun lähdekoodi,
ja muuntamalla se mitä lopulta?
>> Kohteen koodi.
Ja kohdekoodit vain hieno tapa sanoa nollia ja ykkösiä.
Ja sitten kun halusin juosta että konekielisessä
kerran halusin välittää syöttää ne nollat ​​ja ykköset tietokoneeni
aivot, ns CPU tai keskusyksikkö,
Jouduin ohjelman suorittamiseen.
Mutta se ei ollut aivan yksinkertainen maanantaina kuten tupla klikkaamalla joitakin kuvaketta.
Mitä sen sijaan minun piti tehdä, jotta ajaa ohjelmaa?
>> Mikä oli toinen komento?
Kuulen vähän viiltää?
Kyllä, joo?
>> Opiskelija: Dot slash ja Ohjelman nimi.
DAVID MALAN: Aivan.
Dot kauttaviiva ja ohjelman nimi.
Nyt Mitä tämä tarkoittaa?
No piste on vain mystistä tavalla sanoa hakemistossa.
Riippumatta kansio olet on Viitattu, on edustettuina piste.
Slash on juuri sitä, mitä olet nähnyt Mac OS ja Windows vuosia,
se erotin välillä hakemisto tai kansio ja loput jonkin nimen.
Windows se sattuu menemään taaksepäin, Linux ja Mac
OS se sattuu menemään eteenpäin.
Mutta se on vain erotin, joten se on vain mielenkiinnoton syntaktisia yksityiskohtia.
>> Mehukas osa tietenkin on ohjelman nimi, Hei.
Ja niinhän tekevät meitä varten.
Se tulostetaan tiedoston meille.
Mutta kuinka voimme päästä tähän pisteeseen?
Katsotaan nyt kysyä kysymys, mikä oli todella
täällä, ainakin Tiettyjen tämän syntaksin?
>> Joten lause tai niin, miten voimme selittää pois
Tässä ensimmäinen rivi, joka on merkitty vihreällä?
Mikä oli ensimmäinen rivi tekee, suhteen oma ohjelma?
Joo?
>> Opiskelija: [kuulumaton].
DAVID MALAN: Sano se uudestaan?
Opiskelija: Sisältää ja lataamalla viimeisen toiminnot [kuultavissa].
DAVID MALAN: Hyvä.
Lukien, en sano lataamista, mutta sanotaanko
myös toimintoja, jotka ihmiset olen kirjoittanut aikaisemmin.
Ja nämä toiminnot on toteutettu jonnekin minun tietokone.
Joku kirjoitti tiedosto vuotta sitten, ja että tiedoston
on jossain sisällä CS50 laite, tai kiintolevyllä
yleisemmin.
Ja niin tämä linja on lähinnä sanomalla, mennä etsimään että tiedosto, vakio-I / O-piste
h, ja kopioi ja liitä sen sisältö täällä päälle tietoni
joten en tarvitse tehdä manuaalisesti itse.
>> Ja joukossa juiciest kappaletta sisällä että tiedosto me väitti oli mitä toimintoa?
Mikä toiminto ei sanomme julistettiin tai mainittujen standardi I / O-piste h
todennäköisimmin?
Printf, eikö?
Emme kirjoittaneet printf päälle Maanantai, se vain oli olemassa.
Aivan kuten Alana vain tuli lavalle ja hän vain
olemassa ja osasi tehdä jotain ruudulla,
joten ei Printf olemassa monta vuotta.
Ja niin tämä on miten me käyttää sitä.
Nyt jos siirrymme täällä, Tärkein oli analoginen me
sanoi palapelin pala kutsutaan, kun vihreä lippu napsautetaan
maailmassa Scratch.
Se on vain eräänlainen oletusnimellä että ihmiset
päätti edustaisi oletuksena alkupisteestä ohjelmaa.
Kimpale ohjelmakoodia että saa ensin suoritetaan.
>> Samalla nämä aaltosulkeita ovat ikään kuin kaareva muoto
on paljon niitä keltaisia ​​tyhjästä kappaletta.
He tavallaan kiteyttää koko nippu ohjeet yhdessä.
Niin se vain eräänlainen sitoo yhteen joitakin asiaan liittyviä toimintoja.
printf tietenkin on toiminto, joka tulostaa näytön, koska me vain teimme.
>> Entä nämä suluissa?
Miten define-- vaikka olet koskaan ohjelmoitu ennen, mutta juuri perustuva
nyt yhä toivottavasti intuitio, mitä
ovat suluissa tekevät meille täällä?
Tai mitä ne ympäröivien?
Joo?
>> Opiskelija: He sanovat mitä aiot tulostaa printf.
>> DAVID MALAN: Joo, he sanovat mitä aiot tulostaa printf.
Tai yleisemmin, ne ovat ympäröivä panoksia toimintoa.
Voit siis melkein ajatella Näiden sulkuja
olevan kuin metalli ClipArt tällä leikepöydälle.
Se mitä tilalla, se on mitä on aiotaan käyttää antamaan perustelut
funktioon, joka Tällöin kutsutaan printf.
>> Niin yleensä lähes kaikki aika kutsumme toiminto,
aiomme nähdä parin sulkuja.
Ehkä jotain se, kuten nyt ehkä mikään siinä.
Mutta se jos voisitte laittaa tuloa tai ns argumentteja
toiminnon kohdalle.
>> Tässä yksi tällainen argumentti.
Olen korostanut kaiken välillä lainausmerkkejä,
koska se kääntyy pois tällä kielellä kutsutaan
C, kun haluat edustaa string-- että on sana tai lause
tai jopa paragraph-- joudut surround sen lainausmerkkeihin.
Ei heittomerkkiä, lainausmerkkeihin.
Ja juuri mitä olen tehnyt täällä.
>> Samaan aikaan siellä on outoja symboli loppupuolella siellä.
Kenoviiva n.
Mitä sanomme, että edustettuna?
Joo?
>> Opiskelija: uusi linja.
>> DAVID MALAN: Uusi linja.
Aivan, et yleensä paina Enter, kun
haluat ohjelman sylkäistä uuden rivin.
Pikemminkin kerrot sen nimenomaisesti Tämän tosin mystistä pala
syntaksin, kenoviiva n, että haluat uuden rivin mennä sinne.
Lopuksi puolipiste.
Emme todellakaan puhu liikaa tästä,
ja ylivoimaisesti tämä on ikuinen joidenkin oman olemassaolon ensimmäisen ongelman
set, kun vain ole ymmärtäneet olet unohtanut jotain niin typerää
kuten puolipiste.
Ja yleensä laitat sen siellä korjaa tämän ongelman.
Mutta mitä se tekee meille, sanoisit?
>> Opiskelija: [kuulumaton].
>> DAVID MALAN: Anteeksi?
>> Opiskelija: [kuulumaton].
DAVID MALAN: Viimeistely selvitys.
Se on tavallaan kuin ajankohtaan loppuun Englanti lause,
taas tällä kielellä C se päättyy selvitys.
Opetus ohjelmointi koodi, joka haluat vain sanoa,
Olen tehnyt tämän.
Nyt huomaa, että on vain yksi täällä.
Joten et halua saada tapana laittaa puolipistettä
välein suljettu sulkeissa.
Esimerkiksi siellä yhtään vieressä mitätöidä, ja me
palata tulevaisuudessa mitä void keinoin.
Mutta tässä tapauksessa sinun printf on toiminto tai ilmoitus käytössä,
ja siksi haluamme olla, että päätepysäkki aivan lopussa.
>> Ja olen tietoisesti kiusaa C. Ja rehellisesti paljon kieliä kuten C, C ++
Java, JavaScript, ja rajoittamattoman määrän Muilla kielillä on paljon näitä
tavallaan syntaktisen yksityiskohtia.
Että varmasti jos olet uusi ohjelmointi voi todella kompastua sinut.
Ja te, merkitse minun sanoja, jotkut teistä
on tämä kokemus virassa tuntia tai myöhässä
yöllä työskennellyt joitakin p-sarja, jossa perhanan ohjelma vain ei kokoa,
se ei toimi, joudut ei ole aavistustakaan mikä on vialla,
se näyttää täysin loogisesti oikea sinulle.
Ja se on, koska olet unohtanut jotain lyömällä
puolipiste lopussa joitakin linja.
>> Mutta nämä ovat niitä asioita olet menossa heti oppia näkemään.
Ja todellakin nämä ovat asioita että CA: n ja TF: n on
on tavallaan koulutettu nähdä paljon nopeammin kuin sinä.
Joten tämä on vain sanoa, kun sukeltaa Harjoitus 1 erityisesti,
Älä turhaudu tämän kamaa.
Kun tavallaan sopeutua maailmalle, sinun
alkaa nähdä asioita, joita et ehkä ole nähdä ensi silmäyksellä tällä ensimmäisellä viikolla.
>> Joten lähdekoodi on jotain.
Haluamme välittää sen ns kääntäjä.
Ja että kääntäjä kuin sanoimme antaa lähtö
tunnetaan konekielisessä niin kutsuttu nollia ja ykkösiä.
Mutta sieltä, mitä se antaa meille?
No se antaa meille nämä kuviot.
Ja taas tietokone, Intel sisällä,
ymmärtää nämä kuviot nollia ja ykkösiä.
Ja joskus kuvio edustaa todellista desimaaliluvuksi
kuten näimme viime viikolla, joskus se edustaa kirjain
kuten näimme viime viikolla, joskus se merkitsee opetusta,
kuten tulostus jotain näyttöä.
>> Joten printf varten instance-- vaan haluan taaksepäin.
Olemme ottaneet itsestäänselvyytenä että nämä nollia ja ykkösiä ovat
tuotetaan tällä komennolla make.
Mutta varmista, ei ole kääntäjä.
Tee ei ole asia keskellä joka on tuottaa nollia ja ykkösiä.
Pikemminkin tehdä on vain erittäin hyvällä nimetty ohjelma jonka tarkoitus elämässä
on lähinnä selvittää Miten kääntää ohjelma.
Ja käytämme sitä näissä Ensimmäisten viikkojen koska se vain
säästää paljon vaivaa.
>> Mutta mitä tehdä, on todella tekemässä kun käännät Hei,
on, kuten sanoimme viime kerralla, se on etsii kiintolevyltä
tai nykyisessä kansiossa varten tiedosto nimeltä mitä, ilmeisesti?
Hello.c, eikö?
Se on juuri sellainen sopimusta.
Se on mielivaltainen, mutta se miten asiat ovat.
Tee, jos vain määrittää nimi on ohjelma, joka ei vielä ole olemassa,
se tulee etsiä lähdekoodia tiedostoon, oletusarvoisesti tarkoittaa hello.c.
Ja jos se löytää sen, hienoa.
Se tulee muuntaa että lähde koodi kohdekoodi sinulle.
>> Mutta joka kerta kun olen paina Enter juoksun jälkeen tehdä hei,
Muistatteko nähdä viimeisen kerran melko pitkä ja kryptinen sekvenssin
Muiden valkoisin kirjaimin ja Kuvaruudun merkkien?
No se oli todellinen komento, Varsinainen kääntäjä, joka oli käynnissä.
Joten todellinen kääntäjä käytämme suurimman osan lukukausi on jotain kutsutaan kalahtaa.
Jotkut teistä saattanut käyttää Visual Studio ennen, tai GCC,
tai useita muita kerääjiä.
Käytämme kalahtaa.
>> Ja kalahtaa avulla voimme todella muuttaa että lähdekoodi vastustaa koodi.
Mitä tämä oikeastaan käytännössä tarkoittaa?
No anna minun mennä johonkin Omat kansiot viime kerralla.
Sisältä CS50 laitteen.
Ja anna minun mennä eteenpäin ja luoda tätä Sama tiedosto, kuuluu vakio-I / O piste h.
Int main void.
Ja me palaamme tulevaisuudessa mitä int tarkoittaa ja mitä mitätön keinoin.
Mutta nyt Tehdäänpä hello world kenoviiva n,
aivan kuten teimme taululle.
>> Saanen tallenna tiedosto nimeltä hello.c.
Ja nyt jos haluan yhdistää nämä Olen could-- haluaisin zoomata in-- nousun
tehdä hei enter.
Ja tämä taas oli että hyvin arvoituksellinen linja.
Mutta nyt ainakin yksi sana luultavasti hyppää ulos sinua.
Kalahtaa on, että linja näimme ennen.
Nyt siellä on paljon muita juttuja rehellisesti että me aalto kätemme oli tänään.
Mutta siellä on muutama osajoukkoja, muutama merkki täällä
jotka kiinnostavat.
Mutta aion mennä eteenpäin ja tehdä tämän.
Aion ensimmäisellä käyttökerralla Hei, vain todistaa
että tämä toimii, koska se oli maanantai.
Mutta nyt aion poistaa ohjelman.
Ja aivan kuten meillä oli näitä lyhyet nimet viime kerralla,
komento poistamiseksi jotain on rm, poista, kirjoita.
Olet menossa hakemaan melko arvoituksellinen kysymyksiä.
Vaikea uskoa, että voit tehdä vaikka tämä kysymys vaikea ymmärtää.
Mutta poistaa tavallinen tiedosto hei vain keinot haluat poistaa hei.
>> Ja voin mennä eteenpäin ja kirjoita y Kyllä, Anna, ja nyt se on mennyt.
Mitä tämä tarkoittaa nyt jos voin tyhjentää näytön,
korvataan: teet tehdä hello-- sinua
Tiedätkö mitä, Saan hyvä tässä.
Aion ajaa kääntäjä itse.
En Tarvitsen ohjelman selvittää, mitä minun tiedosto on nimeltään.
Kirjoitin hello.c, minä tiedä sen nimeä,
Olen selvästi kykenee kirjoittamalla siitä.
Joten aion mennä eteenpäin ja älä clang hello.c Enter.
>> Tuntuu toimivan.
Ja ei ole ylimääräisiä lähtö, koska kalahtaa on kääntäjä.
Se mitä muuntamalla lähdekoodin nollia ja ykkösiä.
Joten jos en nyt tee piste slash Hei Anna, hm.
Uusi virheilmoitus tänään.
Joten bash on vain nimi vilkkuu nopea että käytämme.
Se brutto yksinkertaistamista, mutta nyt siinä kaikki eli
se vilkkuu nopea.
Ja siksi se huutaa meille.
>> Tiedostoa tai hakemistoa ei hieman yksinkertaisempi.
Mutta varmasti tein, että esine koodia.
Mutta saalis on, että jos en kirjoita komento
luetella sisältö hakemisto, joka on mitä?
ls lista.
On nippu tavaraa täällä, joista osa tuli laitteen kanssa,
mun Työpöytä-kansioon, Downloads kansio, Dropbox-kansioon, ja kaikki
että tavaraa.
Mutta mikä on mielenkiintoista on hello.c, joka
Loin hetki sitten gedit.
Ja mikä on oudoin looking nimi täällä,
ehkä, että emme Katso viime kerralla ollenkaan?
>> a.out, eikö?
Joten takaisin seuraavana päivänä, se on juuri päättänyt, että kun
Ohjelmaa käännettäessä ensimmäistä kertaa,
ja et määritä nimeä tiedoston, kutsukaamme sitä.
Ja a.out juuri sitä tämä oli lähtö kääntäjä.
Joten se on kamala nimi ohjelman.
Vaan että logiikka, piste slash varten nykyisen hakemiston, slash a.out,
pitäisi tarkoittaa siellä on itse asiassa my hello world ohjelman.
Nyt hieman lämmetä liikuntaa, liikaa.
Jos haluan nimetä tämän tiedosto, osoittautuu, että te
siirtää tiedoston yhdeltä nimen toiseen.
Niin mv a.out, ja sitten minä voi kutsua sitä hei Enter.
Joten tämä on Linux komento.
DOS oli tämä vuosia sitten, Windows on pääteikkunassa
jonkinlaisia ​​joka näyttää näin, Linux ja Mac
tietokoneissa on tämä vilkkuu nopea.
Vaikka useimmat meistä luultavasti harvoin, jos koskaan, käytä sitä.
>> Mutta mitä olen tehnyt ajetaan ohjelma, jonka nimi on mv,
ja olen antanut sille kaksi väitettä, niin sanoakseni.
Kaksi tuloa.
a.out on alkuperäinen nimi.
Hei on uusi nimi.
Joten jos en nyt tee dot slash Hei, Anna, joka on olemassa.
Ja jos en tee piste slash a.out, mitä te odotatte minun pitäisi nähdä?
>> Bash, ei Tiedostoa tai hakemistoa.
Koska olen vain nimesi sen.
Joten tämä vie hieman totuttelua.
Mutta ongelma set 1 erittely todella
Pidä kätesi kautta joitakin tämän minutae.
Koska tämä on täydellinen henkinen häiriötekijä
alkaen mielenkiintoisempaa ideoita käsillä, joka
on itse luoda jotain koodia.
Mutta tehkäämme yksi muutos nyt tähän ohjelmaan.
>> Muistaa, että viime kerralla tein jotain kuten tämä, printf nimesi.
Ja todellakin me vain teimme tämän valkokankaalla tuolla.
Ja sitten tein merkkijono s saa GetString auki paren, sulje paren.
Ja paren vain pika merkintätapa suluissa.
Joten ei GetString ota mitään perusteluja?
Tuotantopanoksia ei ole, mutta se tarvitsee sulkeissa
koska sitähän rajataan kutsuvan funktion.
>> Joten aion mennä eteenpäin ja yrittää ajaa kääntäjä tästä ohjelmasta nyt.
Kalahtaa hello.c, koska en ei muuttanut nimensä nyt.
Ja sain kasan virheitä.
Katsotaanpa loitontaa täältä.
Jos minä selaa uudelleen, kuten sanoin viime kerralla,
Ensimmäisen, sama virhe että sain viime kerralla.
On line 6 hello.c jouduin Pimeän tunniste merkkijono,
minä tarkoitan standardi?
En.
Koska mitä virheen olen tehnyt tässä ohjelma, jos muistatte viime kerralla?
Joo, me tarvitsemme niin kutsuttu apupyörät
että me vain käyttää muutaman viikon.
Mutta minun täytyy täsmentää, että myös, jonnekin kaapin sisällä,
on tiedosto, joka kirjoitimme vain muutama vuosi sitten.
Jonka sisällä ovat funktioita kuten ilmeisesti GetString.
Joten nyt jos palaan tänne, lähentää, ja uusinnassa kalahtaa hello.c.
Hitto, toinen virhe.
Mutta emme ole nähneet tätä ennen.
>> Tämä yksi on hieman enemmän esoteerinen selvittää.
Mutta tämä on tarkoituksella ruudulla, koska halusimme kertoa tämän tarinan.
Kun käännät hello.c, aivan kuten kuva ennen ehdotti,
olet vain muuntaa tämä lähdekoodin nollia ja ykkösiä.
Nyt CS50 henkilökunta muutama vuosi sitten kirjoitti CS50.h, ja vastaavan tiedoston,
CS50.c.
Ja me, muutama vuosi sitten, koottu kyseiset tiedostot
tiedostoon, joka tapahtuu kutsua CS50.o.
>> Tai se voidaan nimetä uudelleen muutamia eri asioita.
Mutta se on helppo tapa ajatella sitä.
Joten kokosimme CS50: n kirjasto osaksi nollia ja ykkösiä.
Mutta missään olen määritellyt että haluan yhdistää minun nollia
ja ne minun hello world ohjelma nollia ja ykkösiä
että CS50 henkilökunta teki muutama vuosi sitten yhdeksi koko ohjelman.
Kaikki Olen määritelty kirjallisesti kalahtaa hello.c on koota hello.c.
>> En ole kertonut kalahtaa sen linkki nollia ja ykkösiä
että CS50 henkilöstö luotu teille jokin aika sitten.
Joten se on helppo korjata, Dash l linkin, CS50.
Ja me taas nähdä tämän ennen pitkää uudelleen ja uudelleen.
Mutta huomaa nyt ei ollut mitään valittamista.
Joten nyt jos juoksen dot slash Hei, nyt se toimii.
Vaikka se on hieman harhaanjohtava koska olen juuri rekonstruoida mitä tiedosto?
a.out.
>> Joten haluaisin kelata vain hetken.
Ohjelma me vain koottu on kolme riviä koodia.
Kun juoksin hello world, hei hetki sitten, en nähnyt nimesi.
Ja se johtuu Juoksin vanha versio ohjelmasta.
Mutta jos en tosiaan ajaa dot slash a.out Anna, nimesi, Rob, hei,
maailmassa.
Hm.
Sellainen bugi.
Luultavasti piti sanoa Rob, eikö?
Niin mitä korjata täällä koodia.
Opiskelija: [kuulumaton].
DAVID MALAN: Aivan.
Joten minun täytyy vain tehdä, että lopullinen nipistää niin että olen ohimennen paikanvaraajassa
kuten täytä tyhjä, kuten teimme hetki sitten.
Mutta prosentin s on nyt että täytä tyhjä.
Joten lopuksi Katsotaanpa paljastaa vielä yhden yksityiskohtaisesti niin, että ei ole taikuutta.
Aion mennä eteenpäin ja päästä eroon hellow.
Aion mennä eteenpäin ja päästä eroon a.out.
Joten nyt minulla ei ole ohjelmia, vain minun lähdekoodia.
Ja aion ajaa hieman pidempi komento, kalahtaa
viiva o hei hello.c viiva LCS50.
>> Nyt tämä alkaa tavallaan mennä toisesta korvasta sisään ja toisesta ulos ehkä.
Mutta vain kiusaa lisäksi mitä tämä tekee.
Kalahtaa on kääntäjä, viiva LCS50 tarkoituksella aivan lopussa
tekee mitä lause?
Linkit CS50 kirjastoon.
Nappaa nollat ​​ja Ne, jotka henkilökunta teki
ja sulloo heidät minun oma ohjelma.
Joten viimeinen kysymys käsillä on, mikä on viiva o hei luultavasti
teet, vaikka et olisi koskaan nähnyt tätä syntaksi ennen?
>> Syöttöä ohjelma, joka on ei nimetty oletusarvoisesti a.out.
Pikemminkin se on nimetty hei.
Joten nyt ei ole a.out.
Tiedostoa tai hakemistoa, koska olen nimenomaan sanonut
kutsuvat tätä ohjelmaa hei, niin että Voin nyt kirjoittaa nimen tuollainen
ja on se käyttäytyy.
>> Nyt rehellisesti, poika on, että mielenkiinnotonta olla
muistaa kaikki, että pikku erikoiskohtaa, eikö?
Joten mene eteenpäin ja päästä eroon Hei taas.
Ja katsotaanpa nyt palata maailmaan mikä todettakoon tehdä hei.
Mutta se taika, joka Merkki tekee sinulle,
se on puuduttavan että se tekee sinulle.
Ja meidän ohjelmia ja ongelmien monimutkaistuessa
tekevät todella olla ystäväsi.
Koska ei liian kauan nyt olemme menossa
on ohjelmia, jotka on kirjoitettu eikä yhden tiedoston, mutta useita tiedostoja,
ja tehdä se automatisoida kokoamalla kaikki, että meidät yhteen.
>> Joten nyt tulostaa.
printf on sisällä olevan tiedoston, standardi I / O-piste h, että olemme nähneet ennen,
mutta siellä on enemmän printf kuin että.
On kenoviiva n, mutta siellä on myös joukko muita ohjausmerkkijonoja.
Ja ohjausmerkkijonon on vain hieno tapa sanoa jotain
joka alkaa kenoviiva ei vinoviiva, kenoviiva,
ja tekee jotakin erityistä asiaa.
Emmekä asua useimmissa näistä, mutta miksi siinä on kenoviiva lainausmerkki,
luulet?
Miksi on tämä outo sekvenssi merkkiä, kenoviiva lainausmerkki,
miksi se voisi olla hyödyllistä?
Opiskelija: [kuulumaton].
DAVID MALAN: Aivan, eikö?
Muistelen meidän hello world ohjelman että olemme nähneet aika monta kertaa nyt,
joka kerta, kun olemme nähneet, että hello world Ohjelma meillä on ollut lainausmerkkeihin sisällä
josta on hei pilkku maailman kenoviiva n.
Mutta kysy itseltäsi, mitä jos itse
halusi tulostaa lainausmerkit?
Ensimmäinen vaisto saattaa olla, en tiedä miksi kannattaa do-- täällä,
Voimme olla hieman passiivinen aggressiivinen, hello friend.
Meidän kannattaa tehdä jotain.
>> Mutta miksi tämä nyt ongelmallista?
Unohtaminen lainausmerkit syrjään että keynote teki meille automaattisesti.
Miksi tämä ongelmallista?
>> Täsmälleen.
Koska meillä on kuin 4 lainausmerkkejä.
No ensimmäinen luultavasti menee toinen,
ja ehkä neljäs menee kolmas,
tai, en tarkoita En ole edes varma, eikä tietokone olemaan.
Tietokoneet uudelleen, kääntäjät uudestaan, ovat melko tyhmä.
He vain tekevät mitä kerrot heille tehdä.
Ja jos et ole yksiselitteinen he ovat luultavasti menossa heittää virheen.
>> Jos et ole yksiselitteinen siitä, miten tehdä maapähkinävoi ja hyytelöä sandwich
outoja asioita voisi saapua.
Se on sama idea.
Nyt kun todetaan siellä joitakin muita ohjausmerkkijonoja,
mutta tulemme niihin ennen pitkää.
Pohjimmiltaan nämä paeta sekvenssit edustavat jotain
että et ehkä pysty liian helposti näppäimistöllä,
sekoittamatta tietokonetta.
>> Nyt välin meillä on paikanvaraajat printf.
Prosentti d, joka voi myös olla kirjoitettu lähes kaikissa tapauksissa prosenttia i,
on paikkamerkki minkälaisia ​​tietoja?
Minkälainen arvo?
Desimaaliluku.
Joten oikeastaan ​​aloitamme käyttäen prosenttia i, koska se on
hieman yksinkertaisempi, kuin kokonaisluku.
Prosenttia i.
Kokonaisluku, joka sattuu olemaan desimaalin.
>> Prosenttia t sanoimme jo oli paikanpitäjä merkkijono.
Joka on vain sana, lause, kohta, essee riippumatta.
Se on sekvenssi merkkiä melko pitkään.
Ja näemme ennen pitkää joitakin näistä toiset.
Mutta prosenttia c on yksi merkki.
Prosenttia f on liukuluku,
kuin todellinen määrä, joka on desimaalipil- se, joka
ei tietenkään ole kokonaisluku.
Ja siellä on koko nippu muitakin.
>> Samaan aikaan C, ja on paljon kieliä,
meillä on erilaiset tiedot.
Erityyppiset lasikulhot jos haluatte.
Kulho käytin viimeksi oli ping pong pallot,
mutta voimme myös tallentaa erilaisia arvoja, kuten merkkiä ja jouset
ja kokonaislukuja astiaan, kuten muuttuja, ja C on nämä.
Char on tietojen tyyppi, muuttujan tyyppi,
jossa voit tallentaa hahmo.
Float on eräänlainen muuttuja johon voit tallentaa reaaliluku.
>> Int on tietenkin int.
Ja melko naurettavan nimeltään pitkään pitkään
on, jos voit tallentaa olennaisesti todella pitkä numero, jossa jopa
enemmän numeroita sitten Tyypillinen int voimin myymälä.
Mutta me palaamme että ennen pitkää.
>> Vuonna CS50 dot h välin muut header-tiedosto
että olemme nähneet pari kertaa käytössä, siellä on
kaksi muuta kuvadatan ei ole olemassa C tyypillisesti.
Yksi on merkkijono, ja näemme vuonna muutaman viikon mitä kieliä todella
ovat alla huppu.
Ja yksi on bool.
Ja bool on muuttuja, joka voi vain ottaa tiettyjä arvoja.
Ja juuri perustuu viime viikon selitys Scratch,
ja viime aikoina C, mitä arvaa
ovat kaksi mahdolliset arvot Joissakin kontti että on tyyppiä bool?
>> Kyllä ja ei.
Yksi ja nolla.
Totta vai tarua.
Ja todellakin se viimeinen, joka pyrkii olla tavanomaisia ​​ohjelmointi
kieli, sanomalla jotain kuten tosi tai epätosi.
>> Samaan CS50 kirjasto tulee kanssa joukko toimintoja
että henkilöstö teille kirjoittanut, lisäksi juuri merkkijono.
Kirjoitimme etukäteen toiminnot voi saada kokonaisluku käyttäjä,
saat yhden merkin, saada käteisvaroja, että
on vain numero desimaalipilkun.
Saada pitkään pitkään, todella suuri arvo käyttäjälle.
Joten olemme vasta nähneet tämän toiminnan muodossa GetString.
Mutta kautta nämä toiminnot voi pian kirjoittaa
ohjelmia, jotka saavat käyttäjän syötettä.
>> Samalla pitää tätä ohjelma, ja harkita
miten voisimme nyt alkaa lisätä sen uusia rakenteita.
Nopea pyörremyrsky kiertue ja sitten me tarkastelemme
jossain kirjallisesti joitakin ohjelmat manuaalisesti itse.
Vastedes jos haluamme toteuttaa ehdon,
se ei tule näyttämään kiva pieni sievä palapelin pala.
Se tulee näyttämään hieman mystistä.
Mutta tämä on kanoninen rakenne kunnossa C.
>> Sana, jos kaksi Suluissa, jonka sisällä
tulee olemaan jonkinlaista Boolen lauseke.
Nyt slash slash keskellä, tämä on
tällä hetkellä tavallaan kuin pseudokoodilla koodi paikanvaraajaan.
Mutta oikeammin, mitään riviä koodia C, joka alkaa slash slash
on kommentti.
>> Se on kuin tahmea huomata, että saatat laittaa essee, tulostaa paperille.
On merkille itsellesi.
Se ei ole toiminnallista vaikutus ohjelmaan.
Se on eräänlainen muistutus, se on oma dokumentaatio siitä, mitä on tekeillä.
Niin tämä tällä hetkellä on eräänlainen paikanvaraajaan
jostain on sisällä Näiden aaltosulkeita
lopulta tulee tekemään jotain.
>> Samalla sinulla on kaksi haarukkaa tie, jos muu rakentaa näin.
Voit, jos, elseif, muuten.
Nyt on syytä huomata, varsinkin jos olet ollut Google-hakuja ympäri
online resursseja pois uteliaisuus, tai jos nostat
yksi kurssin suositeltava kirjoja C,
näette, että ihmisillä on paljon eri mieltymykset miten
ilmaisemaan itseään koodi.
Jotkut ihmiset haluavat laittaa aaltosulkeita kuten olen tehnyt täällä.
Jotkut ihmiset haluavat laittaa kihara henkselit esimerkiksi täällä.
>> Jotkut ihmiset haluavat laittaa elses tänne ja sitten tämä tänne.
On niin monta tapaa kirjoittaa koodia, ja mikään niistä
ovat oikeassa sinänsä.
Vaikka siellä on muutama jotka ovat melko väärässä.
Mutta on no--, jos tämä on lopulta hyvin uskonnollinen keskustelu.
Itse asiassa yksi eniten harmittaa asioita tietotekniikassa
Näin opinionated tietotekniikan tutkijoita voi olla.
Ja löydät ajan mittaan vaikka voit kehittää henkilökohtaisia ​​mieltymyksiä
miten koodin pitäisi näyttää.
>> Ei vain käyttäytyä, eikä vain luoda tuotos, mutta miten se pitäisi näyttää esteettisesti.
Joten mitä teemme on opastaa sinua pitkin tietä kohti, ainakin toistaiseksi,
standardi CS50 tyyliin, että ainakin pitää asiat yhtenäinen ja helppolukuinen.
Mutta lisää niihin tunnustukset ennen pitkää.
>> Boolen lauseke C, jos Halusin sanoa, jos tämä ehto on tosi
ja tämä toinen ehto on totta, et kirjoita sana
ja harkiten kuten Englanti.
Voit sen sijaan käyttää et-merkki et-merkki, syistä tulemme takaisin.
Jos haluat sanoa tai käytät kahta pystypalkki- joka on US näppäimistön
on yleensä yli Enter avain vieressä kenoviiva.
Ja tämä tarkoittaa vain, jos tämä ehto tai tämä toinen ehto on tosi tehdä tämän.
>> Samalla on tämä hullu juttu, joka
sinulla on tilaisuus käyttää silloin tällöin.
Mutta se on vain vaihtoehto tapa ilmaista itseäsi.
Tämä, nyt, nyt määrätä, se on vain
toinen hieno tapa ilmaista jos, if, if, if, if.
Se on vain muotoiltu kannalta tapauksista, joissa voit kirjaimellisesti
luetella arvoja, kannattaa tarkistaa.
>> Samalla kierroksia.
Näimme vertailu Scratch kanssa silmukka.
Ja aion heiluttaa käteni mitä kukin näistä asioista tarkoittaa.
Mutta huomaa että silmukka hyvin usein aloittaa avainsanan.
Tai se alkaa avainsanan aikana.
Tai se alkaa avainsanan tehdä, ja päättyy avainsanan aikana.
>> Mutta mitä olemme tulleet On asioita, enemmän kuin tämä.
Täällä on yleensä C, miten voit julistaa muuttuja ja antaa sille arvoa.
C se ei riitä, kuten Scratch, juuri
sano minulle muuttuja nimeltä jotain.
Sinun täytyy kertoa C, ja kertoa kääntäjä, tarkemmin sanottuna
minkälainen arvo sinä haluavat laittaa lasi kulho.
>> Onko se kokonaisluku?
Jos näin on, sinun täytyy kirjaimellisesti sanoa int ja sitten
muuttujan nimi, sitten puolipiste.
Jos sen sijaan halusi merkkijono ja kehotti se s kuten tein minun koodi täällä tänään,
sanoisit merkkijono s puolipiste.
Kun haluat antaa sille arvoa voit käyttää yhtäläisyysmerkki,
muuten kutsutaan sijoitusoperaattori.
Ja huomaa, miten kukin Näiden riviä koodia
on puolipiste lopussa.
>> Mutta suoraan sanottuna tämä vain näyttää vähän ruma.
Miksi en voi sanoa tietokoneeseen, antaa minulle muuttuja ja alustaa sen nollaan.
Eli anna minulle tyhjä lasi kulho.
Kun voit.
Ja niin yksi tuomion kutsuu sinua täytyy tehdä tyylillisesti ajan
on, sinä kirjoittaa koodia näin, tai sinä sellainen puhdista se ja yllättää
ihmiset kirjoittamalla kaksi riviä kuin vain yksi.
Ja tämä katsotaan yleensä enemmän tyylikäs tapa
kirjallisesti oman koodin tyylillisesti.
>> Toiminnot olemme tietenkin nähneet.
He aikovat ottaa tässä muodossa.
Nimi toiminto, jotkut suluissa, ja sitten ehkä jotkut
tavaraa sisällä.
Tai saatat nähdä käytöt monikäyttöisyyden puolella
rinnan, kuten jotain tällaista.
Nyt kun tangentti, ei tämä vitsi nyt järkeä?
>> [Naurua]
Se ei tarkoita että se on hauskaa, mutta se ei ehkä tehdä vähän enemmän järkeä.
Joten nyt mennään osaksi CS50 laite hetkeksi.
Ja haluaisin avata yksi teaser täällä.
>> Ja todellakin yksi syy käyttöönoton IKEA-kuvastot
ja vilkkuva kuva iPhone vähän sitten
oli todella sitoa yhteen Se, että vain pari vuotta sitten, vuonna 2007,
tämä koodinpätkä oli vapautetaan, joka on
yksi ensimmäisistä täytäntöönpanon pala ohjelmisto
että tekee mitä kutsutaan jailbreaking.
Niille tunne, Jailbreaking jotain puhelimeen tai iPhoneen
tarkoittaa lähinnä mietitään miten tehdä asioita
sitä, että yritys joka teki se aikonut.
Kuten haluat asentaa tietyt ohjelmisto, joka ei ole App Store,
Jailbreaking puhelimesi joka teet tuollaista ja enemmän.
Mutta mikä oli hauskaa 2007-- ja siellä on ollut
kymmeniä eri versioita näistä asioista sen jälkeen,
kaikenlaisia ​​languages-- on, että tästä ohjelmasta, nimeltään iUnlock,
oli todella kirjoitettu C. Ja niin minä revitä lähdekoodi,
vain sellainen näyttää joidenkin yhtäläisyyksiä konstrukteilla
Olemme keskustelleet toistaiseksi.
Nyt on paljon enemmän monimutkaisuutta täällä kuin olemme nähneet jo luokkaan.
Saanen selaamalla ylös vain vähän täällä.
>> Mutta huomaa these-- hyvin huomaamme muutamia things-- mutta huomaa näitä rivejä täällä,
myös vakio-I / O piste h.
Ja all-- linja 24, please-- huomaa vakio-I / O
dot h ja koko joukko muita tiedostoja, jotka ilmeisesti muut ihmiset
kirjoittanut.
Ja jos me selaa läpi Tämän pikku mielivaltaisesti,
Ilmoitus En tiedä kuinka kirjoittaa tämän kaiken itse välttämättä vielä,
mutta siellä on jos.
Joten ilmeisesti tämä on sivuliike.
>> Ja jos minä selaa hieman Lisäksi on toinen, jos.
Jos minä vierittää ylös, luulen noin line 100 totesin.
Joten en ole aivan varma miten tämä toimii vielä,
mutta tämä on silmukka, joka tulee haluan kerrata joitakin kertoja.
Ja jos minä selaa kaikki pohjaan
Näen, että siellä toimiakseen täällä kutsutaan
tärkein, ja joitakin muita hyvityksiä lukemis ilo.
>> Joten tämä on vain say-- ja laitamme Tässä verkossa keskuudessa kurssin lähde
koodi today-- että edes jotkut näistä laitteita, jotka otamme itsestäänselvyytenä,
lopussa päivä olet vielä Käyttämällä näitä perus rakenteita, jotka olemme
alettu jo tähän mennessä.
Nyt riittää, että yksi.
Okei, joten nyt katsotaanpa itse rakentaa jotain.
>> Mennään pidemmälle jotain hello.c, ja avata tämä,
Kirjoitetaan tästä ohjelmasta.
Aion mennä eteenpäin ja kirjoittaa ohjelma nimeltä adder.c,
jonka tarkoitus elämässä tulee olemaan mun ensimmäinen super yksinkertainen laskin
että juuri tuo pari numeroa.
Ei siksi, että on vaikea ongelma, mutta koska se
avulla voin nyt sitoa yhdessä muutamia asioita.
Joten aion mennä eteenpäin ja sisällyttää vakio-I / O-piste h ja CS50 piste tuntia.
Aion sanoa int main void.
Ja taas tulevaisuudessa Palaamme siihen
otetaan tässä yhteydessä ja mitätön keinoin.
>> Ja nyt aion sanoa jotain kuten printf, anna minulle kokonaisluku.
Ja nyt minun toinen rivi, miten voin ilmaista itseäni niin
että haluan julistaa muuttuja joka tulee säilyttää int?
Kirjaimellisesti mitä kirjoitan, jos haluan luoda muuttujan, joka tallentaa int
sanoisit?
int vastaa getint.
Toki niin, että toimii.
Ja juuri johdonmukaisuus koodilla voit
nähdä verkossa, haluan muutosta tämä x, vain koska x
on yhteinen muuttujan nimi käyttää ainakin algebran.
Nyt haluaisin mennä eteenpäin ja tehdä printf uudelleen.
Anna toinen kokonaisluku.
Ja nyt aion laji ja oppia, että malli,
Aion sanoa int y saa GetInt.
>> Ja olemme ei käytetä GetInt ennen, mutta vain
kuten GetString menee ja saa merkkijonon, kuten Javier teki yleisöstä,
Samoin tekee GetInt alkavat vilkkua nopea.
Ja tehokkaasti odottaa käyttäjän antaa sille kokonaisluku, kirjoittamalla se
ja enteriä.
Nyt lopuksi aion tehdä Tämän printf summa of--
ja haluaisin saada fancy now-- prosenttia i ja prosenttia i on läsnä
i huutomerkki kenoviiva n.
Ja mitä luulet aion laittaa nyt ylimääräistä tuloa
to printf?
>> En halua sanoa kirjaimellisesti lainata lainaus x.
Haluan luokan x ja sitten, ja nyt mennään fancy
ja haluan vain olettaa voimme tehdä mitä haluamme.
Mitä haluat sanoa seuraavaksi?
x plus y.
Ja todellakin, joka toimii.
Se on vähän ohjelmointikielet Ymmärrän peruslaskutoimituksia,
ja niin tämä pitäisi itse asiassa työtä.
>> Joten anna minun mennä eteenpäin ja tekevät lisätoiminto minun musta ja valkoinen ikkuna
tänne, Enter.
Kryptinen linjaa, mutta ei virhettä viesti, niin se on hyvä.
Dot slash lisätoiminto, anna minulle kokonaisluku, 1.
Anna minulle toinen kokonaisluku, 2.
Summa 1 ja 2 3.
>> Kunnossa, joten melko vähäpätöinen ohjelma, mutta mitä se on tehnyt?
Se saa minut käyttää toimintoa soittaa täällä, soita toinen funktio täällä,
kaksi puhelut GetInt, kolmas puhelu printf,
ja sitten käyttää näitä paikkamerkeillä.
Joten se on hieman enemmän kehittyneempiä kuin viime kerralla.
Mutta mitä jos haluan saada vähän hienompaa?
>> Anna minun mennä eteenpäin ja nyt tähän.
Anna minun mennä eteenpäin ja luoda uusi tiedosto nimeltä olosuhteissa nolla.
Ja aion säästää jonkin aikaa luokissa vuoksi
ja vain liittää kyseisessä koodi lähtökohtana.
Ja nyt minä aion vain laittaa jotain uutta täällä keskellä.
Joten printf Haluaisin kokonaisluku kiitos.
Ja kaikki tämä koodi on käytettävissä kurssin kotisivuilla,
sinun ei tarvitse kirjoittaa sitä ulos luokassa jos et halua.
int, ja nyt aion käyttää, sen sijaan, että x ja y,
Aion käyttää n, joka on todennäköisesti yleisin nimi
on kokonaisluku tietokoneohjelman.
Ja nyt haluan tehdä pikku tuomion täällä.
Aion nähdä jos n on suurempi kuin 0, niin
Aion sanoa printf-- oho, printf-- nostit positiivinen luku,
huutomerkki kenoviiva n.
Sulje että.
Muuten aion tulostaa printf nostit negatiivinen luku.
>> Nyt ennen kuin huudat minua, juostaan ​​tätä ohjelmaa.
Päästä minut tänne.
Ja miten voin kääntää ohjelma nimeltään ehdot viiva 0?
Tee olosuhteet viiva 0.
Sellainen typerä nimi, mutta-- Hemmetti.
OK, hyvä opetus hetki.
Miksi että tauko?
>> Mitä minä vahingossa soittaa tämän tiedoston?
Voit sellaista päätellä hanasta täällä.
Joten se ei ole huono, että minä teki tämän, koska tämä
tapahtuu ehkä jotkut teistä.
Joten olen vahingossa Nimesin lähdekoodin kunto 0.
Mutta lähdekoodiin sopimus olisi olla tiedosto nimeltä ehto 0 dash c,
tai mitä tahansa piste c.
>> Joten anna minun korjata.
Aivan kuten Microsoft Word voin mennä ylös Tallenna nimellä ja tehdä kunnon 0 piste c.
Nyt vain olla siisti olen aio mennä eteenpäin ja irrota
ehto 0, mikä oli minun vanha versio.
Ja nyt Tehdään tehdä ehto 0, Enter.
OK, tuntuu hyvältä.
>> Ehto 0, Enter.
Haluaisin kokonaisluku kiitos, 50, nostit positiivinen luku.
Nyt miten negatiivinen 50?
Otit negatiivinen luku.
Entä nyt, 0.
Melko varmasti 0 ei ole negatiivinen.
>> Joten tämä on tavallaan looginen virhe.
Miten ratkaisen tämän?
Muuta, jos n on pienempi kuin 0, tehdä tämän, muuta Voimme olla kolme tapaa sivuliike täällä,
printf valitsit 0.
Joten jos nyt uusintana tämä Ohjelman jälkeen kääntämiseen
jälleen tehdä, ja nyt uusintana ehto 0, mitä näen täällä
on 0 antaa minulle joka lähtöön.
Missä siis olemme menossa tämän?
>> No se on helppo unohtaa metsän puilta.
Ja niin salli meidän päätellä Tämän 2 ja 1/2 minuutin video
että viime kädessä on vähän mainoksen Google,
mutta tämä on todellakin osoitus mitä edes käyttää näitä perus rakennus
lohkot voimme lopulta tehdä kerran meillä on hieman ohjelmointi
taju alla vyötä.
>> [Musiikki soi]
>> SAROO Brierley (VoiceOver): Se oli 26 vuotta sitten,
ja olin juuri aikeissa kääntyä 5.
Saimme rautatieasemalle ja nousimme junamme yhdessä.
Veljeni sanoi juuri Tulen täällä, ja tulen takaisin.
Ja minä vain ajattelin, hyvin tiedätte, Voisin yhtä hyvin mennä nukkumaan
ja hän vain herättää minut.
Ja kun heräsin seuraavana päivä, koko kuljetus
oli tyhjänä Runaway Train, aave juna vie minut En tiedä missä.
>> Olen annettiin pois Australiaan, to Australian perhe.
Ja äiti oli koristeltu minun huone karttapalveluun Intiassa,
jonka hän laittaa viereen vierellä.
Heräsin joka aamu nähdä, että kartta, ja siten
se tavallaan piti muistoja.
Ihmiset sanovat, että olet yrittää löytää neula
heinäsuovasta, Saroo et koskaan löydä sitä.
>> Olisin välähti paikkoja, jotka minä tapana mennä, vilkkuu perheeni
kasvot.
Oli kuva äitini, istua jalat ristissä,
juuri katsomassa häntä itkeä.
Elämä on vain niin vaikeaa.
Se oli minun aarre.
Ja minä katselin Google Map ja tajusi siellä Google Earth samoin.
Maailmassa, jossa voit zoomata, Aloin olla kaikki nämä ajatukset
ja mitä mahdollisuuksia että tämä voisi tehdä minulle.
Sanoin itselleni, tiedät, olet sai kaikki nämä valokuvaus muistot
ja maamerkkejä mistä olet kotoisin, ja Tiedätkö mitä kaupunki näyttää.
Tämä voisi olla sovellus, joka voit löytää tiesi takaisin.
>> Ajattelin, hyvin laitan piste Kalkutta rautatieasemalta,
ja sädeviivan, tiedät, että olet Olisi etsivät ympäri tällä alalla.
Olen tavallaan törmäsin Näiden juna kappaleita.
Ja aloin seurata sitä, ja Tulin rautatieasemalle, joka
näkyy sama kuva että oli minun muistoja.
Kaiken yhteen.
Ajattelin juu, olen tiedä minne olen menossa.
Olen juuri menossa antaa kartta, joka minulla on päässäni
johdata minua ja ottaa minut takaisin kotikaupunkiinsa.
>> Tulin kynnyksellä talon että olen syntynyt.
Ja käveli noin 15 metrin nurkan takana,
siellä oli kolme hyvät seisoo ulkopuolella, vierekkäin.
Ja keskimmäinen astui esiin, ja Ajattelin vain, tämä on äitisi.
Hän tuli eteen, hän halasi minua, ja olimme siellä noin viisi minuuttia.
>> Hän tarttui käteeni ja hän vei minut talon
ja sai puhelimessa, jossa hän soi siskoni ja veljeni
sanoa, että te tiedätte, veljesi on juuri
kaikki äkilliset ilmestyi kuin haamu.
Ja sitten perhe yhdistyi jälleen.
Kaikki on hyvä, Autoin äitini ulos,
hän ei tarvitse orjina.
Hän voi elää loput hänen elämänsä rauhassa.
>> Se oli neulaa heinäsuovasta, mutta neula oli siellä.
Kaikki on siellä.
Kaikki olemme maailmassa on painikkeen napautuksella.
Mutta sinulla on tahtoa ja päättäväisyyttä haluavat sitä.
>> [Musiikki soi]
DAVID MALAN: Ihanan makea suosittelu
vain mitä voit nyt tehdä tekniikkaa.
Nähdään ensi viikolla.