⚙️ C++

Переменные и типы данных в C++

Что это и зачем?

Представь, что ты играешь в компьютерную игру. У тебя есть инвентарь: меч, зелье здоровья, золотые монеты. В программировании то же самое — нам нужно где-то хранить данные, с которыми работает программа. Переменные — это как ящички или коробочки, в которые можно положить число, слово или что-то ещё. У каждой коробочки есть имя (например, количество_жизней или имя_героя), и в неё можно положить только определённый тип вещей: в одну — числа, в другую — текст, в третью — да/нет.

Типы данных — это правила, которые говорят: «В эту коробочку можно класть только целые числа», «А в эту — только слова». Зачем это нужно? Чтобы компьютер не перепутал: если ты сказал, что в коробке число, то и складывать числа можно, и вычитать, и умножать. А если там текст — то с ним можно делать другие операции: соединять слова, искать буквы. Без типов данных был бы хаос — как если бы в игре меч вдруг превратился в зелье, а монеты начали разговаривать.

Для школьника это важно, потому что любая программа — это работа с данными. Хочешь сделать калькулятор? Нужны числа. Хочешь игру с диалогами? Нужны строки (текст). Хочешь проверить, прошёл ли игрок уровень? Нужны логические значения (правда/ложь). Переменные и типы — это фундамент, на котором строится всё остальное.

Синтаксис и примеры кода

В C++ нужно сначала объявить переменную — сказать компьютеру: «Слушай, я хочу коробочку с таким-то именем, и в ней будут такие-то данные». Делается это так: сначала пишем тип данных, потом имя переменной, потом (если нужно) знак равенства и значение.

#include <iostream>  // чтобы можно было выводить текст на экран
using namespace std;  // чтобы не писать std:: перед каждым словом

int main() {
    // Пример 1: целое число (int)
    int возраст = 14;  // создаём переменную "возраст" типа int (целое число) и кладём туда 14
    cout << "Мой возраст: " << возраст << endl;  // выводим на экран

    // Пример 2: число с плавающей точкой (double) — для дробей
    double рост = 1.65;  // рост в метрах, можно хранить 1.65
    cout << "Мой рост: " << рост << " м" << endl;

    // Пример 3: текст (string)
    string имя = "Алиса";  // слово или фраза в кавычках
    cout << "Меня зовут " << имя << endl;

    // Пример 4: логический тип (bool) — только true (правда) или false (ложь)
    bool любитПрограммирование = true;  // true = 1, false = 0
    cout << "Любит программировать? " << любитПрограммирование << endl;  // выведет 1 (потому что true)

    // Пример 5: символ (char) — одна буква или цифра в одинарных кавычках
    char перваяБуква = 'A';
    cout << "Первая буква имени: " << перваяБуква << endl;

    return 0;  // программа завершилась успешно
}

Обрати внимание: в C++ каждое выражение заканчивается точкой с запятой ;. Если её забыть, программа не скомпилируется (компьютер не поймёт, где конец команды).

Ещё пример — как переменные можно менять:

int очки = 0;        // сначала 0
очки = 10;           // теперь 10
очки = очки + 5;     // теперь 15 (берём старое значение, прибавляем 5)
cout << очки << endl;  // выведет 15

Тип данных менять нельзя: если объявил int, то потом туда нельзя положить текст. Компьютер будет ругаться.

Сравнение с Python

В Python всё проще: не нужно указывать тип данных. Python сам догадывается, что ты имел в виду. Но за эту простоту приходится платить скоростью и строгостью — в C++ ты точно знаешь, сколько памяти занимает каждая переменная, и программа работает быстрее.

Посмотри, как те же примеры выглядят на Python:

# Python: не нужно писать int, string, bool — тип определяется автоматически
возраст = 14          # Python сам понял, что это число
рост = 1.65           # а это дробное число
имя = "Алиса"         # это строка
любитПрограммирование = True  # логический тип
перваяБуква = 'A'     # символ (в Python это тоже строка, но из одного символа)

print("Мой возраст:", возраст)
print("Мой рост:", рост, "м")
print("Меня зовут", имя)
print("Любит программировать?", любитПрограммирование)
print("Первая буква имени:", перваяБуква)

Разница заметна? В C++ мы пишем int возраст = 14;, а в Python просто возраст = 14. Python не требует объявления типа — он смотрит на значение и сам решает. Но если ты в C++ попробуешь написать int возраст = "Алиса";, компилятор выдаст ошибку. В Python же можно написать возраст = "Алиса", и он не будет возражать — но потом, если ты попытаешься сложить возраст с числом, программа упадёт во время выполнения.

Ещё отличие: в C++ нужно подключать библиотеки (например, #include <iostream> для вывода на экран), а в Python многие вещи уже встроены. Для школьника Python проще для старта, но C++ даёт более глубокое понимание того, как работает компьютер.

Типичные ошибки новичков

  • Забыть точку с запятой. Это самая частая ошибка. Компилятор скажет: «Ошибка: ожидалась точка с запятой». Просто поставь ; в конце каждой команды.
  • Использовать необъявленную переменную. Если ты напишешь cout << x;, а переменная x не была объявлена, компилятор не поймёт, что это такое. Всегда сначала объявляй: int x = 5;
  • Путать кавычки. Для строк (несколько символов) нужны двойные кавычки: "Привет". Для одного символа — одинарные: 'A'. Если перепутать, будет ошибка.
  • Присваивать значение неправильного типа. Например, int a = 3.14; — компилятор может предупредить, что дробная часть потеряется (будет 3, а не 3.14). Или string s = 123; — ошибка, число нельзя просто так положить в строку.
  • Забыть инициализировать переменную. Если написать int x; и потом cout << x;, то выведется мусор (случайное число, которое было в памяти). Всегда давай начальное значение.
  • Путать = и ==. Один знак равенства — это присваивание (положить значение). Два знака — это сравнение (проверить, равны ли значения). Новички часто пишут if (x = 5) вместо if (x == 5), и программа работает не так, как задумано.

Итог

Переменные — это ячейки памяти с именем, в которых хранятся данные. Типы данных говорят, какие именно данные можно хранить: целые числа (int), дробные (double), текст (string), символы (char), логические значения (bool). В C++ нужно явно указывать тип при объявлении переменной, а в Python — нет. Это делает C++ более строгим, но и более мощным.

Чтобы не ошибаться: всегда ставь точку с запятой, объявляй переменные перед использованием, не путай кавычки и знаки равенства. С практикой эти правила станут привычными.

Теперь ты знаешь, как хранить данные в программе. Это первый шаг к тому, чтобы писать свои игры, калькуляторы и полезные утилиты. Попробуй написать программу, которая спрашивает у пользователя имя и возраст, а потом выводит приветствие. Удачи!