>> [CHWARAE CERDDORIAETH]
>> DAVID Malan: Pob hawl.
Croeso yn ôl.
Mae hyn yn CS50, ac mae hyn yn Wythnos Un, Parhad.
Felly, un o'r rhesymau pam yr ydym wedi bod yn pasio ymwneud â thechnolegau fel
Google Glass yw eu bod yn dod gyda rhywbeth a elwir yn API, yn
Cais Rhyngwyneb Rhaglennu.
A beth mae hyn yn ei olygu yw bod gyda ffeiliau cywir ac â'r hawl
dogfennau, gallwch ysgrifennu mewn gwirionedd meddalwedd ar gyfer dyfeisiau hyd yn oed fel y rhain.
>> Ac felly yr hyn sydd gennym mewn golwg tuag at diwedd semester yw, os bydd prosiect
cynnwys, er enghraifft, Google Glass gallai apęl, byddwn yn gweld yr hyn y gallwn ei wneud yn
ran hooking â chi i fyny gyda rhai loaner caledwedd yn ogystal â'r
API gyhoeddus hygyrch fel y gallwch dechrau mewn gwirionedd yn creu meddalwedd
sy'n rhedeg ar yr un Google Glass.
>> Ddyfais arall yr ydym wedi bod yn chwarae gyda yn ddiweddar ein bod yn meddwl y gallai fod yn
hwyl ar ddiwedd y semester yn y peth bach yma.
Mae'n cael ei alw Cynnig Leap, a beth rydych chi'n am ei weld yw dechnegol yn
hysbyseb ar gyfer y ddyfais, ond mae'n yn siarad â beth mae hyn yn arbennig
ddyfais yn gallu.
Ac mae'n, hefyd, yn dod ag API drwy y gallwch ysgrifennu meddalwedd i
rheoli eich cyfrifiadur eich hun mewn modd eithaf hoffi y ffilm un munud yma.
>> [VIDEO Playback]
>> [VIDEO END Playback]
>> Felly, ar hyn o bryd, dyfais hyn yn digwydd i cael eu gweithredu cyn lleied o USB
cysylltydd y gallwch dopio i mewn i'ch cyfrifiadur, ond ni fyddwn yn synnu
os cyn hir gennym y mathau hyn o technolegau yn y swp nesaf o gyfrifiaduron
a Macs fel y gallwch, yn wir, rhyngweithio â hi mewn
ffordd fel 'na.
Yn wir, yr hyn yr wyf yn meddwl y byddwn i'n ei wneud, hefyd, yn Yr wyf yn tynnu i fyny ychydig o arddangosiad
rhaglen sy'n dod gyda'r feddalwedd hon.
Felly, yr wyf wedi rhoi'r synhwyrydd bach o flaen fy ngliniadur.
>> Ac fel y gwelwch, mae'n sylweddoli eisoes bod fy llaw yno
rheoli.
A'r holl y cais hwn yn ei wneud swimmingly pethau bach fel hyn.
Ond gallwch weld bod, yn wir, Mae gennyf bum bysedd yno.
Os gallwn ei gael i wneud yr holl 10, gallwch ddychmygu piano taclus
cais neu yn y blaen.
Felly, os hoffech chi i ddod o hyd ar ôl y dosbarth heddiw a chwarae gyda hynny fel
yn dda, mae croeso i chi.
Felly mwy am hynny tuag at ddiwedd y semester.
>> Felly, ychydig o gweinyddol cyhoeddiadau.
Un, wneud yr adran erbyn dydd Gwener hwn am hanner dydd ar cs60.net/section.
Bod URL ar y cwrs hafan hefyd.
Yn y cyfamser, fodd bynnag, supersections Bydd gêm gyntaf y Sul hwn.
Supersections yn beth un-amser, oherwydd ei fod yn mynd â ni beth amser i weithio
gwybod pwy sydd yn y mae adran ac ymhle.
>> Felly, mae hyn Dydd Sul nesaf, bydd yna un adran ar gyfer y rhai llai cyfforddus,
un adran ar gyfer y rhai yn fwy cyfforddus.
A'r rhai ohonoch rhywle yn Mae croeso i fynd i rhwng
naill neu'r ddau neu naill na'r llall.
Bydd y ddau o'r rhain yn cael ei ffilmio.
Byddant mewn awditoriwm fwy na'r byddai adran fel arfer mewn
Ond y nod yma yw rhoi i chi'r rhywfaint o gysur gyda phroblem gosod un,
gyda C, gyda'r CS50 peiriant, mae hyn yn penwythnos, hyd yn oed cyn i chi ddod o hyd i'ch
aseiniad adran ffurfiol.
Felly byddwch yn cwrdd â'ch TF a'ch llai grŵp o sectionmates mewn tua
ymhen wythnos.
>> Oriau swyddfa, yn y cyfamser, wedi bod yn mynd ymlaen.
A oes fanteisio arnynt heno neu nos yfory os hoffech.
Problem set 0 yn ddyledus ar ddydd Gwener.
Mae hwn yn ddiwrnod hwyrach na'r rheolaidd-drefnu ddydd Iau.
Ond gyda phroblem set 1, byddwch yn gweld ei fod yn cynnwys rhai cynhesu
chi eich hun ymarferion â hwy gallu ymestyn eich
Dyddiad cau Iau i ddydd Gwener.
Problem set 1, yn y cyfamser, bydd y tro cyntaf ar wefan y cwrs hwn yn dod
Dydd Gwener, os hoffech i cyrlio i fyny gyda iddo fel y gwneuthum ar un adeg hwyr
Nos Wener yn eich ystafell.
>> Felly cs50.net/appliance yn y man lle gallwch gael y cyfarpar CS50
ein bod yn dechrau defnyddio ar ddydd Llun.
Byddwn yn defnyddio ychydig yn fwy heddiw.
Ond yn dawel eich meddwl bod y broblem a osodwyd 1 Bydd manyleb byddwch yn cerdded trwy
union pa gamau rydych angen i gael y cychwyn.
Felly peidiwch â phoeni am wneud hynny cyn Pset 1 os ydych yn byddai'n well peidio.
>> Mae pob hawl.
Felly, rydym yn edrych ar Llun am cod ffynhonnell, ond yng nghyd-destun newydd
iaith raglennu, sef C. A C, yn wahanol i Scratch, nid yw'n graffigol.
Dyw hi ddim yn bendroni darnau.
Mae'n fwy tebyg i Saesneg cystrawen.
Ac mae un neu ddau o gamau sy'n ymwneud mewn gwirionedd yn ysgrifennu a rhedeg
rhaglen yn C, oherwydd ar wahân i ffynhonnell cod fel hyn, mae angen rhywbeth
a elwir yn compiler.
Ac mewn termau lleyg, yr hyn mae casglwr yn ei wneud i ni?
Yeah.
>> MYFYRIWR: Mae'n trosi y cod eich bod yn ysgrifennu at 0s a 1s.
>> DAVID Malan: Da.
Felly, mae'n trosi'r cod sy'n byddwn yn ysgrifennu at 0s a 1s.
Mae'n trosi hyn a elwir yn cod ffynhonnell i cod gwrthrych, yr olaf sy'n edrych
rhywbeth bach fel hyn.
Ac mae'n eich CPU, yr ymennydd tu mewn eich cyfrifiadur, oherwydd y
bobl a greodd cyfrifiaduron hynny, gwybod pa dilyniannau hynny
o cymedr 0s a 1s.
>> Efallai mae'n golygu print.
Efallai ei fod yn golygu ychwanegiad.
Efallai ei fod yn golygu tynnu.
Efallai ei fod yn golygu arddangos graffig.
Mae patrymau rhagosodol o ddarnau bod y byd wedi penderfynu yn ei olygu
rhai pethau.
Ond ar gyfer y rhan fwyaf yn y cwrs hwn, byddwn yn gweithio ar lefel uwch, ac
byddwn yn cymryd yn ganiataol bod yn bodoli pethau fel crynoadyddion y gall
gwneud ein swyddogaeth cod ffynhonnell yn y ffordd yr ydym yn bwriadu.
>> Felly, y rhaglen rydym yn ysgrifennu cyntaf yr wythnos diwethaf ac yna dechreuodd i borthladd, felly i
siarad, i C gorffennol mae hyn Dydd Llun, oedd hyn.
Pan fydd baner werdd glicio, yn dweud helo.
Roedd hyn, wrth gwrs, ysgrifennwyd yn Scratch.
Ac yr wyf yn honni bod yr hyn sy'n cyfateb rhaglen yn C yn edrych ychydig yn
rhywbeth fel hyn.
>> Felly, yr hyn yr wyf yn meddwl byddem yn ei wneud yn gyntaf yw, gadewch i ni canfod beth ar wahân edrych, ar y dechrau
olwg, rhaid cyfaddef, yn weddol arcane cystrawen, ond byddwch yn dechrau sylwi ar
patrymau yn eithaf cyflym.
Yr hyn byddwn hefyd yn ei wneud heddiw yw darparu chi gyda model meddwl ar gyfer rhai
ganonaidd, mae rhai lluniadau safonol mewn rhaglennu.
Ac yna byddwn mewn gwirionedd yn cael ein dwylo budr gyda rhai enghreifftiau hefyd.
>> Felly, ar gyfer y rhai ohonoch yn fwy cyfforddus, sylweddoli bod yr wythnos hon, ac yna nesaf
Efallai y wythnos yn dda iawn fod yn dipyn o adolygu.
Ond yn enwedig pan fydd y rhifyn haciwr o broblem set 1 yn mynd allan ar y
gwefan cwrs ar ddydd Gwener, yr wyf yn credu fe welwch fod hyd yn oed wrth i chi lenwi'r
rhai bylchau dros yr wythnos neu ddwy nesaf, byddwch yn dechrau i gael hyd yn oed mwy
herio ac yn dod ar draws pethau newydd a mwy newydd.
>> Felly, gadewch i ni canfod y rhaglen hon ar wahân ychydig o linellau ar y tro.
Ar frig iawn, mae gennym beth sy'n a elwir yn dechnegol yn
gyfarwyddeb Preprocessor.
Mae hyn yn unig yw llinell o god sy'n dweud i gynnwys y cynnwys y ffeil,
o'r enw Yr wyf safonol / N, mewnbwn safonol - neu, mae'n ddrwg gennyf, safon I / O, safon
mewnbwn / allbwn,. h, y tu mewn o fy rhaglen eu hunain.
>> Felly, mewn geiriau eraill, os wyf yn ysgrifennodd y rhaglen gyda golygydd testun syml fel
gedit, yr hyn sy'n cyfateb symlach o rhywbeth fel Microsoft Word, sy'n
cyfarwyddyd, # yn cynnwys stdio.h, yn unig yn mynd i ddweud wrth y compiler, chrafangia 'r
cynnwys y ffeil eraill, stdio.h, a bastio yn iawn yma.
>> Yn awr, pam ydw i'n gofal?
Beth wnaethon ni ei hawlio yn y tu mewn i'r ffeil hon enw stdio.h, sy'n cael ei storio
rhywle ar fy 'n anawdd cathrena, neu yn y achos, rhywle yn y CS50 offer?
Rhywun arall roi yno i mi.
Ond beth sydd ynddo?
>> Yeah, felly mae'n ddatganiad o swyddogaeth o'r enw printf.
Felly printf yn cofio y swyddogaeth sy'n arddangosfeydd geiriau a chymeriadau a
rhifau ar y sgrin ar fy cynnig.
Ond doeddwn i ddim yn ei ysgrifennu.
Nid oedd CS50 ysgrifennu.
Flynyddoedd Rhywun yn ôl ysgrifennodd, ac maent yn Rhoddodd y rysáit ar gyfer ei fod yn ein hanfod
mewn ffeil o'r enw stdio.h.
Felly, y llinell gyntaf yn unig yn rhoi i mi gael mynediad â swyddogaethau bod rhywun arall
Ysgrifennodd flynyddoedd yn ôl, ymhlith sy'n printf.
>> Yn awr, y llinell nesaf Rydw i'n mynd i chwifio fy gynnig ar, o leiaf tan yr wythnos nesaf.
Ond am y tro, yn gwybod bod int brif (gwag) yn hanfod yr hyn sy'n cyfateb o hyn
darn pos melyn pan baner werdd glicio.
Y byd, flynyddoedd yn ôl, penderfynodd, os eich bod yn ysgrifennu rhaglenni yn y
iaith o'r enw C, byddwch yn dechrau eich rhaglen gyda llinell
sy'n edrych fel 'na.
Mewn dim ond ymhen rhyw wythnos, bydd yn gwneud synnwyr beth int yw, beth yn ddi-rym.
Ond am nawr, dim ond feddwl am y peth gan fod hyn yn darn pos melyn.
>> Yn awr nesaf, mae gennym Brace cyrliog dilyn gan Brace cyrliog agos arall,
fel petai.
A byddwn yn gweld hyn drwy gydol rhaglenni yn C, yn ogystal â
JavaScript a PHP.
Ac mae'r rhain yn dim ond crynhoi linellau cysylltiedig cod.
Mae'r brês cyrliog agored yn ei hanfod dweud, dyma daw rhywfaint cod.
Ac mae'r Brace cyrliog caeedig, sy'n ongl yn y cyfeiriad arall, dim ond
yn golygu, dyna ni am y cod perthnasol.
>> Felly y llinell llawn sudd yn y cyntaf rhaglen yn yr olaf, printf,
dyfynnwch-unquote, helo byd.
Ac yr wyf yn galw y peth rhwng dyfyniadau hyn y tro diwethaf?
Felly mae'n llinyn.
A llinyn yn unig y techie dymor ar gyfer dilyniant o
cymeriadau, gair, ymadrodd.
Gallai hyd yn oed un llythyren yn cael eu dyfynnu dwbl.
Ond mae'n dilyniant o sero neu gymeriadau fwy.
>> Slaes-n, fodd bynnag, yn edrych ychydig yn rhyfedd.
Ond yn syml, yn golygu rhywbeth syml i'r cyfrifiadur.
Beth sy'n slaes-n?
Llinell newydd.
Felly, dim ond y dilyniant arbennig cymeriadau bod y byd wedi penderfynu
yn golygu rhoi toriad llinell iawn yno, oherwydd bydd y compiler mewn gwirionedd yn cael
ddryslyd, fel arfer, os ydych chi, iawn ddealladwy, ond yn anghywir, dim ond
dechrau taro Enter i roi llinellau newydd yn eich cod.
Mae angen i chi fod ychydig yn fwy penodol gyda slaes-n.
>> A byddwn yn gweld mae rhai eraill o'r fath patrymau ar gyfer cymeriadau arbennig.
Er enghraifft, os ydych chi eisiau gadael eich meddwl grwydro at achos gornel,
Mae'n debyg fy mod i eisiau argraffu dyfyniad dwbl ar y sgrîn ar gyfer
ba bynnag reswm, byddai hynny'n ymddangos i fod ychydig yn broblem, dde?
Oherwydd os wyf yn rhoi dyfynbris dwbl yn y nghanol o "helo, byd," am ba bynnag
reswm, pam mae hynny'n ymddangos yn allai fod yn broblemus?
Ei fod yn torri y llinyn.
>> Mae'r compiler rhaglen yn unig.
Mae rhaglen fel Crynhoydd yn unig yn mynd i ddarllen eich top cod i'r gwaelod,
chwith i'r dde.
Ac os bydd yn gweld tair dyfynodau dwbl yn lle hynny o ddau, nid yw'n mynd i wybod
os ydych yn golygu mai'r peth ar y chwith ddylai fod y llinyn, neu y peth i
y dde, neu'r holl beth.
Mae'n amwys, ac felly yr hyn y mae nodweddiadol Byddai compiler ei wneud yw dim ond freak allan,
ac yn rhoi rhywfaint o neges wall chi, ac gwneud i chi ddelio â'r broblem.
>> Felly, o gofio bod ôl-slaes-n golygu newydd llinell, beth fyddai eich greddf yn awr
dechrau i fod os ydych yn awyddus i gynnwys rhywbeth anghyson fel dwbl
dyfynnu y tu mewn o hyn fel arall-ddyfynnir llinyn?
Dyfyniad slaes-dwbl.
Ac felly byddwn yn gweld hyn fath o batrwm hefyd.
>> Os ydych am wneud rhywbeth ychydig yn rhyfedd, fe welwch fod y
atebion yn aml yn dilyn patrwm, a slaes
yn dynodi dilyniant dianc.
Ac mae'n jyst yn golygu rhywbeth arbennig bod angen i ni gynrychioli mewn
gwahanol ffordd.
Fel ar gyfer sut yr ydych yn cynrychioli a slaes, wel, byddwn ni
dod yn ôl at hynny.
Ond yr ateb, hefyd, mewn gwirionedd ychydig yn amlwg.
>> Felly, gadewch i ni bellach yn cyflwyno rhai eraill lluniadau rhaglennu
a welsoch ym Scratch.
Rydych chi wedi eu cymryd yn ganiataol yn ôl pob tebyg eisoes os ydych eisoes wedi syrthio i mewn i
problem ei osod 0.
Ond gadewch i ni bellach gyflwyno'r gystrawen yn C ar gyfer y rhain yn eithaf 'n athrylithgar fel arall
syniadau, o leiaf rhai ohonynt.
>> Felly syniad hwn o amod neu cangen, rydym ond yn flaenorol
ei gynrychioli gyda chod oedd yn edrych fel hyn ar y chwith yn Scratch -
os yw x yn llai na y, yna dywedwch hynny -
yn lle hynny nawr yn C - gadewch i mi hogi yn ar yr achos symlaf -
rydym yn syml yn mynd i ddweud, os, yn agor parenthesis, rhywbeth yn wir - a
Mynegiant Boole yn mynd i fynd lle yr wyf wedi dweud cyflwr -
parenthesis cau, yna gwneud yr hyn sydd tu mewn rhai braces cyrliog.
>> Felly yma, hefyd, y braces cyrliog yn garedig o fel Scratch yn
Darnau pos-siâp U.
Wneud yr hyn sydd y tu mewn y braces cyrliog.
Yn yr achos hwn, cwtogi slaes.
Ac yn sylwi ar hyn yn ei flaen slaes, nid slaes.
Slaes Ymlaen, ymlaen slaes, ar gyfer y rhai sydd wedi rhaglennu
blaen, dim ond yn golygu -
mai dim ond sylwadau.
Nid yw sylw yn llinell o god, fel y cyfryw.
Mae'n llinell o Saesneg i chi hynny, mae'r dynol, wedi ysgrifennu i chi eich hun i
efallai eich atgoffa i wneud rhywbeth, er mwyn esbonio i chi eich hun, i egluro i
rywun arall, beth yw eich cod yn ei wneud.
Dim ond sylw disgrifiadol.
>> Yn awr, wrth gwrs, gallwn gael dwy-ffordd fforc yn y ffordd yn unig drwy wneud hyn, mae
fforch tair-ffordd yn y ffordd trwy wneud hyn, ac os byddwch yn parhau hyn yn
patrwm, gallwch gael pedair ffordd, pum-ffordd, ffyrc chwe-ffordd yn y ffordd os
angen i chi ei drin, yn wir, bod llawer o amodau.
Ac yna sylwi ar y parallelism yma -
os (cyflwr), arall os (cyflwr), a'r unig un sy'n ychydig yn
ryfedd yw'r olaf, a oedd yn unig yw hynny arall.
Ond unwaith eto, mae hyn yn union yr un fath, gysyniadol, yr hyn yr ydym wedi ei wneud
eisoes, er bod y gystrawen yn cymryd ychydig i ddod i arfer.
>> Yn awr, yn yr enghraifft hon, mae rhywfaint o gystrawen rhyfedd eraill.
Rydym yn gweld printf eto, parenthesis agor, a parenthesis cau.
A'r tu mewn ceir llinyn a ddyfynnwyd.
Mae'r cromfachau, yng nghyd-destun o printf, mynd ar y chwith
a hawl i beth?
Beth ydym yn ei ddisgrifio a ddyfynnwyd llinyn wrth i fwy cyffredinol?
>> Felly mae'n dadl.
Unrhyw tro y byddwch yn cael swyddogaeth, fel printf, ac yna Paren agored a
Paren agos a rhywbeth tu mewn hynny, boed yn llinyn, neu
cyfanrif, neu unrhyw beth arall, mae'r peth yn rhwng ei alw'n cromfachau hynny
dadl.
>> Ac mae dadl yn unig yn dylanwadu ar ymddygiad y swyddogaeth yn.
Yn yr achos hwn, mae'n eithaf clir sut.
x <y yn yr hyn sy'n cael ei drosglwyddo i mewn, fel petai, fel dadl.
Ac printf yn mynd i argraffu yn union hynny.
Gan fod yn sicr, y blynyddoedd person yn ôl a gweithredu'n printf oedd ganddynt unrhyw syniad
hyn yr ydym olynwyr dynol yn mynd i ddefnyddio printf amdano.
Felly dyna pam y dadleuon yn bodoli, i dylanwadu ar ymddygiad ar ôl swyddogaeth yn
ei ysgrifennu.
>> Yn awr, mynegiant Boole.
Rydym wedi gweld hyn o'r blaen mewn Scratch.
Mae'n troi allan yn C gallwch hefyd "neu" at ei gilydd, fel petai.
Dau far fertigol yn golygu y bloc hwn o god, mae hyn yn gwneud hyn, bydd
gweithredu os yw'r amod cyntaf yn wir neu'r ail amod yn wir.
A hyd yn oed er nad efallai y byddwch wedi gwneud hyn mewn Scratch, gallech yn wir
gwneud hyn mewn Scratch, A gallwch hefyd mynegi eich hun yn wahanol -
os yw'r amod cyntaf a'r ail cyflwr yn wir, yna gwneud yr hyn sydd
tu mewn i'r braces cyrliog.
>> Ac yn union fel o'r neilltu, y rheswm ei fod yn a ampersand dwbl a dwbl
bar fertigol, byddwn yn gweld yn y pen draw bod bar fertigol sengl a
ampersand sengl mewn gwirionedd yn wahanol ystyr mewn C. Felly am y tro,
bod dyblygu symbolau yn fwriadol.
>> Felly, gadewch i ni gyflwyno, yn fyr, hwn ychydig arall o gystrawennau.
Nid yw hyn yn hollol cario drosodd i Scratch, ond yr wyf yn honni fy mod yn gallu
gweithredu'r syniad o os arall, os arall, os arall, os bydd datganiad arall yn defnyddio
rhywbeth a elwir yn ddatganiad switsh.
A'r unig reswm hyn yn wir yn bodoli yw dim ond rhoi i chi, y rhaglennydd, a
ffordd ychydig yn wahanol o ddatrys rhai broblem, hyd yn oed er ei fod yn rhesymegol
nid yw'n rhoi unrhyw galluoedd newydd.
>> Gan fy mod yn golygu hyn.
Pan fyddwch yn dweud newid, ac yna gofod, ac yna pâr o cromfachau, y tu mewn
o hynny'n mynd yn fynegiant -
a gallai hyn fod ychydig yn heb fod yn amlwg ar y dechrau, ond nid yw hyn yn ddadl,
dechnegol, gan fod newid Nid yw swyddogaeth.
Felly, ar hyn o bryd, dim ond cymryd yn ganiataol ein bod yn defnyddio cromfachau mewn gwahanol leoedd
am resymau gwahanol.
>> Felly switsh ar fynegiant yn golygu fy mod yn gallu rhoi tu mewn amrywiol o'r rhai
cromfachau lle mae'n dweud mynegiant.
Ac yna os yw'r amrywiol -
debyg fe'i gelwir x, a 'i' jyst yn gyfanrif -
Yna gallaf cyfrif yn fy sleidiau dyma rhywbeth fel hyn.
Os yw x yn fy amrywiol, ac yr wyf yn am wneud rhywbeth os x
yn hafal i 1, gallaf wneud hynny.
>> Os ydw i yn lle hynny am wneud rhywbeth os yw x 2, gallaf wneud hynny.
Else, os ydw i eisiau gwneud rhywbeth arall yn gyfan gwbl, a allaf gael achos diofyn yn
ac os felly, yr wyf yn gwneud hyn beth arall.
Felly, yn hynny o beth, mae'n cyfateb i os yw x yn hafal hafal i 1, arall os arall,
ond yr wyf yn sôn am hyn yn awr yn unig oherwydd byddwn yn gweld eto.
Ond am nawr, dim ond yn gwybod ei fod yn bodoli.
>> Mae pob hawl.
Felly mae'r ddwy ddiwethaf ychydig yn fwy gymhleth ar yr olwg gyntaf, ond maent yn
rhywbeth eithaf syml.
A ar gyfer dolen yn C yn dalp o cod sy'n dim ond yn gwneud rhywbeth eto ac
dro ar ôl tro.
A'r unig beth annifyr am ei bod yn hynny yw ei fod yn ychydig yn cryptig
i fynegi eich hun yn y gylchol patrwm, ond mae'r byd safonol ar
y ffordd ganlynol.
>> Pan fyddwch yn defnyddio ar gyfer dolen, oes gennych chi pâr o cromfachau eto.
Ac yn sylwi ar y ddau hanner colon mewn 'na.
Mae'r ddau hanner colon ar wahân dair gwahanol ymadroddion tu mewn i'r
cromfachau.
Un yw'r initializations hyn a elwir yn.
Mae un yn y cyflwr hyn a elwir yn.
Ac mae un yn y diweddariadau hyn a elwir yn.
>> Edrych arno yn y haniaethol, mae hyn yn gwbl nad ydynt yn amlwg, felly gadewch i ni edrych
mewn enghraifft benodol.
Yn Scratch cawsom bloc ailadrodd.
A dywedodd bloc hwn yn ailadrodd 10 gwaith, yn dweud "Helo, byd." Gadewch i mi wneud cais am
nawr, a byddwn yn dod yn ôl at hyn, a hyn, hefyd, yn cael mwy cyfarwydd i
chi cyn bo hir, sy'n cyfateb C Gallai cod fod yn dweud i fod yn hyn -
a am ddatganiad a gofod, pâr o cromfachau, sylwch ar y hanner colon mewn
yno, sy'n gwahanu tair gwahanol pethau, y initialization, y
cyflwr, a'r diweddariad.
>> Ac yn cymryd dyfalu beth y cyntaf yn ei wneud.
Int i = 0.
Yn nhermau lleygwr garw, beth yw bod gwneud i ni, yn ôl pob tebyg?
Felly yeah.
Mae'n datgan newidyn enw i, ac mae'n ei roi pa werth?
0.
Felly, mae'n creu newidyn a elwir yn i, storio gwerth 0 ynddo.
Dyna'r initialization fel y'u gelwir.
>> Mae pob hawl, yn awr yr wyf hawlio cyn mai'r peth canol, i
<10, yw'r cyflwr.
Felly, beth yn ei wneud?
Wel, yr hyn y mae'r ddolen i wneud pan fydd rhaglen gyda dolen ar gyfer ei redeg, yn
bob tro y cyfrifiadur yn rhedeg drwy dolen hwn, top i'r gwaelod, top i
gwaelod, yn union fel chi guys oedd pan cyfrif eich hunain ac eistedd i lawr,
eto ac eto ac eto, y cyfrifiadur yn mynd
i wirio cyflwr hwnnw.
Ac os fi yn llai na 10, bydd yn gwneud hynny eto.
Ai fi yn llai na 10, bydd yn gwneud hynny eto.
Ai fi yn llai na deg, bydd yn gwneud hynny eto.
Felly, sy'n ymddangos i awgrymu bod gobeithio i yn newid.
Fel arall, byddai gennym dolen ddiddiwedd.
Ac yn wir, fi yn newid, gan fod y peth diwethaf ar ôl y colon yno
yw'r gystrawen braidd yn cryptig o i + +.
Ond y rhai ohonoch sydd wedi gwneud hyn o'r blaen, mai dim ond yn golygu
yn syml yr hyn?
>> MYFYRWYR: [ymyrryd yn LLEISIAU].
>> DAVID Malan: Ychwanegu 1 i i.
Cynnyddu i.
Felly, rydym yn gweld pos Scratch darn ar gyfer hynny, mewn gwirionedd.
Nid oedd yn edrych fel i + +, ond mai dim ond modd, yn syml, y gynyddran
gwerthfawrogi i o 1 bob tro y byddwch yn gwneud hyn.
Felly, yn llythrennol, byddwch yn dechrau drwy i ymgychwyn i 0.
Yna byddwch yn edrych ar eich cyflwr.
Yn 0 yn llai na 10?
Ydw.
Rydym yn mynd trwy'r ddolen.
>> Y peth nesaf i hawlio'r cyfrifiadur mynd i'w wneud yw ei fod yn mynd
cynyddiad i.
Felly, fi yn awr 1.
Mae'n gwirio cyflwr.
1 yn llai na 10?
Wrth gwrs.
Felly mae'n ei eto.
Yna ychwanegiadau i + + i 2.
Yw 2 yn llai na 10?
Ydw.
Ac eto ac eto ac eto.
Ac yn y pen draw, oherwydd y plus-plussing, rydym yn cael i yn hafal i 10.
Yn 10 yn llai na 10?
Wel, yn amlwg nid.
A dyna pryd y y ddolen yn unig ar gyfer dod i ben.
Ac os oes gennych fwy cod ar y sgrin i lawr isod, y cyfrifiadur
elw i redeg y cod yn lle hynny.
>> Felly, unwaith eto, er bod hyn yn mynd i edrych ac yn teimlo ychydig yn rhyfedd yn
yn gyntaf, yn sicr ar gyfer y rhai ohonoch sy'n erioed wedi rhaglennu o'r blaen, mae'n
llythrennol lleihau gysyniadol i'r hyn sydd fel arall yn iawn
pos syml darn yn Scratch.
>> Mae pob hawl, yr wyf yn addo bod yno roedd fod analogs eraill yn Scratch.
Mae hwn yn un hefyd.
A gwelsom y tro hwn yn fyr diwethaf.
Ond cofiwch y byth bloc yn Scratch?
'I jyst yn gwneud rhywbeth am byth?
Yr wyf honni y gallech gweithredu hyn yn y ffordd hon.
A allwch chi mewn gwirionedd yn gweithredu'r mewn criw o ffyrdd gwahanol.
>> Ond mae'r ddolen tra yn unig yw gwahanol C ffordd o fynegi eich hun.
Ar ddiwedd y dydd, ni allwch wneud unrhyw beth sydd â dolen tra eich bod yn
all nid gyda dolen i.
Felly, maent yn ar ddiwedd y dydd swyddogaethol yr un fath.
Ond mae'n eich galluogi i fynegi eich hun ychydig yn wahanol mewn
y ffordd ganlynol.
>> Gyda'r ddolen sbel, dyna beth sydd yn cromfachau sy'n cael ei wirio eto ac
dro ar ôl tro.
A chyn gynted ag y mynegiant yn ffug, yna bydd y ddolen yn stopio gweithredu,
a'r cyfrifiadur symud ymlaen i rhedeg beth bynnag cod arall yr ydych yn
gael yn eich ffeil.
>> Ond yr hyn sy'n ddiddorol yma fy mod yn llythrennol deipio wir.
Ac yn wir yn fath o werth Boole, gwerth gywir neu'n anghywir.
Felly gallai ddod yn wir erioed ffug os wyf wedi llythrennol
caled-godio i mewn i fy rhaglen?
Felly dim.
Mae'n ychydig yn rhyfedd fy mod yn gwneud hyn.
Ond yn wir yn wir.
Does dim plus-plussing.
Does dim defnydd o newidynnau yma.
Felly, oherwydd fy mod yn galed-godio tra bod yn wir, mae hyn yn dolen bob amser yn mynd i werthuso
eto ac eto ac eto.
>> Felly, faint o weithiau yn fyd helo mynd i argraffu ar y sgrin?
Am byth.
Mae nifer anfeidrol o weithiau nes bod y yn marw batri neu ryw allanol eraill
digwyddiad yn digwydd.
Felly, nid yw hyn yn ôl pob tebyg y rhaglen orau i ysgrifennu, oherwydd os bydd y defnyddiwr
Ni ellir byth roi'r gorau iddi eich rhaglen, mae'n yn ôl pob tebyg nid yr hyn oeddech yn bwriadu.
>> Ond weithiau, dylai rhaglenni gael dolen ddiddiwedd.
Er enghraifft, os yw eich cyfrifiadur yn cael cloc arno, byddai'n sicr yn
'n glws os yw eich cloc yw'n cadw diweddaru ei hun am byth, er unwaith y
ail neu unwaith y munud neu rhywbeth fel 'na.
Felly hyd yn oed dolenni ddiddiwedd yn eu lle.
>> Mae pob hawl.
Yn olaf, mae hyn yn un.
Ac mae hyn mae un yn ychydig yn wahanol swyddogaethol, a byddwn yn dod yn ôl i
mae hyn yn ôl pob tebyg yn Pset 1.
Ond mae math arall o ddolen a elwir yn wneud tra dolen.
A'r unig wahaniaeth yma rhwng wneud tra dolen a, dyweder, dolen tra,
yw bod y cyflwr yn cael ei wirio nad cyn i chi weithredu, y cod ond ar ôl
ydych yn gweithredu y cod.
Felly, ar y brig ar gyfer y tra ddolen, tra bod y wneud tra
gwiriadau hynny ar y gwaelod.
>> Ac mae hyn yn unig yn golygu bod y ddolen er Bydd fel arfer yn gweithredu gwaith yn fwy
neu lai o amser na dolen tra?
Allai fod yn fwy amser, oherwydd bod gwneud tra ddolen yn amlwg yn ei ddweud yn gwneud hyn,
Dim ond ar ôl y pwynt eich bod yn gwirio os yw cyflwr y tu mewn i'r
cromfachau yn wir.
>> Felly, byddwn yn gweld hyn eto yn ôl pob tebyg yn Pset 1.
Os ydych chi erioed wedi eisiau gwneud rhywbeth yn o leiaf unwaith ac yna efallai ychydig mwy
adegau, mae hwn yn dda adeiladu ei ddefnyddio.
Ond mae dolen tra, ar y llaw arall, bydd gwirio ei gyflwr yn gyntaf.
A dyna ni am dolenni yn C, yn tra, er bod, ac ar gyfer dolenni.
Ac eto, maent yn 'n bert' n glws mapio yn ôl i Scratch, ac eithrio nad yw hyn yn un yn
yn eithaf yr un analog yn Scratch.
>> Wel, beth am, yn awr, newidynnau?
Felly, mae hyn yw sut yr wyf yn datgan newidyn syntactically y diwrnod o'r blaen.
Roedd gen i int, yr wyf yn hawlio yn gyfanrif.
Yna, wedi cael enw cownter amrywiol, ac yna colon.
Felly, beth mae hyn yn llinell o god yn ei wneud?
Mae hyn, yn syml iawn, gan ddatgan newidyn -
hynny yw, ofyn i'r cyfrifiadur, yn rhoi i mi rhywfaint o cof, yn rhoi rhai darnau i mi - yn
y gallaf storio beth?
Mae int.
Ac mae'r colon yn unig yn golygu diwedd y llinell o god.
>> Yn awr, yr ail linell yn ôl pob tebyg 'n bert guessable.
Beth yw rhifydd = 0; ei wneud?
Mae'n neilltuo 0 i atal.
Ac felly mae hwn yn y peth arall dyna ychydig yn blino
yn erbyn, dyweder, algebra.
Tra yn algebra, yr arwydd cyfartal yn golygu yn hafal i, yma yn C, yr cyfartal
arwydd yn golygu aseiniad.
Felly, mae'n golygu rhoi'r hyn sydd ar y dde i'r hyn sydd ar y chwith.
A byddwn yn gweld symbol arall, yn hafal i yn hafal i, pan fyddwn am brofi mewn gwirionedd
am ansawdd, braidd annoyingly.
>> Ond mae hyn yn ychydig yn aneffeithlon.
Mae'n fath o blino sydd gennyf i ddatgan amrywio ac
yna rhowch gynnig gwerth.
Felly C mewn gwirionedd yn gadael i ni symleiddio'r a dim ond gwneud y cyfan ar unwaith.
Gallwch ddatgan y newidyn ar y chwith.
Medrwch ddal i wneud yr aseiniad ar y iawn drwy roi bod arwydd cyfartal yn
y canol.
Felly, ar ddiwedd y dydd, mae dau hyn yn cyfatebol, ond mae hyn yn un, a dweud y gwir,
Mae'n debyg mai dyma'r arfer yn well i fynd i mewn dim ond oherwydd ei fod yn ychydig yn llai
cod, mae'n ychydig yn haws i'w ddarllen, a 'i jyst yn tynhau
eich cod, fel petai.
>> Unrhyw gwestiynau hyd yn hyn ar y dolenni, ar newidynnau, ar amodau, ar
Booleans, naill ai yn dechnegol neu gysyniadol?
Mae pob hawl.
Felly nawr mae hyn yn un nesaf yn cael ychydig yn fwy diddorol.
Ac mae hyn yn yr enghraifft yr wyf yn rhoi i fyny diwethaf amser mai dim ond mapio enghraifft Scratch
drosodd i C.
>> Felly swyddogaeth.
Yn nhermau lleygwr, beth swyddogaeth?
Got i fod yn fwy beiddgar gyda'ch ateb.
Beth yw swyddogaeth?
>> MYFYRIWR: A yw rhywbeth.
>> DAVID Malan: Beth sy'n bod?
>> MYFYRIWR: A yw rhywbeth.
>> DAVID Malan: A oes rhywbeth.
OK.
Byddwn yn dechrau yno.
Felly swyddogaeth yn gwneud rhywbeth.
Felly mae'n ddarn o god sy'n rhoi ar waith mewn mannau eraill yn y bôn bod
yn wir yn gwneud rhywbeth.
Yn awr, yr hyn sy'n ddiddorol am swyddogaeth yw y gall gymryd mewnbwn,
ac yn gallu cynhyrchu allbwn.
A gadewch i ni mewn gwirionedd yn cymryd golwg ar hyn.
>> Felly, y dyn y tu ôl i'r llenni yn fwriadol funud yn ôl.
Yma mae gennym fwrdd.
Ond mae'n debyg bod hyn mewn gwirionedd yn cynrychioli bocs mawr.
Felly, mae hwn yn blwch du fel y'u gelwir.
Ac yn gyffredinol, mewn dylunio, mewn cyfrifiadur gwyddoniaeth, blychau du yn unig yn cyfeirio at
darnau o ymarferoldeb bod rhywun wedi gweithredu, ac os na
reidrwydd yn gwybod nac yn poeni sut y mae'n gweithredu o dan y cwfl.
Rydych yn unig yn gofalu bod y blwch du, y byddwn yn awr yn dechrau galw
swyddogaeth, yn gwneud rhywbeth.
>> Felly, er enghraifft, os yw hyn blwch du ar y cam yma yn cynrychioli printf, a
swyddogaeth, gwn o enghreifftiau blaenorol sy'n printf yn cymryd un neu fwy o
dadleuon, a'r cyntaf o'r rheini Dylai dadleuon fod yn llinyn, fel
"Helo, byd." Wel, os wyf fi yw'r person ysgrifennu'r rhaglen, ac yr wyf am
defnyddio printf, I, er enghraifft, gallai cymryd darn o bapur gwag yma ac mae
farciwr du ac ysgrifennwch arno -
I gamsillafu "byd" -
H-E-L-L-O.
>> Felly byddaf yn cymryd fy marciwr du a byddaf ysgrifennu, mor fawr ac yn ddealladwy ag y gallaf ar
darn hwn o bapur, "helo, y byd," A awr yr wyf yn hawlio hyn yw fy nadl.
Mae hwn yn llinyn cynrychioli Hydred gyda ddarn o bapur gwyn.
Ac yn fy mewnbwn yn awr at y swyddogaeth printf yn mynd i fod yma.
Felly, yr wyf yn galw printf, gan fynd heibio ddadl honno fel mewnbwn iddo.
>> Ac yn awr, nid wyf yn gwybod sut y mae'r person sy'n Ysgrifennodd printf yn gwneud hynny flynyddoedd yn ôl, ond
Dwi ddim yn gwybod o'i dogfennaeth sy'n ei bwrpas mewn bywyd yw argraffu hyn yr wyf
darparu fel mewnbwn.
Ac felly, er bod hon ar waith yn unbeknownst i mi
o dan y cwfl, yn awr Yr wyf yn gweld, oh, mae'n cael ei wneud.
Mae wedi ei argraffu rhywbeth ar y sgrin.
Ac yn awr reolaeth y rhaglen, os oes yn fwy o cod llinellau, byddai
bellach wedi dychwelyd i mi.
Ac felly mae'r ffaith bod Colton -
bendithia ei galon, yn cuddio yma o dan bwrdd o flaen pob un chi -
yn fwriadol gan nad wyf yn gwybod ac nid wyf yn poeni pa mor printf yn
gweithredu.
Fi jyst yn gwybod, unwaith eto, o'i dogfennau, beth mae'n ei wneud a sut yr wyf
wyf i fod i'w defnyddio.
>> Nawr, dwyn i gof y gallai printf cael ychydig yn fwy soffistigedig.
Unwaith eto, rydym yn dim ond siarad am y sy'n cyfateb i bloc Dweud Scratch ar.
Ond yr wyf hefyd yn gwneud y tro diwethaf.
Roeddwn i eisiau gwneud fy rhaglen helo a ychydig yn fwy deinamig ac nid dim ond caled
cod rhywbeth fel "y byd," ac bendant cod caled rhywbeth
fympwyol fel D-A-V-I-D yn y rhaglen.
Roeddwn i eisiau gofyn i'r defnyddiwr ar gyfer ei enw, ac yna gwneud rhywbeth gyda
y llinyn a ddarperir ganddynt.
>> Felly, mae rhywbeth ychydig yn wahanol yma. printf, eiliad yn ôl,
oedd, yn wir, yn gwneud rhywbeth, ond mae'n ni ddychwelodd unrhyw beth i mi.
Iawn?
Nid Colton yn llaw unrhyw beth i mi yn ôl, nid oes unrhyw ddarn o bapur.
Mae sgîl-effaith yn unig.
Fy darparu "helo, byd" fel ddadl i arwain Colton yn y
sgîl-effaith o air, mae rhai geiriau, ymddangos ar y sgrin.
>> getstring, fodd bynnag, ychydig yn gwahanol. getstring hefyd yn
gweithio, ond mae'n dychwelyd rhywfaint o werth.
Nid yw dim ond yn cael sgîl-effaith esthetig.
Mae'n mewn gwirionedd yn rhoi i mi, y person ffonio neu ddefnyddio'r swyddogaeth,
rhywbeth yn ôl.
Felly, yn yr achos hwn, getstring yn galw gyda getstring agored
Paren, Paren agos.
A yw'r getstring, felly, yn cymryd unrhyw ddadleuon neu fewnbwn?
Na, nid yw'n ymddangos.
Ei bwrpas mewn bywyd yw dim ond er mwyn cael llinyn.
Mae'n nid oes angen mwy o fanylion na hynny.
Felly, gadewch i mi fynd yn ei flaen ac yn esgus bod, unwaith eto, nid yw hyn blwch du yn printf,
ond getstring, a gadewch i mi, y person ysgrifennu'r rhaglen, ffoniwch neu ddefnyddio
getstring at jyst yn ysgrifennu G-E-T-S-T-R-I-N-G, yn agored Paren, yn agos
Paren, getstring.
>> Yn awr, nid oes gennyf unrhyw syniad sut y mae'r CS50 staff gweithredu getstring, ond gwn fod
os byddaf yn aros yn ddigon hir, bydd yn gwneud ei beth o dan y cwfl, efallai gan ddefnyddio
rhai newidynnau, efallai gan ddefnyddio rhai amodau, efallai gan ddefnyddio rhai dolenni,
efallai drwy ddefnyddio rhai swyddogaethau, efallai gan ddefnyddio -
dim ond ceisio stondin - efallai gan ddefnyddio rhai nodweddion rhaglenni eraill.
Ond os wyf yn aros yn ddigon hir - mewn gwirionedd, yn y cyfrifiadur, bydd hyn yn digwydd
super gyflym -
os byddaf yn aros yn ddigon hir, swyddogaeth hon getstring yn mynd i gael llinyn
gan y defnyddiwr, sy'n teipio yn ôl pob tebyg allan ar eu bysellfwrdd, a
Yna, pan fyddwch yn getstring yn cael ei wneud yn cael cymeriadau hynny gan y defnyddiwr
ac yn eu storio mewn llinyn, bod swyddogaeth, getstring, yn mynd i gael
barod i mi rhywfaint o allbwn yr wyf yn mynd i adfer drwy gyfrwng y
gweithredwr aseiniad.
>> Ac os af, yn wir, i mewn i'r cynnyrch yma, Obosi wedi hael
cymryd rhan, heb wybod hyn mewn ymlaen llaw, trwy ysgrifennu ei enw ar hyn
amrywiol, sy'n cynrychioli llinyn.
Yn awr, y gweithredwr aseiniad yn golygu, hyd yn oed Er y gallai hyn deimlo ychydig yn
ddi-waith, yr wyf yn ei wneud mewn gwirionedd angen i wneud fy copi eu hunain o hyn.
Oherwydd ar y llaw chwith ochr - bloeddiadau! -
hysbysu fy mod yn y bôn yn cael llinyn enwi ar yr ochr chwith.
Felly, yr wyf i hefyd yn mynd i wneud fy copi eu hunain o hyn.
Ac mae hyn yn dipyn o gelwydd gwyn, oherwydd byddwn yn gweld mewn wythnos neu ddwy yn
amser nad llinynnau mewn gwirionedd yn yr hyn y maent yn ymddangos i fod.
>> Ond am nawr, dyma yw'r gwerth dychwelyd.
Dyma fy copi eu hunain ohono ar ôl defnyddio'r gweithredwr aseiniad.
Ac yn awr, beth ydw i am ei wneud nesaf?
Erbyn hyn mae gennym yr ail o dwy linell o god.
Felly, yr wyf yn awr am alw printf.
Gadewch i esgus nawr bod y du blwch yn ôl eto i fod yn
printf ac nid getstring.
>> Printf y tro hwn yn mynd i cymryd faint o ddadleuon?
Felly, edrych, mae fel dau.
Mae dau atalnodau i mewn 'na, ond un o'r coma hynny, mae'n
tu mewn i'r dyfyniadau.
Felly, y ddadl gyntaf yn llythrennol mynd i fod yn hyn.
H-E-L-L-O, coma, cant s, slaes-n.
Ac yn awr rwy'n darparu nad yw un ddadl, ond dwy ddadl i printf.
>> A beth yn fod printf yn ymwneud â y ddau fewnbwn ar ôl i mi eu pasio yn
fel dadleuon?
Mae'n i fod i gymryd yr ail iddynt, yr wyf a alwodd ei enw, felly mae'r
ail ddarn o bapur ysgrifennais allan hyn o bryd yn cael ei alwodd ei enw yn ôl.
Mae'n mynd i plwg o werth y tu mewn o'r newidyn i mewn i'r placeholder,
% S, fel eu bod, unwaith eto, mewn dim ond hyn o bryd yn amser, byddwn yn gweld effaith ochr
wedi galw printf, lle yn awr rydym yn gweld nad "helo, y byd," ond "helo,
Obosi. "
>> Felly, mae cylch mawr o gymeradwyaeth i'r ddau ein gwirfoddolwyr, dim ond un ohonynt yn gwybod
byddai hyn yn digwydd.
Mae pob hawl.
Felly, efallai, syml â hynny oedd, yn sicr, os ydych eisoes yn gyfarwydd
gyda'r fath, gobeithio chi byth yn anghofio bod gweledol penodol o sut y
swyddogaethau yn gweithio.
>> Felly, mae mwy na dim ond getstring.
Y tu mewn y llyfrgell CS50, mae 'na criw cyfan o swyddogaethau, pob un ohonynt yn
yn cael eu cyfalafu yn unig i wneud yn glir ein bod yn ysgrifennu swyddogaethau hyn.
Fel arfer, yn C, mae bron pob eraill swyddogaeth y byddwch yn ei ddefnyddio yw lythrennau bach.
Ond rydym yn fwriadol yn defnyddio priflythrennau dim ond er mwyn gwneud yn glir bod y rhain yn
yn olwynion hyfforddiant o ryw fath y gallwn eich defnyddio ar gyfer dim ond ychydig wythnosau sydd
symleiddio'r broses o gael mewnbwn gan y defnyddiwr.
>> Nid yw'r llyfrgell CS50 yn gwneud unrhyw beth eich bod eich hunain na allai ei wneud gan
yn unig ddefnyddio cod C o gwerslyfr oldschool.
Ond, unwaith eto, yr ydym yn eu defnyddio fel hyfforddiant olwynion o ryw fath am ddim ond ychydig o
wythnos er mwyn i ni gael gwared ar y cymhlethdod y byddwch yn deall yn fuan
eich hun o wneud rhywbeth mor gymharol syml â chael
mewnbwn gan ddefnyddiwr.
>> Felly, yn gwybod y byddwch yn cael mynediad i GetChar, GetDouble -
dyblu.
What's - ac yna GetFloat.
Beth yw arnofio?
Gadewch i ni ddechrau yno.
>> MYFYRIWR: [Anghlywadwy].
>> DAVID Malan: Yeah.
Mae'n nifer sydd â phwynt degol.
Felly, tra mae int yn gyfanrif, sy'n yn unig yw rhif gyda 0 drwy 9,
ryw nifer o ailadrodd hynny, fflôt yn rhywbeth
gyda phwynt degol.
A dwbl, yn y cyfamser, mae hefyd yn nifer sydd â phwynt degol, ond yn fwy
rhifau ar ôl y degol pwynt, o bosibl.
>> Felly, byddwn yn mynd yn ôl at hyn cyn bo hir.
Ond yn nodweddiadol, pob un o'r mathau hyn o data, pob un o'r mathau hyn o newidynnau
y gall llyfrgell fel ein rhai ni ddychwelyd i chi, ddefnyddio rhifau gwahanol o ddarnau i
storio gwybodaeth.
Yn nodweddiadol, mae Torgoch, a dim ond yn golygu un cymeriad, yn defnyddio 8 did.
A dyna mewn gwirionedd yn gyson â'n beit o wirfoddolwyr yr wythnos diwethaf a
yn dod i fyny ac yn cynrychioli un Ascii ar y tro.
Felly Torgoch yn 8 did.
>> Mae arnofio yn digwydd i fod yn 32 darnau, fel arfer.
A dwbl, fel y byddech yn dyfalu, yn mewn gwirionedd 64 ddarnau, sydd ychydig yn fwy,
sy'n golygu y gallwch gael mwy rhifau neu fwy o fanylder.
Ond unwaith eto, mwy am hynny rywbryd arall.
GetLongLong, yn y cyfamser, er wirion a enwir, sydd mewn gwirionedd dim ond
cyfanrif sy'n ddwywaith mor fawr, ddwywaith yn hir, o bosibl, yn rheolaidd
cyfanrif, 64 darnau yn hytrach na 32.
Ac GetString rydym wedi bod yn ei ddefnyddio.
>> Ond mae'n troi allan, yn y llyfrgell CS50, sy'n cael ei weithredu, gan y byddwn yn gweld, yn
ffurf y ddwy ffeil, un ohonynt Gelwir cs50.h, mae gan ddau arall
mathau data ynddo.
Nid booleans yn bodoli mewn C. Gallwch iddynt efelychu gan ddefnyddio dim ond 0s a 1s
drwy gydol eich rhaglenni.
Ond rydym yn y llyfrgell CS50 wedi creu symbolau "gwir" a "ffug"
i gynrychioli 1 a 0 fel nad ydych yn ei wneud rhaid i cod caled rhywbeth
llythrennol fel 1 a 0.
Ond byddwn yn gweld hynny eto.
>> Llinyn, hefyd, nid yw'n bodoli.
A dyna pam yr wyf yn sôn amdano yn dipyn o gelwydd gwyn am y tro.
Ond gallwn eich croen yn ôl y haen cyn bo hir.
Ond am y tro, mae llinyn yn dilyniant o gymeriadau.
>> Yn y cyfamser, yn C, yr ydych yn wir gwahanol fathau o ddata.
Hysbysiad rhain yn llythrennau bach.
Felly, y swyddogaethau a welsoch funud yn ôl eu swyddogaethau a ysgrifennwyd gan CS50 bod
bydd yn dychwelyd atoch gwerth sy'n dod i mewn i un o'r categorïau hyn.
>> Mae taflenni twyllo cwpl yn unig i blannu yr hadau yma. printf nid yw'n yn unig
cymryd% s fel bachau.
Mae'n cymryd% d ar gyfer gyfanrifau degol, neu% Byddai i yn gweithio cystal.
% F yn arnofio gwerthoedd pwynt. % C ar gyfer golosg, os ydych am i ddim ond un plwg
gymeriad i mewn i linyn wedi'i fformatio'n barod fel yr ydym wedi bod yn ei wneud, gallwch ddefnyddio% c.
>> Ac yna, braidd yn annoyingly,% LLD yn am hir, cyfanrif degol hir,
a dim ond yn golygu os ydych angen mewn gwirionedd nifer fawr ac rydych yn defnyddio rhywbeth
a elwir yn hir hir, y byddwn yn dod yn ôl i mewn pset, gallwch ddefnyddio% LLD i
dweud printf, plwg mewn fawr iawn cyfanrif yma trwy gyfrwng ei ail neu
rhywfaint o ddadl arall.
>> Ac yn olaf, yr wyf yn addo y mae ychydig o ddianc eraill
dilyniannau sy'n cefnogi printf.
Rydym wedi gweld slaes-n.
Slaes-r efallai y byddwch yn gweld.
Mae'n fath o beth hen-ysgol.
Os ydych chi erioed wedi defnyddio o flynyddoedd teipiadur go iawn yn ôl ac rydych yn tynnu ar y crank
sydd nid yn unig cylchdroi yr olwyn i symud y lineup, mae hefyd yn symud y
holl beth yn yr holl ffordd yn ôl dros i y chwith, yn dda, slaes-r yn unig
hanfod yn symud eich cyrchwr yn ôl i gychwyn y llinell
heb symud i lawr.
Ond unwaith eto, yn fwy ar hynny, efallai, yn y dyfodol.
>> Slaes-dyfyniad, dyfyniad slaes-dwbl, slaes-slaes yw'r
ateb i'r pos bach bach Cyfeiriais yn gynharach.
Ac slaes-0 mewn gwirionedd eithaf diddorol.
Ond byddwn yn dod yn ôl i hynny cyn bo hir.
>> Felly, gadewch i mi fynd i mewn, yn awr, yr CS50 offer, a gadewch i ni wneud mewn gwirionedd yn
cyflym cynhesu i fyny gyda un o'r enghreifftiau rydym eisoes ac yna yn symud ymlaen i
rywbeth ychydig yn fwy cymhleth.
Felly os wyf yn agor fy rhaglen a elwir yn gedit -
hwn yw fy golygydd graffigol.
A alla i wneud hynny -
gadewch i mi gau'r ffenestr yno -
drwy gyfrwng yr eicon hwn i lawr yma, gedit, yn y gwaelod ar y chwith
cornel nesaf at y fwydlen.
>> Rydw i'n mynd i fynd yn ei flaen a hyrwyddo, a achub yr enghraifft hon i mewn i, dyweder, John
Ffolder Harvard.
Ffolder John Harvard yn dim ond ei gartref cyfeiriadur lle mae ei holl ffeiliau yn byw
yn ddiofyn.
Ac yr wyf i'n mynd i achub hyn fel ffeil o'r enw helo-0.c.
Ac yr wyf wedi dewis yr enw hwn yn unig felly mae'n llinellau i fyny â'r cod sampl ar y
gwefan cwrs ac yn y Fideos YouTube ar-lein.
>> Felly, yn awr yr wyf i'n mynd i ddechrau ysgrifennu fy rhaglen gyntaf.
Gadewch i mi chwyddo i mewn ar gyfer eglurder.
Ac yr wyf i'n mynd i fynd yn ei flaen a dweud int prif ddi-rym, sy'n cael ei union fel y
darn pos melyn sy'n dechrau rhaglen.
Rwyf wedi gotten i mewn i'r arfer dros y mlynedd o agor fy brês cyrliog, yna
hefyd yn cau ac yna mynd yn ôl i lle yr wyf am roi fy cod, dim ond
oherwydd ei fod yn fy helpu i gadw popeth gytbwys, yn enwedig gan fod fy
rhaglen yn cael hir.
>> Ac yn awr, yma, yr wyf i'n mynd i fynd yn ei flaen a dweud, printf, unquote dyfynnu,
helo byd, slaes-n, dyfynnwch agos, parenthesis cau, hanner colon.
Felly, Im 'jyst yn ailadrodd popeth rydym wedi bod yn cymryd yn ganiataol hyd yn hyn.
Nawr rwy'n mynd i chwyddo allan.
>> A ffenestr terfynol hwn i lawr yma, beth y mae gennyf hawl i'w wneud yn y du
a ffenestri gwyn?
Beth alla i ei ddefnyddio?
Felly dyma lle rwy'n rhedeg gorchmynion a ble alla i lunio pethau.
Ac yr wyf i'n mynd i gadw pethau'n syml.
Rydw i'n mynd i ddefnyddio rhaglen o'r enw Gwneud, nad yw'n
dechnegol a compiler.
Clang Gelwir y compiler, ond byddwn yn dod yn ôl at hynny mewn
wythnos neu ddwy yn amser.
>> Am y tro, Im 'jyst yn mynd i deipio wneud helo-0, Ond y rhai ohonoch a oedd yn
cymharu yn eich meddyliau hyn yr wyf newydd deipio at yr hyn y dylwn fod wedi ei deipio gall
eisoes yn gwybod fy mod yn gwneud rhywbeth o'i le yma.
Yn awr, mae amlwg bod rhai gwallau.
Cyn i mi hyd yn oed edrych ar yr hyn ydynt, unrhyw syniadau o ran yr hyn yr wyf yn anghywir?
>> MYFYRWYR: [ymyrryd yn LLEISIAU].
>> DAVID Malan: Yeah.
Rwy'n goll ffeil flaen y llyfrgell.
Gelwir unrhyw un o'r rhain. Ffeiliau h yn header ffeiliau, ac maent ar y cyd
yn perthyn i bethau o'r enw llyfrgelloedd.
Llyfrgelloedd darnau o god yn unig a ysgrifennodd pobl eraill.
Felly mae'r [safonol? i] llyfrgell? yn casgliad o ffeiliau sy'n cynnwys cod
a ysgrifennodd pobl eraill.
>> Felly, rwy'n ar goll hynny.
Felly pam ydw i'n cael gwall?
Wel, gadewch i mi sgrolio yn ôl i fyny yn fy ffenestr terfynell yma.
Ac yn anffodus, yn C, fel mewn llawer o ieithoedd rhaglennu, yn enwedig
os yw'n gyd yn newydd i chi, y gwall negeseuon yn fanwl gywir, ond maen nhw hefyd yn
eithaf cryptig.
Ac y gwall yma, mewn coch, yn "Swyddogaeth llyfrgell ymhlyg datgan
printf gyda'r math, "ac yna mae'n sgroliau at y llinell nesaf, "int Etholaeth char *,
... "Mae'n mynd yn wirioneddol llethol yn gyflym.
>> Ond beth y dylech ddechrau ei wneud, os, unwaith eto, newydd hyn i gyd, yn unig i
dechrau i chwilio am eiriau allweddol.
Yn amlwg, efallai nad wyf yn deall hanner o'r geiriau rwyf i'n gweld eto.
Byddwch, fodd bynnag, ymhen wythnos.
Ond yr wyf yn gweld printf.
Ac y dylai ddechrau, cyn bo hir, i brocio'r cof, popeth yn iawn, printf.
Mae rhywbeth o'i le ar printf.
Wnes i sillafu yn anghywir?
Na, nid yw'n edrych fel - oh.
Nid wyf yn gallu ei ddefnyddio oni bai fy mod yn dysgu y compiler ei fod yn bodoli.
Ac felly, unwaith eto, ewch gyda'ch greddf, hyd yn oed os nad ydych yn deall mewn gwirionedd
y negeseuon gwall gwirioneddol.
>> Ac yn wir, yr ateb yma yw i ddim ond ei gynnwys ar ben y ffeil
fel 'na, resaving fy ffeil gyda Control-S neu y ddewislen File.
Ac os wyf yn awr yn mynd yn ôl i lawr yma, Rydw i'n mynd i glirio hyn.
Control-L yn unig yw ffordd braf i glirio'r sgrin.
Ac yna yr wyf i'n mynd i deipio "gwneud helo 0 "Rhowch, ac yn awr yr wyf yn dal yn gweld
dilyniant cryptig o symbolau, ond byddwn yn dod yn ôl at hynny.
Dyna beth Gwnewch yn ei wneud i chi.
Mae'n awtomeiddio y broses o gymryd gorchymyn eithaf yn blino yn cynnwys
Clang, y casglwr gwirioneddol.
Ond mae'r ffaith fy mod yn cael unrhyw wallau yn golygu y dylai y peth yn gweithio.
>> Felly Yn awr rwy'n mynd i'w wneud - gadewch i mi chwyddo i mewn eto -
./hello-0 Mewnbynnu, ac yn wir, yr wyf yn gweld "Helo, byd." Felly, gadewch i ni yn awr yn gwella
hyn byth felly ychydig yn unig i ailadrodd y camau yr ydym yn bwriadu.
Rydw i'n mynd i ail-enwi hyn gyda Save As i hello1.c.
Ac yn awr yr wyf i'n mynd i ddatgan newidyn alwodd ei enw, felly enw llinyn,
ac yr wyf i'n mynd i roi ynddo y gwerth y dyfyniad-unquote
D-A-V-I-D agos-dyfynbris hanner colon.
Ac yn awr yr wyf i'n mynd i gymryd lle "byd" â'r hyn cadw'r llinyn?
% S.
>> Ac yn awr, faint o ddadleuon dylai printf gymryd yr amser hwn?
Felly ddau.
Felly, yr wyf yn mynd y tu allan i'r dyfyniadau.
I deipio "enw" ar ôl coma.
Ond dw i wedi gwneud rhywbeth arall yn anghywir y tro hwn.
Ond gadewch i ni dybio nad oeddwn sylweddoli hynny eto.
Gadewch i mi yn mynd i fyny yma.
>> Ac yn sylwi, hefyd, fy mod yn cael ychydig diflasu o deipio "gwneud helo 0" yr holl
amser, "wneud" ac mae hyn i gyd.
Felly, mae'n troi allan, yn Linus gallwch yn aml yn cyrraedd y saeth Up ar eich
bysellfwrdd, a gallwch sgrolio mewn gwirionedd drwy'r holl orchmynion yr wyf i wedi
gweithredu blaenorol yn unig nawr.
Felly os wyf yn gwneud hynny, Up, Up, mae gwneud helo 0.
Nid wyf yn dymuno hynny.
Fi jyst eisiau newid hynny i hello 1 y tro hwn, Enter.
Yn y pen draw, a fydd yn arbed amser i chi.
>> Mae pob hawl.
Yn anffodus, mae ei gwall.
Felly, gadewch i mi sgrolio i fyny.
Mae hyn yn edrych fel Fi 'n sylweddol lladd yn y rhaglen hon.
Yr wyf yn golygu, fy duw, mae'n dwy linell o god, ac mae ei 10 llinell o wallau.
Ond yn edrych ar y un uchaf yn gyntaf.
Defnyddio llinyn dynodwr heb ei ddatgan.
Oeddech wyf yn golygu safonol i n?
Na wnes i ddim.
Yr wyf yn golygu llinyn.
>> Ond ble mae'r newidyn llinyn Datganodd fath, DD a ddywedwn?
Felly, ei fod yn y CS50 y llyfrgell.
Felly, nid yw'n ddigon, yn y cyntaf ychydig o wythnosau, dim ond i ddefnyddio
yr hyn y C yn rhoi i ni.
Rwyf hefyd yn mynd i fynd i fyny yma, ac yr wyf yn gallai roi uwch neu'n is, ond byddaf
dim ond ei gadw yn nhrefn yr wyddor er mwyn cadw pethau'n drefnus.
Rydw i'n mynd i gynnwys cs50.h, sy'n ei gyn-osod ar gyfer
chi ar y CS50 offer.
Ac mae'n ffynhonnell agored, felly hyd yn oed pobl ar y rhyngrwyd yn gallu ei ddefnyddio ar eu
cyfrifiaduron eu hunain.
Ond mae'n dod gyda'r CS50 offer.
>> Felly nawr gadewch i mi fynd yn ôl ac ail-grynhoi hyn gyda gwneud helo 1.
Damia.
Still wall arall.
Gadewch i mi sgrolio i fyny at y cyntaf, er.
Mae hon yn ychydig o gymhleth.
Gymeriad aml-cymeriad cyson.
Nid yw hyn yn fy helpu.
Ond rhybudd, clang o leiaf ychydig bit gweddus, lle gydag ychydig
gwyrdd caret symbol, mae'n dweud dyma lle rwy'n sgriwio i fyny.
Pam ei fod yn pwyntio, ac mai ychydig gwyrdd saeth, i'r dyfyniad sengl nesaf
i fy enw?
>> Felly, mae hwn yn un o'r pethau yr ydych yn unig ddod i arfer â, yn enwedig os ydych wedi bod
rhaglennu yn Python, neu JavaScript, neu ieithoedd eraill lle mae manylion hyn
nid yw'n fater.
Yn C, mae'n fater.
Os ydych yn datgan llinyn, sy'n dilyniant o 0 neu fwy o gymeriadau,
rhaid i chi mewn gwirionedd yn defnyddio dyfynodau dwbl.
Felly, yr wyf mewn gwirionedd angen newid hyn yn ôl i agor dyfyniad, dyfyniad yn cau, gyda
dyfynodau dwbl.
Dyfyniadau sengl yn eu lle, ond dim ond pan fyddwch yn defnyddio unigolyn
chars, ond mwy am hynny rywbryd eto.
Am y tro, y dyfyniadau dwbl yn angenrheidiol.
>> Felly nawr, gadewch i mi fynd yn ôl at fy terfynell ffenestr, yn gwneud helo 1.
A phwy sy'n hyderus?
A yw hyn yn rhaglen yn awr yn mynd i lunio gywir?
OK.
Felly tri ohonom yn credu hyn.
Mae pob hawl.
Enter.
Ac mae'n mewn gwirionedd oedd.
Felly does dim gwallau y cyfnod hwn, hyd yn oed er bod y rhaglen wedi gotten ychydig
yn fwy cymhleth.
Os wyf yn awr yn gwneud dot slaes helo 1, Mewnbynnu, mae'n mynd i ddweud "helo, David."
>> Ond gadewch i ni wneud y trydydd ailadroddiad o hyn, lle mae'r
rhaglen yn wirioneddol ddeinamig.
Gadewch i mi fynd yn ei flaen a newid y ffeil enw, dim ond ar gyfer cysondeb gyda'r
ffeiliau bydd gennych ar gael i chi wedi hynny ar-lein.
Enter.
Ac yn awr yr wyf i'n mynd i fynd i mewn ac nid storio "David" chodio caled yma.
Beth allwn ei wneud yn syml iawn gwella'r rhaglen?
>> Gallwn i alw getstring.
Gallai fod yn ychydig heb fod yn amlwg beth sy'n fin digwydd, felly dwi'n mynd
i mewn gwirionedd yn ychwanegu llinell arall, printf, ac yn dweud enw, colon, dyfynnwch agos, dim ond
i roi i'r defnyddiwr gwasanaeth prydlon ar y sgrin.
Ac yn awr yr wyf i'n mynd i fynd yma, ac rwy'n yn mynd i ddefnyddio fy llwybr byr bysellfwrdd.
Rydw i'n mynd i fynd Up, Up, a newid helo helo 1 i 2, Enter.
A diolch byth, fy mod yn gwneud cynnydd.
>> Ac yn awr yr wyf i'n mynd i fynd i fyny i dot slaes helo a
newid hynny i 2, Enter.
Ac yn awr fy rhaglen -
'N annhymerus' chwyddo i mewn - yn cael ychydig yn prettier.
Enw yn mynd i fod, gadewch i ni ddweud Rob y tro hwn, Mewnbynnu, helo, Rob.
Gallwn wneud hynny eto.
Enw, Lauren, Enter.
Enw, Joseph, Enter.
Enw, gadewch i ni geisio i fod yn anodd, Enter.
Eh.
Nid yw'n wir a bug.
Felly, dim ond ychydig yn hyll.
Felly efallai y gallem ddatrys y yn y dyfodol, nid yn awr.
>> Ond sut fyddech chi'n reddfol mynd ati i fynd i'r afael â
bod her arbennig?
'I jyst yn edrych yn dwp.
Sut yr ydych yn osgoi pethau edrych yn dwp?
Felly, gallem ei wneud, OK, yr wyf yn clywed cwpl o bethau, cyflwr a dolen.
Gallem ddefnyddio, un, cyflwr, i wirio beth yw hyd y llinyn
Rhoddodd y defnyddiwr i ni?
Ac os yw'n 0, 'i' jyst dyfynnu unquote, maent yn jyst daro Mewnbynnu, yna
efallai y dylwn gweiddi arnyn nhw ac yn eu hannog eto.
Ond sut ydych yn annog nhw eto?
Wel, yr wyf yn clywed dolen hefyd, a gallwn gwneud hynny eto ac eto ac eto
annog y defnyddiwr ar gyfer yr un peth.
>> Wel, gadewch i ni wneud un enghraifft arall gan ddefnyddio gwahanol
swyddogaeth yn y llyfrgell CS50.
Gadewch i mi gau'r ffeil hon.
Gadewch i mi greu un newydd.
A byddaf yn ei alw adder.c, dim ond oherwydd mae'n hawdd i wneud rhifyddeg syml,
hyd yn oed er y bydd hyn yn gwbl underwhelming â'r hyn y gallech ei wneud
gydag unrhyw gyfrifiadur modern.
>> Ond gadewch i mi fynd yn ei flaen yn awr ac -
Yr wyf yn dysgu fy ngwers tro diwethaf - yn cynnwys cs50.h, yn cynnwys stdio.h, int
prif ddi-rym, sydd, ar hyn o bryd, 'n annhymerus' jyst cymryd ar ffydd ddall, ond byddwn yn cymryd yn ganiataol
a fydd yn deall yr hyn mae hynny'n golygu cyn bo hir.
Ac yr wyf i'n mynd i ddweud rhywbeth fel "rhoi int i mi."
>> Ac yn awr, sut ydw i'n cael int?
Yr wyf am ddatgan amrywiol yn y pen draw Gelwir x o int fath a
storio ynddo cyfanrif gan y defnyddiwr.
Felly yr oedd llond ceg.
Ond os bydd rhywun am gynnig, sut ydw i'n datgan o'r enw x cyfanrif?
X Int.
>> Felly, mae mewn gwirionedd yw bod syml.
Rhoi int mi.
Ffoniwch y x.
Yn awr yr wyf yn defnyddio'r gweithredwr aseiniad.
A sut ydw i'n cadw oddi wrth y gadael gwerth y defnyddiwr?
Nid wyf am i alw getstring, yn amlwg, ond yn hytrach getint.
Unrhyw ddadleuon?
Rhif
Felly mae'n agored Paren, Paren agos ar unwaith, ac yna
hanner colon yn dod i ben y llinell.
>> Nawr, gadewch i mi wneud hyn eto.
Rhowch int arall i mi.
Y tro hwn byddaf yn gwneud int, gadewch i ni alw y, yn hafal getint.
Ac yn awr gadewch i mi wneud rhywbeth super-syml fel rhyw mathemateg.
Felly printf, mae'r swm o% d yw'r dalfan ar gyfer int.
A% d, cyfnod, slaes-n.
>> Mae pob hawl.
Felly, nid yw mewn gwirionedd mathemateg.
Ond os ydw i am ddweud y swm y gwerth a gwerth hwn yn dychwelyd hyn
werth arall, faint o ddadleuon i cyfanswm y dylwn ei roi printf,
yn y pen draw?
Felly pedwar, dde?
Mae'r llinyn ac yna y tri gwerth.
Felly x yw'r cyntaf i mi am fod yn plygio i mewn yn gyntaf at y% d.
y yn mynd i fod y nesaf.
>> Ac yn awr yr wyf yn fath o eisiau dweud z, ond nid yw z yn bodoli.
Ond dyw hynny ddim yn beth mawr.
Oherwydd yr hyn fyddech yn ei wneud yn reddfol, yn enwedig os ydych wedi cael
cyfrifiannell graffio, beth ydych chi'n ei deipio?
Beth am x a y?
Felly nid yw'n newidyn gwirioneddol.
Dim ond y swm o ddau newidynnau eraill.
Ac mae hynny'n hollol gyfreithlon.
C yn sicr yn deall syml rhifyddeg fel hyn.
>> Hanner colon, arbed.
Nawr, gadewch i mi fynd i lawr yma ac math wneud wiber, Enter.
Dim camgymeriad, felly dyna gynnydd hefyd.
Math wiber.
Ac llwybr byr bysellfwrdd arall, os byddwch yn dechrau diflasu
gyda'r holl orchmynion -
os byddwch yn dechrau teipio gorchymyn, fel dot slaes ad, a dyna lle bydd eich
diflastod yn cychwyn, fel arfer gallwch daro Tab i gael y cyfrifiadur yn gorffen y
gorffwys yr ymadrodd i chi os nad yw'n amwys hyn y dylid dod ar ôl ad.
>> Felly, gadewch i mi fynd yn ei flaen yn awr ac rydych yn clicio Enter.
Rhoi int, 1, 2 i mi, a diolch byth, mae'n 3.
Ond, fel bob amser, yn profi rhaglenni Ni ddylai ostwng i
ond yn ceisio unwaith.
Gadewch i mi wrando achos cornel, fel negyddol 1, rhowch 1 mi, ac mai un
gwirio allan hefyd.
Ac yr wyf yn ôl pob tebyg am wneud mwy o profion trwyadl, ond rwy'n eithaf
gyfforddus gyda lle bo hynny'n sydd yn y.
>> Wel, yn awr gadewch i ni geisio raglen arall bod y tro hwn yn defnyddio
ychydig o gystrawennau eraill.
Gadewch i mi creu ffeil newydd.
'N annhymerus' galw conditions0.c hwn i linell i fyny gyda rhywfaint o cod sampl ar-lein.
A gadewch i mi fynd yn ei flaen a gwneud cynnwys cs50.h, yn cynnwys
stdio.h, yn y prif ddi-rym -
OK.
Dyna ni.
Rydym wedi ein boilerplate safonol.
>> A'r tro hwn yr wyf i'n mynd i ddweud printf, "Hoffwn yn int, os gwelwch yn dda," dim ond i
gwneud yr anogwr ychydig yn fwy cyfeillgar.
Ac yn awr yr wyf am gael int gan y defnyddiwr.
Rydw i'n mynd i alw n y tro hwn, dim ond oherwydd n swnio fel rhif.
getint, ac yn awr, yr hyn yn ei wneud Yr wyf am ei wneud ag ef?
Wel, os n yw - a byddaf yn chwyddo i mewn -
os yw n yn fwy na 0, rwyf am i wneud y canlynol -
printf "Rydych yn dewis rhif positif." Arall, yr wyf i'n mynd i deipio printf "Rydych yn
dewis a negyddol
rhif. "Mae pob hawl.
Felly y rhaglen hon, hyd yn oed er fy mod yn gwneud hynny gyflym, yn edrych yn iawn syntactically.
Gadewch i mi roi cynnig ar hyn.
Gwneud amod 0.
Ymddangos i redeg.
Amod 0, nodwch.
Gadewch i ni roi yn int o 50.
Dewisais rhif positif.
Gadewch i ni roi cynnig arni eto.
Amod 0.
Negyddol 50.
Yr wyf yn codi nifer negyddol.
>> Ond yn awr, gadewch i mi ddewis yr hyn y byddwn yn cadw galw achos cornel, sy'n fwy
yn achos diddorol yn eich barn chi allai roi rhywfaint o drafferth, 0 i chi.
Nawr, rwy'n eithaf siŵr bod hyn yn un o yr achosion gornel lle sero yn
ddim yn gadarnhaol nac yn negyddol, felly mae fy rhaglen, er mewn syntactically
gywiro - mae'n llunio, mae'n rhedeg - nid yw'n rhesymegol gywir.
Felly beth yw'r ateb syml yma os ydw i eisiau i ganfod, os wyf am ymdrin â n
yn hafal i 0 ar wahân?
>> Felly, os n hafal i 0, yna yr wyf am ddweud rhywbeth fel printf "Rydych yn dewis 0."
Gadewch i mi roi cynnig ar hyn yn awr.
Gadewch i mi fynd yn ôl yma, yn glir fy ffenestr, a ail-grynhoi.
EM.
Un gwall cynhyrchu.
Ond yr wyf yn ydych am weld os n dychwelyd 0.
>> Felly, unwaith eto, beth gwirion arall i ddod i arfer â, arwydd cyfartal yn
y gweithredwr aseiniad.
Felly, mae hyn mewn gwirionedd yn gamgymeriad yn hynny, dechnegol, er bod y compiler
mi diogelu rhag fy hun, byddem dechnegol yn copïo 0 i mewn i n, sy'n
Nid yw hyn yr wyf eisiau.
Rwyf am i brofi am gydraddoldeb gyda gyfartal gyfartal.
Ac felly y gallai yn awr fod yn fy ateb gwell.
>> Gadewch i mi mewn gwirionedd yn resave hyn fel, dyweder, conditions1, i fod yn newydd a gwell.
Felly, yn awr os wyf yn ail-grynhoi hyn, byddai'n gwneud amodau -
bloeddiadau - gwnewch conditions1 dot slaes conditions1, Mewnbynnu, "Hoffwn yn int,
os gwelwch yn dda. "Rydw i'n mynd i fynd ymlaen a theipiwch 50.
Mae'n dal i fod yn dda.
Negyddol 50, dal yn dda.
0, ac, yn wir, canfod fy mod yn codi 0.
>> Felly, beth arall y gallaf ei wneud yn awr gyda hyn?
Wel, gallwn yn sicr yn gwneud mwy a mwy pethau cymhleth.
Ond beth hoffwn gynnig yn ein bod yn dod i ben ar y nodyn yma.
Os byddwn yn tynnu i fyny hyn, byddwch yn gweld, o bosibl, hoff cartŵn o eiddo
hyd at heddiw gallech erioed wedi deall.
A dyna am ansawdd o chwerthin dylech ei gael gyda jôcs CS.
Felly dyna yn iawn.
>> Ond yn fwy gymhellol, yr wyf yn meddwl fy mod i wedi roi ychydig o ymlid ar gyfer dydd Llun ni.
Felly, rydym wedi dechrau defnyddio gyfanrifau.
Rydym wedi cyfeirio at fflotiau.
Rydym wedi cyfeirio hyd yn oed dyblau, sydd, unwaith eto, yn rhoi rhifau i chi
ar ôl pwyntiau degol.
>> Ond mae'n ymddangos bod fflotiau a dyblau, ac, mewn gwirionedd, cyfrifiaduron,
sylfaenol, ni ellir mynegi rhai gwerthoedd yn union.
Rydym yn gwybod o ddosbarthiadau cwestiwn y gallwch cael unrhyw nifer o rifau ar ôl y
pwynt degol.
A allwch chi hyd yn oed roi bar fertigol i ddweud hyn yn mynd ymlaen am byth.
>> Yn anffodus, ni allwch mewn gwirionedd gwneud hynny mewn cyfrifiadur.
Ac felly cornel achosion yn codi.
Er enghraifft, mae'n debyg eich bod yn gwneud rhywbeth ariannol.
Rydych yn gwneud mathemateg gyda chanrannau, ac
gyda ddoleri a cents.
Ac nid cents hynny yn reidrwydd llinell i fyny.
Wel, mae'n ymddangos fod ffracsiynau o Gall geiniogau ddechrau i ychwanegu i fyny pan
modelu gyda system gyfrifiadurol yn y fath ffordd sy'n glyfar
Gall pobl gymryd mantais.
>> A'r rhai ohonoch nad ydynt wedi gweld, yr wyf i wedi hoffi rhoi 30 eiliad ymlid ohonoch
ffilm wych a elwir yn Gofod Swyddfa, a fydd yn creu darlun o
problem byddwn yn mynd i'r afael â peth cyntaf ar ddydd Llun.
Pe gallem godi'r gyfrol ychydig bach, yr wyf yn rhoi i chi 30
eiliad o Gofod Swyddfa.
>> [VIDEO Playback]
>> -Yr wyf yn golygu, yr ydych, nid ydych wedi bod yn dangos i fyny a byddwch yn cael i gadw eich swydd.
>> -A dweud y gwir, rwy'n cael ei hyrwyddo.
>> -I gallai raglennu firws y byddent RIP y lle oddi amser mawr.
>> -Wel, sut mae'n gweithio?
>> -Bob tro mae trafodiad banc lle y llog yn cael ei gyfrifo, ac mae
mae miloedd y dydd, mae'r cyfrifiadur yn dod i ben gyda ffracsiynau hyn o cant.
>> -Ond dydw i ddim yn mynd i gwneud unrhyw beth anghyfreithlon.
>> -Anghyfreithlon?
Samir, mae hyn yn America.
>> -Mae'n rhaid i ni dyngu i Dduw.
>> -Os oes neb yn gwybod am hyn ond ni, popeth yn iawn?
Nid oes unrhyw aelodau o'r teulu, dim cariadon, does neb.
>> -Wrth gwrs.
>> -Cytunwyd.
>> -Peidio â phoeni, dyn.
Ni fyddaf yn dweud wrth neb chwaith.
>> [VIDEO END Playback]
>> DAVID Malan: Felly mae hyn, felly, yw CS50, a oedd yn Gofod Swyddfa, a bydd pob
gwneud synnwyr ar ddydd Llun.
Gweler chi wedyn.
>> Adroddwr: Yn y CS50 nesaf, Rob addasu i fod oddi ar y
Cynllun pryd Harvard.