Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GRIGOREV.DOC
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
608.26 Кб
Скачать

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

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

Тип данных

Размер

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

char

1 байт

от -128 до +127

unsigned char

1 байт

от 0 до 255

int

2 байта

от -32768 до +32767

unsigned

2 байта

от 0 до 65535

long

4 байта

от -2147483648 до +2147483647

float

4 байта

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

double

8 байтов

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

Все арифметические типы данных имеют аналогии в языке 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) или 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 одна или две 16-ричные цифры ' ( например, '\x21' )

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

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

1.3. Описание скалярных переменных. Директива #define

Переменные описываются и инициализируются в виде:

тип имя [ = выражение ] , имя [ = выражение] , ... ;

Например:

int a,b='\020',c=-11; long d=-1L; double e,f=.003,g=1.2E40;

Каждая переменная, использованная в программе, должна быть явно описана. Инициализация переменных не является обязательной. Все переменные должны быть описаны раньше, чем будут использоваться. Язык С требует, чтобы все описания локальных переменных внутри блока помещались перед первым исполняемым оператором. В С++ можно описывать переменные в любой точке блока перед их использованием.

Простейшая форма директивы препроцессора #define используется для определения символических констант:

#define имя строка_замещения

Строка замещения, вообще говоря, есть любая последовательность символов. Препроцессор до начала компиляции замещает каждое вхождение имени константы в тексте программы на строку замещения, но только не внутри "". Строка замещения может быть, например, числовой константой: #define PI 3.141592653589793 , тогда идентификатор PI можно рассматривать как именованную константу в языке PASCAL (хотя это и не тождественные вещи). У пользователей языка С существует традиция записывать имена символических констант заглавными буквами, хотя это никак не регламентируется в самом языке.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]