Основы алгоритмизации и программирования Лекция 7
1. Концепция типов данных
1.1. Понятие данных и типов
Данные – это обобщенное понятие, используемое в программировании для обозначения разнообразных информационных единиц, с которыми оперирует компьютер. На физическом уровне любые данные в памяти компьютера представляют собой последовательности двоичных цифр 0 и 1. Использование языков программирования высокого уровня позволило абстрагироваться от деталей и особенностей представления информации главным образом за счет введения концепции типов данных.
Любой тип данных определяет:
1) множество допустимых значений;
2) набор допустимых операций;
3) формат представления данных в памяти компьютера.
В языке С++ каждой переменной, встречаемой в программе, должен быть определен один и только один тип. Программист имеет возможность либо воспользоваться предописанными (заранее определенными в языке) типами, либо создавать свои собственные (пользовательские) типы.
Типы данных в языке С++ можно представить следующим образом:
рис.1 Схема типов данных в языке Pascal
1.2. Простые типы данных
Простые типы в языке С++ подразделяются на ординальные и вещественные типы. Ординальный (порядковый) тип либо определяется программистом (в этом случае это будет перечислимый тип), либо обозначается идентификатором одного из предописанных типов (например, логический тип – bool, целочисленный – int, символьный – char).
Схему для простых типов данных можно изобразить так:
рис.2. Схема простых типов данных
Ординальный тип данных описывает конечное и упорядоченное множество значений. Эти значения соответственно сопоставляются с последовательностью порядковых номеров от 0 до 255. Исключение сделано для целочисленных чисел, которые отображаются сами на себя.
Для каждого ординального типа определяется минимальное и максимальное значение, при этом, для всех значений, кроме минимального, имеется предыдущее, а для всех, кроме максимального, существует следующее.
В языке С++ к простым собственным типам относятся: bool, double, float, int, char. Каждый из этих типов имеет определенный набор значений и представления, привязанные к низкоуровневой архитектуре машины, на которой работает компилятор.
Простые типы могут модифицироваться с помощью ключевых слов short, long, signed и unsigned, и таким образом могут формироваться дополнительные простые типы.
Таблица простых типов
bool (1 байт) |
|
|
char (1 байт) |
signed char (1) |
unsigned char (1) |
short (2) |
int (4) |
long (4) |
unsigned short (2) |
unsigned (4) unsigned int |
unsigned long (4) |
float (4) |
double (8) |
long double (8) |
ЗАМЕЧАНИЕ. В языке С++ предусмотрен оператор sizeof, с помощью которого можно определить количество байт, необходимое для хранения объекта или типа. Например, можно вывести на экран количество байт для типа long double с помощью инструкции cout << sizeof(long double);