[Seinm CEOL] DAVID J. MALAN: Ceart go. Tá an CS50 agus Is tús Seachtain 2. Agus beidh tú a thabhairt chun cuimhne go bhfuil os cionn an cúpla seachtain anuas, tá muid ag a thabhairt isteach ríomhaire eolaíocht agus, ar a seal, cláir. Agus thosaigh muid an scéal trí Scratch, teanga grafach ó MIT'S Media Lab. Agus ansin le déanaí, an tseachtain seo caite, rinne muid thabhairt isteach higher-- a teanga níos ísle-leibhéal aitheanta mar C, rud éigin go bhfuil téacsúil. Agus, go deimhin, uair dheireanach a chuirimid iniúchadh laistigh den chomhthéacs roinnt coincheap. Seo, chun cuimhne, bhí an chuid is chéad chlár d'fhéachamar ar. Agus an clár seo, go simplí go leor, priontaí amach, "Dia duit, domhan." Ach níl an oiread sin seeming draíochta ar siúl. Níl an #include leis na lúibíní uilleacha. Níl int. Níl (neamhní). Níl lúibíní, braces gcuach, leath-colons, agus i bhfad níos mó. Agus mar sin, chun cuimhne go thugamar isteach Scratch ionas go mbeimis, go hidéalach, féach anuas sin error, an stuif go bhfuil i ndáiríre nach go léir go hintleachtúil suimiúil ach go luath ar é, go hiomlán, le beagán tricky chun wrap d'intinn timpeall. Agus, go deimhin, ar cheann de na is coitianta rudaí go luath i rang cláir, go háirithe dóibh siúd is lú compordach, a fháil frustrated ag agus tripped suas le comhréire áirithe earráidí, gan trácht ar earráidí loighciúil. Agus mar sin i measc ár spriocanna lá atá inniu ann, i ndáiríre a bheidh, a a threalmhú tú le roinnt teicnící réiteach fadhbanna maidir le conas a réiteach níos fearr fadhbanna féin i bhfoirm debugging. Agus beidh tú cuimhne, freisin, go bhfuil an timpeallacht a thugamar isteach Cuireadh uair dheireanach a dtugtar CS50 IDE. Tá an bogearra gréasán-bhunaithe a is féidir leat chun clár sa scamall, mar a déarfá, agus a choinneáil ar gach ceann de do comhaid le chéile, maraon linn arís inniu. Agus chun cuimhne go muid ag arís na hábhair anseo, ina measc feidhmeanna, agus lúba, agus athróga, agus léirithe Boole, agus na coinníollacha. Agus ar ndóigh, cúpla níos go bhfuil muid aistriú ó shaol na Scratch go dtí saol na C. Ach an foirgneamh bunúsach bloic, mar a déarfá, bhí i ndáiríre go fóill na seachtaine céanna seo caite. Go deimhin, i ndáiríre bhí againn ach píosa bhfreagra éagsúla, más maith leat. In ionad sin corcra shábháil bloc, táimid ag ionad Bhí printf, a bhfuil fheidhm seo i C a is féidir leat rud éigin a phriontáil agus formáid sé ar an scáileán. Thugamar isteach an CS50 Leabharlann, áit a bhfuil tú anois leis sin ar get_char diúscartha, agus get_int, agus get_string, agus feidhmeanna cúpla eile maith, trínar féidir leat a fháil ionchur as an úsáideora méarchlár féin. Agus thóg muid freisin le breathnú ar rudaí cosúil these- bool, agus ruabhric, agus dúbailte, snámhphointe, slánuimhir, téad long_long. Agus níl fiú cineálacha sonraí eile i C. I bhfocail eile, nuair a dhearbhú tú athróg a stóráil roinnt luach, nó nuair a chur i bhfeidhm duit feidhm go tuairisceáin roinnt luach, Is féidir leat a shonrú cad cineál luach atá. An bhfuil sé teaghrán, cosúil le sraith de charachtair? An bhfuil sé uimhir, cosúil le slánuimhir? An bhfuil sé snámhphointe luach, nó a leithéidí? Mar sin, i C, murab ionann agus Scratch, againn i ndáiríre thosaigh a shonrú cén cineál sonraí bhí muid ag filleadh nó ag baint úsáide. Ach, ar ndóigh, ar siúl againn freisin roinnt teorainneacha bunúsacha na ríomhaireachta. Agus go háirithe, an teanga C, cuimhne go thóg muid le breathnú ar thar maoil slánuimhir, an réaltacht go má tá tú ach méid teoranta de chuimhne nó, go sonrach, líon teoranta giotán, is féidir leat brath ach chomh hard. Agus mar sin d'fhéachamar ar an sampla seo anseo trína cuntar in eitleán,, iarbhír, más rud é ag rith fada go leor go mbeadh thar maoil agus mar thoradh bogearraí earráid féideartha fisiciúil iarbhír. D'fhéachamar chomh maith ag snámh pointe imprecision, an réaltacht nach bhfuil ach líon teoranta giotán, bíodh sé 32 nó 64, Is féidir leat a shonrú ach uimhreacha oiread tar éis pointe deachúil, tar éis a bhfuil tú tús a fháil neamhbheacht. Mar sin, mar shampla, aon trian sa domhan anseo, inár saol daonna, táimid ag fhios é ach uimhir gan teorainn 3s tar éis an pointe deachúil. Ach ní féidir le ríomhaire gá go ionadaíocht a dhéanamh ar líon gan teorainn na n-uimhreacha má cheadaíonn duit ach sé roinnt méid teoranta faisnéise. Mar sin, ní hamháin go raibh muid ag threalmhú tú le cumhacht níos mó i dtéarmaí ar conas a dhéanfá in iúl duit féin ar méarchlár thaobh na gclár, teoranta againn chomh maith cén Is féidir leat a dhéanamh i ndáiríre. Agus go deimhin, is féidir bugs agus botúin eascraíonn as na cineálacha ceisteanna. Agus go deimhin, i measc na n-ábhar sa lá atá inniu ag dul a bheith ábhair cosúil debugging agus ar ndóigh, ag thíos an cochall ag an tseachtain seo caite ar conas a tugadh isteach rudaí chun feidhme iarbhír ionas go mbeidh tú níos fearr thuiscint an dá na cumais agus na teorainneacha teanga cosúil le C Agus go deimhin, beidh orainn craiceann ar ais na sraitheanna ar an simplí de struchtúr sonraí, rud ar a dtugtar sraith, a Tarlaíonn scratch chun glaoch "liosta." Tá sé le beagán difriúil sa chomhthéacs sin. Agus ansin beidh orainn a thabhairt isteach ar cheann de na chéad cheann dár fadhbanna fhearainn-sonrach sa CS50, saol na cripteagrafaíochta, an ealaín na scrambling nó faisnéis a ciphering sin gur féidir leat a sheoladh teachtaireachtaí rúnda agus a dhíchódú teachtaireachtaí rúnda idir dhá daoine, A agus B. Mar sin, sula trasdul a chuirimid leis sin domhan nua, a ligean ar iarracht a threalmhú tú le roinnt teicníochtaí leis ar féidir leat deireadh a chur nó a laghdú ar a laghad roinnt na frustrations go bhfuil tú a bhíonn dócha thar na seachtaine seo caite ina n-aonar. Go deimhin, chun tosaigh ar tú ag such-- cuid de Is iad do chuid fadhbanna chéad uair sa C. And odds, má tá tú cosúil liomsa, an chéad uair iarracht tú a chlóscríobh amach clár, fiú má cheapann tú go loighciúil is é an clár simplí go leor, go dtiocfadh leat a bhuail go han-mhaith le balla, agus nach bhfuil an tiomsaitheoir ag dul chun comhoibriú. Déan nó nach bhfuil Clang ag dul a dhéanamh i ndáiríre do bidding. Agus cén fáth a d'fhéadfadh a bheith? Bhuel, a ligean ar ghlacadh le breathnú ar, b'fhéidir, clár simplí. Tá mé ag dul chun dul ar aghaidh agus a shábháil seo comhad d'aon ghnó ar a dtugtar buggy0.c, mar tá a fhios agam é a a lochtach roimh ré. Ach ní fhéadfadh a bheith agam a thuiscint go más rud é seo is é an chéad nó an dara nó an tríú clár go bhfuil mé ag déanamh i ndáiríre mé féin. Mar sin, tá mé ag dul chun dul ar aghaidh agus cineál amach, o príomh (neamhní). Agus ansin taobh istigh de mo braces gcuach, a eolas an-( "hello, world-- cúlslais, n ") - agus a leathstad. Tá mé shábháil an comhad. Anois tá mé ag dul chun dul síos mo fhuinneog críochfort agus cineál a dhéanamh buggy0, mar, arís, Is an t-ainm an chomhaid sa lá atá inniu buggy0.c. Mar sin, cineál mé buggy0 dhéanamh, Iontráil. Agus, ó, gosh, cuimhne ó uair dheireanach nach bhfuil aon teachtaireachtaí earráide gur rud maith. Mar sin, níl aon aschur gur rud maith é. Ach anseo tá mé go soiléir roinnt ar líon na botúin. Mar sin, an chéad líne aschuir tar éis a chlóscríobh buggy0 dhéanamh, chun cuimhne, Tá aschur cothrom verbose Clang ar. Thíos an cochall, Tá CS50 IDE cumraithe a úsáid a bunch iomlán de Roghanna leis an tiomsaitheoir ionas nach mian leat go bhfuil chun machnamh orthu. Agus sin ar fad go bhfuil an chéad líne ciallaíonn a thosaíonn le Clang. Ach ina dhiaidh sin, na fadhbanna tús a dhéanamh ar a gcuma. Buggy0.c ar líne 3, carachtar 5, tá mór, earráid dearg. Céard é sin? Hintuigthe dhearbhú feidhm leabharlainne printf le cineál slánuimhir (CONST Char *, ...) [-Werror]. Ciallaíonn mé, go han-tapa Faigheann an-arcane. Agus is cinnte, ar dtús amharc, ní ba mhaith linn ag súil tú a thuiscint ar an hiomlán an teachtaireacht. Agus mar sin ar cheann de na ceachtanna do lá atá inniu ann ag dul a bheith chun iarracht a dhéanamh le fógra patrúin, nó rudaí den chineál céanna, earráidí a bheadh ​​agat bhíonn san am atá caite. Sin a ligean le tease seachas ach na focail go bhfuil cuma an eolas. Is é an mór, earráid dearg go soiléir siombalach rud éigin a bheith mícheart. hintuigthe dhearbhú printf feidhm leabharlainne. Mar sin, fiú amháin más rud é nach féidir liom a thuiscint go maith cad hintuigthe dhearbhú feidhm leabharlainne acmhainn, an fhadhb surely bhaineann le printf bhealach. Agus an foinse an tsaincheist bhfuil a dhéanamh leis dhearbhú é. Ag dearbhú Is feidhm ina luaitear é don chéad uair. Agus a úsáid le linn an téarmaíocht an tseachtain seo caite dhearbhú feidhm ar fhréamhshamhail, ceachtar le líne amháin ag barr do comhad féin nó i gcomhad header mar a thugtar air. Agus i cad a rinne chomhad deirimid an tseachtain seo caite go bhfuil printf ceanglófar, comharthaí athfhriotail, a dhearbhú? Cén comhad a fhréamhshamhail? Mar sin, má tá tú chun cuimhne, an-an chéad I clóscríofa, beagnach gach clár time-- caite agus trí thimpiste nóiméad ó shin a thosaigh bhí clóscríobh myself-- an here-- amháin hash-- #include