Все операторы можно разделить на две категории:
- “Вычисляющие” операторы.
- Операторы управления.
Арифметические операторы
Арифметические операторы |
|
+ |
сложение |
— |
вычитание |
* |
умножение |
/ |
деление |
% |
остаток от деления |
Все арифметические операторы бинарные, то есть имеют два аргумента. Аргументы могут быть числовых типов: int, long int, double, float.
Правило определения типа результата:
- если аргументы имеют одинаковый тип, результат будет того же типа;
- если аргументы имеют разный тип, происходит выравнивание типов от простых к сложным согласно схеме:
Типом результата будет наиболее сложный из типов аргументов.
Пример.
При делении целых чисел выполняется целочисленное деление!
Приоритет – порядок выполнения операторов в одном выражении. Операторы *, /, % имеют одинаковый приоритет. Операторы +, — имеют одинаковый приоритет, но более низкий, чем у операторов *, /, %.
Пример.
Операторы присваивания
Операторы присваивания |
|
= |
простое присваивание |
+= |
присваивание со сложением |
-= |
присваивание с вычитанием |
*= |
присваивание с умножением |
/= |
присваивание с делением |
%= |
присваивание с остатком от деление |
Синтаксис оператора:
1 |
переменная знак выражение; |
Тип выражения должен соответствовать типу переменной.
При простом присваивании значение выражения будет записано в то место, где хранится переменная. При выполнении присваивания со сложением старое значение переменной складывается со значением выражения, и результат записывается в место хранения переменной. Остальные операторы сложного присваивания выполняются аналогично.
Пример.
1 2 3 4 5 6 7 |
int a = 8; a += 15; //a = 23 a /= 6; //a = 3 a += a - 6; //так как a - 6 = -3, то a = 3 + (3 - 6) = 0 float t = 8.5; t *= 2 * t; //так как 2 * t = 17, то t = 8.5 * (2 * 8.5) = 144.5 |
Все операторы присваивания бинарные. Тип результата совпадает с типом переменной. Результат операции – это новое значение переменной. Операторы присваивания можно записывать в одном выражении с другими операторами.
Пример.
1 2 3 4 |
int a, b, c; a = b = c = 5; a += b += 5; //a = 15, b = 10 c += (a = 5) + (b /= 2); //a = 5, b = 5, c = 15 |
Операторы сравнения
Операторы сравнения |
|
== |
равно |
!= |
не равно |
< |
меньше |
> |
больше |
<= |
меньше или равно |
>= |
больше или равно |
Все операторы сравнения бинарные. Аргументы обычно числовых типов. Тип результата логический тип bool.
true – истина.
false – ложь.
Замечание. Отличие операторов = и ==:
- оператор = меняет значение переменной, == не меняет значение;
- тип результата оператора = определяется типом переменной, тип результата == bool;
- значение результата.
Пример.
3 * 6 — 12 == 5 – это выражение принимает значение false, так как две части выражения не равны между собой.
12 % 5 + 8 < 3 – это выражение принимает значение false, так как две части выражения не удовлетворяют условию.
(1.0 / 3) * 3.0 == 1.0 – это выражение принимает значение false, так как две части выражения не равны между собой.
0.33333…3 * 3 == 0.99999…9 – это выражение принимает значение true, так как две части выражения равны между собой