[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. Ми будемо разименованія і використовувати адреси і - як вам фраза? Я зробив. Добре.