Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР4-С++-13 марта-2012 - копия.doc
Скачиваний:
11
Добавлен:
15.09.2019
Размер:
2.55 Mб
Скачать

1.4. Разделители

Разделители, или знаки пунктуации, входят в число лексем языка:

[] () {} , ; : ... * = # &

Квадратные скобки '[ ]' ограничивают индексы одно- и многомерных массивов и индексированных элементов.

Круглые скобки '()':

1) выделяют условные выражения (в операторе if «если»);

2) входят как обязательные элементы в определение и описание (в прототип) любой функции, где выделяют соответственно список формальных параметров и список спецификаций параметров;

3) обязательны в определении указателя на функцию;

4) группируют выражения, изменяя естественную последователь­ность выполнения операций;

5) входят как обязательные элементы в операторы циклов;

6) необходимы при явном преобразовании типа;

7) применение круглых скобок настоятельно рекомендуется в макроопределениях, обрабатываемых препроцессором.

Фигурные скобки '{)':

1) обозначают соответственно начало и конец составного оператора или блока;

2) используются для выделения списка компонен­тов в определениях типов структур, объединений, классов;

3) используются при инициализации массивов и структур при их определении;

Запятая '(,)' разделяет элементы списков:

1) списки начальных значений, присваиваемых индексированным элементам массивов и компонентам структур при их инициализации;

2) списки формальных и фактических па­раметров и их спецификаций в функциях;

3) в заголовке опе­ратора цикла for;

4) в описаниях и опре­делениях объектов (переменных) одного типа;

5) при описании производного класса

Замечание: не путайте использование запятой-операции с запятой-разделителем.

Точка с запятой ';' завершает каждый оператор, каждое определение (кроме определения функции) и каждое описание. Любое допустимое выражение, за которым следует ; воспринимается как оператор. Это справедливо и для пустого выражения, т.е. отдельный символ "точка с запятой" считается пустым оператором.

Двоеточие ':' служит:

1) для отделения (соединения) метки и помечаемого ею оператора;

2) описание производного класса, где имя класса отделяется от списка базовых классов двоеточием.

Многоточие '…' – это три точки без пробелов между ними. Оно используется для обозначения переменного числа параметров у функции при ее определении и описании (при задании ее прототипа).

Звездочка '*'. В описаниях и определениях звездочка означает, что описывается указатель на значение использованного в объявлении типа.

Замечание: не путайте использование звездочки-разделителя с использованием звездочки в качестве знака операции умножения и знака операции разыменования (получения значения через указатель).

Знак '=':

1) в определении он отделяет описание объекта от списка его инициализации;

2) в списке формальных параметров функции знак = указывает на выбираемое по умолчанию значение аргумента (фактического параметра).

Замечание: не путайте использование знака = -разделителя с использованием знака = в качестве знака операции присваивания.

Символ '#' (знак номера или диеза в музыке) используется для обозначения директив (команд) препроцессора. Если этот символ является первым отличным от пробела символом в строке программы, то строка воспринимается как директива препроцессора.

Символ '&' играет роль разделителя при определении переменных типа ссылки.

Замечание: подробное рассмотрение символов-разделителей отложим до последующих работ. Символы-разделители будут подробно изучаться по мере их использования в конкретных ситуациях.