JavaRush /Курсы /C++ SELF /Знакомство с переменными в C++

Знакомство с переменными в C++

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

1. Переменные и коробки

Переменные — это такие специальные штуки для хранения данных. Любых данных. Почти все данные в C++ так или иначе оказываются в переменных. Больше всего переменная по смыслу напоминает коробку: самую обычную коробку.

Допустим, вы написали на листке число 13 и положили этот лист в коробку. Теперь мы можем говорить, что «коробка хранит значение 13».

Каждая переменная в C++ имеет три важных свойства: тип, имя и значение.

Имя используется для того, чтобы отличать одну переменную от другой. Это как надпись на коробке.

Тип переменной определяет тип значений/данных, которые в ней можно хранить. В коробке для торта храним торт, в коробке для обуви — туфли, и т.д.

Значение — это некий объект, данные или информация, которая хранится в переменной.

Каждый объект в языке C++ имеет свой тип. Например, могут быть такие типы данных: целое число, дробное число, текст, тип Cat, тип House и т.д.

У каждой переменной (коробки) тоже есть свой тип. Переменная может хранить значения только того же типа, что и она сама. Разные коробки используются для хранения различных вещей: коробка конфет, коробка для десятка яиц и т.п. Все как в жизни.

2. Создание переменной

В языке C++ для того, чтобы создать переменную, используется команда вида:

тип имя;
Объявление переменной

Где тип — это тип переменной (совпадает с типом значений, которые переменная сможет хранить). А имя — это имя переменной.

Примеры:

Создание переменной: сначала тип, затем имя. Описание
int a;
Создаем переменную по имени a типа int.
std::string s;
Создаем переменную по имени s типа std::string.
double c;
Создаем переменную по имени c типа double.

Два самых часто используемых типа — это целые числа (обозначаются словом int) и текстC++ обычно используют std::string). Также популярен тип double — это дробные (вещественные) числа.

3. Присваивание

Как уже говорилось выше, у переменной есть имя, тип и значение. Имя и тип мы уже разобрали, а что насчет значения? Как занести значение в переменную?

Чтобы занести значение в переменную, существует специальная операция — операция присваивания. Она копирует значение из одной переменной в другую. Не переносит, а именно копирует. Как файл на диске. Выглядит это присваивание так:

имя = значение;
Операция присваивания

Где имя — это имя переменной, а значение — это значение, которое будет занесено в переменную. В качестве значения может фигурировать конкретное значение, имя другой переменной или даже какое-нибудь выражение с использованием переменных.

Примеры:

int main() {
    int i;         // Создается переменная i
    int a, b;      // Создаются переменные a, b
    int x;         // Создается переменная x

    i = 3;         // В переменную i заносится значение 3.

    a = 1;         // В переменную a заносится значение 1.
    b = a + 1;     // В переменную b заносится значение 2.

    x = 3;         // В переменную x заносится значение 3.
    x = x + 1;     // В этой строке значение x увеличивается на 1, x теперь равен 4.
}

Символ равно

Для операции присваивания используется символ равно =. Это не сравнение, не равенство. Это именно команда копирования значения справа от знака равно в переменную, которая слева. Для сравнения в языке C++ используется двойное равно ==.

4. Имя переменной: что можно, а что нельзя

Вот какие факты вам полезно будет знать при создании переменных:

  • Имя переменной может быть любым (например, temperature, score, userAge).
  • Но есть ограничения — оно не может начинаться с цифры, и не может совпадать со служебными словами C++ (например, нельзя назвать переменную int или if).
  • Не может содержать специальные символы, кроме _.
  • В имени важна разница между строчными и прописными буквами (Age и age — разные переменные).
  • Обычно используют стиль camelCase: первая буква маленькая, дальше — каждое слово с заглавной (userAge, maxScore).

Примеры разрешенных имен:

#include <string>

int main() {
    int x123 = 1;
    std::string koteyka;
    double PI = 3.14;
    std::string MAIN_PATH = "c:/";
}

Примеры запрещенных имен:

int 1first = 1;              // имя не может начинаться с цифры
int number# = 25;            // символ # нельзя использовать в имени
std::string name" = "John";  // кавычки в имени недопустимы
double pi+e = 5.123';        // имя не может содержать +

Все остальное вы узнаете в будущих лекциях. А теперь вопрос на логику: за сколько шагов можно поймать кота в коробку?

5. Коты и коробки

img

Как поймать кота:

  1. Возьмите пустую коробку.
  2. Ждите.

Шутка 🙂

Ну, может, в коробку и можно запихнуть сколько угодно котов, но вот в переменную можно положить только одно значение. С чем и будет связаны задачи в конце лекции.

6. Краткая история C++

Чтобы понять некоторые вещи в C++, нужно немного вернуться назад — к языку C.

Язык C появился в начале 1970-х годов в Bell Labs. Его создал Деннис Ритчи. Это был компактный, быстрый и очень практичный язык, который позволял писать системные программы и даже операционные системы. Он давал программисту много контроля над памятью и устройством программы. Именно поэтому C стал фундаментом для огромного количества технологий.

В начале 1980-х Бьёрн Страуструп решил расширить C и добавить в него новые возможности, прежде всего поддержку классов. Сначала язык назывался “C with Classes”, а позже получил имя C++. Идея была простой: сохранить эффективность C, но сделать язык удобнее для создания больших и сложных программ.

С тех пор C++ развивался почти 50 лет. Он регулярно обновляется, и каждая новая версия стандарта добавляет новые возможности. Сегодня существуют стандарты C++11, C++14, C++17, C++20, C++23 — и работа над следующими версиями уже идёт. В результате язык стал очень мощным и многогранным.

Однако в C++ нередко можно встретить несколько способов сделать одно и то же. Например, даже инициализировать переменную можно по-разному:

int a = 5;
int b(5);
int c{5};

Все три варианта корректны — просто появились они в разные периоды развития языка. Похожая история и со строками: есть разные формы создания, разные способы объединения, форматирования и преобразования значений. Это следствие долгой эволюции языка.

Важно понимать: C++ не переписывался заново каждые 10 лет. Он аккуратно расширялся, сохраняя совместимость со старым кодом. Именно поэтому в нём накопилось так много возможностей.

Но это не значит, что нам нужно изучать всё подряд. Мы будем использовать самые современные и актуальные стандарты — C++20 и C++23. Мы будем писать код в современном стиле, выбирать более безопасные и понятные конструкции и постепенно разбираться в языке без перегруза историческими деталями.

1
Задача
C++ SELF, 1 уровень, 3 лекция
Недоступна
Быстрое приветствие
Быстрое приветствие
1
Задача
C++ SELF, 1 уровень, 3 лекция
Недоступна
Три реплики
Три реплики
1
Задача
C++ SELF, 1 уровень, 3 лекция
Недоступна
Меню терминала
Меню терминала
1
Задача
C++ SELF, 1 уровень, 3 лекция
Недоступна
Визитка ASCII
Визитка ASCII
Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ