>> DAVID Malan: Aquest és CS50, i això és el començament d'una setmana.
I el que pensem que ens agradaria fer és retirar- la cortina d'un dispositiu que molts
de vostès probablement ha caminat més enllà ara des de fa anys, però potser mai
sap el que és.
Així que aquest dispositiu probablement es veurà familiar per a la majoria de vostès, per ara.
>> [REPRODUIR VIDEO]
>> -Un triomf de la matemàtica i habilitat mecànica és aquest gran nou
calculadora automàtica La Universitat de Harvard.
Un complex entramat de problemes en matemàtiques posen a través de la màquina en forma codificada en
cinta es resolen amb precisió en un minut fracció del temps requerit per
càlcul humà.
>> Dissenyat per facilitar totes les formes de la investigació matemàtica i científica,
el cervell mecànic gegant treballar pels Estats Units
Navy fins al final de la guerra.
>> [FI REPRODUCCIÓ DE VÍDEO]
>> DAVID Malan: Així que això és el que es veu en el Centre de Ciències, que és on
que la màquina es troba ara.
En realitat només es veu part.
Només una part es troba actualment en exhibició, i això és un dispositiu anomenat
la Mark I, i va ser essencialment realment una gran calculadora.
Va ser succeït pel Mark II, i és de la marca II que en realitat
obtenir una mica de vocabulari.
>> Aquest és el primer cas registrat de cosa que està a punt de convertir-se en tot el
molt familiaritzat amb el transcurs del semestre -
és a dir, un error.
Així que va resultar en un punt de la Marca Aparells II no funcionava
adequadament, i després d'una inspecció més de prop, efectivament s'ha produït un error - una papallona -
que l'arna -
a l'interior.
I des de llavors, ens hem referit a errors en programes com els insectes.
Així que més del que vindria.
>> Parlant de vídeo, així, si vostè han fet ja, saber que és CS50
òbviament filmat.
Les conferències solen anar just després d' classe en una mena de pre-llançament
format sense editar, i després un dia o dos més tard, vam posar una resolució més gran
i la versió de més qualitat.
Vostè pot recordar Vanessa, que tenia el la fortuna de jugar amb Google Glass,
que vaig recordar carregar aquest temps.
Així que si vols arribar a partir de les classes i jugar, han de treballar avui.
I si voleu veure el que Vanessa vaig veure l'altre dia, el que veuràs
aquí - permetin-me plantejar el volum aquí al meu portàtil.
>> [REPRODUIR VIDEO]
>> -Llavors m'ho dius cua és cap amunt.
Està bé.
Així que tocar això.
Està bé.
Acceptar, Glass.
Gravar un vídeo.
>> Està bé.
Vanessa?
>> [FI REPRODUCCIÓ DE VÍDEO]
>> DAVID Malan: Molt bé, així que la raó que no funciona per a la majoria de vostès en
Al final de la classe va ser perquè vaig procedir per gravar una hora d'aquest
preses apuntant a mi mateix després d' Em vaig posar les ulleres a baix.
Així que avui, vaig a deixar que s'allunyin, però gràcies Vanessa per ser tan
esport bo.
>> Mentrestant, un parell d'anuncis abans que avancem en l'actualitat.
Així que un, CS50 té una tradició de fer tot el possible per intentar fer una molt
gran classe se senti més petit.
I amb aquest fi, gairebé tots els divendres, ens vam reunir en un restaurant
la plaça, foc i gel, amb 30 o 40 dels seus companys de classe i jo, alguns
el personal docent, i només un esmorzar molt informal.
Sovint convidem a amics de la indústria, alumnes de la classe, alumnes de l'
universitat, en realitat només per xerrar cada a altres, parlar de la vida després de
universitat, vida de la universitat, i similars.
Així que si vol participar en aquest primer com el dinar aquest divendres a les
13:15, el cap als quals URL en algun moment.
>> L'espai és limitat, pel que va a fer primer arribat primer servit.
Però farem això una altra vegada en un diari base, pel que no es preocupi si no ho fa
fer-ho en aquest primer lot.
>> Ara, pel que fa als recursos proporcionats curricularment pel curs,
hi ha una gran quantitat, i si vostè no té es va aturar la pàgina web del curs
Ja, en particular, en les conferències, trobareu que tot
que vam fer la setmana passada hi és, tant en vídeo i una espècie
de forma electrònica.
Però més enllà dels vídeos, trobareu que ara hi ha text complet
transcripcions, per exemple, de cada conferència.
>> Així que si realment tornar a aquesta pantalla aquí amb Vanessa, i navegar
pel costat de la pantalla, trobareu que en realitat, no per
La conferència de divendres, però si ens remuntem a Dimecres, ja que aquesta característica té un
pocs dies, trobareu que vostè pot realment aixecar, per bé o per
pitjor, cada paraula que jo o un voluntari a l'escenari, va dir.
I més que això.
En realitat es pot buscar en ell, vostè pot feu clic a qualsevol d'aquestes frases, salta
a aquest punt en el vídeo, tot cap i tal de fer que el material de tots els
més navegable.
>> Però si prefereixes no segueixes amb tant detall, trobarà, per
exemple, aquest petit menú aquí per 1.5x Velocitat, velocitat 2x o S i ja
parlar massa ràpid per a tu, la velocitat de 0,75 x.
Així que adonar-se que tot està disponibles allà per a vostè.
>> Però més enllà d'això, per a les conferències, s'adonen que també fem aquests recursos
també disponible.
Diapositives, codi d'exemple, qualsevol cosa que jo fer-ho en l'escenari o en l'avanç de la classe,
anem a publicar allà, així que pots jugar costat a domicili o en Sanders.
Però el que també pensem que ho fem any per primera vegada també
li proporcionen tutorials d'aquests exemples.
Cada vegada més, com ja he reflectit en el valor de les conferències de CS50, he començat
a qüestionar la utilitat que és per que vostès se sentin allà, per a mi estar
aquí, i per a mi parlar de tu, en particular com el material, la
exemples, es tornen més complexes.
A causa que invariablement, després d'algun nombre de minuts, algú ho farà fora de zona i
després s'oblida d'una idea clau d'algunes exemple, i llavors és essencialment
passat per la resta de la classe, que no és el millor ús dels
seu temps, o, en realitat, la nostra col · lectivament com a classe.
>> I així, el que pensem que ens agradaria provar a fer, en particular per alguns dels més
exemples de complexos que no podria fer justícia a la classe, que no podria
tenir temps per a la classe, o pot només la zona durant, és que anem a produir
una sèrie de tutorials d'aquests exemples de manera que si vostè va a, per
exemple, la pàgina vídeo de divendres passat aquí sota exemples, veuràs que
per al divendres, ara hi ha aquest enllaçar a tutorials.
I el format d'aquests canviarà amb el temps.
Per ara, estem usant una simple YouTube playlist.
>> Però el que va fer amb el nostre equip de producció després va anar a peu a través de cada
i cada un d'aquests exemples de nou, espere assenyalant amb molt més
claredat exactament el que els robatoris de pilota podria ser o hauria de ser de cadascú.
Així trobarà, per exemple, de l'última setmanes, tots els exemples rasca i guanya
travessem es realitzen linealment en què la moda.
Així que no dubti a participar o no participar en aquest material.
Realment un tema d'aquest curs en particular és que hi ha probablement més
en la forma de recursos dels que possiblement podria absorbir més
el curs d'un semestre.
>> Però això és deliberat.
Se suposa que és perquè el cada estudiant pot auto-select
sobre la base del seu estil d'aprenentatge.
Així que si xerrades treballen per a vostè, molt bé.
Si les seccions de treball per a vostè, molt bé.
Si tutorials treballen per millor, fantàstic.
Realment serà a vostè per triar quins recursos funcionen millor per a vostè.
>> Finalment, gràcies a un alumne de l' Per descomptat, també oferim una canònica
conjunt de notes de traçat.
Així que en lloc d'haver de vostès caps en conferències anotant
coses que sorgeixen en la classe, nosaltres, els personal, li proporcionarà el que
creiem que són un conjunt canònic de notes a que alliberar-se d'aquesta distracció, perquè
si vostè està aquí i compromès, que són veritablement compromès amb el que està passant,
amb els seus companys de classe estan fent fins al etapa, amb el que passa a la pantalla,
i no simplement escriure textualment el que va succeir haver estat dit.
Així que adonar-se de tots aquests recursos estan disponibles per a vostè.
>> Seccionament, en resposta a les preguntes freqüents, s'iniciarà aquest dimecres.
Fonamentalment, ens esperem fins després de la majoria altres classes es duen a terme de manera que puguem
minimitzar el nombre de canvis que hem de fer.
Però ve aquest cap de setmana, a partir Diumenge, serà una instància única de
el que anomenem seccions súper.
Aquests seran filmats per aquells que no poden assistir, i, essencialment, la
caps del curs ens van a caminar a través d'alguns de la part C del curs,
cap a un extrem d'un conjunt de problemes, que serà la nostra primera base C
conjunt de problemes.
I aquests seran només les seccions opcionals en previsió del que serà
converteixen en els punts recurrents van portar pel curs 50 més
l'ensenyament dels becaris setmanal.
Els diumenges o dilluns o dimarts, que té 90 seccions hora en un
sentit tradicional, que serà oportunitats per a les mans sobre i més
examen profund de la El material de curs.
>> Sense més preàmbuls, permetin-me presentar els caps dels cursos, que són
darrere de les escenes amb mi, fent que tot passi.
Si els que són aquí avui podria unir-se a mi, Rob i Lauren i José i Lucas, tots
dels quals han estat amb la Per descomptat des de fa algun temps.
RJ és la tercera tals membre del nostre equip.
No va poder ser aquí avui, però em va preguntar per mostrar una foto d'ell.
No estic segur de voler aquest , Però aquí està.
>> I permetin-me que l'equip pugui dir saludar i presentar-se de manera que
vostè es familiaritza amb elles, així com la seva propi company d'ensenyament aquest terme.
>> LAUREN CARVALHO: Hi.
El meu nom és Lauren Carvalho.
Sóc un tutor resident en Leverett House.
També estic molt emocionat de ser un TV cap per CS50 aquest any.
>> CS50 és una classe molt difícil, així com una classe molt gran, així que si
té algun dubte, si tens ganes de que està quedant enrere, no dubti en
arribar a qualsevol de nosaltres en heads@cs50.het, o per a mi, si hi havia
vols jugar amb el meu or cadell retriever.
Aquí Lucas.
>> LUCAS FREITAS: Hey, nois.
El meu nom és Lluc Freitas.
Sóc un jove [inaudible]
la informàtica i la lingüística.
En realitat sóc de Brasil, i també realitzar estudis d'Àsia oriental.
Així que si vostè té alguna pregunta sobre ciències de la computació o l'idioma o
alguna cosa, fes-m'ho saber.
O CS50, especialment.
>> JOSEPH ONG: Hi.
Jo sóc Josep.
Estic estudiant un ordinador principal ciència a Elliott House.
Per tant, anem a veure.
Em veuràs entorn dur un d'aquests enormes càmeres.
Sóc resident fotògraf personal el 50 també, i els estudiants sovint
de vegades em confonguin un turista asiàtic.
>> Així que si em veuen amb una càmera, no fugis.
Només somriure i no siguis tímid.
I espero que els agradi 50.
Em va agradar molt quan el vaig prendre, i és per això que he estat TFing per
aquests tres anys.
>> ROB BOWDEN: Hi.
Sóc Rob.
Aquest és el meu quart semestre amb CS50.
M'acabo de graduar al maig.
Jo era a Kirkland.
Estic emocionat per aquest semestre, i espero que tu també.
>> DAVID Malan: Gràcies a aquest any de caps, i també a RJ.
>> Així que unes notes finals sobre els recursos.
Un, p ajustat 0 ja està en marxa.
Aquest només existeix en la norma edició, que està destinat per a la
totalitat de la classe.
A partir d'p conjunt 1, no serà edicions pirates de la majoria dels conjunts de problemes,
que, de nou, cobrirà el material amb una mica més d'un desafiament, mentre que
encara tocar en alguns dels mateixos temes.
Fer prendre un cop d'ull a la pàgina web del curs perquè l'especificació per p conjunt 0.
>> Les hores d'oficina, també, començaran aquesta setmana, aquesta nit, demà, dimecres,
i dijous a diversos restaurants sales al campus.
Fes una ullada a cs50.net/ohs per a l'oficina hora per al plat, i adonar-se d'aquesta
hi haurà oportunitats molt informal, sens dubte, en l'inici de la
semestre, d'aconseguir amb el seu ordinador portàtil durant les vacances de cervell.
Porta alguns amics i xerrar amb la TF del curs i AC amb qualsevol
les preguntes que pugui tenir.
>> I no puc emfatitzar prou, fins i tot per zero i el problema de setembre 0, no
realment no hi ha pregunta ximple.
No hi ha estudiant massa incòmode de fer preguntes.
Posi aprofitar favor d'aquest recurs.
Serà allà recurrentment llarg del semestre,
com discutirem CS50.
Aquesta és la discussió en línia del curs fòrums en aquesta direcció existeix.
>> El que també farem durant les classes és també monitoritzar això, gràcies a la
equip docent del curs.
I pel que si vostè té alguna pregunta durant la donar una conferència, perquè vaig dir alguna cosa
poc o gens en absolut, per tots els mitjans, demani que, en temps real, si vostè té el seu
ordinador portàtil o telèfon a la pàgina web, i farem el nostre millor esforç en temps gairebé real a
respondre a això.
>> Hi ha alguna pregunta sobre CS 50?
Llavors una de les meves últimes notes.
Aquesta qüestió de la SAT UNSAT.
En acabar les seves targetes d'estudi, si no ho ha fet, s'adonen que la
visió general de SAT UNSAT, disponible per a tots els estudiants, és molt
per ajudar a prendre la vora d'un curs d'aquesta manera, per així dir-ho, de manera que si
trobar-se a altes hores de la nit, 02 a.m., 03 a.m., Realment girar el cap de
la paret on se sap que hi ha el 99% de el camí fins al final, però
té moltes altres coses a fer, Crec que una millor utilització, sovint, de
temps dels estudiants és passar de fet a aquestes altres coses, perquè pugui
optimitzar el seu temps per tot arreu.
I SAT UNSAT és un mecanisme a través del qual vostè pot prendre consol en el fet
que el 99% de la forma en què es sent bastant bo.
>> De la mateixa manera, també, si vostè ha arribat a la Per descomptat, sense coneixements previs o
no gairebé tant de fons com vostè pensar que els seus companys puguin tenir, la veritable
o falsa, s'adonen que aquest és un oportunitat de embrutar-se les mans
amb el curs, posar els peus a la aigua, per així dir-ho, igual que jo mateix
ho va fer fa anys amb el passat / no passa.
Com vaig dir la setmana passada, va tenir aquest curs, igual que altres, no es disposa de
passa / no passa en aquest moment, probablement ho faria mai han posat un peu a
la classe, tot i que feia cinc setmanes, després, canviar d'opinió, que
pot també, i canviar a o de la carta d'estat gradual.
>> Està bé.
Així que mirem les coses d'aquest tipus a Divendres, i anem molt ràpid
per a la transició a una cosa que sembla més críptica avui.
Però és, però, la mateixa idea fonamental.
Quin va ser el terme general que s'utilitza per descriure una peça del trencaclosques
que s'assemblava a això?
>> Per tant, un comunicat.
I vostè pot trucar a això qualsevol nombre de coses.
Però nosaltres l'anomenarem un comunicat, i una declaració
només compta el programa -
o en el cas de Scratch, el sprite -
de fer alguna cosa.
Dóna la benvinguda en aquest cas.
>> Una cosa com això lloc denominat què?
Sí, pel que una expressió booleana.
Una expressió booleana és només una cosa que és vertadera o falsa, i així Raspe
els atrau amb aquesta forma, però també amb un signe d'interrogació per transmetre la
idea que la resposta a aquesta pregunta és vertader o fals, sí o no
un, 1 o 0.
>> I fem servir aquestes expressions booleanes a l'interior de les construccions d'aquest tipus, que
cridem a què?
Per tant, la condició o de la branca.
I la condició que es veu aquí a Zero té un petit marcador de posició per a un
peça del trencaclosques d'aquesta forma, amb el propòsit dels quals és, perquè pugui
arrossegueu-lo i poseu-la a la part superior i després dictar el programa si aquest Booleà
expressió és vertadera, fer aquest conjunt de instruccions, aquest conjunt de declaracions,
cosa fer això altre conjunt d'instruccions.
>> I recorda que pots niu d'aquestes coses.
Tot i que no hi ha molt espai visualment en aquesta peça del trencaclosques, Scratch
creixerà i encongir per adaptar-se a qualsevol peces del trencaclosques d'arrossegar i deixar anar en
no pel que realment pot niar això i tenir una forquilla de tres vies a la carretera.
Si, else if, else.
I fins i tot es pot anar més enllà de major implantació i més si cal.
>> Així, finalment, hem vist com construccions aquest, conegut d'una altra manera com un bucle.
I això és una cosa que fa alguna cosa una i altra vegada i una altra.
En aquest cas, passa a ser un ésser finit nombre de vegades, però també
va veure un exemple on el nombre de vegades provenen d'una variable, pel que
podria canviar.
I també vam veure un altre bloc complet anomenat bloc sempre que
ens va permetre bucle infinitament llarg.
>> Així que una altra construcció que zero 2.0 té - i aquells de vostès més
còmode amb el fons abans són ja ben familiaritzats amb aquest
construcció -
aquestes coses que anomenem què?
Així que cridem a aquestes funcions, en cas contrari conegut com procediments.
Hi ha una lleugera diferència semàntica, però nosaltres els anomenarem tot just funcions.
>> I una funció, en el cas d'esgarrapades, és una peça del trencaclosques personalitzat que
vostè mateix pot crear perquè tingui una nova peça del trencaclosques que, en aquest
cas, es diu tos, que apareix entre tots els de l'altra
peces del trencaclosques disponibles a zero.
Tot i que el MIT no va inventar aquesta peça del trencaclosques, ho vas fer.
>> Per tant una funció li permet crear noves comportament, donar-li un nom de funció i
llavors cridar, per dir-ho.
Realment utilitzar en programes d'una i altra una i altra vegada sense haver d'esperar
per a algú com MIT pel camí de inventar una nova funcionalitat des de zero.
Vostè mateix pot construir aquests trencaclosques peces vostè mateix, i després els reutilitzen
en els seus propis programes.
I anem a veure un exemple recurrent que avui en dia i en endavant.
>> Així que avui, fem la transició ara a alguna cosa més arcà.
Però al final del dia, una cosa més potent i expressiva i més
representant de la ruta que serem en tot el semestre al llarg d'un nombre
d'idiomes -
que de codi o codi font.
I el codi font, resulta que, no és el que un ordinador
típicament en realitat funciona.
El codi font es veu alguna cosa com això.
>> Així que aquest és, de nou, potser el més simple programa es pot escriure en un
llenguatge anomenat C. Anem a començar a es burlen d'aquesta diferència en poc temps, i si
això realment es veu com el grec per a vostè en aquest moment, confia en mi.
Dins d'una setmana o el temps de dos, això serà molt familiar i en realitat
prou representativa de cada vegada exemples de complexos amb què pots trobar
també sentir-se més còmode.
>> Però un no pot executar aquest tipus de codi en general.
Cal convertir-lo en una cosa que el propi ordinador entén.
I per això, necessitem alguna cosa anem a trucar a un compilador.
Un compilador és un programa que usa codi font, com el que acaba de veure, ja que
d'entrada, i produeix zeros i uns com de sortida, en cas contrari
conegut com a codi objecte.
I són aquests zeros i uns que pot tenir un aspecte com aquest que
en última instància, s'entén de la seva Mac o PC.
>> Si alguna vegada has sentit parlar de la comercialització expressió d'Intel Inside, que acaba de
significa que una companyia anomenada Intel ha fabricat el
cervell de l'ordinador -
també coneguda com la CPU, unitat central de procés -
i això és just el que entén patrons
de zeros i uns.
I així, mitjançant la conversió de codi font en Codi d'objecte a través d'aquest procés aquí
que farem amb un parell de comandaments en només una mica, vostè és
la creació de patrons de zeros i uns que els empleats d'Intel tenen
decidir representar certes declaracions.
>> Ara, jo no sé molt bé el que és que amb només fer una ullada a
aquests zeros i uns.
La majoria dels éssers humans en aquests dies no ho fan.
No obstant això, en algun lloc hi ha un patró de zeros i uns que representen la
impressió comunicat.
En algun lloc que podria haver una diferent conjunt de zeros i uns que
representar la idea de sempre o repeteixi 10 vegades o fins i tot miau, si és
en realitat un programa que pot incloure alguns sons.
>> Així que en resum, només els éssers humans han decidit, igual que ho vam fer en ASCII -
per les lletres de l'alfabet la setmana passada - els éssers humans han decidit que fins i tot
patrons més complexos de zeros i uns representar un comportament més complex
com la impressió o el dir o miolar.
I per avui, i en gran mesura endavant en el semestre, anem a prendre per
fet que algú s'ha adonat la manera de fer que la cartografia.
Però, d'acord amb aquesta idea de capes a la part superior de l'obra de persones
que han vingut abans que nosaltres, es durà a assegut el fet que això va en
sota de la caputxa.
Però estem molt més interessats en la construcció de coses que són més
interessant per sobre de tot això.
>> I així, de fet, el primer programa que escriure en scratch va ser aquesta super simple
un, Hello World.
I vostè pot pensar en això com la programa principal que regeix Scratch
comportament a partir de divendres passat.
>> Avui, anem a començar a traduir Raspe les peces del trencaclosques en
codi font en aquest llenguatge anomenat C de manera que el que semblava això en
Divendres, a partir d'avui en endavant, és Ara va a tenir aquest aspecte.
És cert que més críptic.
És bastant molest i tipus de compte adormidor per veure totes les cites
i el punt i coma i els parèntesi, i així successivament.
>> Però si comences a fer cas omís de tot el que no ho entenc, i realment mirar
en l'essència del text en blanc sobre la pantalla, sens dubte es veu, com jo,
"Hola, món". Que s'alinea amb la declaració porpra sobre de la tapa, i resulta
que la paraula clau principal es va a alinear conceptualment amb quan està verd
bandera clic.
>> Així, en altres paraules, mentre que a Scratch, implementem aquest programa Hello World
amb aquestes dues peces d'un trencaclosques, en C, anem a posar-la en pràctica amb aquests
quatre línies una mica críptics.
Però a mesura que ens submergim més profundament en això, vostè veure que cadascun dels
caràcters blancs a la pantalla en realitat té un significat important,
i la majoria dels nostres programes es van a mirar estructuralment el mateix.
Així que una declaració, per ser clars, el que semblava "dir hola món" a la
Divendres va a començar a cercar com aquest dilluns.
printf ("hola, món").
I hi ha alguna cosa estranya barra invertida n, no hi ha parèntesis, hi ha
punt i coma.
>> Però al final del dia, la tecla portar avui és que tot el que estem fent
és traduir les coses de la imatge formar la forma de text.
Així que un bucle que es veia així la setmana passada es va a veure ara
alguna cosa com això.
>> I permetin-me rebutgen, igual que en Scratch, hi ha diferents maneres de
aconseguir el mateix objectiu.
El mateix en C. Jo no estic mostrant l'únic manera de fer les coses, sinó una forma de
traduir això per sempre bloquejar a un bucle en C.
>> Aquest d'aquí, repetir 10 vegades.
Aquesta realitat tipus de corbes del ment la primera vegada que ho veig.
Però per posar en pràctica que, en endavant, anem a utilitzar una
de llaç, per dir-ho.
I és clar que hi ha una sintaxi que és un petit complex d'allà amb I i
igual i 0, però un cop que ens submergim en aquest avui endavant, et vas
veure que això és tot, simplement fent algunes aritmètica bàsica per a nosaltres des de 0
en un màxim de 9 o 10 en aquest cas.
>> Finalment, amb variables, com es recordarà que una variable és una peça d'emmagatzematge.
Bé, el que teníem a l'esquerra hi el passat setmana es va a veure una mica de
una cosa semblant aquesta setmana.
Però, de nou, més en l'altre.
>> Vam tenir expressions booleanes, que la setmana passada, semblava això.
Aquesta setmana des d'ara, van a començar a mirar una mica com això.
>> I aquesta realitat és una mica tranquil · litzador.
En realitat és gairebé tan simple com els blocs verds.
Però aquí tenim, de nou, una nova sintaxi amb símbols d'unió, però es pot
potser endevinar mentre que a Scratch, que per exemple A-N-D, pel que sembla en C, estem
dirà ampersand ampersand.
Però tot això es convertirà en natural abans de temps.
>> Condicions.
La setmana passada, semblava que aquesta a l'esquerra.
Aquesta setmana, a la dreta, és va a semblar això.
Però, de nou, el punt clau aquí és que com vostè veu les coses com que el
la dreta, i sobretot si menys còmode, és una mena de sobre la seva
cap, et donen una mica aclaparat que Realment no tinc idea del que podia
possiblement arribar a que des del principi -
sense joc de paraules -
només s'adona que és realment la mateixa idea que probablement es va sentir molt més
natural de la setmana anterior.
I fins i tot si no s'ha capbussat en Problemes de 0, m'atreviria a dir que trobaràs
que les peces del trencaclosques són bastant intuïtiva, o almenys
arribar a ser tan llarg del temps.
>> Així que anem a bussejar polz
Anem a embrutar-nos les mans aquí amb aquest primer programa senzill.
I el simple és, per descomptat, relatiu.
Per a això, canviaré les pantalles a aquest dispositiu que es diu el
CS50 aparell.
L'aparell CS50 és un tros de programari que s'executa dins d'un
finestra en el meu Mac, i també es pot executar en una finestra interior del seu PC, que
em permet tenir exactament el mateix Entorn d'ordinador ja que cada TF, com
cada CA, ja que tots els estudiants a la classe.
A causa que l'aparell CS50 és literalment altre sistema operatiu
anomenat Linux -
específicament Fedora Linux -
i nosaltres, el personal, hem configurat el procés d'instal · lació d'aquest
sistema operatiu de tal manera que un, ha una mica de CS50 logo al
mig, dos, hi ha un menú personalitzat la part inferior, i tres, pedagògicament,
hem simplificat la interfície d'usuari com tant com sigui possible perquè quan
ho primer aquesta cosa pel seu compte Mac o PC, que tenen el mateix
medi ambient en tot el món, i tenir totes les eines que vostè necessita
per al curs sense haver de calcular com instal lar cada un i
totes les eines de forma individual.
>> Així que això sembla relativament com Mac OS o Windows.
A la cantonada inferior esquerra, que essencialment tenir un menú Inici de
tipus, o un menú Apple.
I llavors vostè té el que es sospita seran els seus tres icones més comuns.
Es tracta de Chrome.
Hi ha un navegador dins l'aparell.
>> Dos és un programa anomenat gedit, que vam veure breument la setmana passada, que és
un editor gràfic.
I tres és un programa Terminal, que és una finestra en blanc i negre de
antany que ens permet escriure més arcans ordres però més potent en
nostre teclat.
Així que seguiré endavant i feu clic a gedit, i estar segur que el problema
1 setembre, que es publicarà el divendres, es caminar a través de tots aquests mateixos passos.
>> Tingueu en compte que tinc una molt simple interfície d'usuari amb tres parts.
A l'esquerra, tinc un gran buit finestra anomenada codi font.
Aquí és on vaig a veure un resum de qualsevol codi que escric.
Al costat dret, tinc un gran fitxa, en l'actualitat no són estalvis, i això és
on el codi es va a anar.
I en el fons, he incorporat una Finestra de terminal, un blanc i negre
demanarà a la que puc escriure ordres per compilar i executar els meus programes - que
És a dir, fer i executar els meus programes.
>> Així que anem a començar simple.
Déjame anar a Arxiu, Guardar.
Vaig a seguir endavant i entrar en jharvard.
Per tant l'aparell, amb independència del que el seu nom és, pertany a un tipus anomenat
John Harvard, que té una casa jharvard directori a on tota la seva
arxius aniran.
És la seva pròpia còpia del seu compte, així que no hi som tots compartint
el mateix disc dur.
Només tens la il · lusió del propi John Harvard.
>> Amb anterioritat, en realitat instal · lat Dropbox.
L'aparell ve amb preprepared Dropbox perquè si alguna cosa surt malament
durant el semestre, si tens configurat l'aparell amb un lliure
Compte de Dropbox, tots els seus arxius ser copiats automàticament pel que
pot recuperar molt fàcilment.
I jo vaig a anar al meu Dropbox directori, i ja va
ser un parell de coses allà.
>> Però seguiré endavant i aneu a Fitxer, Desa.
Vaig a anar a jharvard, Dropbox, i aquí, vaig a
donar el meu programa d'un super simple nom, hello.c, a continuació, deseu.
Així que tinc la mateixa interfície actual.
L'únic que ha canviat és la pestanya dalt.
Així que estic molt ràpidament crearà que el programa de l'
llisca fa un moment.
>> Així que en main (void), i després printf, "Hola, món", un tant críptica
barra invertida n, prop de cotització, prop entre parèntesis, punt i coma, i
després Ctrl S per desar.
I fixin-se en un a part el que acaba aparèixer aquí a la part superior esquerra.
I això no és útil avui en dia, però serà útil en el temps.
Vostè acaba de veure, de nou, un resum de el codi que has escrit.
I com vaig escriure una cosa anomenada principal, és per això que la paraula principal aparèixer
fins allà.
No obstant això, per a la major part, no cal que en l'actualitat.
>> Molt bé, així que em diuen que aquesta és la meva primer programa escrit en una programació
llenguatge anomenat C. Sabem des de divendres que el que aquesta cosa va a fer
molt sense interès quan funcionar només es mostra -
en altres paraules, imprimir, com un ordinador científic diria -
hola món a la pantalla.
Així que per fer això, et donaràs compte de que tinc anar aquí al meu terminal
finestra, i ara tinc un parpelleig ràpid.
Però això és ara una versió del teclat el meu directori home Harvard John.
És una forma de teclat a través del qual per a navegar pel disc dur.
>> Així que en realitat no puc escriure com ho vaig fer la setmana passada fan hola, perquè és
diré cap regla per fer diana -
alguna cosa que està malament.
Jo no sé molt bé el que el missatge mitjans, però això és perquè per defecte,
quan aquesta finestra en blanc i negre és obert, estic dins de John Harvard
directori d'inici.
Però on puc guardar aquest programa?
En la meva carpeta de Dropbox.
>> Ara, tots hem crescut amb equips en què només cal fer doble clic a
a la icona d'una carpeta, obre, i llest.
Aquí és on l'arxiu anomenat hello.c seria.
Així que, de fet, farem això.
>> Déjame anar per davant i minimitzar gedit igual que ho faria en
Windows o Mac OS.
Déjame anar a la Home carpeta a la part superior esquerra.
Jo veig aquí un munt de carpetes.
Aquí està la meva carpeta de Dropbox.
Les marques de verificació vol dir que ha estat sincronitzat.
I hi ha un parell de coses aquí, Però cal notar que hello.c és
de fet allà mateix.
>> I així, a Mac OS o Windows, normalment, Em doble clic que s'obre, en
qualsevol programa, i estic llest per sortir.
Però ara, almenys a partir d'avui, ens necessitat de donar un pas cap enrere només per
li donarà algunes eines bàsiques per a la seva caixa d'eines amb les quals fer més
coses de gran abast dins de poc.
>> Així que en aquest sistema, que he de fer la equivalent al doble clic al
Carpeta de Dropbox.
I per fer això, vaig a escriure CD canviar de directori, Dropbox, entre.
I ara compte els parèntesi en la meva anomenats ràpida diu ara que estic en
accent, el petit gargot símbol a la part superior esquerra de
la majoria dels teclats / Dropbox.
Això és només la notació abreujada de dient humana, que ara està a l'interior de
la carpeta de Dropbox, com si havies doble clic.
>> Així que ara si segueixo endavant i escriure make hola, entrar, veig un molt críptica
comandament, però no un missatge d'error, el que sembla i, a continuació,
un altre parpelleig ràpid.
I si vostè recorda, sempre tan ràpidament el divendres, ho vam fer. . / Hola.
>> El que estàs a punt de veure és el resultat de la meva execució d'aquest programa, o, a Mac
Termes OS i PC, si hagués normalment dupliquen feu clic a un programa -. una aplicació
programa o un arxiu. exe, s'obre una finestra i s'executa.
Mecanografia. / Hola és com doble clic en un programa per executar-lo, però
utilitzant el teclat.
>> Introduïu, hola món.
I això és tot.
Així que anem a burlar-se això a banda del que no se sent massa a Grècia.
>> Així. / Significa què?
Qualsevol que hagi navegat un teclat entorn com aquest, ¿quin punt
referint?
El directori actual.
>> Així que el directori actual és sinònim d'una carpeta.
Així dient slash dot, que estic dient, buscar un programa que es diu hola al
directori actual -
a la carpeta actual.
En altres paraules, la meva carpeta de Dropbox.
I és per això que prement Enter després realment s'executa el programa.
>> Si jo ara de tipus LS, noti que veig tot en la meva carpeta de Dropbox.
Obtenir Started.pdf, que Dropbox li dóna de forma gratuïta, les meves fotos
directori, un directori públic, que no hagi guardat Document 1 que vaig fer per error un
Fa instant, foo.c, que vaig fer anteriorment avui en dia, i després dues línies -
hello.c i hola.
>> Hello.c és el programa que vaig escriure amb gedit, i el que és hola en verd?
La salutació en el verd és l'executable.
En altres paraules, quan em vaig trobar amb aquesta comanda fa un moment - permetin-me rotllo
enrere en el temps -
quan em vaig trobar realitzar hola, això és el pas intermedi aquí.
I va prendre hello.c com a entrada -
També conegut com a codi font - i va produir una fitxer anomenat hola com sortida, que
conté tots aquests zeros i uns.
I per això, al final, no puc realment executar una ordre com. / hola.
A causa de Intel Inside, el meu operatiu sistema, Linux, obre aquests zeros
i altres, els alimenta al cervell de l'ordinador -
la CPU -
i que la CPU sap, oh, això és un patró de zeros i uns que diu
imprimir el següent a la pantalla.
>> Què és el següent?
Citar fi de la cita, "hola món".
>> Molt bé, així que un breu resum d'alguns aquestes comandes perquè puguem començar a
prendre per fet.
Permetin-me Pas a la on ho deixem.
I et recordo que teníem CD a les nostres esquenes acabar fa un moment.
Aquests són, m'atreveixo a dir, per propòsits d'avui -
potser aquesta setmana - els únics comandaments que podria haver d'escriure en el símbol
demanarà més fer.
>> Així CD estava de què?
Canvieu el directori.
És només l'equivalent a dues en fer clic en una carpeta.
I en un a part, si tens perdut mai a l'interior de la
aparell, de manera que Dropbox -
Vull tornar al meu directori jharvard -
en cas de dubte, CD, entrar, sense més paraules, i només vostè cremalleres darrere
al punt de partida, que és una mica de bon drecera.
>> Està bé, així que ara altres ordres.
LS.
He escrit que fa un moment.
Què pensa vostè LS vol dir?
>> Per tant, la llista, no?
De tornada en el dia, quan els éssers humans venien amb aquestes comandes, que
estaven tractant de ser eficient, i més aviat mecanografiar L-I-S-T enter, es
decidir LS.
Això està bé.
Sona bastant com llista.
Anem a LS tipus entren, i que llista els arxius o carpetes en el meu
carpeta actual.
>> mkdir, probablement pugui endevinar.
Feu directori.
Així que no et vas a algun menú arxiu i escolliu Carpeta nova en aquest entorn.
Més aviat, escriviu l'espai de comandament mkdir i després el nom de la carpeta
que voleu crear, i es durà a terme.
>> rm, probablement pugui endevinar.
Treure o eliminar.
Així que si voleu eliminar un arxiu, se li veure en el conjunt de problemes com
pot fer això.
I rmdir, treure el directori.
>> Així que, de nou, jo m'ocuparé de volar a través d'alguns d'aquests detalls, un, perquè
no tots són tan divertit per passar llavors, sinó dos, li donarem a
molt més detall en qualsevol dels El problema de curs estableix, en particular,
les edicions estàndard, qualsevol dels passos que és possible que hagi d'escriure el
que s'obté més i més còmode amb aquestes coses.
>> Però ara m'ho dius esmicolar una cosa més.
Quan escrivim fem hola fa un moment, vam veure un script críptics.
Hem vist, un cop més, fem hola.
Bé, anem a fer això.
Estava a punt de cometre un error, però [Inaudible] ara admetre que estava a punt de
i ho fa deliberadament.
>> Què vaig fer malament ara?
Sí, així que no estic al Dropbox directori, perquè fa un moment em
CD amb tipus i prem enter.
Que m'has nou al punt de partida, que no és on el meu arxiu
És a dir, el que realment necessito fer CD Dropbox Entro, i ara que puc fer hola rm
introduir, retiri fitxer normal hola.
No sé per què és tan críptica.
Això només significa que estàs segur que desitja eliminar hola?
Pot escriure i per a si, entrar, i ara s'ha anat.
>> I ara, si escric realitzar hola de nou, és tornarà a crear el codi objecte,
recrear aquests zeros i uns.
Però quin és el tracte amb aquesta comanda molt llarg?
Bé, anem a burlen això a part en poc temps, però fer -
Li vaig dir una mica d'una mentida blanca abans -
no és un compilador.
Make és un programa que automàticament s'adona de com es porta un
compilador per a vostè.
>> Així que el comandament que realment hauria de ser execució per tal de convertir hello.c
hola mira en realitat una mica de la mateixa família.
I Déu no ho vulgui tenim que realment recordeu que escriure cada vegada que tota
script fora.
El propòsit de fer a la vida és recordar que el grau de complexitat de
nosaltres i automatitzar el que d'una altra manera ser mesures molt tediosos.
>> Però pot aproximar això.
Així per aquesta petita costella aquí, pot aproximar-se al que aquest comandament és
fer-ho simplement escrivint Clang, que és el nom del compilador que serà
l'ús d'aquest semestre.
Si algun de vosaltres alguna vegada han fet iOS desenvolupament per l'iPhone o l'iPad,
Clang és el programa que ha utilitzat dins de Xcode per fer les seves aplicacions.
Clang, però, és un programa més el nom es pot escriure en el símbol
del sistema, i la introducció d'aquest moment, Puc presentar alguna cosa que és un
poc representativa d'ordres de venir.
Així que permetin-me fer això manualment.
>> Així rm hola, i ara compte en cas Jo, igual que una comprovació de validesa -
. / Hola, què creus que hauria de veure si puc fer això?
Algun tipus d'error.
No existeix el directori d'arxius.
Així que un és en realitat bastant directa.
>> Així que ara anem a netejar la pantalla.
Control S simplement esborra la pantalla per eliminar algunes distraccions.
I ara vaig a manualment Clang-o tipus hola hello.c.
Llavors, què és això de fer?
Exactament el mateix que fan que va fer per nosaltres, però em desfaig d'alguns
les paraules supèrflues.
>> Clang és el programa que va a tenir un arxiu. c com a entrada i produir
zeros i uns com de sortida.
Però-oa endavant dirà un interruptor o una bandera.
Això és només l'argot techie per dir aquesta és una paraula que escrigui en l'indicador de
que d'alguna manera influeix en el comportament del programa que s'està executant.
Així que algú vol endevinar -O el que transmet?
>> Sortida.
És només algú decidit-o vol dir sortida d'un fitxer anomenat hola i prendre
entrada sigui quina sigui l'última paraula sobre l' prompt és, hello.c, de manera que si colpeig
Ingressa ara, res sembla succeir.
I per estrany que sembli, en aquest món de programació, si no passa res,
això és probablement una bona cosa perquè no hi ha error
missatge a la pantalla.
Hola, Enter.
El meu programa ja s'ha executat.
>> Però no puc fer petites coses estúpides com això. Clang-o, hihihi, hello.c,
entrar, i ara tinc una idèntica programa anomenat hihihi.
Es comporta de la mateixa, però el nom és diferent.
>> Així que això és només per dir que si es vol per influir en el comportament d'un
programa, que anem a cada vegada més veure coses anomenades
arguments de la línia d'ordres.
Es tracta d'una línia.
Estàs escrivint ordres.
Ergo, la línia d'ordres.
I els arguments de línia d'ordres són només paraules o petits trossos de sintaxi
influir d'alguna manera el comportament dels programes que s'estan executant.
>> Bé, això és potser la més programa avorrit que pot escriure i veure.
Ara farem alguna cosa més interessant.
Deixin-me seguir endavant i crear un nou arxiu.
Vaig a seguir endavant i salvar aquest en Directori de John Harvard,
diguem custom.c, per ser un petit programa personalitzat.
Me'n vaig a acostar al meu superior de les fitxes aquí i començar de nou.
>> Inclogui stdio.h estàndard.
Més sobre això en un moment.
int main (void), més en que en un moment.
printf ("hola, David").
Molt més interessant, no?
>> Així que ara si - no a causa del meu nom, només perquè és diferent -
fer costum entrar.
Personalitzat, hola, David.
Però fins i tot això, també, és una mentida piadosa.
Aquest programa pot ser que també es diu David.C, perquè no és costum
comportament en absolut.
Realment, jo vull un programa que demani l'usuari pel seu nom.
>> Llavors, com ho faig?
Bé, deixa desplaçar-se cap amunt per aquí.
I abans que jo utilitzo una declaració en Scratch, abans d'usar printf,
també coneguda com a funció, permetin-me primer pregunti a l'usuari alguna informació.
>> Així que per fer això, he de fer un parell de coses.
Un, necessito un lloc per guardar l'usuari nomenar després que li he demanat o
per això.
El constructe Què necessito per utilitzar probablement per emmagatzemar un valor com aquest?
Una variable.
>> Així que a diferència de Scratch, on acaba d'obtenir un bon tros del trencaclosques, aquí, hem de
utilitzar, òbviament, paraules a expressar-nos.
I a partir d'ara, cada vegada que desitja un paraula o una frase, en la programació,
anem a trucar a això una cadena.
Així que una cadena és una paraula o una frase.
És una seqüència de zero o més personatges, més formalment.
>> I si vols una variable com per existeix, que ha de dir dóna'm un.
I la manera en què ho fa és dir string s punt i coma, on s pot ser
tot el que vulguis.
De fet, s és una mica decebedor.
Deixin-me seguir endavant i més clarament anomenar nom.
Dóna'm una cadena anomenat nom.
>> Però ara, el que és de la persona nom per defecte?
Bé, si l'ésser humà no escrigui res a, òbviament, no va
que no hi ha valor en el nom.
I resulta que a C, si no dóna un valor d'una variable, que va a
té un valor escombraries.
Podria tenir alguns zeros a l'atzar i estimats, pel que només veurem
escombraries, realment, a la pantalla si intenta mostrar-ho.
>> Però puc arreglar dient, en realitat, botiga dins del nom
després del valor.
La forma d'emmagatzemar els valors de les variables és si vostè té un nom de variable a la
va ser, d'alguna manera cal posar el que que vulgueu emmagatzemar en ella a la dreta, i
la sintaxi del que està passant que és com segueix.
>> No hem vist això abans, però prenem en la fe per un moment que no
hi ha una altra declaració en el món que vaig a trucar de nou la funció,
i aquesta funció és anomenat arribar cadena.
I ho fa literalment que.
D'alguna manera s'obté una seqüència de caràcters del que és humà i després
fa alguna cosa amb ell.
>> I això es veu com sintaxi críptica.
Normalment, si utilitza signes iguals - vostè està en el món de, diguem,
àlgebra, i ja està fet dient que x és igual a 1.
Aquí no estem dient que Nom iguala aconseguir cadena.
Estem dient botiga en nom del que és al costat de la mà dreta
d'aquest signe igual.
El signe igual representa l'operador d'assignació.
És la sintaxi que diu posar el que està en el costat dret dins del que és
a l'esquerra.
Així aconsegueix cadena és una peça de funcionalitat que no només fa
alguna cosa -
pregunta l'usuari per a una cadena -
també retorna, per dir-ho.
>> Així que anem a veure el que està passant a passar aquí.
Vaig a seguir endavant ara i allunyar la imatge, i jo vaig a aconseguir un parell de
errors en el meu sistema.
Vaig a escriure make personalitzat, escriviu.
Wow.
Un munt d'errors.
>> Molt bé, així que això és una mena de aclaparador, sens dubte al principi, però
resulta que tots ells molt certament missatges d'error críptics són
es fa referència a alguns patrons que anem a començar a veure el pas del temps.
Així que aquest vaig a arrencar fora, perquè és primer.
L'ús de cadena d'identificador no declarat.
>> Això només significa que el gedit o Clang, en aquest cas, no sap
el que vull dir amb cadena.
I és que a C, la programació idioma, hi ha en realitat
hi ha una variable de tipus cadena.
C no sap que existeixen cadenes.
>> Però nosaltres, CS50 personal, fem.
I així, abans de classe, creat un fitxer anomenat CS50.h.
I dins d'aquest arxiu - i més en la sintaxi per venir -
dins d'aquest arxiu és una definició del que s'acaba de definir
verbalment com una cadena.
Així que simplement mitjançant la celebració d'aquesta línia de codi en el meu programa, estic ara
ensenyament gedit i fer i Clang tot giri en el que és una cadena.
>> No sé com encara.
En unes poques setmanes, anem a pelar nou aquesta capa.
Però per ara, sabem que això ensenya el compilador què
string que realment és.
>> Així que ara m'ho dius aclarir la meva terminal d'aquí baix.
Permetin-me tornar a executar la duana faci, i jo resolt tots aquests problemes.
Així que això també va a ser un tema recurrent.
Jo només vaig escriure un programa de la línia 9, i però, jo tenia 18 línies d'errors.
Això és una mica intimidatori.
Però adonar-se que sovint en cascada tals que un petit error provoca
la confusió per al compilador, i es veu molt pitjor del que és.
>> Així que ara un observador astut sabrà que m'estic fent una cadena de la
usuari, però no estic realment fer el que amb ella?
Jo no estic fent res amb ella.
Així que si realment va funcionar personalitzada de nou, que va a seure allà.
Què està passant?
El meu programa sembla estar encallat en quina línia, què li diries?
>> Així que en realitat és atrapat en la línia 7.
I no hem vist això abans, però en la línia 7, hi ha, de nou, aquesta
declaració, obtenir cadena.
I fa el que diu.
S'espera ara per a l'ésser humà per prendre la corda.
Això és completament intuïtiu per a mi, l'ésser humà, ja que no he estat informat
el que ha de fer.
>> Però m'ho dius anar per davant en la fe i m'ho dius a mi pretenc ser Rob.
Intro.
Aquest no és el programa del que pretenia.
Així que tenim el nostre primer blog.
>> Però anem a tractar de raonar a través per què aquest és el cas.
En primer lloc, anem a solucionar aquest problema primer.
Voldria afegir aquí una línia que diu: printf, quin és el seu nom?
Farem prop de cotització, tancar parèntesi.
>> Ara vaig a tornar a executar el programa.
Problema.
No estic veient això.
>> Dreta.
No tornar a compilar.
Així que en un llenguatge com C, ja que canviar el codi font no significa
que ha canviat el seu codi d'objecte per generar nou codi objecte,
nous zeros i uns.
Cal tornar a compilar.
Si ara torna a córrer personalitzat, introduïu, ah, una mica més clar.
El meu nom és Rob.
Encara amb errors.
>> I jo diria que hi ha un parell de bestioles ara.
Això només es veu horrible, francament.
Igual que, com a mínim, hauria de tenir un espai allà, o moure el
cursor a la nova línia.
>> I, de fet, la línia nova.
Això és una cosa d'una frase clau aquí que que hem vist, però no definit.
La forma en què s'obté un text per passar a la següent línia,
no fa això.
Això és confús per a l'equip.
Això es veu com dues línies separades de codi, cap dels quals
és perfectament correcte.
En el seu lloc, ha de ser més explícit i dir, dóna'm una nova línia, que
Es representen en C amb una barra invertida n.
>> Així que hi ha alguns d'aquests personatges.
Backslash n fixarà aquesta estètica.
Déjame a compilar el meu programa.
Permetin-me tornar a executar el meu programa.
>> Això es veu millor.
És encara molt primitiu, però també segueix sent erroni.
Així que hi ha una -
fins i tot si mai has programat abans, és probable que pugui prendre una conjectura
per què encara està viciat aquest programa.
Què necessito per fer això Jo no he fet encara?
>> Així que he de fer realment alguna cosa amb nom.
Igual que en el principi, que en realitat podria assignar una variable com n o
combatre com ho vam fer l'última setmana - un valor.
Però si vostè no fa res amb , Res va a succeir.
>> Molt bé, així que anem a resoldre.
Permetin-me tecleig meva variable d'allà, i me n'aniré aquí.
Permetin-me recompilar, em re-run anem, Rob.
Ara només sóc un idiota, oi?
>> Així que això no és realment aconseguir em més lluny.
Però això era una perfectament natural instint, jo diria, oi?
Si la variable es denomina nom, i jo vull anar-hi, per què no ho faig jo
escrigui allà?
>> Bé, per descomptat, tenim per distingir ara
entre el que és una cadena?
Tingueu en compte que entre cometes aquí, hola nom?
En realitat, això en si mateix és una cadena.
Està codificat.
No es tracta del que és humà.
És de mi, el programador original, però tot i així és una cadena.
>> Així que si vostè escriu literalment N-A-M-I a l'interior d'una cadena, el que va a
obtenir models?
Bé, N-A-M-I. En canvi, necessitem dir printf, no imprimeixi
fora literalment nomenar.
Imprimeix el valor del nom.
>> I per fer això, fem el següent.
I això és només una convenció humana.
Lloc Diem% s, i que significa cadena.
I després, al final de les meves cotitzacions de tancament, Vaig a posar una coma i
passar a un segon argument en aquesta norma.
Vaig a escriure el nom allà.
>> Així que ara tenim un compte lleugerament nova sintaxi.
Encara tenim dos parèntesis i a partir d'ara deixeu-me dir-los que les coses
entre parèntesis, representa arguments en una funció -
entrades que d'alguna manera van per influir en el seu comportament.
Així que per aquesta lògica, quants arguments sí que sembla printf ser
prenent en aquest moment?
>> Per tant, sembla estar prenent dos, i això és de fet implicava
per la coma aquí.
Així que aquest és un argument entre cometes.
Tot i que té una coma al mateix, tot està entre cometes, el que significa
és una cadena llarga.
Coma, nom de la variable.
>> Així que ara vull allunyar.
Permetin-me tornar a executar-lo.
Rob.
Maleïda sigui, què vaig fer malament?
>> Molt bé, així que has de tornar a compilar.
Així que de nou, errors fàcils de fer d'hora una altra vegada i una altra en.
Així que ara torni a executar personalitzat, Rob, entrar i voila.
Ara tenim un programa personalitzat.
>> Així que ara tinc un programa que l'ús d'unes poques característiques
que són dignes de menció.
Un, estic fent servir CS50.h, en cas contrari coneguda com la biblioteca CS50.
I a l'interior de la biblioteca CS50 són funcions que altres persones van escriure -
és a dir, el personal -
per al seu ús, i obtenir cadena és un d'ells.
>> Dins de la línia 2 és stdio.h, i per què és això allà?
Prengui una conjectura.
El que existeix a l'interior de pares IO estàndard?
Printf.
Així printf, que no es veu enlloc un altre a la pantalla.
Ha de venir amb el equip d'alguna manera.
D'on ve?
Està dins - es va declarar, per així dir-ho, a l'interior de
un arxiu anomenat stdio.h.
>> Ara, per a aquestes coses, anem a tornar per finalment, perquè és una mica
distreure per ara.
Això es refereix al nostre tipus de canvi.
Això es refereix a una discussió.
Però per ara, estem enfocats just aquí en aquestes línies.
>> Així nom de la cadena, només per recapitular, ¿Què va fer això per mi?
Per tant, declara una variable de tipus cadena.
Així que se suposa que ha de ser per a les paraules, no per als nombres.
Com a nota a part, si jo volia que sigui un nombre, jo diria
alguna cosa així com int.
Si volia ser un punt flotant valor, alguna cosa amb un punt decimal,
Jo diria flotador.
Però per ara, que acabo de dir cadena.
>> I m'he donat aquesta variable un nom de nom, però que vaig poder
han cridat res.
De fet, en un principi, el vaig trucar S.
>> Això aquí és un altre comunicat.
Quants arguments és aquest prendre declaració?
Així que és simplement prendre una, i que no és més que un detall estètic de
mostrant alguna cosa en la pantalla per a mi.
Quina és la línia 8 fent en termes simples?
>> S'està posant un valor de la usuari - és a dir, una cadena -
i què fa amb ella?
És essencialment lliurar-lo a la noi a la banda esquerra de la
signe d'igual manera que en aquest cas, la variable de nom en realitat pot emmagatzemar.
>> I a continuació, printf és una altra instància d'una funció.
I diem que cridar a una funció.
Per utilitzar una funció és per cridar a una funció.
Aquesta cosa aparentment pren dos arguments.
Aquest, coma, aquest.
>> Aquest sí que és només una cadena que conté un marcador de posició.
% S vol dir posar una altra cadena aquí.
I així, posant nom després la mengi, que s'insereix
això per a mi.
>> Així que puc fer altres coses encara.
Déjame anar endavant ara i fer una mica de programa de ximple, però em deixa esborrar això,
i vull crear un bucle.
Mentre que és cert.
El símbol veritable òbviament sempre serà veritat.
Llavors, quin tipus de bucle estic induint en escriure una línia com aquesta?
>> Així que un bucle infinit, no?
Així, mentre que és cert.
No hi ha manera que pugui canviar la paraula cert que qualsevol altra cosa, així que això és
només vaig a córrer per sempre.
Així que si alguna vegada s'ha fet amb un programa al teu Mac o PC, que sembla
que han tancat, o que està fent alguna cosa i alguna cosa, i només
no pot aconseguir el que cal sortir a menys que reiniciar l'ordinador o estireu la
Administrador de tasques o similars, aquí hi ha un exemple.
>> Puc dir: "Jo sóc un programa amb errors." Tancar pressupost, prop
entre parèntesis, punt i coma.
Així que de nou, observi els patrons.
Tot i que alguns dels nostres sintaxi és nou, mentre que la paraula clau, la paraula veritable,
noto que tinc la mateixa tipus de claus.
Tinc un punt i coma i parèntesi.
>> Així que ara seguirem endavant i compilar això.
Feu encàrrec, personalitzat.
Així que en aquest punt, no cal reiniciar l'aparell, d'acord?
Així que la lliçó aquí és fàcil amb dos dits, de control C,
deixarem aquest programa.
Però vostè pot veure exactament per què aquesta cosa es repeteix una i altra vegada.
>> Puc fer alguna cosa una mica més complex com un reclam.
Vaig a seguir endavant i dir el següent.
Per int, que és un enter, i és només un nom genèric que donem a la majoria
variables en la programació quan estàs simplement comptant, és igual a 0.
Deixin-me seguir endavant i dir, mentre que i és, diguem, menys de 100, i plus plus.
Anem de nou a aquesta sintaxi, però això significa que només
incrementar i una i altra vegada.
>> I què és el que vull fer aquí?
Printf, "Puc comptar amb i." Aquest és un programa amb errors.
Què és el que realment pretenc aquí?
>> Percentatge no s, però no ho endevinaria això. % D és un nombre enter decimal.
Coma i.
Deixeu-me rodar cap enrere.
>> Permetin-me ara a compilar amb maquillatge.
Permetin-me ara tornar a executar amb el costum.
Puc comptar realment maleïda ràpid quan Escric un programa com aquest.
>> Ara farem una cosa una alguna cosa intencional.
Què farem això mentre i és més gran que o igual a 0.
Què és això provocarà?
Lògicament, això no és tan savi, perquè ara si torna a executar això, recompte,
Ara puc explicar molt, molt alt.
Per desgràcia, gairebé tan alt com pugui recompte és de 4 milions de dòlars, de manera que aquest va
a prendre un temps.
>> Llavors, ¿per què no deixem això com la nostra melodrama, amb la promesa que en
Dimecres, veurem si Aquest programa es porta a terme.
Dos, anem a presentar el que a tu mateix escriure la seva pròpia funció per a aquest mateix
ràpidament, el dimecres farem, ja que transició des de zero en C, comença
escriure cada vegada més complexa programes que fan molt,
molt més que això.
Ens veiem llavors.
>> [Aplaudiments]
>> ALTAVEU 1: En el següent CS50, Trencaclosques dia va ser un èxit.