С/C++ ОПЕРАТОРЫ
Привет! Если ты только начинаешь программировать и слова вроде "операторы" звучат как что-то из космоса, не переживай! Мы разберём всё по полочкам, с примерами и в ярких красках. Эта статья — для тех, кто хочет понять, как работают операторы в C и C++, даже если ты пока "чайник". А в конце ещё расскажем, чем отличаются C, C++ и C#.
Что такое операторы?
Операторы — это как кнопки на калькуляторе. Они говорят компьютеру, что делать: сложить, сравнить, присвоить значение и так далее. В C и C++ их куча, но мы разберём самые важные. Поехали!
1. Арифметические операторы: Считаем, как в школе
Это операторы для математики: сложение, вычитание, умножение и прочее.
- + — складываем. Пример: 5 + 3= 8.
- - — вычитаем. Пример: 5 - 3= 2.
- * — умножаем. Пример: 5 * 3= 15.
- / — делим. Пример: 6 / 2= 3.
- % — остаток от деления. Пример: 7 % 2= 1 (7 делим на 2, остаётся 1).
Пример кода:
#include <stdio.h>
int main() {
    int a = 10, b = 3;
    printf("Сложение: %d\n", a + b); // Выведет 13
    printf("Деление: %d\n", a / b); // Выведет 3
    printf("Остаток: %d\n", a % b); // Выведет 1
    return 0;
}
  
Что тут происходит? Мы берём два числа, a и b, и делаем с ними всякие математические штуки. Если делишь целые числа, дробная часть отбрасывается!
2. Операторы присваивания: Записываем значения
Эти операторы "кладут" значение в переменную, как в коробку.
- = — записываем значение. Пример: a = 5кладёт 5 вa.
- += — прибавляем и записываем. Пример: a += 3— это какa = a + 3.
- -=, *=, /=, %= — то же самое, но для вычитания, умножения и т.д.
Пример кода:
#include <stdio.h>
int main() {
    int x = 10;
    x += 5; // Теперь x = 15
    printf("x = %d\n", x);
    x *= 2; // Теперь x = 30
    printf("x = %d\n", x);
    return 0;
}
  
Смотри: мы сначала прибавили 5 к x, а потом умножили его на 2. Просто и понятно!
3. Операторы сравнения: Сравниваем, как в жизни
Эти операторы проверяют, правда или ложь. Например, равно ли одно число другому?
- == — равно. Пример: 5 == 5— правда (1).
- != — не равно. Пример: 5 != 3— правда (1).
- > — больше. Пример: 5 > 3— правда (1).
- < — меньше. Пример: 5 < 3 — ложь (0).
- >=, <= — больше или равно, меньше или равно.
Пример кода:
#include <stdio.h>
int main() {
    int a = 10, b = 20;
    printf("a == b: %d\n", a == b); // 0 (ложь)
    printf("a < b: %d\n", a < b); // 1 (правда)
    return 0;
}
  
Этот код как детектив: проверяет, равны ли числа или одно меньше другого.
4. Логические операторы: Соединяем условия
Эти операторы помогают комбинировать проверки. Например, "и то, и это правда".
- && — И (правда, если оба условия верны).
- || — ИЛИ (правда, если хотя бы одно верно).
- ! — НЕ (меняет правду на ложь и наоборот).
Пример кода:
#include <stdio.h>
int main() {
    int a = 5, b = 10;
    if (a > 0 && b > 0) {
        printf("Оба числа положительные\n");
    }
    if (!(a == b)) {
        printf("Числа не равны\n");
    }
    return 0;
}
  
Тут мы проверяем, что оба числа больше нуля, и что они не равны.
5. Инкремент и декремент: Плюс-минус один
Эти операторы добавляют или убирают 1 от переменной.
- ++ — прибавляет 1. Пример: a++.
- -- — убирает 1. Пример: a--.
Важно: ++a сначала прибавляет, потом использует. a++ — наоборот, сначала использует, потом прибавляет.
Пример кода:
#include <stdio.h>
int main() {
    int a = 5;
    printf("a = %d\n", a++); // Выведет 5, потом a станет 6
    printf("a = %d\n", ++a); // Увеличит до 7, выведет 7
    return 0;
}
  
Смотри, как работает порядок: a++ сначала показывает старое значение, а ++a — новое.
Чем отличаются C, C++ и C#?
Теперь в двух словах, чем отличаются эти языки по синтаксису:
- C: Простой и суровый, как старый калькулятор. Нет классов, всё вручную. Операторы — как в примерах выше.
- C++: C, но с бонусами — классы, объекты, шаблоны. Есть дополнительные операторы, типа ::для работы с классами.
- C#: Совсем другой зверь, от Microsoft. Похож на C++, но вместо printf—Console.WriteLine. Работает в .NET, и памятью управляет система.
Совет: начинай с C или C++, чтобы понять основы. C# хорош для приложений под Windows или игр.
Вот и всё! Если что-то неясно, пиши в комментариях, разберёмся! 🚀
