Арифметические операторы — это основные инструменты для выполнения математических операций в C++. Они позволяют нам складывать, вычитать, умножать, делить и выполнять другие арифметические операции с переменными и литералами. В этом уроке мы рассмотрим основные арифметические операторы в C++ и приведем примеры их использования.

Оператор присваивания (=)

Оператор присваивания используется для присвоения значения переменной:

int x = 5; // присваиваем x значение 5

Операторы сложения (+) и вычитания (-)

Эти операторы выполняют сложение и вычитание соответственно:

int a = 5 + 3; // a будет равно 8
int b = 10 - 4; // b будет равно 6

Оператор умножения (*)

Выполняет умножение двух чисел:

int c = 4 * 3; // c будет равно 12

Оператор деления (/)

Выполняет деление. Важно помнить, что при делении целых чисел результат округляется до целого:

int d = 10 / 3; // d будет равно 3
float e = 10.0f / 3.0f; // e будет примерно 3.33333

Примечание: При делении на ноль происходит ошибка времени выполнения.

Оператор остатка от деления (%)

Возвращает остаток от деления целых чисел:

int f = 10 % 3; // f будет равно 1

Составные операторы присваивания

C++ предоставляет сокращенные операторы для выполнения арифметической операции и присваивания в одном выражении:

Составные операторы присваивания комбинируют операцию с присваиванием:

ОператорПримерЭквивалент
+=x += 5;x = x + 5;
-=x -= 5;x = x - 5;
*=x *= 5;x = x * 5;
/=x /= 5;x = x / 5;
%=x %= 5;x = x % 5;
&=x &= 5;x = x & 5;
=x
^=x ^= 5;x = x ^ 5;
«=x «= 5;x = x « 5;
»=x »= 5;x = x » 5;

Эти операторы делают код более кратким и часто более читаемым.

Пример использования составных операторов

#include <iostream>

int main() {
    int x = 10;
    
    x += 5;  // x теперь 15
    std::cout << "После x += 5: " << x << std::endl;
    
    x -= 3;  // x теперь 12
    std::cout << "После x -= 3: " << x << std::endl;
    
    x *= 2;  // x теперь 24
    std::cout << "После x *= 2: " << x << std::endl;
    
    x /= 4;  // x теперь 6
    std::cout << "После x /= 4: " << x << std::endl;
    
    x %= 4;  // x теперь 2
    std::cout << "После x %= 4: " << x << std::endl;

    return 0;
}

Преимущества составных операторов

  1. Более краткая запись
  2. Потенциально более эффективное выполнение
  3. Уменьшение вероятности ошибок при работе с более сложными выражениями

Совет: При работе с арифметическими операторами всегда учитывайте возможность переполнения и потери точности при работе с целыми числами и числами с плавающей точкой.

Особенности операторов деления и остатка от деления

При использовании оператора деления / важно помнить, что если оба операнда являются целыми числами, результат также будет целым числом. Например:

int c = 10;
      int d = 4;
      std::cout << "c / d = " << (c / d) << std::endl;  // Вывод: 2
      

Результат деления 10 / 4 равен 2, так как дробная часть отбрасывается. Для получения дробного результата необходимо использовать тип данных с плавающей точкой (float или double):

float e = 10.0f;
      float f = 4.0f;
      std::cout << "e / f = " << (e / f) << std::endl;  // Вывод: 2.5
      

Оператор % используется для получения остатка от деления двух целых чисел:

int g = 10;
      int h = 4;
      std::cout << "g % h = " << (g % h) << std::endl;  // Вывод: 2
      

Результат 10 % 4 равен 2, так как 10 делится на 4 дважды с остатком 2.

Заключение

Арифметические операторы в C++ являются основными инструментами для выполнения математических операций. Важно помнить об особенностях целочисленного деления и использовать типы данных с плавающей точкой для получения дробных результатов. Оператор остатка от деления % полезен для нахождения остатка при делении целых чисел.

В следующем уроке мы рассмотрим инкремент, декремент и побочные эффекты.

Перейти к следующему уроку →