|
В одной строке может стоять больше одной операции присваивания =.
Пример.
a=b=c=d=100;
Знак = всегда означает: "переменной слева присвоить значение, стоящее справа ". Операция выполняется справа налево. Поэтому первой значение 100 получает переменная d, затем с, b и а.
Знак присвоить может стоять даже внутри математического выражения:
value=5+(r=9-c)
Присваивание имеет более высокий приоритет, чем сложение и вычитание. Поэтому сначала переменной r будет присвоено значение 9-с. А затем переменная value получит значение 5+9-с.
Составное присваивание
При написании программы часто требуется изменить значение переменной. Например, требуется взять текущее значение переменной, прибавить или умножить это значение на какое-то выражение, а затем присвоить это значение той же переменной. Такие операции выполняют операторы составного присваивания.
Таблица 1.3.2.
Операция | Пример | Эквивалент |
+ = | B+ = 500; | B= b+ 500; |
- = | С- = 50; | C = с - 50; |
* = | D* = 1.2; | D = d*1.2; |
/ = | F/ = 50; | f = f/.50; |
% = | m% = 7; | M = m% 7; |
Преобразование типов
Чаще всего Вам не надо беспокоиться об автоматическом преобразовании типов. Однако, если Вы смешивает беззнаковые переменные с переменными других типов, могут возникнуть проблемы. Точность результата может быть потеряна. Поэтому необходимо произвести временное изменение типов.
Формат:
(тип данных) выражение
Тип данных - это любой допустимый тип.
Выражение - переменная, константа или выражение.
Пример.
v=(double)age*f;
- переменная age временно преобразуется к типу с плавающей точкой двойной точности и умножается на переменную f.
Операции отношения
Таблица 1.3.3.
Операции | Описание |
= = | Равно |
> | Больше |
< | Меньше |
>= | Больше или равно |
<= | Меньше или равно |
!= | Не равно |
Замечание 1.
Знак = никогда не используется как знак сравнения! Это знак присвоить значение.
Замечание 2.
В C++ нет логического типа. Поэтому, если выражение принимает ненулевое значение, то оно считается истинным, а если не нулевое - ложным.
Операции инкремента (++) и декремента (-)
В языке C++ предусмотрены две уникальные операции, которые увеличивают или уменьшают значение переменной на 1.
Таблица 1.3.4.
Оператор | Пример | Описание | Эквивалентное выражение |
+ + | i + +; | Постфиксная | i =i+1; или i+=1; |
+ + | + + i; | Префиксная | i =i+1; или i+=1; |
- - | i - -; | Постфиксная | i =i-1; или i-=1; |
- - | - - i; | Префиксная | i =i-1; или i-=1; |
Префиксный и постфиксные операции различаются приоритетом. Префиксные операции имеют самый большой приоритет и выполняются до любой другой операции. Постфиксные операции имею самый маленький приоритет и выполняются после всех остальных операции.
Пример.
float a, b=2, c=1, d=1;
a = b + c++;
cout << "\n a=" << a <<"\t c= "<< c;
/* Даст результат a=3 c=2.
Используется постфиксный инкремент. Сначала произойдет сложение b и c, результат запишется в а, затем с будет увеличена на 1 */
a = ++d + b;
cout << "\n a=" << a <<"\t d= "<< d;
/* Даст результат a=4 d=2.
Используется префиксный инкремент. Сначала d будет увеличена на 1 (и станет равной 2), затем произойдет сложение d и b, результат запишется в а */
Дата добавления: 2015-01-30; просмотров: 65 | Поможем написать вашу работу | Нарушение авторских прав |