Главная страница
Навигация по странице:

  • 26.3. Операторы составной-оператор

  • 26.4. Внешние определения Программа

  • 27. Присваивание структуры

  • 28. Тип перечисления

  • 29. Таблица изображений непечатных символов языка “C”.

  • Значение Изображение ** В тексте

  • Язык С (Керниган, Ричи). Язык сиБ. В. Керниган, Д. М. Ричи


    Скачать 1.46 Mb.
    НазваниеЯзык сиБ. В. Керниган, Д. М. Ричи
    АнкорЯзык С (Керниган, Ричи).pdf
    Дата23.04.2018
    Размер1.46 Mb.
    Формат файлаpdf
    Имя файлаЯзык С (Керниган, Ричи).pdf
    ТипДокументы
    #18413
    страница23 из 23
    1   ...   15   16   17   18   19   20   21   22   23
    26.2. Описания
    Описание:
    спецификаторы-описания список-инициализируемых-описателей необ;
    ————————————————————————————
    спецификаторы-описания:
    спецификатор-типа спецификаторы-описания необ спецификатор-класса-памяти спецификаторы-описания необ спецификатор-класса-памяти:
    AUTO
    STATIC
    EXTERN
    REGISTER
    TYPEDEF спецификатор-типа:
    CHAR
    SHORT
    INT
    LONG
    UNSIGNED
    FLOAT
    DOUBLE спецификатор-структуры-или-объединения определяющее- тип-имя список-инициализируемых-описателей:
    инициализируемый-описатель инициализируемый-описатель,
    список-инициализируемых-описателей инициализируемый-описатель

    «Язык С» Б.В. Керниган, Д.М. Ричи
    227
    описатель-инициализатор необ описатель:
    идентификатор
    (описатель)
    * описатель описатель ()
    описатель [константное выражение необ]
    спецификатор-структуры-или-объединения:
    STRUCT список-описателей-структуры
    STRUCT идентификатор \(список-описаний-структуры\)
    STRUCT идентификатор
    UNION \(список-описаний-структуры\)
    UNION идентификатор \(список-описаний-структуры\)
    UNION идентификатор список-описаний-структцры:
    описание-структуры описание-структуры список-описаний-структуры описание структуры:
    спецификатор-типа список-описателей-структуры: список-описателей- структуры описатель-структуры описатель-структуры,список-описателей-структуры описатель-структуры:
    описатель описатель: константное выражение
    :константное-выражение инициализатор:
    = выражение
    = \(список-инициализатора\)
    = \(список-инициализатора\)
    список инициализатора:
    выражение список-инициализатора,список-инициализатора
    \(список-инициализатора\)
    имя-типа:
    спецификатор-типа абстрактный-описатель абстрактный-описатель:
    пусто
    \(абстрактный-описатель\)
    * абстрактный-описатель абстрактный-описатель ()
    абстрактный-описатель [константное-выражение необ]
    определяющее-тип-имя:
    идентификатор

    228
    «Язык С» Б.В. Керниган, Д.М. Ричи
    26.3. Операторы составной-оператор:
    \(список-описаний список-операторов необ необ\)
    список-описаний:
    описание описание список-описаний список-операторов:
    оператор оператор список-операторов оператор:
    составной оператор выражение;
    IF (выражение) оператор
    IF (выражение) оператор ELSE оператор
    WHILE (выражение) оператор
    DO оператор WHILE (выражение);
    FOR(выражение-1
    ;выражение-2
    ;выражение-3
    )
    необ необ необ оператор
    SWITCH (выражение) оператор
    CASE константное-выражение : оператор
    DEFAULT: оператор
    BREAK;
    CONTINUE;
    RETURN;
    RETURN выражение;
    GOTO идентификатор; идентификатор : оператор ;
    26.4. Внешние определения Программа:
    внешнее-определение внешнее-определение программа внешнее-определение:
    определение-функции определение-данных определение-функции:
    спецификатор-типа описатель-функции тело-функции необ описатель-функции:
    описатель (список-параметров
    )
    необ список-параметров:
    идетификатор идентификатор , список-параметров тело-функции:

    «Язык С» Б.В. Керниган, Д.М. Ричи
    229
    список-описаний-типа оператор-функции оператор-функции:
    \(список описаний список-операторов\)
    необ определение данных:
    EXTERN спецификатор типа список необ необ инициализируемых описателей
    ;
    необ
    STATIC спецификатор типа список необ необ инициализируемых описателей необ;
    26.5. Препроцессор
    #DEFINE идентификатор строка-лексем
    #DEFINE
    #DEFINE идентификатор(идентификатор,...,идентификатор)стр
    #UNDEF идентификатор
    #INCLUDE “имя-файла”
    #INCLUDE <имя-файла>
    #IF константное-выражение
    #IFDEF идентификатор
    #IFNDEF идентификатор
    #ELSE
    #ENDIF
    #LINE константа идентификатор
    Последние изменения языка “C” (15 ноября 1978 г.)
    27. Присваивание структуры
    Структуры могут быть присвоены, переданы функциям в качестве аргументов и возвращены функциям. Типы участвующих операндов должны оставаться теми же самыми. Другие правдоподобные операторы, такие как сравнение на равенство, не были реализованы.
    В реализации возвращения структур функциями на PDP-11 имеется коварный дефект: если во время возврата происходит прерывание и та же самая функция пеентерабельно вызывается во время этого прерывания, то значение возвращаемое из первого вызова, может быть испорчено. Эта трудность может возникнуть только при наличии истинного прерывания, как из операционной системы, так и из программы пользователя, прерывания,
    которое существенно для использования сигналов; обычные рекурсивные вызовы совершенно безопасны.

    230
    «Язык С» Б.В. Керниган, Д.М. Ричи
    28. Тип перечисления
    Введен новый тип данных,аналогичный скалярным типам языка паскаль.
    К спецификатору-типа в его синтаксическом описании в разделе 8.2.
    Приложения а следует добавить спецификатор-перечисления с синтаксисом пецификатор-перечисления:
    ENUM список-перечисления
    ENUM идентификатор список-перечисления
    ENUM идентификатор cписок-перечисления:
    перечисляемое список-перечисления, перечисляемое перечисляемое:
    идентификатор идентификатор = константное выражение
    —————— ——————————
    Роль идентификатора в спецификаторе-перечисления полностью аналогична роли ярлыка структуры в спецификаторе-структуры;
    идентификатор обозначает определенное перечисление. Например, описание
    ENUM COLOR \(RED, WHITE, BLACK, BLUE \);
    ENUM COLOR *CP, COL;
    Объявляет идентификатор COLOR ярлыком перечисления типа,
    описывающего различные цвета и затем объявляет CP указателем на объект этого типа, а COL - объектом этого типа.
    Идентификаторы в списке-перечисления описываются как константы и могут появиться там, где требуются (по контексту) константы. Если не используется вторая форма перечисляемого (с равеством =), то величины констант начинаются с 0 и возрастают на 1 в соответствии с прочтением их описания слева на право. Перечисляемое с присвоением = придает соответс- твующему идентификатору указанную величину; последующие идентификаторы продолжают прогрессию от приписанной величины.
    Все ярлыки перечисления и константы могут быть различными и непохожими на ярлыки и члены структур даже при условии использования одного и того же множества идентификаторов.
    Объекты данного типа перечисления рассматриваются как объекты,
    имеющие тип, отличный от любых типов и контролирующая программа LINT
    сообщает об ошибках несоответствия типов. В реализации на PDP-11 со всеми перечисляемыми переменными оперируют так, как если бы они имели тип INT.

    «Язык С» Б.В. Керниган, Д.М. Ричи
    231
    29. Таблица изображений непечатных символов языка “C”.
    В данной таблице приведены изображения некоторых символов
    (фигурные скобки и т.д.) языка “C”, которых может не оказаться в знаковом наборе дисплея или печатающего устройства.
    Значение
    Изображение ** В тексте
    Фигурная открывающаяся Скобка
    \(
    Фигурная закрывающаяся Скобка
    \)
    Вертикальная Черта
    \!
    Апостороф
    \’
    Волнистая Черта
    \^
    ** Изображения приведены для операционой системы UNIX. При работе компилятора “C”
    под управлением любой другой операционной системы, необходимо воспользоваться
    соответствующим руководством для данной системы.

    232
    «Язык С» Б.В. Керниган, Д.М. Ричи
    Б.В. Керниган, Д.М. Ричи
    Язык С
    Скачано: URL http://www.sch2.ru/kafedra/info/tutorial/kernigan.zip
    Верстка В. Мельник
    Распечатка А. Уфимцев
    Подписано в печать 28.05.2002
    Тираж 1 экз.
    Издательство “Самиздат”
    Львов 2002.
    1   ...   15   16   17   18   19   20   21   22   23


    написать администратору сайта