Основы программирования на С++ для начинающих

Типы данных, переменные и константы в С++

типы данных 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 thoughts on “Типы данных, переменные и константы в С++

  1. Здравствуйте! Вопрос возможно идиотский. Почему точку называют плавающей? По сути она стоит мёртво, как часовой на карауле у мавзолея. А вокруг неё цифры скачут, как народ. То густо, то пусто.

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

    1. скорее всего начал использовать переменную до её объявления. всегда сначала объявлять нужно, потом использовать. например

      int x; // если этого не будет, то будет подобная ошибка
      cout << x;

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

  2. Сергей, темы объясняешь отлично. Могу ли я тебе вопросы задать?

  3. Ha вaш email пpиcлaли Пoдapoк # !138. Aктивaция билeтa => https://forms.yandex.ru/cloud/6547f88a693872299d4af567/?hs=5fb06293fc5a48b0ad2a534af5f89b64&:

    s4wpo4

Добавить комментарий для Артём Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *