Замечание 2
Замечание 1
…….
…….
Результатом операции является значение заданного типа.
Присваивание имеет более высокий приоритет, чем сложение и вычитание. Поэтому сначала переменной r будет присвоено значение 9-с, а затем переменная value получит значение 5+9-с.
Примеры
cout << 10/2 << "\n">>; // 5 (остатка нет) cout << 300/100 << "\n"; // 3 (остатка нет)cout << 10/3 << "\n"; // 3 (остаток отброшен)cout << 300/165 << "\n>>; // 1 (остаток отброшен)cout << 10%3 << "\n>; // 1 (остаток)cout << 20/4 "\n"; // 0 (остатка нет)1.3.2. Простое присваивание
Операции присваивания могут использоваться в программе как законченные операторы.
Формат операции простого присваивания:
Имя переменной = выражение
Сначала вычисляется выражение, стоящее в правой части операции, а потом его результат записывается в переменную, указанную слева от знака присваивания.
В одной строке может стоять больше одной операции присваивания =.
Пример:
a=b=c=d=100;Знак = всегда означает: "переменной слева присвоить значение, стоящее справа". Операция присваивания выполняется справа налево. Поэтому первой значение 100 получает переменная d, затем с, b и а.
Знак присвоить может стоять даже внутри математического выражения:
value=5+(r=9-c)1.3.3. Составное (сложное) присваивание
При написании программы часто требуется изменить значение переменной. Например, требуется взять текущее значение переменной, прибавить или умножить это значение на какое-то выражение, а затем присвоить это значение той же переменной. Такие операции выполняют операторы составного (сложного) присваивания.
Операция | Пример | Эквивалент |
+ = | 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; |
1.3.4. Операция приведения (преобразования) типов
В С++ преобразование типов чаще всего выполняется автоматически. Однако если в одном выражении используются беззнаковые переменные с переменными других типов, могут возникнуть проблемы. Точность результата может быть потеряна.Поэтому необходимо произвести временное изменение типов.
Формат:
(тип данных) выражениегде тип данных – это любой допустимый тип;
выражение – это переменная, константа или выражение.
Пример:
int age; double f,v;v=(double)age*f;Переменная age временно преобразуется к типу с плавающей точкой двойной точности и умножается на переменную f.
1.3.5. Операции отношения
Операции | Описание |
= = | Равно |
> | Больше |
< | Меньше |
>= | Больше или равно |
<= | Меньше или равно |
!= | Не равно |
Знак = никогда не используется как знак сравнения! Это знак присвоить значение.
Если выражение принимает ненулевое значение, то оно считается истинным, а если нулевое – ложным.
1.3.6. Операции инкремента (++) и декремента (--)
В языке C++ предусмотрены две уникальные операции: инкремента и декремента, которые увеличивают или уменьшают значение переменной на 1. Операции инкремента и декремента имеют две формы:
- префиксную (операция записывается перед операндом); сначала изменяется операнд, а затем его значение становится результатом;
- постфиксную (операция записывается после операнда); значением выражения является исходное значение операнда, после чего он изменяется.
Оператор | Пример | Описание | Эквивалентное выражение |
+ + | i + +; | Постфиксная | i =i+1; или i+=1; |
+ + | + + i; | Префиксная | i =i+1; или i+=1; |
- - | i - -; | Постфиксная | i =i-1; или i-=1; |
- - | - - i; | Префиксная | i =i-1; или i-=1; |