Книга: Язык Си - руководство для начинающих
ДАННЫЕ: ТИПЫ ДАННЫХ
Помимо различия между переменными и константами существует еще различие между типами данных. Некоторые данные в программе являются числами, некоторые - буквами, или, более обобщенно, символами. Компьютер должен иметь возможность идентифицировать и обрабатывать требуемым образом данные любого из этих типов. В языке Си предусмотрено использование нескольких основных типов данных. Если величина есть константа, то. компилятор обычно может распознать ее тип только по тому виду, в каком она присутствует в программе. Однако в случае переменной необходимо, чтобы ее тип был объявлен в операторе описания.
Дополнительные детали, относящиеся к типам данных, мы будем сообщать вам по мере изложения. Рассмотрим основные типы данных, имеющиеся в языке Си. В стандарте языка Си используется семь ключевых слов, указывающих на различные типы данных. Приведем список этих ключевых слов:
int long short unsigned char float double
Первые четыре ключевых слова используются для представления целых, т. е. целых чисел без десятичной дробной части. Они могут появляться в программе по отдельности или в некоторых сочетаниях, как, например, unsigned short. Следующее слово char предназначено для указания на буквы и некоторые другие символы, такие, как #, $, % и &. Последние два ключевых слова используются для представления чисел с десятичной точкой. Типы, обозначаемые этими ключевыми словами, можно разделить на два класса по принципу размещения в памяти машины. Первые пять ключевых слов определяют "целые" типы данных, в то время как последние два - типы данных с "плавающей точкой".
РИС. 3.1. Работа функций scanf( ) и printf( ).
В этом месте у некоторых читателей могут появиться недоумен-ные вопросы: "Целые типы данных? Типы данных с плавающей теневой?" Не пугайтесь. Если эти термины кажутся вас непривычными или непонятными, мы дадим краткое объяснение их смысла. Те, кто не знаком с терминами "биты", "байты" и "слова", могут, перед тем как двинуться дальше, прочесть приводимое ниже объяснение, отмеченное вертикальной голубой линией. Можно спросить: а нужно ли знать все эти детали? На самом деле необязательно. Пожалуй, не больше, чем вы должны знать о принципах работы двигателя внутреннего сгорания для того, чтобы управлять машиной. Но некоторое представление о том, что происходит в компьютере или двигателе, может иногда выручить вас. Кроме того, это может помочь вашему превращению в прекрасного "собеседника".
Термины "бит", "байт" и "слово" обычно используются для описания как элементов данных, которые обрабатывает компьютер, так и элементов памяти. Здесь мы займемся рассмотрением второго смысла этих терминов.
Наименьшая единица памяти называется бит. Она может принимать одно из ДВУХ значений: 0 или 1. (Иначе говоря, бит может находится в состояниях "включен" или "выключен"; эта фраза совершенно аналогична первому выска зыванию.) В один бит нельзя поместить достаточное количество информации но в машине содержится большое число битов; дело в том, что бит - основной "строительный блок", из которых создается память компьютера.
Байт - более удобный элемент памяти. В большинстве машин байт состоит из 8 бит. Поскольку каждый бит можно установить либо в состояние 0, либо в состояние 1, всего в байтовом формате можно представить 256 (два в восьмой степени) различных комбинаций из нулей и единиц. Такие комбинации можно использовать, например, для представления целых чисел в диапазоне от 0 до 255 или для кодирования набора символов. Это можно получить при помощи "двоичного кода", в котором для представления чисел используются только нули и единицы. Обсуждение структуры двоичного кода мы поместили в приложение (вы вполне можете его не читать, если не захотите).
При современном подходе к проектированию компьютеров слово является самым естественным элементом памяти. В 8-разрядных микрокомпьютерах, таких, как ЭВМ фирмы Sinklair иди первые модели машин фирмы Apple, слово занимает как раз 1 байт. Многие более новые персональные вычислительные системы, такие, как IBM PC и Lisa фирмы Apple, являются 16-разрядными. Это означает, что размер слова у них 16 бит, т. е. 2 байта. Большие компьютеры могут иметь 32-, 64-разрядные слова или даже более длинные. Совершенно очевидно, что чем длиннее слово, тем больше информации можно туда поместить. Обычно в компьютерах предусмотрена возможность объединять вместе два или более слов для того, чтобы помещать в память элементы данных большей длины, но этот процесс сильно замедляет работу компьютера.
В наших примерах мы предполагаем, что длина слова равна 16 бит, если мы не оговорили противного.
Для человека различие между целым числом и числом с плавающей точкой выражается в способе записи. Для компьютера различие выражается в способе занесения этих чисел в память. Давайте рассмотрим по очереди каждый из двух классов чисел.
- 3. Данные, язык Си и вы
- Типы данных для работы с датой и временем
- Большие целые типы
- Типы страниц и их использование
- 1.2.3. Константы, переменные и типы
- 4. Лекция: Типы данных
- 9.1. Классы и прототипы
- Достоверные данные
- 4. Кортежи. Типы кортежей
- 5. Отношения. Типы отношений
- 1. Базовые типы данных
- 1. Различные типы и кратности связей