Вторая часть перевода D Programming Language Tutorial от Ali Çehreli. Содержание главы расчитано для начинающих и, как мне кажется, даже не раскрывает темы. Но это перевод одной из глав.
Предыдущие части:
Присвоение и порядок выполнения операций
Первые две сложности, что большинство студентов встречают при изучении программирования — это операция присвоения и порядок выполнения операций.
Операция присвоения
Вы будете видеть строки похожие на следующие почти в каждой программе, почти в каждом языке программирования.
a = 10;
Смысл этой строки следующий «сделай значение а равным 10». Аналогично, смысл следующей строки следующий «сделай значение b равным 20».
b = 20;
Руководствуясь этой информацией, что было бы сказано о следующей строке?
a = b;
К сожалению, эта строчка не про математическое равенство, о котором, я думаю, все мы знаем. Это вышеуказанное выражение не подразумевает «a равно b»! Если следовать той же логике с предыдущих двух строк, то это выражение должно означать «сделай значение a равным b». Присвоение значению a значение b также означает «сделай значение a таким же как значение b».
Хорошо известный математический символ "=" имеет полностью другое значение в программировании: сделать значение левой части таким же как значение правой части.
Порядок выполнения операций
Эти операции программы выполняются шаг за шагом в особом порядке. Мы можем видеть эти предыдущие 3 выражения в программе в следующем порядке:
a = 10;
b = 20;
a = b;
Смысл этих трех строчек вместе такой: «сделай значение а равным 10, затем сделай значение b равным 20, затем сделай значение a таким же как значение b». Соответсвенно, после этих трех операций, a и b будут равны 20.
Упражнение
Проследите, что следующие три операции сменят значения a и b. Если в начале их значения 1 и 2 соответсвенно, после этих операций значения станут 2 и 1.
c = a;
a = b;
b = c;
Автор: ANtlord