JavaRush /Курсы /C++ SELF /Типы переменных в C++: int, double и std::string

Типы переменных в C++: int, double и std::string

C++ SELF
1 уровень , 4 лекция
Открыта

1. Объявление переменных

Давайте еще раз вспомним, как создавать переменные. Чтобы создать переменную, нужно написать такую команду: тип имя;.

Примеры:

Команда Пояснение
std::string s;
Создается переменная s типа std::string. Такая переменная может хранить текст.
int x;
Создается переменная x типа int. Такая переменная может хранить в себе целые числа.
int a, b, c; int d;
Создаются переменные a, b, c, d типа int. Такие переменные могут хранить целые числа.
Важно!

Нельзя создать две переменные с одинаковыми именами в одном блоке кода. А вот в разных — можно. Это как коробки, стоящие в разных домах. Подробнее о блоках кода — в следующих лекциях.

Еще есть ограничения на имя переменной. С одной стороны, оно может быть любым, с другой — оно не может содержать пробелов, символов +, - и т.д. Лучше всего в имени переменной использовать только латинские буквы и цифры.

И опять напоминаю, что в языке C++ играет роль, какие буквы вы пишете — большие или маленькие. int a — это не то же самое, что и int A.

Кстати, в C++ можно одновременно создавать переменную и присваивать ей значение. Это экономит время и место:

Компактный код Длинный код, эквивалентный коду слева
int a = 5;
int a; a = 5;
int b = 6;
int b; b = 6;
int c = 7;
int c; c = 7;
int d = c + 1;
int d; d = c + 1;
std::string s = "I'm Amigo";
std::string s; s = "I'm Amigo";

Так гораздо компактнее и понятнее.

Ну а раз с созданием переменных мы уже разобрались, давайте познакомимся с двумя самыми используемыми типами в языке C++. Это типы int (целые числа) и std::string (текст/строки).

2. Тип int

В переменной типа int можно хранить целые числа: 5, -10, 100500. Также над типом int можно выполнять различные арифметические операции: сложение, вычитание, умножение, деление и другие. Примеры:

int main() {
    {
        int x = 1;                  // x будет равен 1
        int y = x * 2;              // y будет равен 2
        int z = 5 * y * y + 2 * y + 3; // z будет равен 20+4+3, будет равен 27
    }

    {
        int a = 5;                  // a будет равно 5
        int b = 1;                  // b будет равно 1
        int c = (a - b) * (a + b);  // c будет равно 4*6, будет равно 24
    }

    {
        int a = 64;                 // a будет равно 64
        int b = a / 8;              // b будет равно 8
        int c = b / 4;              // c будет равно 2
        int d = c * 3;              // d будет равно 6
    }
}

Если вы в школе не прогуливали математику, тот тут вам все должно быть понятно 🧐

А если прогуливали, то вот вам список разрешенных операций:

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

3. Тип double

Тип int хранит только целые числа. А что если нам нужны числа с дробной частью? Для этого существует тип double.

Он хранит вещественные числа:

double x = 3.14;
double y = -0.5;
double z = 2.0;

Особенность double

Числа типа double хранятся в памяти приближённо. Иногда могут появляться неожиданные эффекты:

double x = 0.1 + 0.2;  // 0.300000004

Вы можете ожидать ровно 0.3, но внутри хранится приближённое значение. Это нормально. Так работает представление дробных чисел в компьютере.

4. Тип std::string

Тип std::string позволяет хранить текстовые строки. А чтобы задать какую-то текстовую строку, в C++ надо написать текст строки, а с обеих сторон поставить двойные кавычки.

Код Пояснение
std::string s = "Amigo";
s будет содержать текст Amigo
std::string s = "123";
s будет содержать текст 123
std::string s = "Bond 007";
s будет содержать текст Bond 007

Выглядит несложно, правда? Ну если так, тогда вот еще один интересный факт.

Строки в C++ можно склеивать с помощью знака плюс — +. Пример:

#include <string>

int main() {
    std::string s1 = std::string("Amigo") + " the best"; // s будет содержать Amigo the best
  
    std::string s2 = ""; // s будет содержать пустую строку — вообще без символов.
  
    int x = 333;
    std::string s3 = std::string("Amigo") + std::to_string(x); // s будет содержать Amigo333
}

Обратите внимание на последний пример: мы сложили строку и число. Тут тоже все просто: число будет преобразовано в строку, затем две строки будут склеены. При сложении строк и чисел всегда получается строка.

5. Вывод переменной на экран

Вроде все так очевидно и элементарно. Ну тогда, может, вы сразу догадаетесь, какой командой можно вывести переменную на экран?

На самом деле все просто. Чтобы вывести что-то на экран, мы используем std::cout, куда передаем то, что мы выводим. Для перевода строки удобно добавить '\n'.

#include <iostream>
#include <string>

int main() {
    std::cout << "Amigo\n";              // Amigo

    std::cout << "Ami" << "go" << '\n';  // Amigo

    std::string s1 = "Amigo";
    std::cout << s1 << '\n';          	// Amigo

    std::string s2 = "Am";
    std::cout << s2 << "igo" << '\n'; 	// Amigo

}

Надеюсь, теперь стало немного понятнее. А правильно вы все поняли или нет, мы сейчас проверим. Практика — критерий истины: только с помощью практики можно проверить, хорошо ли вы во всем разобрались.

6. Сокращённые операции присваивания (+=, -=, *=, /=)

В C++ есть удобная форма записи операций вида:

x = x + 5;

Её можно записать короче:

x += 5;

Это называется сокращённое присваивание.

Примеры:

int x = 10;

x += 5;  // x = 15
x -= 3;  // x = 12
x *= 2;  // x = 24
x /= 4;  // x = 6

То есть:

x += a   →   x = x + a
x -= a   →   x = x - a
x *= a   →   x = x * a
x /= a   →   x = x / a

Это не просто «красота кода» — такие записи короче, понятнее и используются постоянно.

Сокращённые операции работают и со строками:

std::string s = "Hello";
s += " World";   // "Hello World"

На JavaRush вы изучаете самую новую версию C++ (C++23), поэтому вам сразу доступны все крутые штуки. Наслаждайтесь! 😎

1
Задача
C++ SELF, 1 уровень, 4 лекция
Недоступна
Три реплики
Три реплики
1
Задача
C++ SELF, 1 уровень, 4 лекция
Недоступна
Ремонт баннера
Ремонт баннера
1
Задача
C++ SELF, 1 уровень, 4 лекция
Недоступна
Секции отчёта
Секции отчёта
1
Задача
C++ SELF, 1 уровень, 4 лекция
Недоступна
ASCII открытка
ASCII открытка
Комментарии (8)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Карман Штанов Уровень 1
17 мая 2026
/\ / \ /____\ | C++| | 23 | |____| Нет, если это правильное решение, то крыша едет тут не только у этого дома
Карман Штанов Уровень 1
17 мая 2026
Самый кривой урок, задание с исправлением кода прошлось, когда компилятор выдал ошибку
Карман Штанов Уровень 1
17 мая 2026
Если вы в школе не прогуливали математику, тот тут вам все должно быть понятно Исправьте очепятку, пожалуйста
Андрей Уровень 17
14 апреля 2026
Встретилась уже 2-я задача, где вывод cout намерено, для прохождения валидации не должен совпадать с образцом. 👎 Хотя указано "Программа должна вывести ровно такой рисунок:".
daniilgrishanenko-web Уровень 10
4 апреля 2026
моя жизнь это сплошные плюсы!
Anonymous #3275243 Уровень 2
2 апреля 2026
ACII открытка, решение принимаемое за правильное не соответствует предложенному рисунку. Крыша неспеша, черепицею шурша....
Грахов Виталий Уровень 2
28 марта 2026
а с++ есть что нибудь еще кроме std::cout?
Ra Уровень 61 Student
13 апреля 2026
import <print>; std::println("!");