Добре.
Так що тепер давайте поговоримо про щось дуже корисно в programming--
умовні оператори.
Так умовні вирази дозволяють ваші програми
щоб приймати рішення і різні вилки в дорозі, то
Я посилався на трохи раніше, залежно від значень змінних,
або на основі того, що користувач вводить в програміст, в командному рядку,
або якщо у вас є запрошення або щось подібне.
С має кілька різних способів висловити умовні вирази, які
ми також іноді викликатиме умовний перехід у ваших програмах.
І деякі з них будуть дивитися дуже знайоме вам з нуля,
так що ми навіть тягнути їх пліч-о-пліч, як раз
Ви можете зробити цю аналогію у вашій голові.
>> Так, якщо if-- досить просто умовно.
Якщо ви пам'ятаєте з подряпина на правому тут
Ви могли б заповнити це шестикутник з синім вирази, якщо миша вниз
або якщо х менше 10, або щось подібне.
І тоді, якщо х менше 10, або, якщо миша насправді, вниз,
весь код внутрішньої частини шматок головоломки буде виконувати.
Всі речі, які відповідають всередині цієї форми C.
>> Точно так само, у нас є якщо ліворуч немає.
Якщо логічний вираз, який я тільки за допомогою
як замінник одного з Boolean виразу ми раніше,
відкритий фігурна дужка, недалеко фігурна дужка.
Так що думайте відкритого кучерявого дужка і закритий фігурна дужка
як свого роду аналогом бутерброд ефект, якщо блок на правій
з нуля.
>> Якщо логічний вираз в заяві, якщо це правда,
то всі рядки коду між фігурними дужками
буде виконуватися в порядку зверху до низу.
Якщо логічний вираз є помилковим, ми будемо
пропустити всі між фігурні дужки, бо ми тільки
хочу піти вниз, що вилка в дорозі якщо логічний вираз істинно.
>> Ми можемо прийняти це ще один крок далі з тим, якщо ще.
Так що це подряпин блок дуже схожий на той,
ми бачили тільки секунду тому, за винятком він приймає два різних шляхи, засновані
про те, що відбувається.
Таким чином, якщо миша була вниз, або якщо х було менше, ніж 10,
ми зробимо все, що в період між що в першу вилки, що в першу С.,
>> В іншому випадку, якщо миша до, або х не менше, аніж 10,
ми зробимо все, у другому сеті.
І це аналогічно тому, що ви бачите тут C. Якщо логічний вираз,
зробити речі між перший набір фігурних дужках.
В іншому випадку, зробити речі між другий набір фігурних дужок.
Так що, якщо логічне вираз істинний, ми будемо
робити все, що знаходиться між першим набором.
Якщо логічний вираз брехня, що б курок ще,
і ми хотіли б зробити що б не в другий набір фігурних дужках.
Знову ж таки, зверху вниз, все лінії в між дужками.
>> У C, це можливо, щоб створити ПЧ-то ще, якщо-інакше ланцюг.
Насправді ви можете мати, якщо-інакше, якщо-інакше якщо-інакше, якщо, і так далі, і так далі, і так
на.
У порожньому, для цього потрібна гніздування блоки.
Ви додайте, якщо-інакше, і ви повинні були поклав ще один всередині ще,
і так далі, і він отримав вид вкладених і складним.
Але С, ми не повинні цього робити.
Ми можемо насправді просто це буде ланцюжок, як це.
Знову ж таки, як ви могли б очікувати, все ці гілки є взаємовиключними.
Ви можете тільки коли-небудь по одному з філії.
Якщо це правда.
В іншому випадку, якщо це правда.
В іншому випадку, зробити це.
Таким чином, всі чотири гілки в цей Приклад є взаємовиключними.
Це, якщо-інакше, якщо-інакше ланцюг.
>> Можливо, хоча, а іноді й дуже корисно,
створити ланцюжок не взаємовиключні філії.
У цьому прикладі, тільки третій і четвертий філії є взаємовиключними.
Це може бути, що ви могли б задовольняє першому умові,
і ви могли б задовольнити друга умова,
і ви могли б задовольнити третій condition-- в цьому випадку
Ви б піти вниз перше відділення, Потім ви зійдіть друга філія,
то ви б спуститися третю гілку.
Або, можливо, ви задовольняєте перший стан, а друга умова,
але ви не задовольняють третя умова.
У цьому випадку ви зійдіть перший Філія і друга гілка,
а потім четвертий філія,
>> Причина цього в тому, що ще буде зв'язуватися тільки з найближчим якщо.
Тому, навіть якщо є ще тут, що
не обов'язково створює взаємно Ексклюзивний ланцюг все.
Це тільки вираз там з Boolean
Вираз 3-- це взаємовиключними з ще.
Таким чином, це можливо, і іноді вельми корисно,
як я вже сказав, щоб створити ланцюжок взаємовиключні філії.
Давайте поглянемо на інший вид умовного, що
Ви не бачили раніше в подряпина.
Там щось називається перемикач заяві.
У заяві перемикач вид акуратно, тому що це
умовний оператор, який дозволяє вказати різні випадки,
замість того, щоб покладатися на логічне вирази для прийняття рішень для Вас.
Так, наприклад, скажімо, що в мене є ця програма,
і я прошу користувачеві внести вклад в мене.
Тому я кажу, INT х = Отримати Int (), і якщо ви не знайомі ще,
отримати Int є функція, також включені в бібліотеці CS50,
так що якщо ви #include CS50.H ви будете мати Отримати доступ до Int () і всі його
cousins-- GetFloat, GetString, і так далі.
В основному одне отримує функцію для кожного тип даних, який ми вже обговорювали.
>> Так Int х дорівнює GetInt.
В основному те, що відбувається це я на терміналі.
Я питаю користувачеві ввести номер.
>> І ось я перемикання те, що я роблю, залежно
на те, що користувач ввів в командному рядку.
Так що, якщо вони ввели один, я роздрукувати одне.
І тоді я порушу.
Якщо вони типу два, я роздрукувати два.
І тоді я порушу.
Важливо розрив між кожному випадку
бо інакше ви провалитеся.
Так що, якщо у мене не було будь-якої перерви там, і користувач
типізованих одним, що трапиться це друкуватиме один, два, три, вибачте.
Це свого роду дивною поведінкою, вірно?
Ви могли б так думати.
Але насправді там деяких випадках, коли це може бути досить корисна річ.
Так ось ще один приклад перемикача Заява, де я опускаю перерви.
Але я роблю це навмисне.
>> Так що тут відбувається?
Задумайтесь на секунду.
Ви навіть можете призупинити відео.
>> Що відбувається тут, якщо користувач вводить чотирьох?
Так що я запитав у користувача введення.
І вони забезпечують значення 4.
Що друкується, коли я це зробити?
На попередньому слайді, були перерви між всіх випадках.
І так би просто роздрукувати чотирьох, а потім зупинитися.
Але в даному випадку, це не буде.
Що трапиться, вам провалиться кожному випадку.
>> Таким чином, в цьому випадку я організував моїх справ таким чином, що якщо користувач 4,
Я друкувати чотири, три, два, один, злітати.
І якщо вони набрали 5, я хотів би почати в п'ять і робити те ж саме.
Якщо вони набрали 1, я б просто зробити один, злітати.
>> Таким чином, в цьому випадку, я використовую перемикач вид спритно так
що я маю намір потрапити через всіх випадках.
Але в цілому ви, ймовірно, збирається хочемо зламати між усіма з них,
якщо у вас є ситуації, як цей, де ви
вид використовуючи той факт, що ви будете провалитися випадках без перерви.
Так ось другий з найважливіших Типи умовних операторів.
Останній з яких є: Так що я є два фрагменти коду C тут.
Один зліва і один справа.
Той зліва повинні ймовірно, буде досить знайомим.
>> У мене є Int х.
І я, ймовірно, слід попросили користувача
for-- це, ймовірно, слід Int х дорівнює GetInt, або щось подібне.
І тоді я ухвалення рішення.
Якщо деякі логічне вираження є правда, призначити х значення 5.
В іншому випадку, призначити х значення 6.
>> Це ліворуч, ймовірно, слід досить добре знайомі з нашої дискусії
Якщо в інше просто мить тому.
Ви були б здивовані знати, що лінії праворуч
робить ту ж саму річ?
>> Отже, це називається: іноді називається потрійною оператор.
І це дуже здорово.
Це, як правило, використовується в якості милий трюк.
>> Але те, що він дозволяє зробити, це імітувати If Else з дійсно невеликий,
дійсно тривіально короткий умовні переходи.
Ви взагалі не використовувати: якщо ви шість рядків коду між кожним набором
з фігурні дужки.
Але якщо ви просто що робить швидке рішення,
якщо ви збираєтеся зробити одну річ або інший, і це дуже просто,
це може бути приклад того, як зробити це з: потрійний оператор.
Так Int х дорівнює вираз?
Справа після питання знак того, що Х значення
буде, якщо вираз істинний.
>> Справа після товстої кишки, що Х значення
якби вираз було помилковим.
Ось я і запитую себе, цей вираз вірно?
Якщо це так, привласнити х значення 5.
Якщо це не так, призначте х значення 6.
Знову ж таки, як я сказав.
Це, як правило, просто виверт.
А іноді, якщо ви стали дійсно комфортно з ним,
ви будете робити це, тому що це виглядає круто в ваших програмах.
Взагалі я уявляю його Ви зараз так ви знайомі з ним
якщо ви його бачите.
Але, звичайно, знаю, що ви не повинні написати його в будь-який з вашого коду.
Але це щось, щоб бути знайомі з, тому що ви будете точно стикатися
фрагменти коду тут і там, де це? синтаксису,
АКА потрійний оператор, використовується.
>> Так короткий огляд на те, що умовні є,
і те, що варіанти Вам в С вас, якщо, і якщо-інакше,
і якщо ще, якщо, і так далі.
Ви можете використовувати логічні вирази для тих, для прийняття рішень.
>> З перемикачем заяви ви використовуєте дискретні випадки, щоб приймати рішення.
Ви б спеціально сказати, що якщо це Один з них, або, якщо це два, або, якщо це три,
Я зроблю це, або ця річ, чи це справа.
І: може бути використаний для заміни дуже просто, якщо-інакше філій,
або якщо-інакше ланцюга, щоб зробити код виглядати трохи фантазії.
>> Я Дуг Ллойд.
І це CS50.