>> [Music kucheza]
>> DOUG LLOYD: Hi, hivyo hebu majadiliano juu ya waendeshaji katika C.
Hivyo, tumekuwa tayari kuona moja, kwa kweli, sawa operator zoezi.
Ni inaruhusu sisi kuweka tu thamani ndani ya kutofautiana.
Hiyo ni zoezi operator, moja ishara sawa.
Ili kuendesha na kazi na maadili na vigezo katika C,
tuna idadi ya kampuni za tulizonazo kwamba tunaweza kutumia.
Hebu tuangalie baadhi ya wale kawaida
kuanzia na hesabu waendeshaji.
Kama unaweza kutarajia, tunaweza kufanya shughuli pretty msingi math katika C.
Tunaweza kuongeza, Ondoa, kuzidisha, na nambari mgawanyiko kwa kutumia plus, bala, nyota,
na kufyeka, kwa mtiririko huo.
Hapa ni michache ya mistari ya kificho ambayo sisi kufanya hivyo.
Hivyo, tuna int x sawa y pamoja na 1.
Hebu kudhani kuwa mahali fulani juu juu mstari wa kanuni
sisi alikuwa amesema int y sawa 10.
Nini thamani ya x baada ya mimi kutekeleza mstari huu wa kwanza wa kanuni?
Ulisema 11?
Wewe d haki.
Kwanini hivyo?
Naam, y ilikuwa 10.
Baadhi int mimi kusema x sawa 10 pamoja na 1.
10 pamoja na 1 ni 11.
Hivyo, thamani 11 anapata kuhifadhiwa katika x kutofautiana.
Si mbaya sana, sawa?
>> Vipi kuhusu mstari huu kijacho cha kanuni? x sawa x mara 5.
Naam, kabla ya sisi kunyongwa mstari wa kanuni, x miaka 11.
Hivyo, ni nini thamani ya x baada ya mstari wa kanuni?
Kuchukua pili.
Hivyo, x sawa x mara 5.
x miaka 11.
Hivyo, x sawa 11 mara 5.
Au 55.
Hivyo kama wewe alisema 55, utaweza kuwa na haki.
>> Sasa, inaweza kuwa utata kidogo, lakini kwa njia ya zoezi kwamba kazi katika C
ni thamani ya juu ya haki anapata kwa ajili ya thamani upande wa kushoto.
Hivyo, kwanza sisi kutathmini x mara 5.
Hivyo, mara 11 5 ni 55.
Na kisha sisi kuhifadhi kwamba thamani katika x.
11 kwamba alikuwa huko kabla ya sasa ni overwritten.
Hivyo thamani x ni sasa 55.
Hopefully hiyo ni haki moja kwa moja.
>> Kuna alama nyingine ambayo wameweza pengine si lazima kusikia
kuitwa hii, lakini wameweza hakika kazi pamoja katika siku za nyuma
kama unakumbuka siku zenu za muda mrefu mgawanyiko njia ya nyuma katika shule ya daraja.
Ni wito modulus operator.
Nini modulus gani ni anatoa salio
wakati kugawanya namba mbili kwa pamoja.
Hivyo, kama mimi kusema 13 kugawanywa na 4, nini salio?
Na thamani ya kwamba itakuwa mahesabu na modulus operator.
>> Hivyo, nina mstari wa kanuni hapa, int m ni sawa na 13 mod 4.
Na mimi kusema hapa katika maoni thamani kwamba m ni sasa 1.
Kwa nini nasema hivyo?
Naam, kufanya mgawanyo kwa muda mrefu nje katika yako kichwa, kama wewe kuzaa na mimi kwa ajili ya pili.
Hivyo, nina 4 kugawanywa na 13.
4 huenda katika 13 mara tatu pamoja salio ya 1.
Kwa hiyo, kimsingi, kila modulus operator gani
je, ni atakwambia wakati mgawanyiko, kupata salio.
Unaweza kufikiri kwamba kweli si jambo sana na manufaa,
lakini wewe d kushangazwa, kwa kweli, na jinsi mara nyingi kwamba modulus
Opereta anaweza kuja katika Handy.
>> Kuna wanandoa wa matatizo tutaweza kufanya CS50 kwamba kukabiliana nayo.
Ni pia nzuri kwa ajili ya kufanya mambo kama idadi random.
Hivyo, kwa mfano kama wameweza milele sikia random idadi jenereta,
hiyo ni kwenda kukupa idadi kutoka 0 kwa baadhi ya idadi kubwa.
Lakini labda wewe tu kweli haja idadi 0-20.
Kama matumizi ya modulus operator juu ya kwamba idadi kubwa kwamba
anapata yanayotokana na random idadi jenereta,
wewe ni kwenda kuchukua chochote thamani kubwa ni, kuigawanya kwa asilimia 20,
na kupata salio.
Unaweza tu salio kuwa thamani 0-19.
Kwa hiyo, matumizi ya modulus operator kuchukua hii idadi kubwa
na whittle chini katika kitu zaidi kidogo ya maana.
Mimi nina uhakika pretty wewe utakuwa na uwezo wa kutumia zote mbili za wale
wakati fulani katika siku zijazo katika CS50.
>> Kwa hiyo, C pia inatupa njia kuomba hesabu
alama ya kutofautiana moja katika kidogo zaidi shorthand njia.
Hivyo, katika slide uliopita, tuliona x sawa x mara 5.
Hiyo kazi.
x mara 5 kisha anapata kuhifadhiwa nyuma katika x.
Kuna njia fupi ya kufanya hivyo, mawazo, na ni mara syntax x sawa 5.
Ni kitu kimoja halisi kama ni akisema x sawa x mara 5.
Ni tu kidogo njia fupi ya kufanya hivyo.
Na wakati unaweza kuona baadhi usambazaji kanuni au wewe
ona baadhi ya kanuni sampuli kwamba anafanya mambo kama hii,
tu kuwa na mazoea na nini syntax maana yake.
Wewe hakika hawana matumizi yake, lakini kama wewe,
inaweza kufanya kanuni yako kuangalia slicker kidogo.
Na kujua kwamba unaweza pia kutumia yoyote ya waendeshaji mbalimbali tumekuwa tayari
kuona mbele badala ya mara kwa mara.
Unaweza kusema x pamoja ni sawa na 5, bala sawa 5, mara, mgawanyiko, na mod.
Wote wa wale kazi.
>> Pia kuna kitu hiyo ni jambo la kawaida katika C
kwamba tumekuwa aliamua kuboresha kwamba hata zaidi.
Incrementing kutofautiana na 1 au decrementing kutofautiana na 1
ni kama thing-- kawaida hasa wakati sisi majadiliano juu loops baadaye kidogo
on-- kwamba tumekuwa aliamua badala ya kusema kitu kama x plus sawa na 1,
au x sawa x pamoja na 1, tumekuwa hata short mitupu kwamba kwa x pamoja pamoja.
Hivyo, x sawa x pamoja na 1, x pamoja ni sawa na 1, na x pamoja pamoja na wote kufanya kitu kimoja.
Wote x nyongeza na 1.
Lakini hiyo incrementing na decrementing na 1
ni jambo la kawaida kwamba tuna pamoja na bala bala pamoja
kwamba kuruhusu sisi shorthand kuwa hata zaidi.
>> Hivyo, hebu kubadili gia kwa ajili ya pili na majadiliano juu ya maneno Boolean.
Yote ambayo ni pia aina ya kuanguka katika jamii kwa ujumla ya kampuni.
Lakini maneno Boolean, tofauti na hesabu waendeshaji,
hutumiwa kwa ajili ya kulinganisha maadili.
Hivyo, tena, kila maneno Boolean katika C kutathmini na mmoja wa maadili mbili inawezekana,
kukumbuka.
Kweli au uongo.
Hiyo ni maadili mbili tu kwamba Kutofautiana Boolean inaweza kuchukua.
Tunaweza kutumia matokeo ya kujieleza Boolean
katika njia nyingi katika programu.
Kwa kweli, wewe utakuwa na kufanya hivyo mengi kabisa.
>> Kwa mfano, tunaweza kuamua, vizuri, kama baadhi ya hali ni kweli,
labda mimi itabidi kuchukua hii tawi chini kificho wangu.
Masharti, hivyo kusema.
Tutaweza kujifunza kuhusu wale mapema mno.
Au labda, kwa muda mrefu kama hii ni kweli, nataka
kwa kuendelea kufanya hivyo tena na tena na tena.
Kitanzi.
Katika kesi zote, tunajua kwamba sisi ni kutumia kujieleza Boolean, kweli au uongo,
kuamua kama au si kuchukua njia fulani.
Wakati mwingine wakati sisi ni kazi kwa maneno Boolean,
tutatumia vigezo vya aina Bool.
Unaweza wametangaza Bool typed kutofautiana,
na wewe utakuwa kutumia katika yako Boolean kujieleza.
Lakini huna daima na mambo yetu.
Kama ni zamu nje, katika C, kila yasiyo ya 0 thamani ni sawa na kusema kweli.
Kama alikuwa ametangaza kutofautiana wa aina Boolean,
na kupewa hiyo thamani ya kweli, hiyo ni sawa na kutangaza integer
na kumshirikisha ni thamani 1, 2, 3, au kweli thamani yoyote
yo mengine ya 0.
Kwa sababu katika C, kila yasiyo ya 0 thamani ni kweli.
0, kwa upande mwingine, ni uongo.
Hii inaweza kuja katika sehemu za baadaye kujua,
lakini tu kitu cha kukumbuka.
Hatuwezi daima kuwa na matumizi ya Boolean vigezo aina wakati sisi
wanafanya kazi kwa maneno Boolean.
>> Kuna aina kuu mbili za Boolean Maneno kwamba tutaweza kazi pamoja.
Waendeshaji mantiki na waendeshaji kimahusiano.
Lugha kuna si sana muhimu.
Ni kweli tu jinsi mimi nina kambi yao.
Na utasikia hakika, nadhani, kwa haraka kutambua nini operator kimahusiano ni,
kulingana na kile wao ni wakati sisi majadiliano juu yao katika pili.
Lakini msiwe na wasiwasi juu lazima kukariri mrefu mantiki operator
au kimahusiano operator.
Mimi tu kutumia kwa kundi yao kwa njia mantiki.
>> Hivyo, hebu tuangalie tatu waendeshaji mantiki
kwamba tutaweza kuona kabisa kidogo katika programu katika CS50
na katika programu zaidi kwa ujumla.
Mantiki NA ni kweli, ikiwa na tu kama operands yote ni ya kweli.
Vinginevyo uongo.
Ambapo haina maana?
Hivyo, hebu kusema kwamba mimi niko kwenye uhakika katika kanuni yangu ambapo mimi kuwa
vigezo mbili, x na y.
Na mimi nataka kuamua kama kufanya kitu katika kanuni yangu
kulingana na kama x ni ya kweli na y ni kweli.
Mimi tu unataka kufanya hivyo kama wawili kati yao ni wa kweli,
vinginevyo Sitaki kwenda chini kwamba njia kwa sababu si kwenda kwa msaada kwangu.
Ninachoweza kusema ni kama x & & y.
Ambayo itakuwa Boolean mantiki kujieleza kulinganisha x na y
na kuchukua njia fulani kulingana na kile maadili yao ni.
Hivyo, kama x ni ya kweli na y ni kweli kulingana na hii meza ukweli hapa,
basi tu sisi kwenda chini njia hiyo.
Kama x, y & &.
Ni true-- tu na ni tu kweli kama x ni ya kweli na y ni kweli.
Kama moja ama ni uongo, kama tunaona meza kweli,
kisha wote x na y si kweli.
Na hivyo, x & & y ni ya uongo.
>> Mantiki AU ni kweli kama na tu kama operand angalau moja ni kweli.
Vinginevyo uongo.
Hivyo mantiki NA required wote x na y kuwa ni kweli.
Mantiki AU inahitaji x kuwa ni kweli au y kuwa ni kweli au wote wawili x na y kuwa ni kweli.
Hivyo, tena, sisi aina ya kupata sisi wenyewe katika hali
ambapo tunakwenda kanuni zetu, na sisi kufikiwa uma katika barabara.
Na tunataka kwenda chini Hasa njia kama x ni kweli
au y ni kweli, lakini si lazima kama wote wawili ni kweli.
Lakini pengine kama wote wawili ni kweli.
Hivyo kama x ni ya kweli na y ni kweli, tutaweza kwenda chini njia hiyo.
x ni kweli.
Mmoja wao ni kweli, haki?
Kama x ni ya kweli na y ni kweli.
Kama x ni kweli, na y ni uongo, mmoja wao bado ni kweli.
Hivyo, x au y bado ni kweli.
Kama x ni ya uongo, na y ni kweli, mmoja wao bado ni kweli, haki?
y ni kweli, katika kesi hii.
Kwa hiyo, ni kweli kwamba x au y ni kweli.
Tu kama x ni ya uongo na y ni uongo Je, sisi si kwenda chini njia hiyo,
kwa sababu wala x wala y ni kweli.
Sasa, kama wewe ni kuangalia katika screen hivi sasa
na anashangaa kwamba ishara ni kwa mantiki AU,
ni kuitwa bar wima.
Na kama wewe kuangalia keyboard yako kwa dakika moja, kama mimi nina kufanya sasa,
ni kawaida tu juu ya Kuingia muhimu, juu ya keyboards zaidi,
juu ya msingi huo kama backslash.
Ni pia kawaida haki karibu na mabano mraba.
Hivyo, inaweza kuwa muhimu ambayo wewe si typed mengi sana katika siku za nyuma.
Lakini, kama wewe ni milele kufanya kulinganisha mantiki,
kama tutaweza kufanya mengi katika shaka, ni
kwenda kuwa na manufaa kwa kupata kwamba muhimu na matumizi yake.
Hivyo, ni kawaida juu ya msingi huo kama backslash tu juu kuingia.
>> Mwisho mantiki operator sio.
Na sio pretty moja kwa moja.
Ni inverts thamani ya operand wake.
Kama x ni kweli, basi si x ni ya uongo.
Kama x ni uongo, basi si x ni kweli.
Wakati mwingine utasikia alama hii hutamkwa kama bang au Moderators
au la.
Ni pretty much wote kitu kimoja.
Katika kesi kusikia kwamba amesema na huna uhakika nini maana,
ni tu mshangao uhakika, lakini wakati mwingine ni
aitwaye wanandoa mambo mbalimbali.
Haki wote, hivyo kwamba inachukua huduma ya kampuni za mantiki.
Kwa hiyo, hebu majadiliano juu ya waendeshaji kimahusiano.
Tena, kama wewe ni ukoo na hii hesabu nyuma katika shule ya daraja,
wewe pengine ukoo na jinsi kazi hizi tayari.
Hizi kuishi hasa kama wewe d kutarajia.
Hivyo chini ya ni kweli, katika hili mfano, kama x ni chini ya y.
Hivyo, kama x ni 4 na y ni 6, x ni chini ya y.
Hiyo ni kweli.
Chini ya au sawa na kazi pretty vile vile.
Kama x ni 4, na y ni 4, kisha x ni chini ya au sawa na y.
Mkuu kuliko mimi. x ni mkubwa kuliko y.
Na zaidi au sawa na, x ni mkubwa kuliko au sawa na y.
Kama ni kweli, basi utasikia kupita kwamba kujieleza,
na wewe utakuwa kwenda chini kwamba njia juu ya barabara.
Kama una an kama x ni mkubwa kuliko y, na x ni, kwa kweli, ni mkubwa kuliko y,
itabidi kufanya chochote ni chini ya hali hiyo.
>> Taarifa kwamba hatuna tabia moja kwa chini ya
au sawa na, kama unaweza kuwa na ukoo na kutoka vitabu vya kiada hisabati.
Hivyo, tuna chini ya ishara, ikifuatiwa na ishara sawa.
Hiyo ni jinsi sisi kuwakilisha chini ya au sawa na.
Na vile vile, je, sisi kufanya hivyo kwa zaidi au sawa na.
>> Mwisho kimahusiano mbili kampuni hiyo ni muhimu
ni kupima kwa usawa na kukosekana kwa usawa.
Hivyo, kama x ni sawa sawa na y, ni kweli kama x na y ya thamani ni sawa.
Kama x ni 10, na y ni 10, kisha x ni sawa sawa na y ni kweli.
Kama x ni 10 na y ni 11, x sawa sawa na y si kweli.
Tunaweza pia mtihani kwa kukosekana kwa usawa kwa kutumia Moderators kumweka au bang au sio,
tena.
Kama x si sawa na y, kama hiyo ni mtihani sisi ni kutumia hapa,
tunatarajia kuwa vizuri kwenda.
Hivyo, kama x si sawa na y, tutaweza kwenda chini njia hiyo.
>> Kuwa kweli makini hapa.
Ni kweli mistake-- kawaida na moja mimi hakika alifanya mengi kabisa wakati
Mimi nilikuwa kupata started-- kwa ajali makosa
operator zoezi, sawa moja, kwa usawa kulinganisha operator,
mara mbili sawa.
Kutakuwa na kusababisha baadhi weird tabia katika kanuni yako,
na kwa kawaida compiler mapenzi kuonya kuhusu hilo wakati wewe kujaribu
na kukusanya code yako, lakini wakati mwingine unaweza kuwa na uwezo sneak hivyo kwa.
Ni si lazima jambo zuri kwamba sneak hivyo kwa, ingawa.
Hivyo tu kama unafanya kukosekana kwa usawa mtihani,
kama wewe ni kuangalia kama mbili vigezo mbalimbali na thamani sawa
ndani mwao, kuhakikisha kutumia sawa sawa, na usawa si moja.
Na kwamba njia yako mpango mapenzi kuwa na tabia unakusudia.
Mimi nina Doug Lloyd na hii ni CS50.