0Pricing
C# Academy · Урок

Арифметика и приоритет операторов

Операторы и порядок вычислений.

«Арифметика и приоритет операторов» — бесплатный урок C# Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C# Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C# Academy содержит 4 уроков всего.

Арифметические операторы

В C# есть привычные арифметические операторы:

  • + сложение
  • - вычитание
  • * умножение
  • / деление
  • % остаток от деления

Они работают со всеми числовыми типами.

int a = 10, b = 3;
Console.WriteLine(a + b);
Console.WriteLine(a - b);
Console.WriteLine(a * b);

Деление целых чисел

Когда оба операнда являются целыми числами, оператор / выполняет целочисленное деление и отбрасывает дробную часть.

Поэтому 7 / 2 равно 3, а не 3.5. Это распространённый источник ошибок у начинающих.

int result = 7 / 2;
Console.WriteLine(result);

Получение результата типа decimal

Чтобы сохранить дробную часть, сделайте хотя бы один операнд значением с плавающей точкой или десятичным значением.

Можно добавить .0 к литералу или привести переменную к типу double.

double result = 7.0 / 2;
double other = (double)7 / 2;
Console.WriteLine(result);
Console.WriteLine(other);

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

Оператор % возвращает остаток от деления.

Он удобен для проверки того, является ли число чётным или нечётным, циклического перехода по диапазонам или группировки элементов.

Console.WriteLine(10 % 3);
Console.WriteLine(8 % 2);
bool isEven = 8 % 2 == 0;
Console.WriteLine(isEven);

Приоритет операторов

Операторы выполняются в определённом порядке приоритета, как и в математике. Умножение, деление и взятие остатка имеют более высокий приоритет, чем сложение и вычитание.

Поэтому 2 + 3 * 4 равно 14, поскольку сначала выполняется 3 * 4.

Console.WriteLine(2 + 3 * 4);
Console.WriteLine(20 - 6 / 2);

Скобки переопределяют приоритет

Используйте скобки, чтобы задать другой порядок вычислений. Всё, что находится внутри них, вычисляется первым.

Скобки также делают Ваш замысел понятнее, даже если строго говоря они не обязательны.

Console.WriteLine((2 + 3) * 4);
Console.WriteLine(10 - (2 + 3));

Вычисление слева направо

Если у операторов одинаковый приоритет, C# вычисляет их слева направо.

Поэтому 10 - 4 - 2 означает (10 - 4) - 2, то есть 4.

Console.WriteLine(10 - 4 - 2);
Console.WriteLine(24 / 4 / 2);

Унарные операторы

Унарный минус - меняет знак значения на противоположный, а унарный плюс + оставляет его без изменений.

Унарные операторы имеют очень высокий приоритет и выполняются до бинарных арифметических операций.

int x = 5;
Console.WriteLine(-x);
Console.WriteLine(-x + 3);

Увеличение и уменьшение

++ прибавляет единицу, а -- вычитает единицу. Если оператор стоит перед переменной (префиксная форма), изменение происходит сначала; если после неё (постфиксная форма), сначала используется исходное значение.

int i = 5;
Console.WriteLine(i++);
Console.WriteLine(i);
Console.WriteLine(++i);

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

Составные операторы объединяют арифметическую операцию с присваиванием: +=, -=, *=, /= и %=.

Таким образом, total += 5 — это сокращённая форма записи total = total + 5.

int total = 10;
total += 5;
total *= 2;
Console.WriteLine(total);

Собираем всё вместе

В настоящих формулах сочетаются несколько операторов. Зная приоритет, Вы можете предсказать результат, не выполняя проверку.

Ниже умножение выполняется раньше сложения, а приведение превращает целочисленное деление в вычисление среднего значения с десятичной частью.

int sum = 20 + 30 + 25;
double average = (double)sum / 3;
Console.WriteLine(average);

Быстрая проверка

Примените полученные знания о приоритете операторов.

Повторение

Вы попрактиковались с арифметическими операторами + - * / %, увидели, как целочисленное деление отбрасывает дробную часть, и научились получать результаты с десятичной частью с помощью приведения типов.

Вы также изучили приоритет операторов: * / % выполняются раньше + -, операторы с одинаковым приоритетом — слева направо, а скобки позволяют управлять порядком вычислений. Составные операторы, такие как +=, делают код более кратким.

Часто задаваемые вопросы

Урок «Арифметика и приоритет операторов» бесплатный?

Да — полный текст урока «Арифметика и приоритет операторов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C# Academy, подпишись на CoddyKit PRO. Курс C# Academy содержит 4 уроков всего.

Чему я научусь в уроке «Арифметика и приоритет операторов»?

Операторы и порядок вычислений. Ты практикуешь C# Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать C# Academy?

Предыдущий опыт не требуется. C# Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Арифметика и приоритет операторов»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке C# Academy?

Да. Каждый урок C# Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Числовые типы
  2. Арифметика и приоритет операторов
  3. Класс Math
  4. Преобразование чисел
← Назад к C# Academy