Шрифт:
Целые числа без знака
Данные этих типов принимают только положительные значения или нуль. Это расширяет диапазон возможных положительных значений. При указании типа используйте ключевое слово unsigned: unsigned int, unsigned long, unsigned short. Просто unsigned соответствует написанию unsigned int.
Символы
Эти знаки соответствуют типографским символам, таким, как А, &, + и т. п. Обычно под каждый символ отводится 1 байт памяти.
Char: ключевое слово, используемое для указания данных этого типа.
Данные этих типов могут принимать положительные и отрицательные значения.
float: основной тип данных с плавающей точкой в системе;
1. Выбрать требуемый тип данных.
2. Выбрать имя для переменной.
3. Для оператора описания использовать нижеследующий формат:
спецификация-типа имя-переменной;
Спецификация-типа формируется из одного или более ключевых слов.
Вот несколько примеров:
int erest;
unsigned short cash;
4. Вы можете описать в одном операторе несколько переменных одного типа, разделяя их имена запятыми:
char ch, unit, ans;
5. В операторе описания вы имеете возможность инициализировать переменную:
float mass = 6.0E24;
Другие типы
Этот раздел завершает рассмотрение основных типов данных. Некоторым читателям их число может показаться слишком большим. Остальные могут полагать, что описанных типов недостаточно; например, им захочется иметь булев тип или строковый тип данных. В языке Си они отсутствуют, но, несмотря на это, он вполне подходит для написания программ, связанных с обработкой логических данных или строк. Самые простые возможности работы со строками мы рассмотрим в следующей главе.
В языке Си имеются и другие типы данных, построенные с использованием основных типов. Они включают в себя массивы, указатели, структуры и объединения. Хотя эти типы являются пред метом рассмотрения последующих глав, мы, не подозревая об этом, уже применили указатели в примерах, приведенных в данной главе. [Указатели используются функцией scanf; признаком этого в данном случае служит префикс &.]
Приведем таблицу размеров данных для некоторых распространенных вычислительных систем.
Таблица 3.1. Представление типов данных в некоторых известных вычислительных системах
| Размер слова | DEC PDP-11 16 бит | DEC VAX 32 бита | Interdata 8/3 32 бита | IBM PC (Lattice C) 16 бит |
|---|---|---|---|---|
| char | 8 | 8 | 8 | 8 |
| int | 16 | 32 | 32 | 16 |
| short | 16 | 16 | 16 | 16 |
| long | 32 | 32 | 32 | 32 |
| float | 32 | 32 | 32 | 32 |
| double | 64 | 64 | 64 | 64 |
| Диапазон порядка | ±38 | ±38 | ±76 | – 307 + 308 (double) |
Как обстоит дело на вашей машине? Попробуйте выполнить нижеследующую программу:
main
{
printf(" Данные типа int занимают %d байта. \n", sizeof (int));
printf(" Данные типа char занимают %d байт.\n", sizeof (char));
printf(" Данные типа long занимают %d байта.\n", sizeof (long));
printf(" Данные типа double занимают %d байт.\n", sizeof (double));
}
В языке Си имеется встроенная операция sizeof, которая позволяет определить размер объектов в байтах.
Мы определили размеры данных только четырех типов, но вы легко можете модифицировать эту программу и найти размер объекта любого другого интересующего вас типа.
ИСПОЛЬЗОВАНИЕ ТИПОВ ДАННЫХ
Во время разработки программы вам необходимо составить список требуемых переменных и указать при этом, какого они должны быть типа. Скорее всего вы будете использовать тип int или, возможно, float для определения чисел и тип char для символов. Описывайте эти данные в самом начале тела функции, в которой они используются. Имена переменных выбирайте таким образом, чтобы они указывали на их смысл. При инициализации переменной следите за тем, чтобы тип константы соответствовал типу переменной.