>> [Prehrávanie hudby]
>> DAVID Malan: Tak to je CS50 a to je koniec jedného týždňa.
Takže by som vám predstaviť môj bývalý advisee, Anjel Duff, nielen to, kto robí
iPhone 5 stojí, rovnako ako to rečnícky pult, on tiež robí auta.
ANSEL DUFF: Ako to ide, všetci?
Chcem len povedať niečo niečo o Formula SAE, ktoré som
som kapitán.
Je to tím z MIT.
Chcem len povedať, chlapci trochu o tom
a dúfajme, že vytvárať nejaký záujem.
>> Takže len prejsť pár vecí, o našom tíme.
Takže sme úplne Študent beh, v ktorom všetky
o návrhu členov, simulovať, test, a výrobca subsystém
vozidla.
Máme vlastnú dielňu a garáží, a N52-- alebo ľúto,
N51-- čo je rovnaké budove ako MIT Science Museum.
A my sme ľudia že riadiť auto.
Tam je národná súťaž na začiatku leta,
a potom tam sú menšie prestrelka súťaže v priebehu celého roka.
A potom budeme robiť školenie vodičov dní, aby sa noví členovia oboznámení.
>> Naše zostavenie dni sú na V sobotu od 11 hodín do 8 hodín.
Obedy a večere sa starajú z, z Bertucci je a Beantown
resp.
Máme týždenné stretnutia a Seminár, ktorý je na zápočet.
Čo je nové od tohto semestra, a to bude aj pre ďalšie polrok,
takže si môžete cez-REG na to.
A potom tu máme projektovanie, obchod, a CAD dni v týždni,
zatiaľ čo členovia samostatne CAD diely, aby akciovej et cetera.
>> Takže pre elektrické engineering tímu
máme ťažné, vysokého napätia systému,
ktorý beží na nominálnu 300 V, ktorá obsahuje
motory, regulátory motorov, a akumulátory.
Potom sme horší napätia systému, ktorý beží
na 12 voltov, čo zahŕňa kontroly, CAN uzly, mozog
box, a palubná doska.
Čo sa týka CS ide, robíme má správa www stránok
že musíme urobiť pre udalosti, členstvo zmeny, nové obrázky a PR materiály.
A potom máme kód, ktorý kontroluje auto pre naše kontroly trakcie, začatie
kontrola, kontrola pomlčka, krútiaci moment vektorovanie, a regeneračné brzdové systémy, ktoré
beží typicky v MATLAB, Simulink a LabView.
>> Poviem vám niečo o aute.
Takže je to asi 500 libier.
Je to pravidlá obmedzená na 85 kw.
To má 2 EMRAX 207 motorov v späť, jeden pre každé zadné koleso.
Má vlastné vstavané akumulátory od Obdĺžnikové A123 vrecka buniek,
v celkovej výške 300 voltov a 5,6 kw hodín.
A to je priamy pohon s 2,64-1 drive pomer.
Tu je niekoľko fotografií my sa o tom v súťaži.
Tu je späť, kužeľ, a tu sú motory,
tie veľké čierne disky pod et pánske Manus.
Tu je obrázok, ktorý som vytiahol z nášho programu súťaže.
A to je len porovnanie našej auto niekoľko komerčne dostupných automobilov,
ako KTM XBOW, Ariel Atóm a Caterha M 7-280.
Ak ste oboznámení s cenou, moc ťahať váhu dolárov na konských síl,
dolárov na krútiaci moment, a naše auto fúka všetky z vody.
Ak máte nejaké otázky, zapisovať túto e-mailovú adresu.
Strieľať nám e-mail na fsae@mit.edu.
>> Sme radi, že hovoriť o niečo, čo by si chcel.
Harvard študenti sú druh menšiny v tíme.
Ak máte akékoľvek otázky týkajúce sa že prosím, strieľať nám e-mail,
šťastný hovoriť, a ja idem na hlavu späť k Dávidovi.
Vďaka.
Vážim si to, chlapi.
[APPLAUSE]
>> DAVID Malan: Ansel strávil leto tu s nami spolupracuje na akademickej pôde v CS50
tento rok v lete.
A navyše k práci na veci ako binárny žiarovky
on vlastne naozaj otvorili eyes-- a baňa v particular--
na čo sa naozaj na križovatke nie hardvéru a softvéru môže byť.
V skutočnosti je veľa vecí, ktoré len cestoval ste po sú v konečnom dôsledku
najprv vytvoriť v softvéri, a potom nakoniec vymyslel
v reálnom svete v hardvéri.
Takže ak máte záujem skúmanie tohto križovatku,
potrebné prijať túto skupinu.
>> Teraz medzitým tí z vás, ktorí sú fanúšikmi technológií,
a produkty Apple v najmä vedieť, že existuje
bolo pár oznámenia včera.
Ale mysleli sme si, že by sme ukázať si ten, ktorý vyšiel
pár dní pred, že ste možno ešte nevidel.
>> Jörgen EGHAMMER: Viete, raz za čas niečo
príde, že mení spôsob, akým žijeme.
Zariadenie tak jednoduché a intuitívne používať to cíti takmer povedomé.
Predstavujeme 2015 katalóg IKEA.
Nie je to digitálna kniha alebo e-kniha, je to kniha, kniha.
>> Prvá vec, ktorú si uvedomiť, nie je káble ani napájací kábel.
2015 Katalóg IKEA je plne nabitá,
a životnosť batérie je večný.
Rozhranie je 7,5 od 8 palca, ale možno rozšíriť na 15 o 8 centimetrov.
Navigácia je založená na taktilný dotyk Technológie, ktoré môžete skutočne cítiť.
>> Obsah je dodávaný s predinštalovaným cez 328 stránok s vysokým rozlíšením
inšpiratívnych bytový nápady.
Ak chcete začať prehliadať stačí stlačiť a ťahať.
Sprava doľava sa pohybovať vpred, zľava doprava sa pohybovať dozadu.
>> Všimnite si niečo iné?
To je pravda.
Žiadne oneskorenie.
Každý krištáľovo čistá strana zaťaženie okamžite,
bez ohľadu na to, ako rýchlo sa pohybovať.
Ak chcete získať rýchly prehľad, len držať ju v dlani,
a iba pomocou palcom, rýchlosť prehliadania obsahu.
>> Ak zistíte niečo, čo chcete uložiť na neskôr, môžete jednoducho vytvoriť záložku.
A aj keď zatvoríte aplikáciu, môžete ľahko nájsť záložku znova.
Amazing.
>> [SMIECH]
[APPLAUSE]
Takže to nás privádza k Koniec jedného týždňa.
Už niekoľko oznámení.
Takže rezov je teraz vo vývoji.
Prejdite na túto adresu URL tu niekdajší medzi podnikom a piatok napoludnie
skutočne určiť, či ste Medzi tie menej príjemné, viac
pohodlné, alebo niečo medzi tým.
>> To je zvyčajne jednou z tých, veci, ktoré len tak vedieť.
A v skutočnosti tých z vás, ktorí sú menej komfortné asi viete toľko,
tí z vás, ktorí sú viac komfortné vedieť čo najviac,
a znova, ak si nie ste úplne istí, ktorý z tých lopát sa dostanú do ste
asi niekde medzi.
Ale buďte si istý, môžete vymeniť Po niekoľkých týždňoch, ak to bude potrebné.
>> Medzitým sa na budúci týždeň nezačneme časti samy o sebe,
ale flash oddiely, ktoré sú otvorené pre všetkých študentov.
Túto nedeľu na mieste, aby zverejnené na webových stránkach kurze
budeme mať jeden pre tie menej príjemné,
ako aj jedna pre tie pohodlnejšie.
A tí, niekde medzi Môžete si vybrať, ktorý z tých dvoch,
alebo oboje, ak chcete, aby sit-in na.
A zameranie tých, bude nakoniec na C,
ktoré budeme pokračovať v našej rozhovor dnes.
>> Problém nastavení 0 je medzitým dúfajme, že vo vašich rukách.
Oficiálne kvôli zajtra, Štvrtok napoludnie.
Ak hotovosť v jednom Vašich päť neskorých dňoch,
ktoré by priviesť ju až v piatok napoludnie.
Problém set 1 zatiaľ bude zverejnené na internetových stránkach kurzu je.
A toto bude naša prvá nájazd ako trieda do C.
A to je problém nastaviť spec, ktorá vás cez mnoho mechaniky, čo
sme začali hovoriť o pondelok, a budeme pokračovať v rozhovore o dnes.
C, Linux, CS50 zariadenia, to všetko
bude na vás čakajú v špecifikácii.
>> Úradné hodiny zatiaľ prebiehajú, v pregraduálnej jedálni.
Vydajte sa na tejto adrese tu vidieť naplánovať pre dnešok a zajtrajšok,
ak by ste chceli podieľať.
Otázky Medzitým, aby vás mať možnosť klásť otázky
asynchrónne, 24/7, uvedomiť si, že ste nie sú obmedzené na oddiely a kancelárie
hodín, ale skôr tento nástroj tu CS50 Diskutujte na tejto adrese
Bude kurzu je on-line bulletin board softvér, cez ktorý
môžete klásť otázky spolužiaci a tiež personál.
Takže majte na pamäti, že zdroje rovnako.
Zatiaľ tradície začína tento piatok.
Ako ste možno zahliadli od Minulú stredu je teaser video,
Máme tradíciu najviac každý piatok počas funkčného obdobia
branie asi 50 študentov a personál miestne reštaurácie zvanej
Oheň a ľad, na ktorý sme zvyčajne spojené niektoré absolventov
alebo priatelia z priemyslu všeobecne usilovať
, Aby sa veľké triedy pocit menšie.
Takže je to úplne neformálne obed.
Partia z nás, personál najmä bude hrať škatule, hýbte sa
a porozprávať sa so študentmi o 50, život mimo 50,
život v budúcnosti, reálny svet, Hovorím o pracovných príležitostiach
s priateľmi v priemysle.
>> Takže ak by ste sa k nám pripojiť tento piatok, zamierte do tejto adrese tu.
Počet miest je obmedzený, ale my to urobíme recurringly po celú dobu.
Zamierte tam cs50.harvard.edu/rsvp.
A ak sa nechcete dostať do tentoraz, nie sa báť.
Urobíme to znova nasledujúcich týždňoch tiež.
>> Tak to je ten obrázok sme maľovali minulý týždeň,
a pravdepodobne ste boli pustili do tak ďaleko.
Ale skúsme sa pripojiť teraz na to, čo budeme robiť dnes
a ďalej.
Mohol by som mať jeden dobrovoľník?
V poriadku, alebo viac.
A čo tu na koniec, v modrej košeli.
Poď hore, Ako sa voláte?
ALANA: Alana.
DAVID Malan: Alana.
Takže Alana, len za moment-- nice to meet ty--
bude hrať rolu tejto funkcie tu.
Fialový blok máme nazýva sa tak ďaleko funkcie.
Takže to, čo ja idem dopredu tu a ponúknuť Alana
je trochu menovku, aby sa jasné, akú rolu hráte.
>> Takže si bude hovoriť blok.
Ak chcete ísť dopredu a dať si to.
A ideme na udržať tento super jednoduché.
V prípade, že cieľom v ruke je jednoducho teraz realizovať sa Alana,
Tento takzvaný hovoria blok, Tu je návod, ako to bude fungovať.
Aj have-- nazvime ju argument alebo parameter,
je to naozaj len prázdny hárok papiera.
A je to biela až trochu pripomínať na bielom poli, do ktorého ste
môžete písať slová.
>> Medzitým som idem sem.
Chystám sa ísť dopredu a napísať H-E-L-L-O čiarkou svet.
A teraz, ako hovorí programátor, nie skutočne vedia, ako niečo povedať.
Môžem prísť so slovami, ale nie nutne
vedieť, ako vyjadriť sám seba ústne alebo na obrazovke.
A tak to, čo budem urobiť, je tento kus
funkčnosti, ktorého input-- Argument alebo, ako my hovoríme,
Napísal som o tomto kúsku paper-- a budem ju zadávať.
>> A naozaj to je úloha, ktorá funkcia v programovacom jazyku
môže hrať.
Niečo ako Say Blok môže byť externe
pre niekoho, kto naozaj vie, to, čo on alebo ona hovorí.
Takže ak budete krok po Tu len na chvíľu,
Chystám sa odovzdať tento vstup Alana, a spýtajte sa, že hovoríte, tento vstup.
>> ALANA: Hello, world.
DAVID Malan: To je ono.
Tak, že je funkcia.
Teraz môžeme vziať to trochu viac, môžeme vziať krok vpred tu.
Vzhľadom k tomu, že bolo jasne nezaujatý.
Takže poďme sa teraz previesť toto niečo trochu sofistikovanejšie.
>> Tak to je samozrejme naša C verzie.
Takže teraz, ak chcete, aby sa to jednorazové, že názov značky vypnúť,
a poďme si na nový názov.
Ale v podstate ste hrá rovnakú úlohu,
to len tak sa stane, byť nazývaný printf teraz.
>> Príbeh je, samozrejme, bude pravdepodobne bylo--
rovnako ako je underwhelming-- bude nasledujúci.
Tie sú teraz funkcie printf.
Som volajúci, alebo programátor, ktorý chce
stáť na ramenách ľudia v minulosti, ako ste vy,
ktorý už prišiel na to, ako skutočne niečo napísať nadol.
A tak tentoraz, skôr než, že to poďme
skutočne používať našu obrazovku sem.
Takže ak by ste chceli krok sem, ja idem
znovu to vydávať za Vstup do môjho printf priateľovi.
Ak by ste mohli ísť dopredu a tlače, že na obrazovke,
jednoducho tým, že kreslí s vaším prst na čiernej obrazovke.
Výborne.
Dobre, takže veľa napätia pre ako to bude hrať von.
>> Takže teraz poďme vziať veci do jedného konečnej zárez, keby sme mohli takto.
Tak to je program v jazyku C ako sme povedali minule.
A to len robí to, čo ste urobil, to vypíše na obrazovku, Hello, world.
Aj keď tam je jasne veľa na rušivé veci tam.
Ale poďme vziať veci do zárezu a zaviesť túto verziu, ktorá pripomínajú
bol tretia verzia, ktorá sme skončili s minule.
>> A teraz je tu jasne dve použitia printf.
K dispozícii je 2 hovory na Alana v tomto prípade pre printf,
ale je tu aj výzva na inú funkciu.
Čo je to funkcia jasne?
GetString.
>> Môžeme dostať ešte jeden dobrovoľník?
OK, poď hore.
Ako sa voláte?
>> Javier: Javier.
>> DAVID Malan: Javier, poď hore.
Takže úloha Javier je na tento kus papiera.
Ktoré budem volať všeobecne s.
Teraz to je variabilné, je to typu string, ako vyplýva
týmto druhým riadku tam uprostred.
A rád by som, aby si išiel sa mi reťazec.
Konkrétne hlavou dole do orchestra časť a dajte mi meno niekoho,
a vrátiť sa s premennou obsahujúce túto hodnotu.
Môže to byť ktokoľvek chcete.
>> Ideme na to.
V poriadku, je Javier napíše meno.
V poriadku.
Môžeme sa všetci asi tušíte, ako to bude hrať von.
Sme snáď hašteriť namiesto toho, čo
funkcia je robí, ale Napriek tomu moc ďakujem.
>> Takže Javier sa vrátil tento reťazec tú, ktorá si nie je úplne vidieť,
Jonathan je reťazec , Ktoré sme dostali.
Takže teraz, čo som vlastne deje poskytnúť Alana keď
je niečo trochu iné.
Vzhľadom k tomu, v tejto verzii program, prvý je tam uviesť svoje meno.
Takže úplne prvý argument Musím poskytnúť Alana
sa bude doslova uviesť svoje meno.
Dobre, tak jednoduché, ako to Chcel by som odovzdať vám to.
A ako som sa spísať Nasledujúce tvrdenie, ak máte
chcete pokračovať a písať to na palube, poďme do toho
a to posledné príklad tu, aby sa jasné, čo sa nakoniec dostal k tomu dôjde.
Takže uviesť svoje meno, napíšte ju k vrcholu
ak vám to nevadí, len preto, aby máme izbu pre jednu druhom riadku.
Vzhľadom k tomu, to posledné, čo budem sa teraz poskytnúť vám nie je jedno,
ale dva kusy papiera.
>> V poriadku.
H-E-L-L-O čiarka a potom prázdny riadok.
Takže to, čo sa chystám odovzdať Alana teraz je niečo trochu iné.
Nielen, že je to stále to, kde vyplniť prázdne predstavuje
že percent-- to, čo bolo zástupný sme používali?
Jo, to percento s.
Medzitým idem prejsť jej v druhom argumentu, ktorý
je presne to, čo Javier získať od Jonathana.
>> Takže dovoľte mi, aby som vám aj týchto dvoch.
Ak by ste chceli, choďte do toho a tlače, že efekt.
Čo sa nakoniec stalo teraz je, Alana znova
hrá úlohu printf.
Javier hral role getString.
Tak, že bude váš suvenír.
A nakoniec, čo sa deje, a to napriek tento hello-- yep ísť dopredu a čiarka.
ALANA: som dostal to ešte, alebo nie?
DAVID Malan: Jo, ty prijal obaja naraz.
Takže predstava, že vás Teraz môžete otočiť stránku
pre spracovanie druhej z týchto dvoch vstupov.
Takže je to len na kladivo domov upozorniť, že vzhľadom na to, Alana popravený
táto zelená čiara tu, a potom sa Javier urobil pre nás
a vrátiť sa ku mne niečo zavoláme s, ale to bolo naozaj
len, že kus papiera vlastné.
A teraz Alana urobil tento tretí riadok.
>> A aj keď to všetko vyzerá tak neuveriteľne mystické možná
na prvý pohľad, je to naozaj je tak jednoduché, ako to.
Odovzdávanie vstupy okolo, získanie výstupy, a to buď
bol fyzicky odovzdaný späť niečo, alebo vidieť vedľajšie účinky, ako je tento.
Niečo vizuálne napísané na obrazovke.
Tak poďme do toho a Ďakujem Alana a Javier,
ktorý bol tu, na nám pripojila tu.
>> [APPLAUSE]
>> Takže teraz poďme za samozrejmosť, ako priamočiary všetky, ktoré by mohli byť.
A poďme pokračovať v skutočnosti robiť niečo skutočného kódu.
Takže na obrazovke je tu screenshot z takzvaného CS50 spotrebiča.
A ak ste mal na, as 14:00 v stredu popoludní,
vysvetliť nejaký priateľovi čo CS50 spotrebič,
ako by ste to definovať vo vete?
Každý jednou vetou?
Jo?
STUDENT: Je to ako program že je počítač každého
beh s rovnakým systémom.
DAVID Malan: Dobrý!
Je to program, ktorý umožňuje všetkým je počítač bežať rovnakým systémom.
Je to tak nejako sami kópie prevádzkových
systém, ktorý sa stane byť nazývaný Ubuntu Linux.
A beží efektívne vnútri okno na vašom počítači Mac alebo PC,
tak, že tento spôsob priamo von z brány v 1. týždni, všetci tu v triede
má prístup k rovnakým nástrojov, rovnaké usporiadanie,
a neexistuje žiadny špecifický zaučenie na Mac alebo PC, najmä.
>> Teraz sme otvorili, vnútri CS50 spotrebič v pondelok, tento program tu.
Stáva sa to nazvať gedit.
Ale to je naozaj len grafický editor.
Je to niečo ako Poznámkový blok alebo Text Úprava na Windows alebo Mac OS, resp.
A navrhol som, že tam bolo naozaj tri dôležité časti tejto obrazovky.
Vrchná strana je miesto, kde vás by sa napísať svoj kód.
A to je miesto, kde sme strávili väčšinu nášho tri príklady v pondelkovej prednášky.
Spodná hovoríme, čo, táto čierna okná, jo?
>> STUDENT: Compiler?
>> DAVID Malan: Compiler sme pristupovať prostredníctvom tohto okna.
Ale všeobecne.
Jo, to bolo len okno terminálu.
To je vek starý termín, ktorý práve opisuje v podstate blikanie
výzva, ktorá pred rokmi býval na jeden z tých veľkých monitorov CRT štýlu.
Ale v dnešnej dobe je to trochu virtuálneho v softvéri.
A terminál okná nech je nám písať príkazy.
Je to trochu zjednodušené verzie používateľského rozhrania alebo rozhrania.
Nie je to grafický užívateľské rozhranie, alebo GUI,
Je to rozhranie založené na texte alebo rozhranie príkazového riadku.
>> A naozaj to je miesto, kde nakoniec Bol som schopný napísať nejaký kód.
Potom, čo som napísal nejaký kód aj keď, Pripomínam, že som použil tento príkaz.
A ako to meno druh naznačuje, toto
umožňuje, aby som program s názvom Dobrý deň.
Ale čo to naozaj robí?
No make bral môj vstup, môj zdrojový kód,
a prevedením na to, čo nakoniec?
>> Kód objektu.
A objektový kód je len fantázia spôsob, ako hovoriť núl a jednotiek.
A potom, keď som chcel spustiť tento kód objektu,
Raz som chcel prejsť ako vstup týchto nuly a jednotky do môjho počítača
mozgu, takzvaný CPU alebo centrálna procesorová jednotka,
Musel som spustiť program.
Ale nebolo to jednoduché, v pondelok ako len dvojklikom nejakú ikonku.
Čo namiesto toho som musel robiť, aby sa spustiť program?
>> Čo to bolo druhý príkaz?
Počujem trochu lomítka?
Áno, áno?
>> STUDENT: Dot lomítko a názov programu.
DAVID Malan: Presne tak.
Dot lomka a názov programu.
A teraz, čo to znamená?
No bodka je len spôsob, ako tajomný hovoriť aktuálny adresár.
Či už ste v priečinku je uvádzaný ako, je reprezentovaný ako bodka.
Lomítkom je presne to, čo ste videli v systémoch Mac OS a Windows pre let,
je oddeľovač medzi adresármi alebo zložku a zvyšok nejaké meno.
Vo Windows sa to stane ísť dozadu, Linux a Mac
OS sa to stane, ísť dopredu.
Ale je to len oddeľovač, takže je to len nezaujímavé syntaktická detail.
>> Šťavnaté Súčasťou kurzu je názov programu, Dobrý deň.
A to je to, čo robia vytvorená pre nás.
Je to výstup tento súbor pre nás.
Ale ako sme sa dostali do tohto bodu?
Poďme sa teda opýtať, otázka, čo bolo v skutočnosti
deje, aspoň Vzhľadom na niektoré z týchto syntax?
>> Takže vo vete, alebo tak, ako sme sa vysvetliť
táto prvá línia, ktorá je zvýraznené zelene?
Čo to bolo za prvý riadok robí, s ohľadom na môj program?
Jo?
>> STUDENT: [nepočuteľné].
DAVID Malan: Povedz to ešte raz?
STUDENT: Vrátane a sťahovanie Posledných funkcie [nepočuteľné].
DAVID Malan: Dobrý.
Vrátane, nebudem hovoriť sťahovanie, ale povedzme, že
vrátane funkcií, ktoré ľudia písali v minulosti.
A tieto funkcie sú implementované niekde v mojom počítači.
Niekto napísal súbor pred rokmi, a tento súbor
je niekde vnútri CS50 zariadení, alebo na mojom pevnom disku
všeobecnejšie.
A tak táto linka je v podstate hovorí, ísť zistiť, že súbor, štandardné I / O bod
h, a kopírovať a vložiť jeho obsah tu na vrchole môjho súboru
takže nemám na urobiť ručne sám.
>> A medzi nejšťavnatější kúsky vnútri na tento súbor sme tvrdili, bolo to, čo funguje?
Aké funkcie si povieme bola vyhlásená alebo je uvedené v štandardnom I / O dot h
s najväčšou pravdepodobnosťou?
Printf, že jo?
Nechceli sme napísať printf na Pondelok, jednoducho neexistoval.
Rovnako ako Alana práve prišiel na javisku a ona len
existoval a vedel, ako na to niečo na obrazovke,
takže sa po mnoho rokov printf existujú.
A tak to je, ako sa k nemu dostaneme.
Teraz, keď sme sa presunúť na tú, Hlavné bolo obdobné sme
povedal puzzle volaná, keď zelená vlajka kliknutí
vo svete Scratch.
Je to len trochu predvolené meno, ktoré ľudia
rozhodol sa predstavujú predvolený vstupný bod do programu.
Kus programového kódu že dostane popravený ako prvý.
>> Zatiaľ sú tieto zložené zátvorky sú niečo ako zakrivený tvar
z mnohých týchto žltých poškriabaniu kusov.
Sú druh zapouzdřit celú banda pokynov spoločne.
Tak to len tak spája niektoré súvisiace funkcie.
printf samozrejme je funkcia, ktorá vytlačí na obrazovku, ako to urobil.
>> Čo o týchto zátvorkách?
Ako by ste define-- aj keď ste nikdy naprogramované skôr, ale len na základe
teraz na rastúce dúfajme, že intuícia, čo
sú zátvorky tu pre nás?
Alebo čo sa im okolia?
Jo?
>> STUDENT: Hovoria, že to, čo budete tlačiť pomocou printf.
>> DAVID Malan: Jo, hovoria, čo budete tlačiť pomocou printf.
Alebo všeobecnejšie, sú obklopujúce vstupy do funkcie.
Takže môžete takmer myslieť z týchto zátvorkách
ako napríklad kov klip na tejto schránky.
To je to, čo drží, je to to, čo je deje, ktoré majú byť použité na tvrdenia
do funkcie, ktorá v v tomto prípade sa nazýva printf.
>> Takže všeobecne takmer každý Doba nazývame funkciu,
budeme vidieť dvojicu zátvoriek.
Možno, že niečo v ňom, ako teraz, v tom snáď nič nie je.
Ale to je miesto, kde by ste dať vstupy alebo takzvané argumenty
na funkciu.
>> Tu je jeden taký argument.
Som zvýrazní všetko medzi úvodzovkami,
, Pretože sa ukazuje, v tomto jazyku s názvom
C, ak chcete reprezentovať string--, že je slovo alebo fráza
alebo dokonca paragraph-- musíte uzavrite ho do úvodzoviek.
Nie je jednoduché úvodzovky, dvojité úvodzovky.
A to je presne to, čo som tu urobil.
>> Zatiaľ tam je funky symbol smerom tam do konca.
Spätné lomítko n.
Čo sme si povedali, že predstavoval?
Jo?
>> STUDENT: nová rada.
>> DAVID Malan: Nová rada.
Jasné, že nie obvykle stlačením klávesu Enter, ak
chcete program vypľuť nový riadok.
Skôr to povedať explicitne s týmto síce tajomné kus
syntaxe, lomky n, že Chcete nový riadok tam ísť.
Nakoniec bodkočiarka.
Nemali sme hovoriť príliš veľa o tom,
a ak to bude prekliatím niektorých vašej existencie na prvý problém
nastavenie, keď ste práve neuvedomil ste zabudli niečo ako hlúpy
ako bodkočiarkou.
A všeobecne je uvedenie tam bude opraviť tento problém.
Ale čo to robí Pre nás by to povedal?
>> STUDENT: [nepočuteľné].
>> DAVID Malan: Sorry?
>> STUDENT: [nepočuteľné].
DAVID Malan: Dokončovacie vyhlásenie.
Je to niečo ako obdobie na koniec anglické vety,
že v tomto jazyku C je to koniec vyhlásenia.
Výučba programovania kód, ktorý si len chcete povedať,
Skončil som s tým.
Teraz si všimnite, že je tu jediná.
Takže nechcete sa dostať do zvyk uvedenie bodkočiarkami
po každej uzatvorenej zátvorkách.
Napríklad tam nič nie je ďalšie močiť, a budeme
vrátiť v budúcnosti na to, čo znamená neplatné.
Ale v tomto prípade, že váš printf je funkcie, alebo vyhlásenie používaný,
a tak chceme, aby toto terminus na samom konci.
>> A ja som zámerne výberom na C a úprimne povedané, mnoho jazykov, ako je C, C ++
Java, JavaScript a ľubovoľný počet Iné jazyky majú veľa z nich
druh syntaktických detailov.
Iste, že ak ste na nové programovanie je skutočne podraziť vás.
A vy, označte môj slovami, že niektorí z vás
túto skúsenosť v úradných hodinách alebo neskoro
v noci pracuje na nejakom p-set, kde váš prekliaty program iba nezhromažďuje,
nebeží, budete musieť ani poňatia, čo sa deje,
Zdá sa, že úplne logicky správny pre vás.
A je to preto, že ste zabudli niečo ako biť
bodkočiarka na konci určitej línie.
>> Ale to sú druhy, čo ste nablízku bude okamžite naučiť vidieť.
A naozaj to sú veci, To, že CA a TF majú
bol trochu trénoval sa, aby vidieť oveľa rýchlejšie ako vy.
A tak je to len povedať, ako Ponorte sa do problému nastavenie 1, najmä,
nechápem frustrovaní tejto veci.
Akonáhle sa trochu aklimatizovať na celom svete, je
začnete vidieť veci, ktoré ste možno ešte viď na prvý pohľad to prvý týždeň.
>> Takže zdrojový kód je niečo také.
Chceme, aby to prejsť do tzv kompilátor.
A že kompilátor ako sme si povedali, poskytuje výkon
známy ako objektový kód, takzvané nuly a jednotky.
Ale odtiaľ, čo to nám dá?
No to nám dáva tieto vzory.
A opäť počítač, Váš Intel vo vnútri,
chápe tieto vzory núl a jednotiek.
A niekedy vzor predstavuje skutočné číslo v desiatkovej sústave
ako sme videli minulý týždeň, niekedy predstavuje písmeno
ako sme videli minulý týždeň, niekedy predstavuje inštrukciu,
ako je tlač niečo na obrazovku.
>> Takže printf pre instance-- ale skôr, dovoľte mi, aby som vzad.
Boli sme s samozrejmosť že tie nuly a jednotky sú
vytvorený týmto príkazom make.
Ale make nie kompilátor.
Uistite sa, nie je vec v stredu to je produkovať núl a jednotiek.
Skôr urobiť, je len veľmi výhodnú menoval program, ktorého zmysel života
je v podstate zistiť, ako zostaviť svoj program.
A my ho použiť v týchto Prvé týždne, pretože to jednoducho
ušetrí nám veľa problémov.
>> Ale to, čo urobiť, je naozaj robiť pri kompilácii Dobrý deň,
je, ako sme povedali minule, je to hľadať na pevnom disku
alebo v aktuálnej zložke pre Súbor s názvom, čo, zdá sa?
Hello.c, že ​​jo?
To je len trochu dohovoru.
To je ľubovoľná, ale To je spôsob, ako sa veci majú.
Uistite sa, či stačí zadať meno programu, ktorý ešte neexistuje,
to bude vyzerať na zdrojový kód v súbore, v predvolenom nastavení znamená hello.c.
A ak nájde, skvelé.
Bude to previesť tento zdroj Kód do objektového kódu pre vás.
>> Ale zakaždým, keď som stlačte klávesu Enter po spustení vykonať Dobrý deň,
Spomínate si videl poslednej dobe pomerne dlhý a mystické sekvencie
iných bielymi písmenami a znaky na obrazovke?
No, to bol skutočný príkaz, skutočný kompilátor, ktorý bol spustený.
Takže skutočný kompilátor budeme používať väčšinu semester je niečo, čo nazýva zvonenie.
Niektorí z vás môžu byť použité Visual Studio pred, alebo GCC,
alebo ľubovoľný počet iných kompilátorov.
Budeme používať rinčanie.
>> A rinčanie nám umožňuje skutočne previesť že zdrojový kód objektového kódu.
Čo to vlastne znamená v praxi?
Tak nechaj ma ísť do jedného z Moje zložky z minulého času.
Vnútri CS50 spotrebiča.
A nechaj ma ísť dopredu a vytvoriť tento Rovnaký súbor obsahuje štandardné I / O dot h.
Int main neplatné.
A vrátime sa v budúcnosti ako na to, čo int znamená a aké void prostriedky.
Ale teraz poďme robiť hello world spätné lomítko n,
rovnako ako sme to urobili na palube.
>> Dovoľte mi, aby som tento súbor uložiť s názvom hello.c.
A teraz, keď chcem skompilovať Aj mohli-- dovoľte mi priblížiť v-- beh
aby ahoj vstúpiť.
A to bol opäť že veľmi záhadné línie.
Ale teraz aspoň jedno slovo pravdepodobne vyskočí na vás.
Clang je, že vedenie sme videli predtým.
Teraz je tu veľa ďalších vecí úprimne že budeme mávať rukou na pre dnešok.
Ale je tu niekoľko podskupín, niekoľko znakov tu
ktoré sú predmetom záujmu.
Ale ja idem do toho a to.
Idem na prvé spustenie Dobrý deň, len aby dokázal,
že toto funguje, ako to bolo v pondelok.
Ale teraz idem vymazať program.
A rovnako ako sme mali títo krátke názvy Minule
Príkaz pre odstraňovanie niečo rm, odstrániť, zadajte.
Budeš získať niektoré docela mystické otázky.
Ťažko uveriť, že môžete robiť aj na túto otázku ťažké pochopiť.
Ale odstrániť pravidelné súboru ahoj len znamená to, že chcete zmazať ahoj.
>> A môžem ísť ďalej a typ Y pre áno, Enter, a teraz je to preč.
Čo to znamená, že teraz, ak môžem vymazať obrazovku,
je, že namiesto robí make hello-- vás
Viete čo, ja som stále dobrý.
Chystám sa spustiť kompilátor sám.
Nepotrebujem nejaký program pre zistiť, čo môj súbor sa nazýva.
Napísal som hello.c som vedieť, ako sa volá,
Som jednoznačne schopný písať, že.
Takže budem pokračovať a to zvoniť hello.c Enter.
>> Zdá sa, že sa do práce.
A neexistuje žiadny dodatočný výstup, pretože zvonenie je kompilátor.
To je to, čo je konverzia Zdrojový kód núl a jednotiek.
Takže keď som teraz urobiť bodku lomka ahoj Zadajte, hm.
New chybové hlásenie dnes.
Takže bash je len názov blikanie výzvy, ktoré sme pomocou.
To je hrubým zjednodušením, ale teraz to je všetko, čo je,
je to bliká riadok.
A to je dôvod, prečo je to kričí na nás.
>> Žiadny takýto súbor alebo adresár trochu jednoduchšie.
Ale určite som, že objektový kód.
Ale úlovok je, že keby som zadajte príkaz
zobraziť obsah tejto adresár, čo je to, čo?
ls pre zoznam.
Je tu veľa vecí tu, z ktorých niektoré prišiel s prístrojom,
ako môj zložky Desktop, k stiahnutiu zložka, zložka Dropbox, a všetky
tie veci.
Ale čo je zaujímavé, je hello.c, ktorý
Vytvoril som pred chvíľou s gedit.
A čo je najdivnejší hľadá meno tu,
Možno, že nie viď poslednej dobe vôbec?
>> a.out, že jo?
Takže späť v deň, to Práve sa rozhodol, že keď
kompiláciu programu prvýkrát,
a neurčíte názov súboru, nazvime to je.
A a.out jednoducho znamená to výstup kompilátora.
Takže je to hrozný názov programu.
Ale do tej logiky, bodka lomítko pre aktuálny adresár, lomítko a.out,
by malo znamenať, že je to v skutočnosti môj hello world programu.
Teraz trochu zahriať cvičenia, taky.
Ak budem chcieť premenovať tento súbor, ukázalo sa, že vás
presunúť súbor z jedného mena k druhému.
Takže mv a.out, a potom som môže hovoriť ahoj Enter.
Tak to je príkaz Linux.
DOS mal pred rokmi, Windows má terminálové okno
nejakého druhu, ktorý vyzerá ako je tento, Linux a Mac
počítače majú túto blikajúce riadok.
Aj keď väčšina z nás pravdepodobne zriedka, ak vôbec, použite ju.
>> Ale to, čo som urobil je prevádzkovaný Program, ktorého meno je mv,
a ja som za predpokladu, s dva argumenty, aby som tak povedal.
Dva vstupy.
a.out je pôvodný názov.
Dobrý deň, je nový názov.
Takže keď som teraz robiť bodka lomítko Dobrý deň, zadajte, že existuje.
A keď to urobím dot lomítko a.out, to, čo si myslíte, že by som mal vidieť?
>> Bash, žiadny takýto súbor alebo adresár.
Pretože som premenoval ju.
Tak to trvá trochu zvykať.
Ale problém set 1 špecifikácia bude skutočne
držať za ruku cez niektoré z týchto minútam.
Pretože sa jedná o kompletnú duševného rozptýlenie
od zaujímavejšie nápady na ruky, ktoré
je v skutočnosti vytvorenie niečo z kódu.
Ale poďme urobiť jednu zmenu Teraz k tomuto programu.
>> Pripomeňme si, že minule som urobil niečo, čo takto, printf uviesť svoje meno.
A naozaj sme práve urobili na veľkej obrazovke tamto.
A potom som sa reťazec s dostane GetString otvorené zátvorka, v blízkosti zátvorka.
A zátvorka len skratka zápis pre zátvorkách.
Takže to GetString žiadne argumenty?
Žiadne vstupy Nie, ale potrebuje zátvorky,
pretože to je to, čo definuje volanie funkcie.
>> Takže budem pokračovať a pokúsiť sa spustenie kompilátora k tomuto programu teraz.
Zvonenie hello.c, pretože som nezmenila svoj názov pre túto chvíľu.
A ja mám veľa chýb.
Poďme oddialiť tu.
Ak mám prechádzať znova nahor, ako som povedal minule,
na prvý, rovnaké chyby že som minule.
Na riadku 6 hello.c som mal načierno Reťazec identifikátora,
som na mysli štandard v?
Ja nie.
Pretože to, čo som urobil chybu majú v tomto programu, ak si spomeniete, od minule?
Áno, potrebujeme takzvané tréningové kolesá
že budeme len používať po dobu niekoľkých týždňov.
Ale musím spresniť, že tiež niekde vo vnútri spotrebiča,
je súbor, ktorý sme napísali pár rokmi.
Vnútri ktoré sú funkciou ako zjavne getString.
Takže teraz, keď som ísť sem dole, priblížiť, a re-run zvonenie hello.c.
Sakra, ďalšia chyba.
Ale my sme nikdy nevidel tento.
>> To je trochu viac ezoterický zistiť.
Ale to je zámerne na obrazovke, pretože sme chceli rozprávať tento príbeh.
Pri kompilácii hello.c, rovnako ako obrázok z predtým navrhol,
ste len prevod, ktorý Zdrojový kód núl a jednotiek.
Teraz zamestnanci CS50 pred niekoľkými rokmi napísal CS50.h a zodpovedajúci súbor,
CS50.c.
A my sme pred niekoľkými rokmi, zostavené súbory
do súboru, ktorý sa stane byť nazývaný CS50.o.
>> Alebo to môže byť premenovaný niekoľko rôznych vecí.
Ale to je jednoduchý spôsob, ako premýšľanie o tom.
Takže sme zostavili CS50'S knižnica do núl a jednotiek.
Ale nikde som je uvedené že chcem spojiť svoje nuly
a ty na mojom hello world Program sa núl a jednotiek
že CS50 zamestnanci vytvorili niekoľko rokov pred do jedného kompletného programu.
Všetko, čo som špecifikovaný písomne rinčať hello.c je zostaviť hello.c.
>> Ja som nepovedal, rinčanie sa odkaz do núl a jednotiek
že CS50 personál vytvoril pre vás pred časom.
Takže je to jednoduché opraviť, pomlčka l na odkaz, CS50.
A budeme opäť vidieť Netrvalo dlho a znovu a znovu.
Povšimnime si ale teraz tam bol žiadne sťažnosti.
Takže teraz, keď spustím bodka lomítko Dobrý deň, teraz to funguje.
Aj keď je to trochu zavádzajúce, pretože som znova, čo súbor?
a.out.
>> Tak nech mi pretočiť na chvíľu.
Program, ktorý sme práve zostavený má tri riadky kódu.
Keď som bežal Hello World, ahoj moment Pred Nevidel som uviesť svoje meno.
A to preto, že som bežal starú verziu programu.
Ale či naozaj spustiť bodka lomítko a.out Zadajte, uveďte svoje meno, Rob, ahoj,
svet.
Hm.
Je to druh chyby.
Asi chcel povedať Roba, že jo?
Takže to, čo je oprava tu v kóde.
STUDENT: [nepočuteľné].
DAVID Malan: Presne tak.
Tak som potrebné, aby sa toto záverečné vyladiť tak, že som okolo v zástupnom symbole,
ako vyplniť prázdne, ako sme to urobili pred chvíľou.
Ale percent s je teraz že vyplniť prázdne.
Tak konečne poďme odhaliť jeden posledný detail, takže tam žiadne kúzlo.
Chystám sa ísť dopredu a zbaviť Halo.
Chystám sa ísť dopredu a zbaviť a.out.
Takže teraz nemám žiadne programy, len môj zdrojový kód.
A ja budem bežať mierne dlhší príkaz, zvonenie
uháňať o Hello hello.c prístrojovú LCS50.
>> Teraz to začína trochu jet jedným uchom dnu a druhým von možná.
Ale len odhaliť, čo to robí.
Clang je kompilátor, pomlčka LCS50 zámerne na samom konci
robí to, čo vo vete?
Odkazy na knižnice CS50.
Chytí nuly a tie, ktoré zamestnanci z
a crams ich do svojho vlastného programu.
Takže posledná otázka po ruke je, čo je pomlčka o ahoj pravdepodobne
robí, aj keď ste nikdy videl túto syntax?
>> Výstup programu, ktorý je nie pomenovaný predvolené a.out.
Skôr je to s názvom Dobrý deň.
Takže teraz nie je a.out.
Žiadny takýto súbor alebo adresár, pretože som výslovne povedal,
tento program volania Dobrý deň, tak, že Teraz môžem zadať názov takého
a majú sa chová.
>> Teraz úprimne, chlapec, je to, že nezaujímavé mať
mať na pamäti, to všetko málo markant, že jo?
Tak poďme do toho a sa opäť zbaviť ahoj.
A poďme sa vrátiť do sveta, vo ktoré stačí povedať, aby ahoj.
Ale to je kúzlo, ktoré Skontrolujte, či je robí pre vás,
to je nuda, že to robí pre vás.
A ako naše programy a problémy dostať zložitejšie,
ako bude skutočne váš priateľ.
Vzhľadom k tomu, nie príliš dlho od tejto chvíle budeme
mať programy, ktoré sú napísané nie s jedným súborom, ale niekoľko súborov,
a aby sa automatizovať proces zostavovanie všetko pre nás dohromady.
>> Takže teraz tlačiť.
printf je vnútri tohto súboru, štandardné I / O bod h, že sme nevideli,
ale je tu viac než to printf.
K dispozícii je spätné lomítko n, ale je tu tiež veľa ďalších escape sekvencií.
A escape sekvencie je len ozdobný spôsob, ako hovoriť niečo
ktorý začína spätným lomítkom, nie lomítko, spätné lomítko,
a robí nejaký zvláštna vec.
A nebudeme zaoberať väčšina z nich, ale prečo je tam spätné lomítko dvojité úvodzovky,
myslíš?
Prečo je to divný sled znaky, spätné lomítko dvojité úvodzovky,
prečo by to mohlo byť užitočné?
STUDENT: [nepočuteľné].
DAVID Malan: Presne tak, jo?
Spomeňte si na naše hello world programu že sme videli docela niekoľkokrát teraz,
zakaždým, keď sme videli, že hello world Program sme mali dvojité úvodzovky vnútri
ktorý je ahoj čiarka svet spätné lomítko n.
Ale myslíte, že sa na seba, Čo vás, či skutočne
chcel vytlačiť úvodzovky?
Váš prvý inštinkt môže byť, vôbec sa mi nepáči vedieť, prečo som chcieť do-- tu
môžeme byť trochu pasívne agresívne, hello friend.
Mohli by sme urobiť niečo takého.
>> Ale prečo je to teraz problematické?
Ignorovanie kučeravé citácie stranou, ktorá Keynote automaticky z nás.
Prečo je to problematické?
>> Presne tak.
Pretože máme ako 4 úvodzovkách.
No prvý, kto pravdepodobne ide s druhou,
a možno aj štvrtý ide s treťou,
alebo, myslím, že som si ani istý, ani počítač bude.
Počítača znova, prekladače znova, sú celkom hlúpe.
Budú robiť, čo len povedz im to.
A ak si nie ste jednoznačné, že sa pravdepodobne bude hodiť chybu.
>> Ak si nie ste jednoznačné, ako sa urobiť arašidové maslo a želé sendvič
podivné veci môže prísť.
Je to rovnaký nápad.
Teraz stačí, keď poviem, že je to niektoré ďalšie escape sekvencie,
ale my prídeme k tým onedlho.
V podstate to útek sekvencie predstavujú niečo
, Že nemusia byť schopní príliš ľahko na klávesnici,
bez mätúcich počítača.
>> Teraz zatiaľ máme zástupné symboly v printf.
Percent d, ktorá môže byť tiež napísané takmer vo všetkých prípadoch ako percento aj,
je zástupný symbol pre aký typ dát?
Aký typ hodnoty?
Desatinné číslo.
Takže vlastne začneme pomocou percent aj preto, že je
Trochu jednoduchšie, rovnako ako celé číslo.
Percenta aj.
Číslo, ktoré sa stane byť desatinné.
>> Percent s už povedal, že zástupný reťazec.
Čo je len slovo, frázy, odsek, esej, čokoľvek.
To je sled znaky určitej dĺžky.
A uvidíme onedlho niektoré z týchto druhých.
Ale percent c je pre jeden znak.
Percent f je pre číslo s plávajúcou čiarkou,
ako reálne číslo, ktoré má desatinná bodka v nej, čo
samozrejme nie je celé číslo.
A je tu celá banda aj ostatným.
>> Medzitým v C, a v mnohých jazykoch,
máme rôzne dátové typy.
Rôzne typy sklenenej misy, ak chcete.
Misa som použil minule bolo pre ping pong loptičky,
ale môžeme tiež ukladať rôzne hodnoty, ako sú znaky a reťazce
a celé čísla v kontajneri, ako premenné a C má tie.
Char je typ dát, typ premennej,
v ktorom môžete uložiť znak.
Plavák je typ premennej v ktoré si môžete uložiť reálne číslo.
>> Int je samozrejme pre int.
A trochu smiešne menoval long long
je miesto, kde si môžete uložiť v podstate naozaj dlhé číslo, s ešte
viac čísel potom Typický int sila obchod.
Ale vrátime sa k tomu onedlho.
>> V CS50 dot h medzitým iný súbor hlavičky
že sme videli pár krát v použití, tam je
Ďalšie dva typy dát, ktoré nie v C existujú obvykle.
Jedným z nich je reťazec, a uvidíme, v pár týždňov čo reťazca naozaj
sú pod kapotou.
A jeden je bool.
A bool je premenná, ktorá sa môže uskutočniť len na určité hodnoty.
A práve na základe minulý týždeň vysvetlenie Scratch,
a v poslednej dobe, C, čo by ste asi
sú dve možné hodnoty pre nejaký kontajner, ktorý je typu bool?
>> Áno aj nie.
Jedna a nula.
True alebo false.
A naozaj je to posledné, ktorý má tendenciu byť konvenčné v programovaní
jazyk, hovorí niečo ako true alebo false.
>> Medzitým knižnica CS50 prichádza s partiou funkciou
že zamestnanci napísal pre vás, okrem toho len dostať reťazec.
Písali sme v pokročilých funkcií, ktoré môže získať celé číslo od užívateľa,
získanie jedného znaku, sa plavák, ktorý
je len číslo s desatinnou čiarkou.
Získať long long, naozaj Veľkú hodnotu od užívateľa.
Takže sme len svedkami v akcie v podobe getString.
Ale prostredníctvom týchto funkcií čoskoro bude schopný napísať
Programy, ktoré sa dostanú vstup od užívateľa.
>> Zatiaľ to považujú programu, a zvážiť
ako sa teraz môže začať pridávať k tomu s novými konštrukciami.
Rýchly víchrica tour a potom sa pozrieme
na niektoré písomné niektoré programy ručne sami.
Od tej doby, ak chceme realizovať stav,
že to nebude vyzerať ako pekný malý pekný kúsok skladačky.
Bude to vyzerať trochu tajomný.
Ale to je kánonický Štruktúra stavu v C.
>> Slovo, ak, dva zátvorky, vnútri ktorej
bude nejaká o logický výraz.
Teraz lomítko lomítko v stredu, to je
v okamihu, keď niečo ako pseudokód kód zástupný symbol.
Ale presnejšie každý riadok kódu v jazyku C, ktorý začína lomkou lomkou
je komentár.
>> Je to ako rýchle poznámky, ktoré vám môžu kladený na esej, vytlačené na papieri.
To je poznámka pre seba.
To nemá žiadny funkčný vplyv na programe.
Je to niečo ako pripomenutie, že je to vaše vlastné dokumentácia o tom, čo sa deje.
Tak to v súčasnosti je akýsi zástupný symbol
pre čo je vnútri týchto zložených zátvoriek
nakoniec bude niečo robiť.
>> Zatiaľ máte dve vidličky v cesty, ak ešte postaviť takto.
Ak môžete, elseif, inak.
Teraz je to stojí za zmienku, a to najmä ak ste googling okolo
online zdrojov mimo zvedavosť, alebo ak si vyzdvihnúť
jeden kurz je Odporúčané knihy o C,
uvidíte, že ľudia majú veľa z rôznych preferencií, ako
vyjadriť sa v kóde.
Niektorí ľudia chceli, aby zložené zátvorky, ako som to urobil tu.
Niektorí ľudia chceli, aby sa kučeravé traky napríklad tu.
>> Niektorí ľudia chceli, aby elses sem a potom to sem.
Je nejaká rada spôsobov, ako písať kód, a žiadny z nich
pravdu o sebe.
Hoci tam je niekoľko že sú dosť zlé.
Ale sú tu ne--, ak je to v konečnom dôsledku veľmi náboženský diskusie.
V skutočnosti, jeden z najviac obťažujúce veci, o informatike
je, ako tvrdohlavý počítačoví odborníci môžu byť.
A zistíte, že v priebehu času dokonca si vytvoriť osobné preferencie
o tom, ako váš kód by mal vyzerať.
>> Nie je to len správať, nie len vytvoriť výstup, ale ako by to vyzeralo esteticky.
Takže to, čo budeme robiť, je vás po spôsob, ako sa k, aspoň zatiaľ,
štandardné CS50 štýle, že aspoň udržuje veci jednotný a ľahko čitateľné.
Ale o tých, rozdiely pred dlho.
>> Boolean výraz v C, ak máte chcel povedať, či je táto podmienka pravdivá
a tá druhá podmienka je pravda, nemusíte napísať slovo
a ako by ste v angličtine.
Môžete použiť namiesto ampersand ampersand, z dôvodov, vrátime sa.
Ak chcete povedať, alebo môžete použiť dve vertikálne pruhy, ktoré sa na klávesnici v USA
je všeobecne vyššia Enter Kľúčom vedľa spätného lomítka.
A to práve znamená, že ak túto podmienku alebo tá druhá podmienka je pravda to.
>> Zatiaľ tam je to šialená vec, ktorá
budete mať príležitosť raz použiť na chvíľu.
Ale je to len alternatíva spôsob, ako vyjadriť sám seba.
To teraz, poďme stanovené, že je to len
ďalšie funky spôsob, ako vyjadriť ak elseif, elseif, elseif, elseif.
Je to len vo formáte, pokiaľ ide prípadov, kedy vás doslova
výpočet hodnôt, ktoré možno budete chcieť skontrolovať.
>> Zatiaľ slučky.
Videli sme porovnanie Stieracie slučkou.
A ja budem mávať moju ruku na čo každá z týchto vecí znamená.
Ale všimnite si, že slučka bude veľmi často začínajú s kľúčového slova.
Alebo to bude začínať kľúčovým slovom chvíľu.
Alebo to bude začínať kľúčovým slovom robiť, a končí kľúčovým slovom chvíľu.
>> Ale to, čo sa chystáme vidieť je vecou ďalšie, ako je tento.
Tu je všeobecne v C, ako by ste mohli deklarovať premennú a dať mu hodnotu.
V jazyku C to nestačí, ako v Scratch, stačí
hovoria mi dať premennú s názvom niečo.
Musíš povedať, C, a povedz váš kompilátor, konkrétnejšie,
aký typ hodnoty, ktorú do chcete dať do sklenenej misy.
>> Je to číslo?
Ak áno, budete musieť Doslova povedal int a potom
názov premennej, potom bodkočiarka.
Ak namiesto toho chcel reťazec a vyzval Je to, ako som to urobil môj kód tu dnes,
by ste povedal reťazci s bodkočiarku.
Ak chcete naozaj dať mu hodnotu potom môžete použiť znamienko rovnosti,
inak známy ako Operátor priradenia.
A všimnite si, ako každý z týchto riadkov kódu
má bodkočiarka na konci.
>> Ale úprimne povedané, to len vyzerá trochu škaredé.
Prečo sa nemôžem povedať k počítaču, aby me variabilné a inicializovať na nulu.
To je, daj mi prázdnu sklenenú misu.
Aj keď môžete.
A tak jeden z rozsudku hovory budete musieť štylisticky v priebehu času
je, že píšete kód, ako je tento, alebo si trochu vyčistiť a zapôsobiť
ľudia od písania dva riadky len ako jeden.
A to by bolo považované všeobecne viac elegantný spôsob, ako
písanie kódu štylisticky.
>> Funkcie sme samozrejme vidieť.
Chystajú sa v tomto formáte.
Názov funkcie, niektoré zátvorky, a potom možno nejaký
veci vnútri.
Alebo môžete vidieť použitie viac funkcií na strane
seba, ako niečo, ako je toto.
Teraz ako tangens, robí Tento vtip teraz zmysel?
>> [SMIECH]
To neznamená, že je to vtipné, ale je to to snáď urobiť trochu väčší zmysel.
Takže teraz poďme do CS50 prístroj na chvíľu.
A dovoľte mi, aby som otvorila jednu ukážku tu.
>> A skutočne jedným z dôvodov, pre zavedenie Katalóg IKEA
a blikajúci obraz z iPhone pred trochu
bolo v skutočnosti nadväzujú spolu Skutočnosť, že len pred niekoľkými rokmi, v roku 2007,
tento kus kódu bol uvoľní, ktorý bol
jeden z prvého prevedenia z kusu softvéru
, Že robí to, čo sa nazýva Jailbreaking.
Pre tých neznáme, jailbreaking niečo ako telefón alebo iPhone
znamená, že v podstate zisťuje na to, ako robiť veci
s tým, že spoločnosť kto robil to nemal v úmysle.
Ako chcete nainštalovať určitý softvér, ktorý nie je v App Store,
jailbreaking telefón, ktorý robiť veci, ako že aj viac.
Ale to, čo bolo zábavné v 2007-- a tam to bolo
desiatky rôznych verziách z týchto vecí od tej doby,
vo všetkých druhoch z languages-- je, že Tento program tu, nazvaný iUnlock,
bol vlastne napísaný v C a tak som vytiahol zdrojový kód k tomu,
len trochu ukázať niektoré podobnosti s konštrukciou
sme diskutovali tak ďaleko.
Teraz je tu oveľa viac zložitosť tu ako sme videli už v triede.
Dovoľte mi, aby som rolovať hore len trochu tu.
>> Ale všimnite these-- tiež môžeme všimnúť niekoľkých věci-- nevšimnúť tieto riadky tu,
vrátane štandardnej I / O dot h.
A all-- linka 24, please-- Všimnite si, štandardné I / O
dot h a celá partia z iných Súbory, ktoré zrejme iní ľudia
písali.
A ak sa prechádzajte to málo ľubovoľne,
Všimol som si, neviem, ako písať to všetko ešte sám nutne,
ale ak je.
Takže zrejme to má pobočku.
>> A keby som prejdite dole trochu Ďalej je tu ešte jeden, ak.
Ak mám rolovať hore, myslím, že okolo riadku 100 som videl.
Tak si nie som celkom istý, ako to funguje ešte,
ale to je pre slučke, čo sa deje na dovoľte mi, aby som opakovať určitý počet opakovaní.
A keď som prechádzať všetky cesta na dno
Vidím, že je tu fungovať sem volal
Hlavné, a niektoré ďalšie úvery pre vaše potešenie čítanie.
>> Takže to je len say-- a dáme Tento on-line medzi zdrojmi stránke kurzu
Kód today--, že aj niektoré z nich zariadenie, ktoré berieme ako samozrejmosť,
Na konci dňa si stále Pomocou týchto základných konštruktov, ktoré sme
bolo zavedenie už tak ďaleko.
To je dosť, že jeden.
Dobre, takže teraz poďme skutočne niečo postaviť.
>> Poďme za niečo hello.c a otvoriť to,
poďme napísať tento program tu.
Chystám sa ísť dopredu a napísať program s názvom adder.c,
ktorého zmyslom života bude ako moja prvá super jednoduché kalkulačky
že len pridáva pár čísel.
Nie preto, že je to ťažké problém, ale preto, že
umožňuje mi teraz zviazať dohromady niekoľko vecí.
Takže budem pokračovať a zahŕňajú Štandardné I / O bod h a CS50 bodka h.
Ja som chcel povedať, int main neplatné.
A v budúcnosti znova vrátime sa k nemu
na v tomto kontexte a prázdnymi prostriedky.
>> A teraz niečo povedať ako printf, daj mi číslo.
A teraz sa na mojom druhom riadku, Ako môžem vyjadriť sám seba, ako
že chcem deklarovať premennú že to bude ukladať int?
Doslova to, čo mám písať, keď chcem, aby vytvoriť premennú, ktorá ukladá int
by ste povedali?
int rovná vezmi_int.
Jasne, tak to funguje.
A práve konzistencia s kódom, budete
viď on-line, nech mi zmena to x, len preto, že x
je spoločný názov premennej použiť, aspoň v algebre.
Teraz mi dovoľte pokračovať a to printf znova.
Daj mi ešte číslo.
A teraz budem druhu o učiť sa od tohto vzoru,
Ja som chcel povedať, int y dostane do vezmi_int.
>> A my sme sa použiť Vezmi_int skôr, ale len
ako GetString ide a dostane reťazec, ako Javier urobil z publika,
podobne robí vezmi_int začne blikať na riadku.
A účinne čakania užívateľa aby to celé číslo, zadaním do
a stlačením klávesy Enter.
Teraz konečne budem robiť to, printf súčet of--
a dovoľte mi, aby som sa fantázia teď-- percent i a percenta aj je prítomný
aj výkričník spätné lomítko n.
A čo si myslíte, že budem dať do teraz ako ďalšie vstupy
printf?
>> Nechcem povedať, doslovne citovať koniec citátu x.
Chcem do triedy X a potom, a teraz poďme fantázie
a poďme sa len predpokladať, môžeme robiť, čo chceme.
Čo chcete povedať ďalej?
x plus y.
A naozaj to bude fungovať.
Je to minimálne programovacie jazyky to pochopiť základné aritmetické operácie,
a tak by to v skutočnosti práce.
>> Tak nechaj ma ísť dopredu a robiť, aby zmije v mojej čiernej a bielej okne
sem, Enter.
Cryptic linka, ale žiadna chyba správy, tak to je dobrý.
Dot lomka výbavu, daj mi celé číslo, 1.
Daj mi ešte celé číslo, 2.
Súčet 1 a 2 je 3.
>> Dobre, takže celkom triviálne programu, ale čo to robí?
Je mi umožnilo použiť funkciu sem volať, volať inú funkciu tu,
dva hovory na vezmi_int, A Tretia výzva na printf,
a potom pomocou týchto zástupných symbolov.
Takže je to trochu viac sofistikovanejšie, než minule.
Ale čo keď chcem trochu milovník?
>> Nechaj ma ísť napred a teraz toto.
Nechaj ma ísť napred a vytvoriť nový súbor s názvom podmienky nulu.
A ja budem šetriť nejaký čas pre kategórie záujmu
a stačí vložiť v tom, že kód ako východiskový bod.
A teraz len tak dal niečo nové tu uprostred.
Takže printf by som celé číslo, prosím.
A to všetko kód je k dispozícii na internetových stránkach kurzu je,
nemusíte písať to všetko v triede, ak nechcete.
int, a teraz idem použitie, namiesto toho, aby X a Y
Chystám sa použiť n, čo je Pravdepodobne najčastejšou názov
k je celé číslo v počítačovom programe.
A teraz chcem urobiť málo rozsudok tu.
Idem zistiť, či n je väčšie ako 0, potom
Chystám sa povedať printf-- Och, printf-- si vybral kladné číslo,
výkričník spätné lomítko n.
Ukončite to.
Inak idem vytlačiť printf ste si vybral záporné číslo.
>> Teraz pred vami na mňa kričať, poďme spustiť tento program.
Nechaj ma ísť sem.
A ako mám zostaviť program volal podmienky pomlčka 0?
Vytvárať podmienky pomlčka 0.
Trochu hlúpe meno, ale-- sakra.
OK, dobré vyučovanie moment.
Prečo sa to zlomiť?
>> Čo som náhodou zavolať tento súbor?
Môžete trochu odvodiť Na karte tu.
Takže to nie je zlé, že som to urobil, pretože to
sa stane, možno niektoré z vás.
Tak som sa náhodou volal môj Zdrojový kód stavu 0.
Ale môj zdrojový kód podľa dohovoru by mali byť v súbore s názvom stav 0 pomlčka c,
alebo čokoľvek bodka c.
>> Takže dovoľte mi, aby som tento problém odstrániť.
Rovnako ako Microsoft Word môžem ísť hore na príkaz Uložiť ako a robiť stav 0 dot c.
Teraz už len stačí, aby bol poriadok, že som ísť dopredu a vyberte
stav 0, čo bola moja stará verzia.
A teraz poďme robiť, aby stav 0, Enter.
OK, sa zdá byť dobré.
>> Stav 0, Enter.
Rád by som celé číslo, prosím, 50, ste si vybral kladné číslo.
Teraz, ako o negatívny 50?
Ste si vybral záporné číslo.
Ako teraz, 0.
Som si istý, 0 to nie je negatívne.
>> Tak to je celkom logické chyby.
Ako môžem tento problém vyriešiť?
Inak, ak n je menšia ako 0, to, inak vykonať môžeme mať trojcestného vetva tu,
printf si si vybral 0.
Takže teraz, keď som znova spustiť tento program po kompilácii ju
opäť s make, a teraz znovu spustiť stav 0, čo uvidím tu
0 mi dáva tento výstup.
Tak kam ideme s tým?
>> No, je to veľmi ľahké stratiť zo zreteľa v lese medzi stromami.
A tak možno usudzovať, s týmto 2 a 1/2 minúty videá
že v konečnom dôsledku je to trochu z reklamy od spoločnosti Google,
ale je to naozaj svedčí o čo aj pomocou týchto základných stavebných
bloky sa môžeme nakoniec urobiť raz máme trochu programovania
znalým pod našimi pásmi.
>> [Prehrávanie hudby]
>> Saro Brierley (HLAS): Bolo to pred 26 rokmi,
a ja som sa chystal otočiť 5.
Dostali sme sa na stanici a sme nastúpili naši vlaku spolu.
Môj brat práve povedal, budem zostať tu a ja sa vrátim.
A ja som si myslel, dobre viete, By som mohol rovnako dobre spať
a on si len ma zobudiť.
A keď som sa prebudil ďalší deň, celý vozík
bola prázdna na splašený vlak, duch Vlak ma berieš neviem kde.
>> Som bol prijatý sa do Austrálie, austrálskej rodiny.
A mama sa zdobia môj izba s mapou Indie,
ktorá položila vedľa mojej postele.
Prebudil som sa každé ráno videl tú mapu, a preto
to nejako stále spomienky nažive.
Ľudia by povedali, že ste sa snaží nájsť ihlu
v kope sena, Sara nikdy nájsť.
>> Ja by som sa zablyslo z miest, ktoré som chodil, bliká mojej rodiny
tváre.
Tam bol obraz mojej matky, sedieť s nohami prekríženými
len sledoval jej výkrik.
Život je to tak ťažké.
To bol môj poklad.
A ja som sa pozeral na Google mapy a si uvedomil, že je Google Earth rovnako.
Vo svete, kde by ste mohli priblížiť, Začal som mať všetky z týchto myšlienok
a aké možnosti že to pre mňa mohol urobiť.
Povedal som si, viete, vy ste mám všetky tie fotografické spomienky
a pamiatok, kde si, a Viete, čo mesto vyzerá.
To by mohla byť aplikácia, ktorá môžete použiť na nájsť cestu späť.
>> Myslel som si, dobre, že som si dal bodka na stanici Kalkata,
a polomer linka, viete, že vás by mala byť vyhľadávanie okolo tejto oblasti.
Tak nejako som narazil na Tieto koľaje.
A začal som po to, a Prišiel som na stanici, ktoré
odráža rovnaký obrázok to bolo v mojich spomienkach.
Všetko uzavreté.
Myslel som, že jo, ja vedieť, kam idem.
Ja som len tak nechať Mapa, že mám v hlave
veď ma a zober ma späť do môjho rodného mesta.
>> Prišiel som až k dverám dom, ktorý som sa narodil.
A chodil asi 15 metrov za rohom,
tam boli tri dámy stojace mimo, vedľa seba.
A prostredný krok vpred, a Len som si myslel, je to tvoja matka.
Prišla dopredu, ma objala a boli sme tam asi päť minút.
>> Chytila ​​ma za ruku a ona ma vzala do domu
a dostal sa na telefóne, kde sa zavolal moju sestru a môjho brata
povedať, že viete, tvoj brat má len
Zrazu sa objavil ako duch.
A potom bola rodina opäť zišiel.
Všetko je dobré, Pomohol som svoju matku von,
že nemusí byť zotročenie preč.
Ona môže žiť po zvyšok svojho života v pokoji.
>> Bola to ihla v kope sena, ale ihla tam bol.
Všetko, čo tam je.
Všetko, čo sa vo svete je na ťuknutie na tlačidlo.
Ale musíš mať vôľu a odhodlanie, ktorí chcú to.
>> [Prehrávanie hudby]
DAVID Malan: Nádherne sweet posudok
len to, čo môžete Teraz to s technikou.
Uvidíme sa budúci týždeň.