Классификация простых предопределенных типов данных 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Классификация простых предопределенных типов данных



Основные (предопределенные) типы данных часто называют арифметическими, поскольку их можно использовать в арифметических операциях. Для описания основных типов определены следующие ключевые слова:

· int (целый);

· float (вещественный);

· double (вещественный тип с двойной точностью);

· bool (логический);

· char (символьный).

Типы int, bool и char относят к группе целочисленных (целых) типов, а float и double - к группе вещественных типов - типов с плавающей точкой. Код, который формирует компилятор для обработки целых величин, отличается от кода для величин с плавающей точкой.

Существует четыре спецификатора типа, уточняющих внутреннее представление и диапазон значений стандартных типов:

· short (короткий);

· long (длинный);

· signed (знаковый);

· unsigned (без знаковый).

Спецификаторы добавляются слева к названию типа, например, так:

 

short int – короткое целое;

unsigned short int - короткое целое без знака.

 

Спецификаторы могут в произвольном порядке. Например: unsigned short int эквивалентно short unsigned int.

Допустимы не все сочетания спецификаторов и типов данных. Например: unsigned double является недопустимым сочетанием. Есть и другие варианты. Допустимые сочетания спецификаторов и типов данных будут приведены при рассмотрении конкретных типов данных.

Переменные, константы

В программах данные представлены константами и переменными.

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

Общее правил определения переменной можно сформулировать так:

 

[класс памяти] <тип данных> <идентификатор - имя> [инициализатор];

Понятие класс памяти определяет такие важные характеристики как время жизни и область видимости переменных. Эти понятия будет рассмотрено позднее, и в следующих примерах они пока не используется.

Примеры описания переменных:

 

int а; // переменная a типа int (целого типа)

double х; // переменная х типа double (вещественного типа с двойной точностью)

unsigned short int d; // переменная d – короткое целое без знака

 

Однотипные переменные можно определять в одной строке:

 

int i, j, k;

 

Описание переменной можно совместить с ее инициализацией:

 

int а = 1213; // переменная a инициализирована значением 1213

double х = 0.003; // переменная х инициализирована значением 0.003

unsigned short int d = 13; // переменная d инициализирована значением 13

 

Существует альтернативный способ инициализации переменных. Следующие примеры эквивалентны предыдущим:

 

int а (1213); // переменная a инициализирована значением 1213

double х (0.003); // переменная х инициализирована значением 0.003

unsigned short int d (13); // переменная d инициализирована значением 13

Определения неинициализированных и инициализированных однотипных переменных можно совмещать в одной строке:

int i = 0, j, k (10);

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

 

double y = a * x; /* переменная y инициализирована значением равным произведению значений переменных a и x */

 

При инициализации переменной присваивается конкретное значение. Однако, если переменная не инициализирована, это не означает, что она не имеет значения. На самом деле она хранит некоторое значение, которое находилось в этой области памяти до определения переменной. Это значение невозможно предсказать. Такие случайные данные обычно называют “мусором”.

Во время выполнения программы значение переменной можно изменять.

 

Константа – это величина, значение которой в процессе работы программы не изменяется.

Константы бывают двух видов: константы – литералы и именованные константы.

Константы – литералы представляют собой сами значения. Например:

 

123 -245 0.003 -12.45 ’R’ ”Это текст”

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

Именованные константы задаются с помощью ключевого слова const:

 

const double Pi = 3.14;

const int c1 = 1000, c2 = 2000;

const char point = ’.’;

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

 

Целочисленные типы данных

Размер типа int не определяется стандартом, а зависит от компьютера и компилятора. Для 16-разрядного процессора под величины этого типа отводится 2 байта – в этом случае диапазон возможных значений составляет -32 768... 32 767 (2 в степени 16 различных значений). Для 32-разрядного - 4 байта – диапазон значений -2 147 483 648... 2 147 483 647 (2 в степени 32 различных значений).

Спецификатор short перед именем типа указывает компилятору, что под число требуется отвести 2 байта независимо от разрядности процессора.

Спецификатор long означает, что целая величина будет занимать 4 байта. Таким образом, на 16-разрядном компьютере эквиваленты int и short int, а на 32-разрядном — int и long int.

При определении переменных вместо short int или long int можно использовать более короткие обозначения: short или long соответственно:

 

short a;

long b;

Использование типов int, short int (short), long int (long) подразумевает представление целых чисел со знаком, поэтому спецификатор signed можно не указывать.

Внутреннее представление величины целого типа — целое число в двоичном коде. Например, число +22 типа short int (short) представляются в памяти так:

 

Номера разрядов: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 186; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.143.168.172 (0.011 с.)