[MUSIC nagpe-play] DOUG LLOYD: Hi, kaya sabihin makipag-usap tungkol operator sa C. Kaya, na namin nakita ang isa, sa katunayan, ay katumbas ng assignment operator. Ito ay nagpapahintulot sa amin upang ilagay lamang ang halaga sa isang variable. Iyan ang assignment operator, single katumbas sign. Upang manipulahin at work may halaga at mga variable sa C, kami ay may isang bilang ng mga operator sa aming itapon na maaari naming gamitin. Tingnan natin ang isang pagtingin sa ang ilan sa mga karaniwang mga bago nagsisimula sa aritmetika operator. Bilang maaari mong asahan, maaari naming gawin pretty pangunahing pagpapatakbo sa matematika sa C. Maaari naming idagdag, ibawas, multiply, at numero hatiin gamit plus, minus, star, at slash, ayon sa pagkakabanggit. Narito ang isang pares ng mga linya ng code na gawin namin iyon. Kaya, kami ay int x ay katumbas ng y plus 1. Ipagpalagay na ang isang lugar Ipaalam up itaas ang linya ng code kami ay sinabi int y katumbas ng 10. Ano ang halaga ng x matapos kong maipatupad ang unang linya ng code? Ang ibig sabihin mo 11? Gusto mo ng karapatan. Bakit na? Well, y ay 10. Ang ilang ko sinasabi int x ay katumbas ng 10 plus 1. 10 plus 1 ay 11. Kaya, ang halaga 11 ay makakakuha ng naka-imbak sa mga variable x. Hindi masyadong masama, tama? Paano ang tungkol dito sa susunod na linya ng code? x ay katumbas ng x beses 5. Well, bago namin pinaandar ito linya ng code, x ay 11. Kaya, ano ay ang halaga ng mga x matapos ang linya ng code? Kumuha ng isang segundo. Kaya, ay katumbas ng x x beses 5. x ay 11. Kaya, ay katumbas ng x 11 beses 5. O 55. Kaya kung sinabi mo sa 55, gusto mo ay tama. Ngayon, maaaring ito ay isang maliit na nakalilito, ngunit sa paraan na ang assignment ay gumagana sa C ay ang halaga sa kanang makakakuha nakatalaga sa mga halaga sa kaliwa. Kaya, unang suriin namin x beses 5. Kaya, 11 beses 5 ay 55. At pagkatapos ay iniimbak namin na halaga sa x. Ang 11 ay naroon bago ay mapapatungan ngayon. Kaya ang halaga ng x ay ngayon 55. Sana na medyo tapat. May isa pang operator na na sa iyo marahil hindi kinakailangang narinig tinatawag na ito, ngunit na sa iyo tiyak na nagtrabaho sa sa nakalipas kung maalala mo ang iyong mga araw ng matagal division bumalik sa mababang paaralan paraan. Ito ay tinatawag na ang modulus operator. Ano modulus ay ito nagbibigay sa iyo ng mga naiwan kapag hatiin mo ang dalawang numero na magkasama. Kaya, kung sinasabi ko 13 na hinati sa pamamagitan ng 4, ano ang natitira? At ang halaga na ay kinakalkula sa pamamagitan ng modulus operator. Kaya, mayroon akong isang linya ng code dito, int m ay katumbas ng 13 mod 4. At sinasabi ko dito sa isang komento halaga na m ay ngayon 1. Bakit ako sabihin na? Well, gawin ang mga long division sa iyong ulo, kung madala mo sa akin para sa isang segundo. Kaya, 4 aking binahagi sa pamamagitan ng 13. 4 napupunta sa 13 tatlong beses may mga naiwan ng 1. Kaya, talaga, ang lahat ng mga modulus operator ay ay nagsasabi sa iyo kung kailan mo hatiin, makukuha mo ang natitira. Maaari mong isipin na ang tunay hindi isang lubha kapaki-pakinabang na bagay, ngunit gusto mo mabigla, talaga, sa pamamagitan ng kung gaano kadalas na modulus operator ay maaaring dumating sa madaling-gamiting. Mayroong isang pares ng mga problema gagawin namin ang CS50 na pakikitungo sa mga ito. Ito ay mabuti para sa paggawa ng ring mga bagay tulad ng random na numero. Kaya, halimbawa kung na sa iyo kailanman narinig ng isang random na numero ng generator, na ang pagpunta sa magbibigay sa iyo ng isang numero mula 0 hanggang ilang malaking numero. Pero siguro talagang ka lamang kailangan ng isang numero mula 0 hanggang 20. Kung gagamitin mo ang modulus operator on na giant numero na makakakuha binuo sa pamamagitan ng random na numero generator, ikaw ay pagpunta sa kumuha ng kahit anong malaking halaga na ito ay, hatiin ito sa pamamagitan 20, at makuha ang natitira. Ang mga natitira ay maaari lamang maging isang halaga 0-19. Kaya, gamitin mo ang modulus operator kunin ang malaking bilang at paliitin ito pababa sa isang bagay mas makabuluhan ng kaunti. Ako ay medyo sigurado kayo ay maaaring gamitin ang parehong ng mga sa ilang mga punto sa hinaharap sa CS50. Kaya, ay nagbibigay sa amin din C isang paraan mag-apply ng isang aritmetika operator sa isang solong variable sa isang maliit na mas shorthand paraan. Kaya, sa nakaraang slide, Nakita namin x ay katumbas ng x beses 5. Na nagtrabaho. x beses 5 pagkatapos ay makakakuha ng naka-imbak sa likod sa x. Mayroong isang mas maikling paraan upang gawin ito, pag-iisip, at ito ay ang mga oras ng syntax x ay katumbas ng 5. Ito ay ang parehong eksaktong bagay tulad ng sinasabi x ay katumbas ng x beses 5. Ito ay lamang ng isang bahagyang mas maikling paraan upang gawin ito. At kapag nakita mo ang ilang mga distribution code o mo makita ang ilang sample code na ang mga bagay na tulad nito, maging pamilyar sa lamang ano ang kahulugan ng syntax. Ikaw ay tiyak na hindi magkaroon ng gamitin ito, ngunit kung gagawin mo ito, ito ay maaaring gumawa ng iyong code tumingin ng isang maliit kapote. At alam na maaari mo ring gamitin ang alinman sa ang iba't-ibang mga operator na namin na nakikita dati sa halip na ulit. Maaari mong sabihin x plus ay katumbas ng 5, minus ay katumbas ng 5, oras, hatiin, at mod. Lahat ng mga trabaho. Mayroon din ng isang bagay iyan ay kaya karaniwan sa C na napagpasyahan naming pinuhin na kahit pa. Incrementing isang variable ng 1 o decrementing isang variable ng 1 ay tulad ng isang karaniwang thing-- lalo kapag kami makipag-usap tungkol sa mga loop ng kaunti mamaya on-- na napagpasyahan naming sa halip ng sinasabi ng isang bagay tulad ng x plus ay katumbas ng 1, o x ay katumbas ng x plus 1, na namin ng kahit maikling ipinasa na sa x plus plus. Kaya, x ay katumbas ng x plus 1, x plus ay katumbas ng 1, at x plus plus ang lahat gawin ang parehong bagay. Lahat sila paglakas x sa pamamagitan ng 1. Ngunit na incrementing at decrementing ng 1 ay kaya karaniwan na mayroon kami plus plus at minus minus na nagbibigay-daan sa amin upang takigrapya na kahit pa. Kaya, lumipat ni gears para sa ikalawang ipaalam at makipag-usap tungkol sa Boolean expression. Lahat na din ng uri ng mapunta sa ang pangkalahatang kategorya ng mga operator. Ngunit Boolean expression, hindi katulad ng aritmetika operator, ay ginagamit para sa paghahambing ng mga halaga. Kaya, muli, ang lahat ng Boolean expression sa C suriin sa isa sa dalawang posibleng halaga, pagpapabalik. Tama o mali. Iyan na lamang ang dalawang mga halaga na Boolean variable ay maaaring tumagal ng sa. Maaari naming gamitin ang mga resulta ng isang Boolean expression sa maraming mga paraan sa programming. Sa katunayan, makikita mo ang paggawa na ito lubos ng maraming. Halimbawa, maaari naming magpasya, na rin, kung ilang mga kalagayan ay totoo, marahil Kukunin ko ang sangay down ang aking code. Ang isang kondisyon, kaya na magsalita. Susubukan naming malaman ang tungkol sa mga lalong madaling panahon masyadong. O siguro, hangga't ito ay totoo, gusto ko upang panatilihin ang paggawa nito nang paulit-ulit. Ang isang loop. Sa parehong mga kaso, alam na namin ay gumagamit ng isang Boolean expression, isang true o false, upang magpasya kung o hindi upang kumuha ng isang partikular na landas. Minsan kapag kami ay nagtatrabaho sa Boolean expression, gagamitin namin ang mga variable ng uri Bool. Maaaring may ipinahayag mo isang Bool type variable, at makikita mong gamitin sa iyong Boolean expression. Ngunit hindi mo laging may sa gawin. Bilang ito ay lumiliko out, sa C, ang bawat non-0 halaga ay ang parehong bilang na nagsasabi na totoo. Kung ikaw ay ipinahayag ng isang variable ng uri ng Boolean, at itinalaga ito ang tunay na halaga, na ang katulad ng deklarasyon isang integer at magtatalaga sa mga ito ang halaga 1, 2, 3, o talagang anumang halaga kahit ano pa man maliban sa 0. Dahil sa C, ang bawat non-0 halaga ay totoo. 0, sa kabilang banda, ay hindi totoo. Ito ay maaaring dumating sa madaling-magamit sa susunod na malaman, ngunit lamang ng isang bagay na dapat tandaan. Hindi kami laging kailangang gumamit Boolean variable type kapag kami ay nagtatrabaho sa mga Boolean expression. Mayroong dalawang pangunahing uri ng mga Boolean expression na makikipagtulungan kami sa. Lohikal na mga operator at operator pamanggit. Ang wika ay may hindi masyado mahalaga. Ito ay talagang lamang paano ako pagpapangkat ng mga ito. At makikita mo tiyak, sa tingin ko, nang mabilis mapagtanto kung ano ang isang pamanggit operator ay, batay sa kung ano ang mga ito kapag kami makipag-usap tungkol sa mga ito sa isang segundo. Ngunit huwag mag-alala tungkol sa kinakailangang pagsasaulo ng kataga lohikal operator o pamanggit operator. Tingin lang ako sa paggamit nito sa grupong ang mga ito sa isang lohikal na paraan. Kaya, sabihin kumuha ng isang pagtingin sa ang tatlong lohikal na mga operator na namin makita lubos ng bit sa programming sa CS50 at sa programming mas pangkalahatang. Lohikal AT ay totoo, kung at lamang kung ang parehong operands ay totoo. Kung hindi man hindi totoo. Saan ibig sabihin nito? Kaya, sabihin natin na ako sa isang ituro sa aking mga code kung saan mayroon akong dalawang variable, x at y. At gusto ko upang magpasiya kung upang gawin ang isang bagay sa aking code batay sa kung x ay totoo at y ay totoo. Gusto ko lang gawin ito kung pareho ng mga ito ay totoo, kung hindi, hindi ko nais na pumunta down na landas dahil hindi ito ay pagpunta sa makakatulong sa akin. Ano ang maaari kong sabihin ay kung x & & y. Iyon ay isang lohikal na Boolean expression sa paghahambing ng x at y at ang pagkuha ng isang tiyak na landas batay sa kung ano ang kanilang mga halaga ay. Kaya, kung ang x ay totoo at y ay totoo batay sa mga ito katotohanan mesa dito, lamang pagkatapos ay pumunta kami down na landas. Kung x, & & y. Ito ay true-- lamang ang at ay lamang totoo kung x ay totoo at y ay totoo. Kung mag-isa ay hindi totoo, tulad ng nakikita natin ang katotohanan table, pagkatapos ay parehong x at y ay hindi totoo. At ito, x & & y ay hindi totoo. Lohikal OR ay kung at tanging tunay kung hindi bababa sa isang operand ay totoo. Kung hindi man hindi totoo. Kaya lohikal AND kinakailangan parehong x at y upang maging totoo. Lohikal OR nangangailangan x upang maging totoo o y upang maging totoo o parehong x at y upang maging totoo. Kaya, muli, uri ng namin mahanap ang ating mga sarili sa isang sitwasyon kung saan kami ay pagpunta sa aming code, at naabot namin ang isang tinidor sa kalye. At gusto naming bumaba ng isang partikular na landas kung x ay totoo o y ay totoo, ngunit hindi kinakailangang kung ang pareho ay totoo. Ngunit marahil kung ang pareho ay totoo. Kaya kung x ay totoo at y ay true, kami ay pumunta down na landas. x ay totoo. Isa sa mga ito ay totoo, tama? Kung x ay totoo at y ay totoo. Kung x ay totoo, at y ay hindi totoo, isa sa mga ito ay totoo pa rin. Kaya, x o y ay totoo pa rin. Kung x ay hindi totoo, at y ay totoo, isa sa mga ito ay totoo pa rin, di ba? y ay totoo, sa kasong ito. Kaya, ito ay tunay na xoy ay totoo. Tanging kung x ay hindi totoo at y ay hindi totoo hindi namin pumunta down na landas, dahil ni x ni y ay totoo. Ngayon, kung ikaw ay naghahanap sa screen ngayon at nagtataka kung ano na ang simbolo ay para sa mga lohikal na OR, ito ay tinatawag na vertical bar. At kung ikaw ay naghahanap sa iyong keyboard para sa isang minuto, bilang ako ginagawa ngayon, ito ay karaniwang lamang sa itaas ng Enter key, sa karamihan ng mga keyboard, nasa parehong key bilang ang backslash. Ito ay karaniwang karapatan din sa tabi ng mga square bracket. Kaya, maaaring ito ay isang key na kayo hindi nag-type Sobra na sa nakaraan. Ngunit, kung ikaw ay kailanman paggawa lohikal na paghahambing, dahil kakailanganin naming ginagawa ang isang lot sa kurso, ito ay magiging kapaki-pakinabang sa hanapin na key at gamitin ito. Kaya, ito ay karaniwang nasa parehong key bilang backslash lamang sa itaas ang Enter. Ang huling lohikal operator ay HINDI. At HINDI ay medyo tapat. Ito inverts ang halaga ng operand nito. Kung x ay totoo, at pagkatapos ay hindi x ay hindi totoo. Kung x ay hindi totoo, at pagkatapos ay hindi x ay totoo. Minsan makikita mo marinig ang simbolong ito binibigkas bilang putok o exclamation o hindi. Ito ay medyo marami ang lahat ng mga parehong bagay. Sa kasong marinig mo na sinasalita at hindi ka sigurado kung ano ang ibig sabihin nito, ito lamang ay ang exclamation punto, ngunit kung minsan ito ay tinawag ng ilang iba't ibang mga bagay. Lahat ng karapatan, kaya na tumatagal pag-aalaga ng mga lohikal na mga operator. Kaya, sabihin makipag-usap tungkol ipaalam operator pamanggit. Muli, kung hindi ka pamilyar sa mga ito arithmetic bumalik sa mababang paaralan, ikaw ay malamang na pamilyar sa kung paano ang mga trabaho na. Ang mga kumilos nang eksakto tulad ng gusto mong asahan. Kaya mas mababa kaysa ito ay totoo, sa ganitong Halimbawa, kung ang x ay mas mababa sa y. Kaya, kung ang x ay 4 at y ay 6, x ay mas mababa sa y. Totoo yan. Mas mababa sa o katumbas ng gumagana medyo katulad. Kung x ay 4, at y ay 4, pagkatapos x ay mas mababa sa o katumbas ng y. Mahigit sa. x ay mas malaki kaysa sa y. At mas malaki kaysa sa o katumbas ng, x ay mas malaki kaysa sa o katumbas ng y. Kung ito ay totoo, pagkatapos makikita mo nangyari na expression, at pupunta ka pababa ang path na iyon sa daan. Kung mayroon kang isang kung x ay mas malaki kaysa sa y, at x ay, sa katunayan, ay mas malaki kaysa sa y, makikita mo gawin ang anumang ay napapailalim sa mga kondisyon na. Pansinin na hindi namin ay may isang solong character para sa mas mababa o katumbas ng, tulad ng maaari kang maging pamilyar sa mula sa matematika aklat-aralin. Kaya, kami ay mas mababa kaysa sa simbolo, sinusundan ng isang pantay na sign. Iyon ay kung paano namin kumakatawan mas mababa sa o patas sa. At katulad, gawin ang ginagawa namin na para sa mas malaki kaysa sa o katumbas ng. Ang huling dalawang pamanggit operator na mahalaga ay pagsubok para sa pagkakapantay-pantay at hindi pagkakapareho. Kaya, kung ang x ay katumbas ng katumbas y, ay totoo kung ang halaga ng x at y ay pareho. Kung x ay 10, at y ay 10, at pagkatapos ay x ay katumbas ng katumbas ng y ay totoo. Kung x ay 10 at y ay 11, x katumbas ng ay katumbas y ay hindi totoo. Maaari din naming subukan para sa hindi pagkakapareho gamit exclamation point o putok o HINDI, muli. Kung x ay hindi katumbas ng y, kung na ang mga pagsubok na aming ginagamit dito, Gusto naming maging handa na upang patakbuhin. Kaya, kung ang x ay hindi katumbas ng y, kami ay pumunta down na landas. Maging tunay maingat dito. Ito ay isang tunay na karaniwang mistake-- at isa akong tiyak na ginawa pa ng maraming kapag Ako ay nakakakuha started-- sa sinasadyang pagkakamali ang assignment operator, single katumbas, para sa pagkakapantay-pantay ng paghahambing operator, double katumbas. Makikita ito humantong sa ilang mga kakatwang pag-uugali sa iyong code, at karaniwan ay ang tagatala ay balaan ka tungkol dito kapag sinubukan mong at itala ang iyong code, ngunit kung minsan maaaring ikaw ay maaaring upang lumabas nang panakaw ito sa pamamagitan ng. Ito ay hindi palaging isang magandang bagay na ito sneak mo sa pamamagitan ng, kahit na. Kaya lang kung ikaw ay gumagawa isang test hindi pagkakapareho, kung naka-check kung ang dalawang iba't ibang mga variable ay may parehong halaga sa loob ng mga ito, siguraduhin na gamitin ang katumbas katumbas, at hindi single katumbas. At ang paraan na ang iyong programa ay Mayroon ang pag-uugali nilayon mo. Ako Doug Lloyd at ito ay CS50.