>> [Мусиц плаиинг]
>> Даг Ллоид: Здраво, па хајде да говоримо о оператерима у Ц.
Дакле, већ смо видели једно, у ствари, једнака оператора доделе.
То нам омогућава да само стави вредност у променљивој.
То је задатак оператор, један знак једнакости.
Да би се манипулисало и рад са вредностима и променљивих у Ц,
имамо велики број оператера на располагању да можемо да користимо.
Хајде да погледамо неке од најчешћих
почевши од аритметичке операторе.
Као што се може очекивати, можемо да урадимо претти основне математичке операције у Ц.
Можемо сабирање, одузимање, множите се, и Дивиде бројеве користећи плус минус, звезда,
и сласх, респективно.
Ево неколико линија Код у којој ми то радимо.
Дакле, имамо инт једнако и плус 1.
Претпоставимо да негде изнад ове линије кода
смо рекли инт и износи 10.
Шта је вредност к И после изврши ову прву линију кода?
Да ли сте рекли 11?
Ти би у праву.
Зашто је то?
Па, година је 10.
Неки Кажем инт једнако 10, плус 1.
10 Плус 1 је 11.
Дакле, вредност 11 добија чувају у варијабилном к.
Није лоше, зар не?
>> Како о овој следећој линији код? к једнако к пута 5.
Па, пре него што погубљени ова линија кода, Кс је 11.
Дакле, шта је вредност х после ове линије кода?
Узмите мало.
Дакле, к једнако к пута 5.
Кс је 11.
Дакле, к једнако 11 пута 5.
Или 55.
Дакле, ако сте рекли 55, био би у праву.
>> Сада, то може бити мало збуњујуће, али начином на који задатак ради у Ц
је вредност на десној страни добија додељен на вредност на левој страни.
Дакле, прво проценити к пута 5.
Дакле, 11 пута 5 је 55.
И онда складишти ту вредност у к.
Тхе 11 који су били тамо пре него што је сада преписан.
Дакле, вредност к је сада 55.
Надам се да је то прилично једноставно.
>> Постоји још једна оператер који сте Вероватно не нужно чуо
зове, али сте сигурно је радио у прошлости
Да ли се сећате своје дане дуго Подела давне у основној школи.
То се зове оператор модул.
Шта је то модул ради даје остатак
Када поделите два броја заједно.
Дакле, ако кажем 13 подељено 4, шта је остатак?
И та вредност ће се обрачунавати од стране оператера модула.
>> Дакле, имам линију кода овде, инт м износи 13 мод 4.
И овде каже у коментару вредност да је М је сада 1.
Зашто то кажем?
Па, да ли је дуг поделу у вашој глава, ако се носе са мном за секунд.
Дакле, ја сам 4 подијељена 13.
4 иде у 13 три пута са остатком 1.
Дакле, у суштини, све Модул оператер ради
да ли је вама када говори јаз, ти остатак.
Можда мислите да је то уствари није страшно корисна ствар,
али изненадили бисте се, у ствари, од колико често тај модул
оператер може доћи у руци.
>> Постоји неколико проблема урадићемо ЦС50 да се избори са тим.
Такође је добро за то ствари као произвољним бројем.
Тако, на пример, ако сте икада чуо за случајних бројева генератора,
који ће вам дати број од 0 до неког велики број.
Али можда сте само стварно потребан број од 0 до 20.
Ако користите оператор МОДУЛУС на том гиганта броја који
бива генерисан од стране Рандом Нумбер Генератор,
ћеш да предузму све огромна вредност је, да дели са 20,
и добити остатак.
Остатак могу само бити вредност од 0 до 19 година.
Дакле, користите Модул оператор да искористим ову велики број
и Вхиттле га у нешто мало више смисла.
Прилично сам сигуран да ће бити могли да користите обе оних
у неком тренутку у будућности у ЦС50.
>> Дакле, Ц такође нам даје начин да примењују аритметика
руковаоцу да један варијабилни у малом више скраћеним начин.
Дакле, у претходном слајду, видели смо је к једнако к пута 5.
То је радио.
к пута 5 онда се складишти назад у к.
Постоји краћи начин да то урадите, мисао, И то је синтакса к пута износи 5.
То је иста ствар као тачан рекао је к једнако к пута 5.
То је само мало краћи пут да то уради.
А када видите неке дистрибуција код или сте
види неки узорак код који ради овакве ствари,
само бити упознат са шта значи синтакса.
Сигурно немају да га користи, али ако то урадите,
можда би свој код погледај мало кабаницу.
И знам да можете да користите било који од различити оператори смо већ
раније уместо пута.
Могло би се рећи Кс Плус једнако 5, минус једнако 5, пута, подели и мод.
Све оне рада.
>> Ту нешто тако је уобичајено у Ц
да смо одлучили да прерадити да чак и даље.
Инцрементинг променљиву од 1 или децрементинг променљиву од 1
је тако заједнички ствар--, посебно када говоримо о петљи мало касније
ајде-- да смо одлучили уместо рекавши нешто слично Кс плус једнак 1,
или к једнако Кс Плус 1, чак смо кратак предао то к плус плус.
Дакле, к једнако Кс плус 1, Кс, плус једнако 1, и к плус плус сви радимо исту ствар.
Сви су прираст х до 1..
Али то инцрементинг и децрементинг од 1
је толико уобичајено да имамо плус плус и минус минус
који нам омогућавају да стенографију да чак и даље.
>> Дакле, хајде да промените степен преноса за секунду и разговарати о Булове израза.
Сви који су такође врста пасти у укупна категорија оператера.
Али Боолеан изрази, за разлику од аритметичке операторе,
се користе за поређење вредности.
Дакле, опет, све Боолеан изрази у Ц процене у једну од двије могуће вредности,
сећам.
Тачно или нетачно.
То су само две вредности које Логичка променљива може да преузме.
Можемо користити резултате а Боолеан екпрессион
у много начина у програмирању.
У ствари, бићете радим ово доста.
>> На пример, можемо одлучити, Па, ако је неки услов је истина,
можда ћу узети ово бранцх доле мој код.
Условна, да тако кажем.
Ми ћемо учити о онима ускоро превише.
Или можда, све док ово је истина, ја желим
да наставим да радим ово изнова и изнова и изнова.
Петља.
У оба случаја, знам да смо користећи Логичка израз, тачно или нетачно,
да одлучи да ли или не да одређени пут.
Понекад, када радимо са Булових израза,
ми ћемо користити променљиве типа Боол.
Можда сте прогласили Боол откуцана променљиву,
а ви ћете користити у вашој Боолеан израз.
Али не увек морам да урадим.
Како се испоставило, у Ц, сваки нон-0 вредност је исто као и рећи важи.
Ако је прогласио променљива типа Боолеан,
и додељен му је вредност тачно, то је исто као прогласавањем интегер
и то додељивање вредности 1, 2, 3, или стварно било која вредност
шта год друго од 0.
Јер у Ц, свака не-0 вредност није истина.
0, с друге стране, лажан.
То би могло доћи у Ханди касније да зна,
али само нешто треба имати на уму.
Ми не увек користити Боолеан променљиве типа када смо
раде са Булових изразима.
>> Постоје два основна типа Боолеан изрази да ћемо радити.
Логички оператори и релационих оператора.
Језик постоји Не страшно важно.
То је заиста само како сам их груписање.
А сигурно ћу, мислим, брзо схвате шта је релациона оператер,
на основу онога што су кад говоримо о њима у секунди.
Али не брини за обавезно напамет термин логичан оператора
или релациона оператера.
Само да га користите у групу их на логичан начин.
>> Дакле, хајде да погледамо три логичке оператора
да ћемо видети доста бит у програмирању у ЦС50
и у програмирању уопште.
Логична и није истина, ако и само ако су оба операнда истинита.
Иначе лажна.
Где то значи?
Па, рецимо да сам у указују у свој код где сам
две варијабле, Кс и И.
И желим да одлучи да ли да ураде нешто у свом коду
на основу ако је к је истина и и је истина.
Ја само желим да то урадим ако обојица су истините,
иначе ја не желим да идем доле да Путања јер неће да ми помогне.
Оно што могу да кажем је ако је к & & И.
То ће бити логичан Булова израз у односу Кс и И
и узимање одређени пут на основу онога што су њихове вредности.
Дакле, ако је к је истина и и је истина На основу овог сто истину,
тек тада ћемо ићи тим путем.
Ако је к, & & И.
То је труе-- само и само Истина, ако је к истина и и је истина.
Ако само један је лажна, као што види табелу истину,
онда Кс и И нису истините.
И тако, Кс и И је лажна.
>> Логички или је истина ако и само ако је бар један операнд је истина.
Иначе лажна.
Дакле, логично и потребна и Кс и И да би било истинито.
Логички ИЛИ захтева к да би било истинито или и да би било истинито или оба Кс и И да би било истинито.
Дакле, опет смо некако наћи сами у ситуацији
где идемо нашем коду, и постигли смо Форк ин тхе Роад.
И желимо да идемо наниже Нарочито пут ако је к истина
или И је истина, али не нужно ако обе су истините.
Али, можда ако обе су истините.
Дакле, ако је к и и је истина Истина, идемо тим путем.
к је истина.
Један од њих је истина, зар не?
Ако је к истина и и је истина.
Ако је к истина, а и је лажна, један од њих је и даље истина.
Дакле, Кс или И је увек истина.
Ако је к лажна, а и је истина, један од њих је и даље истина, зар не?
и је истина, у овом случају.
Дакле, истина је да је к или и је истина.
Само ако је к лажна и и је лажна ми не иде тим путем,
јер ни х нити год је истина.
Сада, ако тражиш на екрану одмах
и питајући се шта је Симбол је за логично ИЛИ,
зове се вертикална трака.
А ако гледаш на тастатури за тренутак, јер радим сада,
то је обично само изнад Ентер, на већини тастатура,
на истом тастеру као обрнуте косе црте.
Такође је обично у праву поред заградама.
Дакле, то може бити кључ који вас нису откуцали много у прошлости.
Али, ако икада радили логичке поређења,
као што ћемо обављати парцела у току, то је
ће бити корисни наћи тај кључ и користите га.
Дакле, то је обично на истом тастеру као обрнуте косе црте одмах изнад Ентер.
>> Коначна логично оператер није.
И НЕ је прилично једноставан.
То инвертује вриједност свог операнда.
Ако је к истина, онда не к је лажна.
Ако је к лажна, онда није је к истина.
Понекад ћете чути овај симбол изговара као Банг или узвик
или не.
То је отприлике све исто.
У случају да чујете да говори и нисте сигурни шта то значи,
то је само узвик тачка, али понекад је
назвао пар различите ствари.
У реду, тако да се брига логичких оператора.
Дакле, хајде да разговарамо о релационих оператора.
Опет, да ли сте упознати са овим аритметика још у основној школи,
вероватно сте упознати са колико већ оне функционишу.
Ово се понашају управо онако како сте очекивали.
Дакле, мање него што је истина, у овом пример, ако је к је мање од и.
Дакле, ако је к 4, а и је 6, к је мања од и.
То је истина.
Мање од или једнако ради прилично слично.
Ако је к је 4, а и је 4, затим к је мања од или једнака и.
Веће од. к је већа од и.
И већа од или једнако, к је већи од или једнака и.
Ако је то истина, онда ћете прође тај израз,
а ви ћете доле да путања на путу.
Ако имате ако је к веће од и, а Кс је, у ствари, је већи од и,
ћете учинити све што је под тог стања.
>> Обратите пажњу да не имам Један знак за мање од
или једнак, као што може бити упознати са из математике уџбеника.
Дакле, имамо мање од симбола, праћено знаком једнакости.
Тако смо представљају мање или једнако то.
Слично томе, да ли ми то радимо фор већи или једнак.
>> Коначна два релациона оператори који су важни
тестирају за једнакост и неједнакост.
Дакле, ако је к једнако једнако и, је истина ако Кс и И је вредност није исти.
Ако је к је 10, а и је 10, тада к једнако једнако год је истина.
Ако је к 10 и и је 11, к једнако једнако и није истина.
Такође можемо тестирати неједнакости користећи знак узвика или прасак или не,
Опет.
Ако је к није једнак и, ако то је тест да користимо овде,
да би било добро да иде.
Дакле, ако к није једнако И, идемо тим путем.
>> Будите опрезни стварно овде.
То је стварно заједничко мистаке-- и једна Свакако сам доста када
Ја сам се стартед-- да случајно мистаке
оператор задатак, сингле једнаки, за оператера поређење једнакост,
доубле једнаки.
То ће довести до нека чудна Понашање у вашем коду,
и обично преводилац ће упозоравају вас о томе када покушате
и саставити свој код, али понекад можда ћете моћи да га шуњати по.
То није нужно добра ствар да га снеак од, ипак.
Само тако да ако радите неједнакост теста,
ако провере да ли двоје различите променљиве има исту вредност
унутар њих, побрините се да користите једнако једнако, а не појединачних једнаки.
На тај начин ваш програм ће има на понашање коју намеравате.
Ја сам Доуг Ллоид и то је ЦС50.