0Pricing
C Academy · Урок

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

+, -, *, /, %

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

Арифметика в C

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

  • + сложение
  • - вычитание
  • * умножение
  • / деление
  • % остаток от деления
#include <stdio.h>
int main(void) {
    int a = 7, b = 3;
    printf("a + b = %d\n", a + b);
    printf("a - b = %d\n", a - b);
    return 0;
}

Умножение

Оператор * перемножает два значения. Тип результата определяется операндами, поэтому два значения типа int дают результат типа int.

#include <stdio.h>
int main(void) {
    int width = 4, height = 5;
    int area = width * height;
    printf("Area = %d\n", area);
    return 0;
}

Целочисленное деление

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

Поэтому 7 / 2 даёт 3, а не 3.5.

#include <stdio.h>
int main(void) {
    int x = 7, y = 2;
    printf("7 / 2 = %d\n", x / y);
    return 0;
}

Деление с плавающей точкой

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

#include <stdio.h>
int main(void) {
    double x = 7.0, y = 2.0;
    printf("7.0 / 2.0 = %.2f\n", x / y);
    return 0;
}

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

Оператор % возвращает остаток от целочисленного деления. Он работает только с целочисленными операндами.

7 % 3 равно 1, потому что 7 = 2*3 + 1.

#include <stdio.h>
int main(void) {
    printf("7 %% 3 = %d\n", 7 % 3);
    printf("10 %% 5 = %d\n", 10 % 5);
    return 0;
}

Применение остатка от деления: чётность числа

Распространённый приём: число является чётным, если n % 2 == 0, и нечётным в противном случае.

#include <stdio.h>
int main(void) {
    int n = 9;
    if (n % 2 == 0)
        printf("%d is even\n", n);
    else
        printf("%d is odd\n", n);
    return 0;
}

Унарный минус

Оператор - также может работать как унарный оператор, меняющий знак значения на противоположный.

#include <stdio.h>
int main(void) {
    int temp = 5;
    printf("Negated: %d\n", -temp);
    return 0;
}

Смешивание типов int и double

При смешивании типов C перед вычислением преобразует int в double. Это называется продвижением типа.

#include <stdio.h>
int main(void) {
    int a = 5;
    double b = 2.0;
    printf("Result = %.2f\n", a / b);
    return 0;
}

Деление на ноль

Целочисленное деление или вычисление остатка по модулю нуля — это неопределённое поведение в C, которое обычно приводит к аварийному завершению программы. Всегда проверяйте, что делитель не равен нулю.

#include <stdio.h>
int main(void) {
    int n = 10, d = 0;
    if (d != 0)
        printf("%d\n", n / d);
    else
        printf("Cannot divide by zero\n");
    return 0;
}

Объединение операторов

Вы можете объединять операторы, чтобы создавать более крупные выражения. C вычисляет их в соответствии с правилами приоритета, которые Вы скоро изучите.

#include <stdio.h>
int main(void) {
    int total = 2 + 3 * 4 - 1;
    printf("total = %d\n", total);
    return 0;
}

Небольшой калькулятор

Объединим всё вместе: прочитаем два значения в переменные и сразу выведем несколько арифметических результатов.

#include <stdio.h>
int main(void) {
    int a = 12, b = 5;
    printf("Sum: %d\n", a + b);
    printf("Diff: %d\n", a - b);
    printf("Quot: %d\n", a / b);
    printf("Rem: %d\n", a % b);
    return 0;
}

Проверка понимания

Проверьте, насколько хорошо Вы понимаете арифметические операторы.

Повторение: арифметические операторы

Вы изучили пять арифметических операторов в C.

  • + - * работают ожидаемым образом
  • / усекает результат для целых чисел, но даёт действительный результат для чисел с плавающей точкой
  • % возвращает остаток и работает только с целыми числами
  • При смешивании типов выполняется продвижение к более широкому типу
  • Никогда не делите на ноль

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

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

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

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

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

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

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

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

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

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

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

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

  1. Арифметические операторы
  2. Отношения и логика
  3. Присваивание и приращение
  4. Приоритет операторов
← Назад к C Academy