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