>> [Грає музика]
>> ДАГ Lloyd: Привіт, так що давайте говорити про операторів С.
Таким чином, ми вже бачили одне, насправді, дорівнює оператор присвоювання.
Це дозволяє нам просто покласти значення в змінній.
Це призначення Оператор, один знак рівності.
Для того, щоб маніпулювати і роботи зі значеннями і змінних в C,
у нас є ряд операторів в нашому розпорядженні, що ми можемо використовувати.
Давайте поглянемо на деякі з поширених
починаючи з арифметичними операторами.
Як ви могли б очікувати, що ми можемо зробити досить основні математичні операції в С
Ми можемо додати, віднімати, множити, і число ділити з використанням плюс, мінус, зірка,
і слеш, відповідно.
Ось кілька рядків код, в якому ми робимо це.
Отже, ми маємо INT х дорівнює у плюс 1.
Давайте припустимо, що десь нагорі цієї рядки коду
ми сказали INT у дорівнює 10.
Що значення х після I виконати перший рядок коду?
Ви сказали, 11?
Ви б право.
Чому так?
Ну, у 10 був.
Деякі я говорю INT х дорівнює 10 плюс 1.
10 плюс 1 листопаду.
Таким чином, значення 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.