КОМПЬЮТЕРНАЯ ЛИТЕРАТУРА

Turbo C++ Version 1.0 Programmer’s Guide

Комментировать

LIB.com.ua [электронная библиотека]: : TURBO C++ Version 1.0 Programmer’s Guide

— 14 —
восьмеричная-константа
шестнадцатиричная-константа

десятичная-константа:
цифра-кроме-нуля
десятичная-константа цифра

восьмеричная-константа:
0
восьмеричная-константа восьмеричная-цифра

шестнадцатиричная-константа:
0 x шестнадцатиричная-цифра
0 X шестнадцатиричная-цифра
шестнадцатиричная-константа шестнадцатиричная-цифра

цифра-кроме-нуля: одно из
1 2 3 4 5 6 7 8 9

восьмеричная-цифра: одно из
0 1 2 3 4 5 6 7

шестнадцатиричная-цифра: одно из
0 1 2 3 4 5 6 7 8 9
a b c d e f
A B C D E F

суффикс-целочисленной-константы:
суффикс-константы-без-знака
суффикс-длинной-константы

суффикс-константы-без-знака: одно из
u U

суффикс-длинной-константы: одно из
l L

перечислимая-константа:
идентификатор

символьная-константа:
последовательность-символов-c

последовательность-символов-c:
символ-c
последовательность-символов-c символ-c

символ-c:
любой символ из исходного набора символов, за
исключением символов одинарной кавычки (‘), обратной наклон-
ной черты (\) или управляющей-последовательности символа но-
вой строки.

управляющая-последовательность: одно из
\* \’ \? \\
\a \b\f \n
\o \oo\ooo \r
\t \v\Xh… \xh…
————————————————————

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

Целочисленные константы могут быть десятичными (основа-
ние системы счисления 10), восьмеричными (основание 8)или
шестнадцатиричными (основание 16). При отсутствии переопре-
деляющих суффиксов типданныхцелочисленной константы выводит-

— 15 —
ся из ее значения, как показано в таблице 1.6. Отметим, что
правила для десятичных и не-десятичных констант различны.

Десятичные константы

Допустимыми являются десятичные константы величиной от
0 до 4,294,967,295. Константы, выходящие за указанные преде-
лы, вызывают ошибку. Десятичныеконстанты не могут иметь ве-
дущие нули. Целочисленнаяконстанта с ведущим нулем рассмат-
риваетсякак восьмеричная. Таким образом,

int i = 10; /* десятичное 10 */
int i = 010; /* десятичное 8 */
int i = 0; /* десятичное 0 = восьмеричному 0! */

Отрицательные константы- это просто константы без
знака, к которым применена унарная операция минус.

Восьмеричные константы

Все константыс ведущим нулем рассматриваются как вось-
меричные.Если восьмеричная константа содержит недопустимые
цифры 8 или 9, выдается сообщение об ошибке. Ошибка будет
также выдаваться при превышении восьмеричной константой зна-
чения 037777777777.

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

Все константы, начинающиеся с 0x (или 0X) рассматрива-
ются как шестнадцатиричные. Шестнадцатиричные константы,пре-
вышающие 0xFFFFFFFF, приводят к ошибке.

Суффиксы длинных констант и констант без знака

Если законстантой следует суффикс L (или l), то такая
константа будет представлена как длинная (типа long).Анало-
гичным образом, суффикс U (или u) делает константу констан-
той без знака (unsigned). Если численное значение константы
превышает десятичное 65,535, независимо от используемого ос-
нованиясистемы счисления, то такая константа будет иметь тип
unsigned long. Суффиксы можно указывать для одной и той же
константы в произвольном порядке и набирать в любом регист-
ре: ul, lu, UL и т.д.

Тип данных константы при отсутствии каких-либо суффик-
сов вообще (U, u, L или l) берется из следующей таблицы,пер-
выйже, который удовлетворяет требованиям величины этой
константы:

————————————————————
десятичная int, long int, unsigned long int
восьмеричная int, unsigned int, long int, unsigned long
int
шестнадцатиричная int, unsigned int, long int, unsigned
long int
————————————————————

Если константа имеет суффикс U или u, то ее тип данных
будет первым из типов unsigned int, insigned long int, кото-
рый удовлетворит требованиям ее величины.

Если константа имеет суффикс L или l, то ее тип данных
будет первым из типов long int, unsigned long int, который
удовлетворит требованиям ее величины.

Если константа имеет оба суффикса u и l (ul, lu, Ul,
lU,uL, Lu, LU или UL), то она будет иметь тип данных

— 16 —
unsigned long int.

В таблице 1.6 сведены представления целочисленных конс-
тант для всех трех систем счисления. Указанные типы данных
предполагают отсутствие переопределяющих суффиксов L или U.

Целочисленные константы Turbo C++ без L или U Таблица 1.6
————————————————————
Десятичные константы

0 до 32,767 int
32,768 до 2,147,483,647 long
2,147,483,648 до 4,294,967,295 unsigned long

> 4294967295 Генерируется ошибка

Восьмеричные константы

00 до 077777 int
0100000 до 0177777 unsigned int
02000000 до 017777777777 long
020000000000 до 037777777777 unsigned long

> 037777777777 Генерируется ошибка

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

0x0000 до 0x7FFF int
0x8000 до 0xFFFF unsigned int
0x10000 до 0x7FFFFFFF long
0x80000000 до 0xFFFFFFFF unsigned long

> 0xFFFFFFFF Генерируется ошибка
————————————————————

Символьные константы

Символьная константа — этоодин или более символов, зак-
люченных в одинарные кавычки, например ‘F’, ‘=’, ‘\n’. В C
константы изодногосимвола имеюттип Int и имеют внутреннее
представление16 бит, в то времякак старший байт слова запол-
няется нулем или знаком. В C++ константа из одного символа
имеет тип char. Многосимвольные константы как в C, так и в C
++, имеют тип данных Int.

Управляющие последовательности

Для введения управляющих последовательностей,позволяю-
щих получить визуальное представление некоторых не имеющих
графическогоаналога символов, используется символ обратной
наклонной черты (\). Например, в качестве одного символа но-
вой строки можно записать константу \n.

Обратнаянаклонная черта используетсяс восьмеричными или
шестнадцатиричными числами для представления ASCII-символами
управляющего кода, соответствующемуэтому значению; например,
‘\03’ вместо Ctrl-C или ‘\x3F’ вместо вопросительного знака.
В управляющей последовательности может содержаться строка
длиной до трех восьмеричных илилюбое число шестнадцатиричных
цифр,при условии, чтоданноезначение лежит в допустимом для

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *