В С++ существует операции присваивания, которые позволяют сократить запись, например, запись res = res +937; будет идентична записи res += 937;, а запись k = k*5; идентична — k *= 5;. Здесь существует правило: любой оператор вида
переменная = переменная операция выражение;
где операция — одна из бинарных операций +, -, *,./, % — может быть записан в виде
переменная операция = выражение;
Операция присваивания
Пример
Пояснение
Результат присваивания
Пусть: int a = 10, b = 23, c = 32, d = 14, e = 12;
+=
a += 8;
a = a + 8;
c = 18
-=
b -= 16;
b = b – 16;
b = 7
*=
c *=5;
c = c * 5;
c = 160
/=
d /= 7;
d = d / 7;
d = 2
%=
e %= 9;
e = e % 9;
g = 3
Таблица 5.1: Некоторые арифметические операции присваивания.
Циклы
Цикл — это многократное выполнение одних и тех же действий. Например, в цикле необходимо вывести числа от 1 до 10. Или вывести на экран N раз одно и тоже слово. Или выполнять какое-либо арифметическое действие, пока не будут достигнуты определенные результаты, которые и будут являться критерием остановки.
Различают три разных оператора цикла, рассмотрим пример использования каждого оператора, решающих одну и ту же задачу — рассчитать xN, и на каждой итерации (на каждом шаге) выводить чему равен результат:
Пусть дано:
int x = 0, int N = 0,int res=1;cout<<”Enter x: ”; cin>>x;cout<<”Enter N”; cin>>N;
цикл с предусловием:
while (выражение-условие)
тело_цикла
пример:
int k=1;while(k<=N){res = res*x;cout<<»result = «<<k<<» = «<<res<<»n»;k++;}
цикл с постусловием:
do
тело цикла
while (выражение-условие)
пример:
int k=1;do{res = res*x;cout<<»result = «<<k<<» = «<<res<<»n»;k++;}while(k<=N);
Первичные Постфиксный инкремент и декремент Преобразование с проверкой во время компиляции Преобразование с проверкой во время выполнения Преобразование без проверки Константное преобразование
Слева направо
- ~ ! * &++ --sizeof(<тип>)<выражение>newdelete
Унарные Префиксный инкремент и декремент Вычисление размера Приведение типа Выделение памяти Освобождение памяти
Справа налево
.* ->*
Выбор члена класса
Слева направо
* / %
Мультипликативные
Слева направо
+ -
Аддитивные
Слева направо
<< >>
Сдвиг
Слева направо
< > <= >=
Отношение
Слева направо
== !=
Отношение
Слева направо
&
Поразрядное И
Слева направо
^
Поразрядное исключающее ИЛИ
Слева направо
|
Поразрядное ИЛИ
Слева направо
&&
Логическое И
Слева направо
||
Логическое ИЛИ
Слева направо
? :
Условная операция
Справа налево
= *= /= %= += -= <<= >>= &= ^= |=
Простое и составное присваивания
Справа налево
throw
Генерация исключения
Слева направо
,
Операция последовательного вычисления
Слева направо
№5 Арифметические операции, преобразование типов при выполнении операций, операция явного приведения типа. Понятие переменной.
Бинарные (арифметические) операции:
+– плюс.
- – минус.
* – умножение.
/ – деление (при делении двух целых чисел получается целая часть от частного).