double arrow

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

Константы

Операции

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

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

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

-------------------------------------------------

Операция Наименование -------------------------------------------------

! Логическое НЕ

~ Побитовое дополнение

+ Сложение

- Вычитание, арифмети-

ческое отрицание

* Умножение

/ Деление

% Остаток

<< Сдвиг влево

>> Сдвиг вправо

< Меньше

<= Меньше или равно

> Больше

>= Больше или равно

== Равно

!= Не равно

& Побитовое И, адрес от

| Побитовое включающее ИЛИ

^ Побитовое исключающее ИЛИ

&& Логическое И

|| Логическое ИЛИ

' Последовательное выполне-

ние (запятая)

?: Операция условного вы-

ражения

++ Инкремент

-- Декремент

= Простое присваивание

+= Сложение с присваиванием

-= Вычитание с присваиванием

*= Умножение с присваиванием

/= Деление с присваиванием

%= Остаток с присваиванием

>>= Сдвиг вправо с присваива-

иванием

<<= Сдвиг влево с присваива-

нием

&= Побитовое И с присваива-

нием

|= Побитовое включающее ИЛИ

с присваиванием

^= Побитовое исключающее ИЛИ

с присваиванием

-------------------------------------------------------

Табл. 2.3. Операции

Замечание:

Операция условного выражения ?: -это тернарная, а не двух­символьная операция. Формат условного выражения следующий: <expression>?<expression>:<expression>

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

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

<digits>,

где <digits> - это одна или более десятичных цифр от 0 до 9.

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

0<odigits>,

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

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

0x<hdigits>

0X<hdigits>,

где <hdigits> одна или более шестнадцатеричных цифр. Шестнадцатеричная цифра может быть цифрой от 0 до 9 или

буквой (большой или малой) от A до F. В представлении константы допускается "смесь" больших и малых букв. Запись ведущего нуля и следующего за ним символа x или X необходима.

Пробельные символы не допускаются между цифрами целой конс­танты. В Табл. 2.4 иллюстрируются примеры целых констант.

-----------------------------------------------------------

Десятичные Восьмеричные Шестнадцатеричные

константы константы константы

-----------------------------------------------------------

10 012 0xa или 0xA

132 0204 0x84

32179 076663 0x7dB3 или 0x7DB3

-----------------------------------------------------------

Табл. 2.4 Примеры констант

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

константы. Знак минус рассматривается как арифметическая опера­ция.

Каждая целая константа специфицируется типом, определяющим ее представление в памяти и область значений. Десятичные констан­ты могут быть типа int или long.

Восьмеричные и шестнадцатеричные константы в зависимости от размера могут быть типа int, unsigned int, long или unsigned long. Если константа может быть представлена как int, она специ­фицируется типом int. Если ее величина больше, чем максимальная положительная величина, которая может быть представлена типом int, но меньше величины, которая представляется в том же самом числе бит как и int, она задается типом unsigned int. Наконец, константа, величина которой больше чем максимальная величина, представляемая типом unsigned int, задется типом long или unsigned long, если это необходимо. В Табл. 2.5 показаны диапазо-

ны величин восьмеричных и шестнадцатеричных констант, представи­мых соответствующими типами на машине, где тип int имеет длину 16 бит.

-----------------------------------------------------------

Шестнадцатеричные Восьмеричные Тип

диапазоны диапазоны

-----------------------------------------------------------

0x0-0x7FFF 0-077777 int

0x8000-0xFFFF 0100000-0177777 unsigned int

0x10000-0x7FFFFFFF 0200000-017777777777 long

0x80000000-0xFFFFFFFF 020000000000-030000000000 unsigned long

-----------------------------------------------------------

Табл. 2.5 Диапазоны величин восьмеричных и

шестнадцатеричных констант

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

Программист может определить для любой целой константы тип

long, приписав букву "l" или "L" в конец константы. В Табл. 2.6 показаны примеры целых констант.

------------------------------------------------------------

Десятичные Восьмеричные Шестнадцатеричные

константы константы константы

------------------------------------------------------------

10L 012L 0xaL или 0xAL

79l 0115l 0x4fl или 0x4Fl

------------------------------------------------------------

Табл. 2.6 Примеры целых констант типа long


Сейчас читают про: