.: [предыдущая | оглавление | следующая] :.

2.4. Лексемы


2.4.1. Ключевые слова

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

asm auto break case
cdecl char class const
continue default delete do
double else enum extern
float for friend goto
huge if inline int
interrupt long near new
operator pascal private > protected
public register return short
signed sizeof static struct
switch template this typedef
union unsigned virtual void
volatile while    

2.4.2. Идентификаторы

Идентификатор - это последовательность букв или цифр, начинающаяся с буквы. В С++ для записи идентификатора разрешено использовать следующие символы:

a b c d e f g h i j k l m n o p q r s t u v x y z _
A B C D E F G H I J K L M N O P Q R S T U V X Y Z
1 2 3 4 5 6 7 8 9 0

Идентификаторы предназначены для именования классов, объектов, функций, переменных, типов данных, определенных пользователем, и т.д. Длина идентификатора может быть любой, однако учитываются первые 32 символа. При записи идентификатора в С++ строчные и прописные буквы различаются. Например, Sum, sum, suM являются различными идентификаторами.

2.4.3. Константы

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

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

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

Разрешены десятичные константы в интервале 0..4294967295. Константы, превышающие данный интервал, урезаются. Десятичные константы, в отличие от восьмеричных, не должны иметь начального нуля. Например:

int i=10; //десятичное 10
int i=010; //восьмеричное 10 (8 десятичное)
int i=0; // десятичный 0 = восьмеричный 0

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

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

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

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

int i=0x0A; //шестнадцатеричная 0а - десятичная 10

Таблица констант без символов U и L:
Десятичные константы:

от 0 до 32767

int

от 32768 до 2147483647

long

от 2147483647 до 4294967295

unsigned long

>4294967295

truncated


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

от 00 до 077777

int

от 0100000 до 01777777

unsigned int

от 02000000 до 017777777777

long

от 020000000000 до 037777777777

unsigned long

>037777777777


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

от 0x0000 до 0x7FFF

int

от 0x7FFF до 0xFFFF

unsigned int

от 0x100000 до 0x7FFFFFFF

long

от 0x800000000 до 0xFFFFFFFF

unsigned long

>0xFFFFFFFF


Суффиксы для беззнаковых и длинных целых чисел

       Суффикс L (или l) присоединяется к константе для того, чтобы указать ее тип long. Суффикс U (или u) для указания, что константа без знаковая. Возможно использование двух суффиксов одновременно (ul, lu, UL и т.д.).

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

       Символьная константа - это один или несколько символов, заключенные в одиночные кавычки. Например, ’A’, ’:’, ’\n’. В C++ одиночные символьные константы имеют тип char. Если в одиночные кавычки заключено несколько символов, то данная константа имеет тип int.

Использование обратной косой черты (\)

       Обратная косая черта используется для графического представления символов, которые не имеют обычного графического начертания. Например, константа \n обозначает символ перевода строки.
       Обратная косая черта также используется для записи символов ASCII-таблицы или управляющих символов в восьмеричном и шестнадцатеричном коде. Например, ’\03’ - Ctrl/C или ’\x3F’ для знака вопроса. Для представления символов можно после косой черты записать не более трех чисел в шестнадцатеричном или восьмеричном коде, при этом записанное число должно лежать в интервале [0,255]. Если записанное число будет больше чем 255, то компилятор выдаст ошибку. Если при записи числа будут использованы символы, не относящиеся к восьмеричным или шестнадцатеричным, то концом числа будет считаться предыдущий символ. Например, \339 - здесь цифра 9 не является восьмеричной, поэтому будет рассматриваться только \33.

\a

0x07

BEL

звонок

\b

0x08

BS

забой

\f

0x0C

FF

\n

0x0A

LF

перевод строки

\r

0x0D

CR

возврат каретки

\t

0x09

HT

табуляция(гориз.)

\v

0x0B

VT

табуляция(верт.)

\\

0x5C

\

обратная косая черта

\’

0x27

апостроф

\”

0x22

двойные кавычки

\?

0x3F

?

знак вопроса

\O

O - три восьмеричных числа

\xH

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

\XH

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


Константы с плавающей запятой

       Константа с плавающей запятой состоит из:
           - целого числа;
           - десятичной точки;
           - дробной части;
           - e или E со знаковой экспонентой;
           - суффикса типа: f или F или l или L.
       Например:

Константа

Значение

23.45e6

23.45*10^6


Типы данных констант с плавающей запятой

По умолчанию константа с плавающей запятой имеет тип double. Чтобы изменить тип, необходимо явно записать суффикс типа (f,F,l,L). Для указания константы типа float необходимо записать суффиксы f или F. Суффиксы L и l дают константе тип long double.

2.4.4. Перечисляемые константы (enum)

Перечисляемый тип предназначен для записи последовательности целых чисел в мнемоническом виде. Перечисляемый тип записывается с помощью ключевого слова enum, за которым стоит идентификатор перечисления, за ним, в фигурных через запятую скобках, список идентификаторов. Например:

enum  Color {Black, Blue, Green, Red };

Здесь Black, Blue, Green, Red - перечисляемые константы типа Color, которые могут присутствовать в выражениях С++. При этом по умолчанию будут присвоены следующие значения: Black=0, Blue=1, Green=2, Red=3.

Возможны также следующие варианты записи:

enum  Color {Black, Blue=4, Green, Red=Black+1}; // Black=0, Blue=4, Green=2, Red=5
.: [предыдущая | оглавление | следующая] :.