3. Арифметические операторы
Основные бинарные операции, расположенные в порядке уменьшения приоритета:
● * — умножение;
● / — деление;
● + — сложение;
● - — вычитание;
● % — остаток от целочисленного деления.
Основные унарные операции:
● ++ — инкрементирование (увеличение на 1);
● –– — декрементирование (уменьшение на 1);
● - — изменение знака.
3
4. Арифметические операторы
Бинарные арифметические операции могут быть объединены с операцией
присваивания:
● объект *= выражение; // объект = объект * выражение
● объект /= выражение; // объект = объект / выражение
● объект += выражение; // объект = объект + выражение
● объект -= выражение; // объект = объект — выражение
● объект %= выражение; // объект = объект % выражение
4
7. Арифметические операторы
7
Result: A = 27, B = 2
int main()
{
unsigned int a,b;
a = 55 / 2;
b = 35 % 3;
printf("Result: A = %d, B = %d", a, b);
return 0;
}
10. Операторы сравнения
Большинство операторов сравнения применимы к числовым значениям. Всё это бинарные операторы,
имеющие два числовых аргумента, но возвращающие логическое значение.
● > — оператор «больше».
● >= — оператор «больше или равно».
● < — оператор «меньше».
● <= — оператор «меньше или равно».
● != — оператор «не равно».
● == — оператор эквивалентности (равенства).
Последние два оператора могут применяться не только для числовых значений, но и, например, для
логических.
10
11. Операторы сравнения
11
Result: ????
int main()
{
unsigned short a,b,c;
a = 2; b = 5;
if (a > b)
c = 10;
else
c = 20;
printf("Result: C = %d", c);
return 0;
}
12. Операторы сравнения
12
Result: C = 20
int main()
{
unsigned short a,b,c;
a = 2; b = 5;
if (a > b)
c = 10;
else
c = 20;
printf("Result: C = %d", c);
return 0;
}
13. Операторы сравнения
13
Result: ????
int main()
{
unsigned short a,b,c;
a = 50; b = 20;
if (a = b)
c = a - b;
else
c = a + b;
printf("Result: C = %d", c);
return 0;
}
14. Операторы сравнения
14
Result: C = 0
int main()
{
unsigned short a,b,c;
a = 50; b = 20;
if (a = b)
c = a - b;
else
c = a + b;
printf("Result: C = %d", c);
return 0;
}
15. Логические операторы
Существует несколько бинарных логических операторов и один унарный. В качестве аргументов для всех этих
операторов выступают логические литералы (константы), логические переменные и выражения, имеющие
логическое значение.
● ! — «отрицание», унарный оператор, меняет значение на противоположное
● && — логическое «и» («конъюнкция», «пересечение»), бинарная операция, возвращает истинное значение
тогда и только тогда, когда оба операнда истины.
● || — логическое «или» («дизъюнкция», «объединение»), бинарная операция, возвращает истинное значение,
когда хотя бы один из операндов истинный.
У логических операторов следующий приоритет: отрицание, конъюнкция, дизъюнкция.
15
17. Логические операторы
17
Result: ????
int main()
{
unsigned short a,b,c;
a = 50; b = 20;
if ((a > b) && (b != 20))
c = a - b;
else
c = a + b;
printf("Result: C = %d", c);
return 0;
}
18. Логические операторы
18
Result: C = 70
int main()
{
unsigned short a,b,c;
a = 50; b = 20;
if ((a > b) && (b != 20))
c = a - b;
else
c = a + b;
printf("Result: C = %d", c);
return 0;
}
19. Логические операторы
19
Result: ????
int main()
{
unsigned short c, d;
c = 100; d = 0;
c = !(!c);
d = !(!d);
printf("Result: C = %d, D = %d", c, d);
return 0;
}
20. Логические операторы
20
Result: C = 1, D = 0
int main()
{
unsigned short c, d;
c = 100; d = 0;
c = !(!c);
d = !(!d);
printf("Result: C = %d, D = %d", c, d);
return 0;
}
21. Побитовые операторы
Побитовые операции можно применять только к целочисленным типам.
Виды побитовых операций:
● & ( или AND ),
● | ( или OR ),
● ^ ( или XOR ),
● ~ ( или NOT ),
● << - сдвиг влево
● >> - сдвиг вправо
21
26. Составной оператор
26
int main()
{
unsigned short a, b, c, d;
a = 20; b = 30; c = 100; d = 0;
if (a == 3)
c = 20;
else
{
c = 40;
if (d < 10)
{
d *= 2;
}
}
{
unsigned int e;
a = b = c = d = 0;
}
return 0;
}