[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.
Мы будем разыменования и использовать адреса и - как вам фраза?
Я сделал. Хорошо.