Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Урок Присваивание значений

Статус
В этой теме нельзя размещать новые ответы.

Brain_Tolmach

Ученик
Присваивание-это тоже операция,он является частью выражения.Значение правого операнда присваивается левому операнду

PHP:
x = 2;//пременной х присвоить значение 2
cond = x < 2; //переменной cond присвоить значение true,если х меньше 2,в противном случае присвоить значение false
3 = 5; //ошибка,число 3 неспособно изменять свое значение
Последний пример иллюстрирует требование к левому операнду операции присваивания.Он должен быть способен хранить и изменять свое значение.Переменные,обьявленные в программе,обладают подобным свойством.В следующем фрагменте программы:

PHP:
int x = 0;
x = 3;
x = 4;
x = x+1;
Вначале обьявляется переменная х с начальным значением 0.После этого значение х изменятся на 3,4 и затем 5.Опять-таки,обратим внимание на последнюю строчку.При вычеслении операции присваивания сначала вычесляется левый операнд,а затем правый.Когда вычесляется выражение х + 1,значение переменной х равно 4.Поэтому значение выражения х + 1 равно 5.После вычисления операции присаивания(или проще говоря,после присваивания)значение переменной х становится равным 5
У операции присваивания тоже есть результат .Он равен значению левого операнда.Таким образом,операции присваивания может участвовать в более сложном выражении:

PHP:
 z = (x = y + 3);

В приведенном примере переменными х и z присваивается значение y + 3.
Очень часто в программе приходится значение переменной увеличивать или уменьшать на единицу.Для того что бы сделать эти действиянаиболее эффективными и удобными для использования,применяются предусмотренные в Си++ специальные знаки операций: ++(увеличить на единицу) и --(уменьшить на единицу).Существует две формы этих операций: префиксная и постпрефиксная.Рассмотрим их на примерах.

PHP:
int x = 0'
++x;
Значение х увеличивается на единицу и становится равным 1.

PHP:
--x;
Значение х уменьшается на единицу и становится равным 0.

PHP:
int y = ++x;
Значение х опять увеличивается на единицу.Результат операции ++ -новое значение х,т.е. переменной y присваивается 1.

PHP:
int z = x++;
Здесь используется постфиксная запись операции увеличения на единицу.Значение переменной х до выполнения операции равно 1 . Сама операция та же-значение х увеличивается на единицу и становится равным 2.Однако результат постфиксной операции - значения аргумнта до увеличения.Таким образом,переменной z присваивается значение 1.Аналогично,рузультатом постфиксной операции уменьшение на единицу является начальное значение операнда,а префиксной - его конечное значение.
Подобными мотивами оптимищации и сокращения записи руководствовалсь создатели языка Си(а затем и С++),когда вводили новые знаки операции типа "выполнить операцию и присвоить".Довоьлно чато одна и та же переменная используется в левой и правной части операции присваивания,например:
PHP:
x = x + 5;
y = y* * 3;
z = z - (x + y);
В Си ++ эти выражения можно записать короче:

PHP:
x += 5;
y *= 3;
x -= x + y;
Т.е. запись oper= означает,что левый операнд вначале используется как левый операнд операции oper,а затем как левый операнд операции присваивания результата операции oper.Кроме краткости выражения,такая запись облегчает оптимизацию программы компилятором.
Вот и все!​
С вами был Brain_Tolmach , надеюсь вам понравилось если нет могу удалить.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу