Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Подбельский Фомин_Программирование на языке СИ_...doc
Скачиваний:
356
Добавлен:
10.08.2019
Размер:
53.81 Mб
Скачать

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

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

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

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

Квадратные скобки.

Квадратные скобки. Для ограничения индексов одно- и многомерных массивов, а также при записи индексированных элементов используются квадратные скобки [ ]. Примеры:

int A[5]; A - одномерный массив из пяти элементов;

int х, е[3][2]; е -двумерный массив (матрица) размером 3x2.

Выражение с индексированными элементами:

е[0][0] = х= А[2] = 4;

означает, что начальному элементу массива е, переменной х и третьему элементу массива А присваивается значение 4. Так как индексы в массивах всегда начинаются с 0, то элемент А [2] соответствует третьему элементу массива.

Круглые скобки.

Круглые скобки. Назначение круглых скобок ( ):

1) выделяют выражения-условия (в операторе "если"):

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

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

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

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

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

brig получает значение 12L, преобразованное к типу float;

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

Это позволяет использовать в качестве параметров макровызовов арифметические выражения любой сложности и не сталкиваться с нарушениями приоритетов операций.

Фигурные скобки. Для обозначения соответственно начала и конца составного оператора или блока используют фигурные скобки { }. Пример использования составного оператора в условном операторе:

}

Пример блока - тело любой функции:

Обратите внимание на отсутствие точки с запятой после закрывающейся скобки '}', обозначающей конец составного оператора или блока.

Фигурные скобки используются для выделения списка компонентов в определениях структурных и объединяющих типов:

Обратите внимание на необходимость точки с запятой после определения каждого типа.

Фигурные скобки используются при инициализации массивов и структур при их определении:

В примере mixture - имя структурного типа с тремя компонентами разных типов, stock - имя конкретной структуры типа mixture. Компоненты ii, dd, cc структуры stock получают значения при инициализации из списка в фигурных скобках. (Подробно о структурах см. в гл. 6.)