Основи програмування на С ++ для початківців

Типи даних, змінні та константи у С++

типи даних c ++Наступна тема, що входить в основи програмування – це типи даних, змінними і константами.  У більшості випадків перші теми у вивченні будь-якого курсу – це нудна теорія. Так вже складається, що щоб почати писати більш-менш цікаві програми, потрібно дізнатися деякі основи і отримати базові знання. Я, звичайно, постараюся коротше і цікавіше розкрити тему цієї статті, але будьте терплячими.  У цій статті ми розберемося з тим, що ж таке типи даних і навіщо вони нам знадобляться в програмуванні, а також дізнаємось про змінні та константи.

Типи даних. Спочатку відповім “навіщо” існують типи даних. Дивіться, Припустімо, що нам потрібно написати програму, яка виводить на екран дані про вік, вагу та зріст людини. Але, щоб програма могла звертатися до цих даних, їх треба зберігати десь в оперативній пам'яті комп'ютера, а вже потім “попросити” показати їх. Для цього нам необхідні типи даних – щоб компілятор “зрозумів” скільки пам'яті повинно бути виділено для даних, і що саме в цій пам'ять буде зберігатися (ціле число (вік), дійсне (вага та зріст), символи і т. д.).

Типи даних можна розбити на три групи: числові, символьні і логічні. Щоб вказати тип даних використовуються спеціальні зарезервовані (ключові) слова.  Нижче ми їх розглянемо і вкажемо скільки пам'яті для них виділяється і які дані вони можуть зберігати.

Числові типи даних: для зберігання цілих чисел (0, 33, -27 і т.д.)

int   (4 байта)   –   зберігає числа в діапазоні від -2 147 483 648  до 2 147 483 647

short (2  байта)  –  зберігає числа в діапазоні від -32 768 до 32 767

long (4 байта) –   зберігає числа в діапазоні від -2 147 483 648   до 2 147 483 647

Числові типи даних: для зберігання дійсних чисел (з плаваючою точкою:  435.332,  54.77, 3.0)

float(4 байта)  – зберігає дробові числа з точністю до 7 знаков после запятой

double (8 байт) – зберігає дробові числа з точністю до 15 знаков после запятой

Символьний тип: для зберігання одного символу

char (1 байт) – зберігає один символ. Наприклад:  'f',  '+’  або '4’ (як символ). Одинарні лапки обов'язкові.

Типу даних для зберігання рядків в С ++ немає. Пізніше ми з вами познайомимося з тим, яким чином можна зберігати рядки в пам'яті.

Логічний тип: 

bool (1 байт) – мможе приймати тільки два значення true (істина) і false (неправда)

Відразу варто звернути увагу, що все зарезервовані слова під типи даних пишуться не великими, а малими (маленькими) буквами. Якщо ви оголосите тип bool, як Bool – компілятор генерує повідомлення про помилку. В редакторі, при написанні коду, всі ключові слова С++ виділені блакитним кольором (це стосується до всіх зарезервованих слів). Так що якщо ви ввели тип, а слово не стало синім – перевірте правильність написання.

Змінними і константи.  Їх назви говорять самі за себе. І змінна і константа – це певні області в оперативній пам'яті, які мають імена (ім'я задає програміст). Тільки змінна може змінювати своє значення в ході виконання програми, константа ж визначається один раз і змінюватися вже не може.

Час, наприклад,  це змінна величина. Зараз, припустимо, 3 години дня, а через 2 години вже буде 5 годин вечора.  А ось кількість годин у добі – це вже константа.

І змінним і константам при оголошенні обов'язково треба привласнити ім'я. Існують суворі правила,  згідно з якими даються імена:

    • ім'я змінної може містити маленькі і великі літери англійського алфавіту, цифри, і_’  (нижнє підкреслення). З нижнім підкресленням імена читаються набагато легше. Порівняйте amountofapples  і amount_of_apples.
    • ім'я не може починатися з цифри! amount_of_apples1 – можна,  1amount_of_apples – не можна ))
    • ім'ям НЕ може бути зарезервоване слово (int, bool …). Якщо ви придумали ім'я змінної, ввели, а його підсвітило синім кольором, це означає, що дане слово в С++ є зарезервованим. Придумайте нове ім'я.
  •  ім'я змінної повинно бути осмисленим (логічним тому, що буде зберігати дана змінна). Тобто,. навряд чи хтось здогадається, що в змінній x зберігає значення кількість яблук. Логічніше назвати таку змінну amount_of_apples.

Оголошення і ініціалізація змінних і констант.

Як ми можна створити змінну і визначити яке значення вона буде зберігати? Для цього нам необхідно спочатку вказати тип_даних, потім дати ім'я змінної (дотримуючись правил розглянутих вище), поставити знак = (означає привласнити) і вказати значення. Наприклад створимо змінну, яка буде зберігати значення кількості яблук: INT amount_of_apples = 7;.

Присвоєння значення змінній при її створенні називається ініціалізація. Бажано завжди ініціалізувати змінні при створенні, навіть якщо ви не знаєте, яке значення змінна буде приймати під час роботи програми. В цьому випадку ініціалізуйте її нулем: INT amount_of_apples = 0;. Справа в тому, що оперативна пам'ять вільною не буває. І якщо ви просто створити змінну INT amount_of_apples; і не присвоїли їй ніякого значення, вона все одно буде зберігати якісь залишкові дані від попередніх програм. Тому, хоча це не помилка оголосити спочатку змінну, а нижче присвоїти їй значення, бажано привласнити значення цій змінній відразу , тим самим очистивши її від “сміття”.  До речі, в MVS 2013, якщо ви спробуєте відобразити значення неініціалізованої змінної, компілятор видасть помилку.

Що стосується констант, то значення їм має бути присвоєно відразу при створенні. Наприклад, визначимо константа, яка буде зберігати кількість днів у тижні: const int daysInWeek = 7; Щоб дати ясно зрозуміти компілятору, що це константа, а не звичайна змінна, перед типом даних обов'язково використовувати ключове слово const. 

Так, мабуть, приступимо до розгляду декількох прикладів, щоб зрозуміти і запам'ятати те, про що ми тут говорили. Не забувайте, набирати код – практикуйтесь.

В рядку 15 зміннійinBox присвоєно значення 0, оскільки ми не знаємо, яке значення туди буде запсане.  І в рядку 17, мы показываем начальное значение на экран. Как видите, щоб відобразити значення змінної на екрані, досить звернутися до неї по імені: cout <<  inBox;  Зверніть увагу, як працює cout. За допомогою оператора << , Ми можемо чергувати відображення тексту і відображення значення змінної. Так ми робили в рядках 17, 19, 20 і 27. В рядку 24 в змінну inBox записується сума змінних: amount_of_apples1 + amount_of_apples2.  Тобто, компілятор, спочатку складе значення цих змінних, а потім запише суму в inBox . І щоб переконатися, що все порахувано і записалося – знову виводимо значення inBox на екран – рядок 27. запускаємо програму (спочатку Ctrl + Shift + B, якщо немає помилок то далі Ctrl + F5 детальніше тут). Ось що ми побачимо:

Виділимо основне, що потрібно пам'ятати:

    • тип даних вказується перед ім'ям змінної і визначає які дані в ній будуть зберігатися (число, символ… ) і скільки пам'яті потрібно виділити для них.
    • ім'я змінній дає програміст, дотримуючись певних правил (перелічені вище).
    • щоб створити (оголосити) змінну треба вказати її тип і дати ім'я. Змінну бажано відразу ініціалізувати (призначити значення під час створення): тип ім'я = значення;
    • щоб оголосити константу необхідно використовувати ключове слово const і обов'язково  відразу присвоїти значення:   constтип ім'я = значення;
    • змінним можна привласнити не тільки певне значення, та й результат обчислення: amount_of_apples1 = amount_of_apples2 + 33;
    • оголошувати змінні бажано на початку main-функції. А при необхідності ще й залишити коментар, що вони будуть зберігати.
  • регістр букв імені має значення. Імена Apple і apple позначають різні змінні.

Хочете приділити більше часу навчанню – подивіться відео-уроки!

Про константи, описано в цьому відео:

Якщо у вас залишилися питання або щось не вийшло, напишіть в коментарях. Обов'язково розгляньте додаткові задачі і рішення по цій темі.

48 думки про "Типи даних, змінні та константи у С++

  1. Вітаю! Питання можливо ідіотський. Чому точку називають плаваючою? По суті вона стоїть мертво, як вартовий на варті біля мавзолею. А навколо неї цифри скачуть, як народ. То густо, то порожньо.

    1. Назва «плаваюча кома» походить від того, що кома в позиційному поданні числа (десяткова кома, или, для комп'ютерів, двоичная кома - далі по тексту просто кома) може бути поміщена де завгодно щодо цифр в рядку.

    1. швидше за все почав використовувати змінну до її оголошення. завжди спочатку оголошувати потрібно, потім використовувати. например

      INT х; // якщо цього не буде, то буде подібна помилка
      cout << x;

    1. Це навіть я знаю. Діапазон int залежить від архітектури процесора і може займати в пам'яті 2 или 4 байта. при 2 байтах діапазон буде від -32767 до 32767, а при 4 байтах від – 2147483647 до 2147483647. long немає від чого не залежить і завжди 4 байта.

  2. Сергій, теми пояснюєш чудово. Чи можу я тобі запитання поставити?

  3. Ha ваш email прислали Подарок # !138. Активація квитка => https://forms.yandex.ru/cloud/6547f88a693872299d4af567/?hs=5fb06293fc5a48b0ad2a534af5f89b64& говорить:

    s4wpo4

залишити коментар

Ваша електронна адреса не буде опублікований. Обов'язкові поля позначені * *