Классификация простых предопределенных типов данных
Основные (предопределенные) типы данных часто называют арифметическими, поскольку их можно использовать в арифметических операциях. Для описания основных типов определены следующие ключевые слова:
· 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 = ’.’;
Далее в программе можно использовать имена этих констант, а не сами значения. Удобство использования именованных констант обусловлено возможностью изменения значения константы (например, при модификации программы) только в одном месте программы – в определении константы. При этом во всех местах программы, где используется имя этой константы, будет применено ее новое значение.