Главная Контакты


  На сайте

  Java, JavaScript
  Документация Perl
  Документация PHP
  Документация ASP
  Новости сайта
  Flash
  Интернет протоколы
  Apache
  Уроки программирования
  Язык программирования C
 


Типы, операторы и выражения


Операторы и выражения присвоения

Выражение вроде
i = i + 2
в котором переменная слева сразу повторяется на правом, можно записать в сжатые форме
i + = 2


Оператор + = также называется оператором присваивания. Большинство бинарных операторов (такие как +, что левый и правый операнд) имеют соответствующий оператор присваивания op =, где op может быть одним из следующих
+ - * /% <<>> & ^ |

Если expr1 и expr2 - это два выражения, тогда
expr1 op = expr2
эквивалентен
expr1 = (expr1) op (expr2)
кроме случая, когда expr1 вычисляется только один раз. Обратите внимание на скобки вокруг expr2:
x *= y + 1
означает
x = x * (y + 1)
вместо
x = x * y + 1


В качестве примера приведем функцию bitcount, которая вычисляет количество 1-битов в своем аргументе-целом.
/ * Bitcount: считает 1-биты в x * /
int bitcount (unsigned x)
{
int b;

for (b = 0; x! = 0; x>> = 1)
if (x & 01)
b + +;
return b;
}

Объявление аргумента x как unsigned (беззнакового гарантирует, что когда он будет смещен вправо, освобожденные биты заполнятся нулями, а не знаковыми битами, независимо от машины на которой была запущена программа.

Кроме краткости, операторы присвоения преобладают тем, что они лучше соответствуют образу мышления людей. Мы говорим "добавить 2 до i" или "увеличить i на 2", а не "взять i, добавить 2, а затем поместить результат обратно в i". Поэтому выражения i + = 2 предоставляется преимущество над i = i +2. В дополнение, в сложных выражениях наподобие
yyval [yypv [p3 + p4] + yypv [p1]] + = 2
оператор присваивания облегчает понимание кода, поскольку читатель не вынужден тщательно проверять, что два длинных выражения действительно соответствуют друг другу, или удивляться, почему нет. Оператор присваивания, может даже помочь компилятору выработать эффективный код.

Другие статьи по теме:

- Функции и структура программ
- Символьные массивы
- Введение в c++
- Внешние переменные и область действия
- Типы, операторы и выражения


Голосование:
Чего Вы хотели бы видеть больше на сайте?

Статей, документации
Скриптов
Программ для вебмастера
Я не знаю



Другие голосования

Обмен кнопочками:



Приглашаем Вас обменяться кнопочками! Обращайтесь к администратору.


Новые статьи:


Наши партнеры:





2006-2024 © SMTI.RU
Главная страница | Связаться с нами