1.2. Скалярные типы данных и константы, строковые константы

В языке С определены следующие арифметические типы данных:

Тип данных

Размер

Диапазон значений

char

1 байт

от -128 до +127

unsigned char

1 байт

от 0 до 255

int

2 байта

от -327б8 до +327б7

unsigned

2 байта

от 0 до б5535

long

4 байта

от-2147483б48 до +2147483б47

float

4 байта

от + 3.4Е-38 до +3.4Е+38 (7 верных цифр)

double

8 байтов

от +1.7Е-308 до +1.7Е+308 (1б верных цифр)

Все арифметические типы данных имеют аналогии в языке PASCAL: char=ShortInt, unsigned char=Byte, int=Integer, unsigned=Word, long=LongInt, float=Single, double=Double. Целые константы можно записывать в десятичном, восьмеричном и шестнадцатеричном виде, например, 255 или 0377, или 0XFF. Константа, начинающаяся цифрой 0, считается восьмеричной, а константа, начи­нающаяся символами 0X или 0x, - шестнадцатеричной. По умолчанию десятич­ные целые константы имеют тип int, константы типов unsigned и long образуют­ся добавлением справа буквы U (u) или L (l) : -1L, 65535U .

Вещественные константы записываются в виде с фиксированной точкой: -2. , 1.3 , .45, или с плавающей точкой: -2e-2, 1.33e0 - и по умолчанию имеют тип double. Константы типа float образуются добавлением справа буквы F (f) : -2.f,

1.22e0f .

Символьные константы (они являются в языке C целыми числами и имеют тип int) записываются в одном из четырех видов:

- ' символ ' ( например, )

- ' \8-ричная константа ' ( например, '\041' )

- ' \x одна или две 1б-ричные цифры '     ( например, '\x21' )

- специальные символы '\a' - звук, '\b' - backspace, '\t' - горизонтальная табу­ляция, '\n' - новая строка, '\v' - вертикальная табуляция, '\f - новая страница, V - возврат каретки,     - символ \, 'V- апостроф,      - кавычка, '\%' - символ %.

Строковые константы задаются в виде "символы", в т.ч. могут содержать и специальные символы, например : "abcdef..." или "\n\a\n\t\\\b" . Символы \,'," и в ряде случаев % являются специальными управляющими символами в языке C и не должны входить в строки непосредственно, но лишь в виде составного симво­ла. Компилятор языка C всегда соединяет строковые константы, не разделенные в тексте программы ничем, кроме пробелов.