Урок 4.5. Операции присваивания

4.5. Операции присваивания

Операция присваивания может быть простой или составной в зависимости от знака операции присваивания. Простая операция присваивания обозначается знаком = и используется для присваивания переменной значения некоторого выражения. Тип данных результата – тип левого операнда операции присваивания.

Например: y = 12; x = y + 2 * z;

В выражениях Си допускается произвольное количество операций присваивания. Операции присваивания имеют более низкий приоритет, чем ранее описанные и выполняются справа налево.

Например, в результате вычисления выражения k=l=d=a+b переменные k, l и d получают значение суммы a+b.

В результате вычисления выражения k=3+(d=a+b) переменная d получит значение a+b, а переменная k получит значение 3+d. Операции присваивания связывают переменную и выражение, устанавливая значение переменной равное значению выражения, стоящего справа от знака присваивания.

Бинарным операциям: + - * / % << >> & ^ | соответствует составная операция присваивания, которая обозначается как op=, где op одна из вышеперечисленных операций, например += и *= и т.д. Составная операция присваивания в виде:

<переменная> op = <выражение>

определяется через простую операцию присваивания следующим образом:

<переменная> = <переменная> op (<выражение>)

Например, d+=2 эквивалентно d=d+2, a n*=2*x-3 эквивалентно n= n *(2*x-3). Ясно, что запись можно сокращать, если переменная встречается и слева и справа от знака присваивания.

Кроме краткости записи преимущество использования составных операций присваивания заключается в том, что они работают быстрее, так как транслируются в более компактный машинный код и больше соответствуют природе человеческого мышления. Мы думаем, например, так: "увеличить z на 2" (z+=2), а не "взять z, добавить 2, вернуть результат в z" (z=z+2). Как правило, для составных операций присваивания компилятор строит более эффективную программу.

рассказать друзьям и получить подарок

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Translate Переводчик

Подписка на новости

SmartResponder.ru
Ваш e-mail: *
Ваше имя: *

Хостинг для Wordpress сайтов