[Powered by Google Translate] Precendence, як ми відповімо на запитання, які операції ми повинні зробити в першу чергу?
Якщо рішення математичних рівнянь або розбору рядків програмного коду,
існують суворі правила пріоритету, до якого ми дотримуємося
так що всі комп'ютери, і люди можуть отримати той же результат.
>> По-перше, найважливіше правило для запам'ятовування, особливо в помилку тестування,
є те, що ми завжди працюємо з внутрішньої дужки назовні.
Використання додаткових круглих дужках може бути корисним тактика налагодження,
але це не дуже гарна практика, щоб сміття код з непотрібними дужках.
Витратьте час, щоб вивчити основні правила пріоритету операторів.
>> Друге загальне правило говорить, що, коли оператори мають рівні priorty,
Ви просто вирішити зліва направо.
Коли маєш справу з простій математиці ми починаємо з дужках,
потім виконайте множення і ділення, і, нарешті, робити додавання і віднімання.
Множення і ділення мають однаковий пріоритет,
тому що вони, по суті виконуючи ту ж роботу.
Адже поділ просто множення на обернену значення.
Точно так само, віднімання просто додавши від'ємне значення.
>> Давайте зробимо приклад.
Після порядку черговості, ми почнемо з дужках. Дев'ять мінус 1.
Це дасть нам 8. Тоді ми можемо перейти до поділу і розмноження.
Ми вирішимо зліва направо. Так 10 розділити на 2 дорівнює 5.
У нас є 5 разів 8 тут, і це дасть нам 40.
Потім ми перейдемо до наступного порядку старшинства.
Таким чином, ми залишили з 3 плюс 40 мінус 1.
Знову ж тільки рішення зліва направо,
тому що є рівний пріоритет між складанням і відніманням.
Ми можемо сказати 3 плюс 40 на 43, мінус 1, 42. Це наша відповідь.
>> Є 2 типу декремент і інкремент;
Префікс формі, і суфікс формі.
Суфікс формі, я + +, широко використовується в цикли,
Це означає, що поточне значення використовується у виразі, а потім вона збільшується.
Таким чином, вартість тільки буде різним у наступний раз змінна використовується.
З іншого боку, приріст або зменшення префікса означає, що поточне значення
збільшується або зменшується, а потім вона використовується у виразі.
>> Давайте візьмемо приклад з цілими х.
Ми встановимо його рівним 5.
Якщо ми використовуємо суфікс оператора на ньому і говорять х + +, х на цій лінії ще 5.
Якби ми могли роздрукувати його, що ми отримаємо значення 5.
Але йти вперед факт x1 дорівнює 6.
Так що прямо тут, на цій лінії х дорівнює 6, і якщо ми друкували його ми отримаємо значення 6.
Тепер, якщо ми використовували префікс оператора, + + х, х збільшується, а потім використовується значення.
Так що дорівнює 7 на цій лінії.
Інкремента, звичайно, від 6 до 7, і якщо б ми повинні були роздрукувати його, що ми отримаємо значення 7.
>> Останній нюанс в precendence, що ми будемо дивитися на справу з покажчиком позначень.
Оператор разименованія, зірка, має пріоритет над основними операторами математики,
, Але не більше incement суфіксів і декремента.
Це приводить нас до нашої кінцевої приклад.
Давайте візьмемо число х і встановити його рівним 7.
Ми також зробити покажчик у і встановити його рівним за адресою х.
Так що, коли ми разименованія у ми повинні отримати значення 7.
Зараз в цьому рядку коду, у нас є кілька двозначній ситуації.
Невже ми разименованія у першого, а потім збільшуючи значення 7?
Або ми прирощення покажчика, а потім разименованія це?
У самому справі, так як оператор суфікс приріст має пріоритет над
разименовать оператор, ми намагаємося збільшити покажчик у,
який би перемістити покажчик за розміром Int байт.
По суті дає нам адресу в деяких абсолютно іншої точки в пам'яті,
а потім ми разименованія його.
Так що це дуже безглузді лінії.
Якщо ми насправді хотіли збільшити значення 7,
ми повинні були б поставити оператор разименованія з у в дужках.
Тоді ми могли б збільшити його.
Таким чином, хоча ми б не збільшуючи значення х з другого до останнього рядка коду,
В останньому рядку коду ми б фактично у разименованія
щоб отримати значення х і збільшувати це.
Ми не залишиться значення х дорівнює 8.
>> Ось коротке резюме precendence правила, про які ми говорили.
Почнемо з самих внутрішніх дужок і працювати назовні.
Потім ми перейдемо до суфікс оператори, як я + +, або я -.
Тоді разименованія та адресу оператора, як зірки х або амперсанд х,
і префікс оператори, такі як + + або я - я.
Нарешті, ми робимо прості математичні операції, як множення, ділення по модулю.
Тоді додавання, віднімання.
Ось precendence. Я Йорданії Jozwiak, і це CS50.
Ми будемо разименованія і використовувати адреси і - як вам фраза?
Я зробив. Добре.