[Гуляе музыка] Даг Lloyd: Прывітанне, так што давайце казаць аб аператараў С. Такім чынам, мы ўжо бачылі адно, на самай справе, роўная аператар прысвойвання. Гэта дазваляе нам проста пакласці значэнне ў зменнай. Гэта прызначэнне Аператар, адзін знак роўнасці. Для таго, каб маніпуляваць і працы са значэннямі і зменных ў C, у нас ёсць шэраг аператараў у нашым распараджэнні, што мы можам выкарыстоўваць. Давайце зірнем на некаторыя з распаўсюджаных пачынаючы з арыфметычнымі аператарамі. Як вы маглі б чакаць, што мы можам зрабіць даволі асноўныя матэматычныя аперацыі ў З Мы можам дадаць, адымаць, памнажаць, і лік дзяліць з выкарыстаннем плюс, мінус, зорка, і слэш, адпаведна. Вось некалькі радкоў код, у якім мы робім гэта. Такім чынам, мы маем INT х роўны ля плюс 1. Давайце выкажам здагадку, што дзесьці наверсе гэтага радка кода мы сказалі INT ў роўны 10. Што значэнне х пасля I выканаць першую радок кода? Вы сказалі, 11? Вы б права. Чаму так? Ну, у 10 быў. Некаторыя я кажу INT х роўны 10 плюс 1. 10 плюс 11 Студзень. Такім чынам, значэнне 11 атрымлівае захоўваецца ў зменнай х. Ці не занадта дрэнна, праўда? Як пра гэта наступным радку Код? х роўны х раз 5. Ну, перш чым мы выканалі гэты радок кода, х было 11. Такім чынам, што такое значэнне х пасля гэтага радка кода? Вазьміце другой. Так, х роўны х раз 5. х быў 11. Так, х роўны 11 разоў 5. Або 55. Так што, калі вы сказалі, 55, вы былі б правы. Цяпер, гэта можа быць трохі заблытаным, але з тым, як прызначэнне працуе ў C гэта значэнне на права атрымлівае прызначаны на кошту злева. Такім чынам, спачатку мы ацэньваем х раз 5. Так, у 11 разоў 5 55. А потым мы захоўваем гэта значэнне ў х. 11-што там было раней, зараз перапішуцца. Так Х значэнне зараз 55. Спадзяюся, што гэта даволі проста. Там яшчэ адзін аператар, які вы маеце верагодна, не абавязкова чуў назваў гэта, але вы вядома, працавалі ў мінулым калі вы памятаеце свае дні доўга падзел яшчэ ў пачатковай школе. Гэта называецца аператарам модуль. Што модуль робіць гэта дае рэшту калі вы падзеліце двух лікаў. Так што, калі я кажу, 13 дзеліцца на 4, што астатняя? І гэта значэнне будзе разлічвацца аператарам модуля. Так, у мяне ёсць радкі кода тут, INT м роўная 13 мод 4. І я кажу тут, у каментарах значэнне, што М з'яўляецца ў цяперашні час 1. Чаму я так кажу? Ну, рабіць доўгі падзел у ваш галава, калі вы церпіце мяне на секунду. Такім чынам, я 4 дзеліцца на 13. 4 пераходзіць у 13 тры разы з астаткам 1. Так, у асноўным, усё модуль аператар робіць гэта кажа вам, калі вы дзяліць, вы атрымаеце рэшту. Вы думаеце, што на самой справе не страшна карысная рэч, але вы былі б здзіўлены, на самай справе, па тым, як часта той модуля Аператар можа спатрэбіцца. Там ёсць пара праблем мы зробім CS50, што справіцца з ёй. Гэта таксама добра для гэтага рэчы, як выпадковае лік. Так, напрыклад, калі вы калі-небудзь чуў генератара выпадковых лікаў, што збіраецца даць вам нумар ад 0 да некаторай велізарнай колькасці. Але, можа быць, вы толькі сапраўды трэба лік ад 0 да 20. Калі вы выкарыстоўваеце аператар модуля на гэтай гіганцкай колькасці, атрымлівае спароджаны генератар выпадковых лікаў, Вы збіраецеся прыняць усе велізарнае значэнне гэта, падзеліце яго на 20, і атрымаць рэшту. Астатняя можа толькі мець значэнне ад 0 да 19. Такім чынам, вы выкарыстоўваць аператар модуля скарыстацца гэтай велізарная колькасць і звесці яго на што-то трохі больш сэнсу. Я ўпэўнены, што вы будзеце магчымасць выкарыстоўваць абодва гэтыя у нейкі момант у будучыні ў CS50. Так, З таксама дае нам магчымасць прымяніць арыфметыку аператару адной зменнай у крыху больш за скарочаным шляху. Так, у папярэднім слайдзе, мы бачылі х роўная х раз у 5. Гэта працавала. х раз 5, то атрымлівае захоўваецца яшчэ ў х. Там гэта больш кароткі шлях, каб зрабіць гэта, думка, і гэта сінтаксіс х раз роўная 5. Гэта сапраўды такі ж рэч, як кажучы х роўная х раз 5. Гэта проста трохі карацей спосаб зрабіць гэта. І калі вы ўбачыце некаторыя Код размеркавання або ўбачыць некаторыя ўзоры кода, што робіць рэчы, як гэта, проста быць знаёмым з што азначае сінтаксіс. Вы, вядома, не маюць каб выкарыстоўваць яго, але калі вы робіце, гэта можа зрабіць ваш код выглядаць трохі порхаўка. І ведайце, што вы таксама можаце выкарыстоўваць любы з розныя аператары, мы ўжо бачыў замест разоў. Можна сказаць, х плюс роўная 5, мінус роўны 5, раз, падзяляй і мод. Усе гэтыя працы. Там таксама тое, што гэта так распаўсюджана ў C што мы вырашылі ўдакладніць, што яшчэ далей. Павелічэнне значэння зменнай на 1 або памяншаючы зменную па 1 гэта такая агульная thing-- асабліва калі мы гаворым пра завес крыху пазней on--, што мы вырашылі замест кажучы нешта накшталт х плюс роўны 1, або х роўны х + 1, мы нават Карацей кажучы, што перадаў х плюс плюс. Так, х роўны х + 1, X роўная 1 плюс, і х плюс плюс усё робім тое ж самае. Яны ўсе прырашчэнне х на 1. Але што прырашчэнне і памяншаючы на ​​1 гэта настолькі часта, што ў нас ёсць плюс плюс і мінус мінус якія дазваляюць нам аблічваць што яшчэ больш. Такім чынам, давайце пераключыцца на секунду і казаць аб лагічных выразаў. Усе, якія таксама выгляд трапляюць у агульная катэгорыя аператараў. Але лагічныя выразы, у адрозненне ад арыфметычных аператараў, выкарыстоўваюцца для параўнання значэнняў. Так, зноў жа, усё Булевы выразы ў C ацаніць да аднаго з двух магчымых значэнняў, памятаю. Праўда ці хлусня. Вось толькі два значэння, якія Лагічная пераменная можа прымаць. Мы можам выкарыстоўваць вынікі з лагічнага выразы ў вялікай колькасці спосабаў праграмавання. На самай справе, вы будзеце рабіць гэта даволі шмат. Напрыклад, мы маглі б вырашыць, добра, калі некаторы ўмова праўдзіва, можа быць, я вазьму гэта галінавацца ўніз мой код. Ўмоўны, так бы мовіць. Мы даведаемся пра тыя, у бліжэйшы час таксама. Ці можа быць, так доўга, як гэта праўда, я хачу, каб працягваць гэта рабіць зноў і зноў і зноў. Цыкл. У абодвух выпадках, ведаюць, што мы выкарыстоўваем лагічнае выраз, сапраўдным або ілжывых, каб вырашыць, ці варта прыняць адмысловы шлях. Часам, калі мы працуем з лагічных выразаў, мы будзем выкарыстоўваць зменныя тыпу Bool. Вы, магчыма, заявіў лагічнае значэнне зменнай набралі, і вы будзеце выкарыстоўваць у вашым Лагічнае выраз. Але вы не заўсёды трэба рабіць. Як высвятляецца, у C, кожны ня-0 Значэнне такой жа, як выслоўе. Калі б вы аб'яўлена пераменная тыпу Boolean, і прызначаны яго значэнне дакладна, што гэта гэтак жа, як аб'явы цэлае і прысваенне яму значэння 1, 2, 3, або сапраўды любы значэнне б там ні было, акрамя 0. Таму што ў C, кожны ня-0 значэнне дакладна. 0, а з другога боку, з'яўляецца ілжывым. Гэта можа прыйсці ў спатрэбіцца пазней, каб ведаць, але проста нешта, каб трымаць у розуме. Мы не заўсёды павінны выкарыстоўваць Лагічныя зменныя тыпу, калі мы працуюць з булева выразамі. Ёсць два асноўных тыпу Boolean выразы, якія мы будзем працаваць з. Лагічныя аператары і рэляцыйныя аператары. Мова ёсць не вельмі важна. Гэта на самай справе проста, як я іх групоўкі. І вы, вядома, я думаю, што хутка зразумець, што рэляцыйная аператар, на аснове таго, што яны, калі мы казаць пра іх у секунду. Але не турбуйцеся аб неабходнасці запамінання тэрмін лагічны аператар або аператар параўнання. Я проста выкарыстоўваць яго для групы іх у лагічным парадку. Такім чынам, давайце зірнем на тры лагічныя аператары што мы ўбачым зусім трохі ў праграмаванні ў CS50 і ў праграмаванні ў цэлым. Лагічнае І праўда, калі і толькі калі абодва аперанда праўдзівыя. У адваротным выпадку хлусня. Дзе ж гэта значыць? Такім чынам, давайце казаць, што я знаходжуся ў пазначыць у мой код, дзе я ёсць дзве зменныя х і у. І я хачу, каб вырашыць, ці варта зрабіць што-то ў маім кодзе на аснове, калі х праўдзівая і ў праўдзівая. Я толькі хачу, каб гэта зрабіць, калі абодва верныя, у адваротным выпадку я не хачу ісці ўніз, што Шлях, таму што гэта не дапаможа мне. Тое, што я магу сказаць, гэта, калі х & & Y. Гэта будзе лагічным Лагічны Выраз параўнання х і ў і прымаючы пэўны шлях на падставе таго, што іх значэння. Такім чынам, калі х праўдзівая і ў дакладна на аснове гэтай табліцы праўдзівасці тут, толькі тады мы ідзем па гэтым шляху. Калі х, і ў &. Гэта толькі true-- і толькі дакладна, калі х праўдзівая і ў праўдзівая. Калі адзін з'яўляецца ілжывым, як мы бачым табліцу праўдзівасці, то абодва х і у, не адпавядаюць рэчаіснасці. І так, х & & ля ілжывая. Лагічнае АБО праўдзіва, калі і толькі калі па меншай меры адзін з аперанд дакладна. У адваротным выпадку хлусня. Так лагічнае І патрабуецца і х і у, каб быць праўдай. Лагічнае АБО патрабуе х, каб быць праўдай ці ў каб быць праўдай, або абодва х і у, каб быць праўдай. Так, зноў жа, мы неяк знайсці самі ў сітуацыі куды мы ідзем, каб наш код, і мы дасягнулі развілкі на дарозе. І мы хочам, каб перайсці ўніз прыватнасці, калі шлях х дакладна ці ў дакладна, але не абавязкова, калі абодва праўдзівыя. Але, магчыма, калі абодва праўдзівыя. Так што, калі х праўдзівая і ў з'яўляецца праўда, мы пойдзем па гэтым шляху. х дакладна. Адзін з іх, праўда, ці не так? Калі х і ў дакладна дакладна. Калі х, праўда, і ў ілжывая, адзін з іх па-ранейшаму дакладна. Так, х ці ў па-ранейшаму дакладна. Калі х з'яўляецца ілжывым, і ў дакладна, адзін з іх па-ранейшаму дакладна, праўда? у дакладна, то ў гэтым выпадку. Такім чынам, гэта праўда, што х ці ў дакладна. Толькі калі х лыжка і ў ілжывая б нам не пайсці па гэтым шляху, таму што ні х, ні ў дакладна. Цяпер, калі вы шукаеце на экране прама цяпер і цікава, што гэта сімвал лагічнага АБО, гэта называецца вертыкальная паласа. І калі вы, гледзячы на ​​клавіятуры за хвіліну, як я раблю цяпер, гэта, як правіла, крыху вышэй Калі ласка, увядзіце ключ, на большасці клавіятур, на той жа клавішы, што зваротны слеш. Гэта таксама, як правіла, прама побач з квадратныя дужкі. Так, гэта можа быць ключ, які вам не набралі вельмі шмат у мінулым. Але, калі Вы калі-небудзь рабіць лагічныя параўнання, як мы будзем рабіць Шмат у курсе, што гэта будзе карысна знайсці гэты ключ і выкарыстоўваць яго. Такім чынам, гэта, як правіла, на той жа клавішы а зваротная касая рыса ледзь вышэй Enter. Канчатковы лагічны аператар НЕ. І не даволі простая. Гэта Інвертуйце значэнне свайго аперанда. Калі х дакладна, то не х фальшыва. Калі х з'яўляецца ілжывым, то не х дакладна. Часам вы будзеце чуць гэты сімвал вымаўляецца як трэскам або ўсклік ці не. Гэта ў значнай ступені ўсё тое ж самае. У выпадку, калі вы чуеце, што кажуць, і Вы не ўпэўненыя, што гэта значыць, гэта проста клічнік кропка, але часам гэта называецца пара розныя рэчы. Добра, так што займае клапаціцца аб лагічных аператараў. Такім чынам, давайце пагаворым аб рэляцыйныя аператары. Зноў жа, калі вы знаёмыя з гэтым арыфметычнае таму ў пачатковай школе, Вы, напэўна, знаёмыя з тым, як яны працуюць ужо. Яны паводзяць сябе так, як вы чакалі. Так менш, чым праўда, у гэтым Напрыклад, калі х менш у. Так, калі х 4 і ў 6, х менш у. Гэта праўда. Менш або роўна працуе даволі аналагічным чынам. Калі х 4, і ў роўна 4, то х менш або роўна у. Больш. х больш у. І больш або роўная х больш або роўна Y. Калі гэта праўда, то вы будзеце прайсці гэты выраз, і вы будзеце ісці ўніз што шлях на дарозе. Калі ў вас ёсць, калі х больш, чым у, і Х ўяўляе сабой, па сутнасці, больш, чым у, вы будзеце рабіць усё, што падлягаюць такім стане. Звярніце ўвагу, што мы не маем адзін сімвал менш, чым або роўна, як вы маглі б быць знаёмыя з матэматычных падручнікаў. Такім чынам, мы маем менш, чым сімвал, з наступным знакам роўнасці. Вось як мы ўяўляем менш або роўна. І сапраўды гэтак жа, мы робім, што Для больш або роўная. Канчатковы дзве рэляцыйныя аператары, якія маюць важнае значэнне тэстуем на роўнасць і няроўнасць. Такім чынам, калі х роўны роўны Y, праўда калі х і ў у значэнне тое ж самае. Калі х 10, і ў 10, а затым х роўны роўны ў дакладна. Калі х і ў 10 на 11, х роўная роўная у не дакладна. Мы таксама можам праверыць з дапамогай няроўнасці Клічнік або выбуху ці не, зноў. Калі х ня роўны Y, пры гэта тэст мы выкарыстоўваем тут, мы б добра ісці. Такім чынам, калі х ня роўна у, мы пойдзем па гэтым шляху. Будзьце вельмі асцярожныя тут. Гэта сапраўды агульная mistake-- і Я, вядома, адным з даволі шмат, калі Я атрымліваю started-- выпадкова пераблытаць аператар прысвойвання, адзінкавыя роўна, для аператара параўнання роўнасці, падвойныя роўна. Гэта будзе прыводзіць да некаторыя дзіўныя паводзіны ў кодзе, і, як правіла, кампілятар будзе папярэдзіць вас пра гэта, калі вы спрабуеце і скампіляваць код, але часам Вы маглі б быць у стане красціся міма. Гэта не абавязкова добра што вы крадком яго, хоць. Сапраўды гэтак жа, калі вы робіце тэст няроўнасць, калі вы правяраеце Ці два розныя зменныя маюць аднолькавае значэнне ўнутры іх, пераканайцеся, што выкарыстоўваеце роўная роўных, а не асобныя роўных. І такім чынам ваша праграма будзе ёсць паводзіны, якое вы збіраецеся. Я Дуг Лойд і гэта CS50.