Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. I. Операции с предметами
  2. II. операции с юнитом
  3. Абстрактные операции технологического процесса подготовки ЛА
  4. Активные операции коммерческих банков и их характеристика
  5. Активные операции коммерческого банка
  6. Аналитические операции
  7. Арифметические операции

Оператор присваивания имеет вид:

Имя_переменной = выражение;

– значение выражения из правой части (rvalue) записывается в память по адресу, на который ссылается переменная в левой части (lvalue). При этом операция вырабатывает значение, равное значению, присвоенному переменной, находящейся в левой части операции. Это делает возможным использование операции присваивания в правой части выражений.

Слева от знака операции присваивания может быть только модифицируемое леводопустимое значение (в случае именованной типизированной константы, например, леводопустимое значение не является модифицируемым и ссылается на неизменный участок памяти).

int main()

{

int i=0; double x=0.;

x =(i = 5.25) + 6.5;

cout << i << " " << x << endl; // 5 11.5 (5+6.5)

 

int j=0; int ix=0;

ix=(j=5.25)+6.5;

cout << j << " " << ix << endl; // 5 11 (5+6.5)

 

_getch();

return 0;

}

 

Для более компактной записи присваивания разрешается использовать сокращенные операции присваивания ((составные присваивания: += -= *= /= %= >>= <<= &= ^= |=). В общем виде оператор присваивания:

переменная = переменная операция выражение;

можно записать компактнее: переменная операция= выражение; (между операцией и символом = не должно быть пробела. Такая запись позволяет не повторять дважды имя одной и той же переменной. Для сокращенных операций присваивания некоторые компиляторы генерируют код, выполняемый быстрее.

 

Можно использовать и множественное присваивание:

переменная1 = переменная2 = … = переменнаяN = выражение;

a=b=c=d=0; //можно использовать!!!!

Это равносильно записи:

a=(в=(с=(d=0)))

int main()

{

int i=0; float x=0, y=0; bool b=false;

x = b = i = y = 4.567;

cout << y << " " << i << " " << b << " " << x << endl;

// 4.567 4 1 1

_getch();

return 0;

}

Но!!!

int main()

{

float x=0, y=4.5, z=3.2;

x = ( y = z ) = 6.5; // z=3.2 y=6.5!!!!! x=6.5

 

cout << z << " " << y << " " << x << endl;

// 3.2 6.5!!!!! 6.5

_getch();

return 0;

}

 

операция содержание операция содержание
x=y;   k %=m; k=k % m;
x +=y; x=x + y; k >>=m; k=k >> m сдвиг вправо на m битов
x -=y; x=x - y; k <<=m; k=k << m сдвиг влево на m битов
x *=y; x=x * y; k |=m; k=k | m побитовая операция логического сложения
x /=y; x=x / y; k ^=m; k=k ^ m побитовая операция «исключающее или»

 


Дата добавления: 2015-07-08; просмотров: 154 | Нарушение авторских прав


Читайте в этой же книге: Результат вычисления выражения характеризуется значением и типом. Операции выполняются в соответствии с их приоритетами. | Классификация операций | Приоритеты (ранги) операций | Арифметические операции | Логические выражения и примеры их записи | Пример 6. | Правила преобразования типов | Примеры преобразования типов | Адрес переменной | Программирование вычисления алгебраических выражений |
<== предыдущая страница | следующая страница ==>
Выделение цифр в целом числе| Примеры использования

mybiblioteka.su - 2015-2024 год. (0.011 сек.)