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. Ми писатимемо код у сучасному стилі, обиратимемо безпечніші й зрозуміліші конструкції та поступово розбиратимемося в мові, не перевантажуючи себе історичними деталями.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ