Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Бочков C.. Язык программирования Си для персонального компьютера - royallib.ru.doc
Скачиваний:
40
Добавлен:
11.03.2016
Размер:
901.98 Кб
Скачать

Операции

Операции — это комбинации символов, специфицирующие действия по преобразованию значений. Компилятор языка Си интерпретирует каждую из этих комбинаций как самостоятельную лексему.

В таблице 1.3. представлен список операций. Операции должны использоваться точно так, как они представлены в таблице,' без пробельных символов между символами в тех операциях, которые представлены несколькими символами.

Операция sizeof не включена в эту таблицу, поскольку задается ключевым словом, а не символом.

Таблица 1.3.

Примечание. Условная операция ?: является не двухсимвольной, а тернарной (трехоперандной) операцией. Она имеет следующий формат: <операнд1> ? <операнд2> : <операнд3>

Константы

Константа — это число, символ или строка символов. Константы используются в программе для задания постоянных величин. В языке Си различают четыре типа констант: целые, с плавающей точкой, символьные константы и символьные строки.

Целые константы

Целая константа — это десятичное, восьмеричное или шестнадцатеричное число, которое представляет целое значение. Десятичная константа имеет следующий формат представления:

<цифры>

<цифры> — последовательность из одной или более десятичных цифр от 0 до 9.

Восьмеричная константа имеет следующий формат представления:

0<в-цифры>

<в-цифры>— это одна или более восьмеричных цифр от 0 до 7. Запись нуля впереди обязательна.

Шестнадцатеричная константа имеет следующий формат представления:

0х<ш-цифры > или 0Х<ш-цифры>

<ш-цифры > одна или более шестнадцатеричных цифр. Шестнадцатеричная цифра может быть цифрой от 0 до 9 или буквой (большой или малой) от А до F. Допускается "смесь" больших и малых букв. Запись нуля впереди и следующего за ним символа х или Х обязательна.

Между цифрами целой константы пробельные символы недопустимы. В таблице 1.4 приведены примеры целых констант. Константы, записанные в одной строке таблицы, используются для представления одного и того же значения.

Таблица 1.4.

Целые константы всегда специфицируют положительные значения. Если требуется отрицательное значение, то необходимо сформировать константное выражение из знака минус и следующей за ним константы. Знак минус рассматривается при этом как арифметическая операция.

Каждая целая константа имеет тип, определяющий ее представление в памяти (описание типов приведено в разделе 3.1 "Базовые типы данных"). Десятичные константы могут иметь тип int (целый тип) или long (длинный целый тип).

Восьмеричные и шестнадцатеричные константы в зависимости от размера могут иметь тип int , unsigned int , long или unsigned long . Если константа может быть представлена типом int , то компилятор языка Си присваивает ей тип int . Если ее значение больше, чем максимальное положительное значение, которое может быть представлено типом int , но может быть представлено тем же числом битов, что и int , ей присваивается тип unsigned int . Наконец, константа, значение которой больше, чем максимальное значение, представляемое типом unsigned int , задается типом long или, если размер этого типа также оказывается недостаточен, типом unsigned long . В таблице 1.5 показаны диапазоны значений констант различных типов для компьютера, на котором тип int имеет длину 16 битов и тип long имеет длину 32 бита.

Таблица1.5.

Из рассмотренных правил следует, что при преобразовании восьмеричных и шестнадцатеричных констант к более длинным типам не производится расширения знака (поскольку старший, знаковый бит всегда равен нулю).

Программист может явно определить для любой целой константы тип long , записав букву "l " или "L " в конец константы. Это позволяет расширить нижнюю границу диапазона значений констант любого типа до нуля. Например, константа со значением 10 будет иметь тип long только в том случае, если она будет записана с суффиксом L , т. е. 10L. В таблице 1.6 приведены примеры длинных целых констант.

Таблица 1.6.

В СП ТС реализован также суффикс U (или u ), означающий, что константа имеет тип unsigned . Можно использовать одновременно оба суффикса — L и U — для одной и той же константы. Кроме того, в СП ТС константе присваивается тип unsigned long , если ее значение превышает 65535 , независимо от наличия или отсутствия суффикса U (в СП MSC в этом случае константе был бы присвоен тип long ).