Что происходит при объявлении переменной
Когда переменная объявляется, под неё в памяти компьютера выделяется определённое количество бит — это и есть её ширина типа.
Однако после объявления значение переменной неопределено:
в ячейке памяти могут находиться случайные данные (остатки от предыдущих вычислений).
Чтобы задать конкретное значение, переменную инициализируют.
🔹 Способы инициализации переменных
1. Инициализация при объявлении
Используется оператор присваивания = или круглые скобки (C++-стиль).
int x = 1, y(7);
double a = 8, b(7.789);
char chr = 'k', c('7');
bool f = 1, t(false);
🟢 Пояснения:
c('7')— в переменнойcбудет храниться код символа'7'(55), а не само число 7.f = 1— переменнаяfполучит значениеtrue.- Переменные типа
doubleможно инициализировать целым значением (8), дробная часть добавится автоматически. - 🚫 Нельзя присваивать вещественное значение целой переменной — компилятор выдаст ошибку.
2. Инициализация после объявления
int x, y;
x = 1;
y = 7;
double a, b;
a = 8;
b = 7.789;
char chr, c;
chr = 'k';
c = '7';
bool f, t;
f = 1;
t = false;
3. Присваивание другой переменной или выражения
int x, y(7);
double a = 8, b, c;
x = y; // x получает значение y
b = a; // b получает значение a
c = x + y * a; // c вычисляется по выражению
4. Инициализация одинаковым значением
int x, y(7), z;
x = z = y; // всем присвоено одно значение
double a, b, c;
a = b = c = 5.7; // одинаковое значение для всех
💡 Знак = — оператор присваивания, а не равенства (в отличие от математики).
Он записывает значение справа → влево.
🔹 Операторы ввода и вывода (cin / cout)
Ввод данных с клавиатуры
Для ввода используется оператор cin (сокр. от console input).
int first;
cin >> first;
Синтаксис:
cin— оператор ввода;>>— оператор извлечения (чтение данных);first— переменная, куда сохраняется значение.
Примеры:
int first, second;
cin >> first >> second;
— Ввод двух чисел подряд через пробел или Enter.
Вывод данных на экран
Для вывода используется оператор cout (console output).
cout << first;
Примеры:
cout << first << second; // вывод в одну строку без пробела
cout << first << " " << second; // вывод через пробел
cout << "Первое: " << first << "\n"
<< "Второе: " << second; // с поясняющими сообщениями
🔹 Символ \n — управляющая последовательность, перевод строки.
Манипулятор endl
В C++ есть специальный манипулятор потока endl, выполняющий ту же функцию, что и \n,
но дополнительно сбрасывающий буфер вывода (гарантирует немедленное отображение текста на экране).
cout << "Значения переменной = " << first << endl
<< "переменной = " << second;
📘 Разница:
\n— просто переход на новую строку;endl— переход + принудительный вывод буфера.
🧠 Итоги
| Действие | Пример | Комментарий |
|---|---|---|
| Объявление | int a; | память выделена, значение не определено |
| Инициализация | int a = 5; | присвоено начальное значение |
| Ввод с клавиатуры | cin >> a; | пользователь вводит данные |
| Вывод на экран | cout << a; | отображение результата |
| Перевод строки | cout << endl; | переход на новую строку |
