Операторы

Язык С
Строк программы, исключая математическое обеспечение Является учебным введением в центральную часть языка “C” Hачинаем. Единственный способ освоить новый язык Оператор FOR Набор полезных программ Подсчет символов Подсчет слов Функции Аргументы - вызов по значению Область действия: внешние переменные Резюме Константы Описания Преобразование типов До 9 и буквы от а до F Операции и выражения присваивания Старшинство и порядок вычисления Операторы и блоки Переключатель Цикл DO - WHILE Оператор CONTINUE Основные сведения Функции, возвращающие нецелые значения Еще об аргументах функций Правила, определяющие область действия Статические переменные Блочная структура Рекурсия Указатели и адреса Указатели и массивы Адресная арифметика Указатели символов и функции Указатели - не целые До 12, а не от 0 до 11. Так как за экономию памяти у нас пока не награждают, такой способ проще, чем подгонка индек-сов Инициализация массивов указателей Указатели на функции Структуры Структуры и функции Указатели на структуры Мы продемонстрируем, как правильно выполнить эту задачу Поля Определение типа Обращение к стандартной библиотеке Форматный вывод - функция PRINTF Форматный ввод - функция SCANF Форматное преобразование в памяти Обработка ошибок - STDERR и EXIT Обращение к системе Низкоуровневый ввод/вывод - операторы READ и WRITE Произвольный доступ - SEEK и LSEEK Пример - распечатка справочников Пример - распределитель памяти Константы Синтаксическая нотация Преобразования Первичные выражения Унарные операции Аддитивные операции Операция присваивания Спецификаторы типа Описание структур и объединений Инициализация TYPEDEF Оператор SWITCH Внешнее определение функции Область действия внешних идентификаторов Неявные описания Явные преобразования указателей Анахронизмы Операторы
439386
знаков
0
таблиц
0
изображений

26.3. Операторы

составной-оператор:

\(список-описаний список-операторов

необ необ\)

список-описаний:

описание

описание список-описаний

список-операторов:

оператор

оператор список-операторов

оператор:

составной оператор

выражение;


·     227 -

IF (выражение) оператор

IF (выражение) оператор ELSE оператор

WHILE (выражение) оператор

DO оператор WHILE (выражение);

FOR(выражение-1 ;выражение-2 ;выражение-3 )

необ необ необ

оператор

SWITCH (выражение) оператор

CASE константное-выражение : оператор

DEFAULT: оператор

BREAK;

CONTINUE;

RETURN;

RETURN выражение;

GOTO идентификатор;

идентификатор : оператор

;

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

внешнее-определение

внешнее-определение программа

внешнее-определение:

определение-функции

определение-данных

определение-функции:

спецификатор-типа описатель-функции тело-функции

необ

описатель-функции:

описатель (список-параметров )

необ

список-параметров:

идетификатор

идентификатор , список-параметров

тело-функции:

список-описаний-типа оператор-функции

оператор-функции:

\(список описаний список-операторов\)

необ

определение данных:

EXTERN спецификатор типа список

необ необ

инициализируемых описателей ;

необ

STATIC спецификатор типа список

необ необ

инициализируемых описателей

необ;

26.5. Препроцессор #DEFINE идентификатор строка-лексем #DEFINE


·     229 -

#DEFINE идентификатор(идентификатор,...,идентификатор)стр

#UNDEF идентификатор

#INCLUDE “имя-файла”

#INCLUDE <имя-файла>

#IF константное-выражение

#IFDEF идентификатор

#IFNDEF идентификатор

#ELSE

#ENDIF

#LINE константа идентификатор

 

Последние изменения языка “C” (15 ноября 1978 г.)

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

Структуры могут быть присвоены, переданы функциям в ка-

честве аргументов и возвращены функциям. Типы участвующих

операндов должны оставаться теми же самыми. Другие правдопо-

добные операторы, такие как сравнение на равенство, не были

реализованы.

В реализации возвращения структур функциями на PDP-11

имеется коварный дефект: если во время возврата происходит

прерывание и та же самая функция пеентерабельно вызывается

во время этого прерывания, то значение возвращаемое из пер-

вого вызова, может быть испорчено. Эта трудность может воз-

никнуть только при наличии истинного прерывания, как из опе-

рационной системы, так и из программы пользователя, прерыва-

ния, которое существенно для использования сигналов; обычные

рекурсивные вызовы совершенно безопасны.

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

Введен новый тип данных,аналогичный скалярным типам язы-

ка паскаль. К спецификатору-типа в его синтаксическом описа-

нии в разделе 8.2. Приложения а следует добавить

 

спецификатор-перечисления

 

с синтаксисом

 

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

ENUM список-перечисления

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

------------- -------------------

ENUM идентификатор


·     230 -

 

cписок-перечисления:

перечисляемое

список-перечисления, перечисляемое

 ------------------- -------------

перечисляемое:

идентификатор

идентификатор = константное выражение

------------- ---------------------

 

Роль идентификатора в спецификаторе-перечисления пол-

ностью аналогична роли ярлыка структуры в спецификато-

ре-структуры; идентификатор обозначает определенное перечис-

ление. Например, описание

 

ENUM COLOR \(RED, WHITE, BLACK, BLUE \);

. . .

ENUM COLOR *CP, COL;

 

Объявляет идентификатор COLOR ярлыком перечисления типа,

описывающего различные цвета и затем объявляет CP указателем

на объект этого типа, а COL - объектом этого типа.

Идентификаторы в списке-перечисления описываются как

константы и могут появиться там, где требуются (по контекс-

ту) константы. Если не используется вторая форма перечисляе-

мого (с равеством =), то величины констант начинаются с 0 и

возрастают на 1 в соответствии с прочтением их описания сле-

ва на право. Перечисляемое с присвоением = придает соответс-

твующему идентификатору указанную величину; последующие

идентификаторы продолжают прогрессию от приписанной величи-

ны.

Все ярлыки перечисления и константы могут быть различны-

ми и непохожими на ярлыки и члены структур даже при условии

использования одного и того же множества идентификаторов.

Объекты данного типа перечисления рассматриваются как

объекты, имеющие тип, отличный от любых типов и контролирую-

щая программа LINT сообщает об ошибках несоответствия типов.

В реализации на PDP-11 со всеми перечисляемыми переменными

оперируют так, как если бы они имели тип INT.

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

В данной таблице приведены изображения некоторых симво-

лов (фигурные скобки и т.д.) языка “C”, которых может не

оказаться в знаковом наборе дисплея или печатающего устройс-

тва.


·     231 -

 ! Значение ! Изображение ** !

 ! ! В тексте !

 ! Фигурная открывающаяся ! !

 ! Скобка ! \( !

 ! ! !

 ! Фигурная закрывающаяся ! !

 ! Скобка ! \) !

 ! ! !

 ! Вертикальная ! !

 ! Черта ! \! !

 ! ! !

 ! ! !

 ! Апостороф ! \' !

 ! ! !

 ! Волнистая ! !

 ! Черта ! \^ !

 ! ! !

** П_р_и_м_е_ч_а_н_и_е:

Изображения приведены для операционой системы UNIX. При

работе компилятора “C” под управлением любой другой операци-

онной системы, необходимо воспользоваться соответствующим

руководством для данной системы.


Информация о работе «Язык С»
Раздел: Информатика, программирование
Количество знаков с пробелами: 439386
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
48443
0
0

... основаниям. При этом философская абстракция языка оказывается неразрывно связана с основными темами и движениями философии в целом. Более конкретно, на ранние стадии традиционно рассматриваемого в рамках АФ анализа обыденного языка глубокое влияние оказала философия Дж. Э. Мура, особенно его учение о здравом смысле, согласно которому такие понятия, как «человек», «мир», «я», «внешний мир», « ...

Скачать
43709
0
0

... и других странах СНГ, а также облегчение доступа к русской и мировой культуре и науке. Таким образом, судя по данным наших исследований, востребованность русского языка осталась в республике достаточно высокой. Многие представители современной молдавской молодежи продолжают, как их отцы и деды, тянуться к русской культуре, научным и техническим достижениям России. Русский язык остается языком ...

Скачать
39778
0
1

... рисуночное словесно-слоговое письмо). Памятники среднеэламского периода (14—12 вв. до н.э.) выполнены аккадской клинописью. Памятники новоэламского периода относятся к 8—6 вв. до н.э. Был официальным языком в персидском государстве Ахеменидов в 6—4 вв. предполагается, что он, подвергшись влиянию древнеперсидского, сохранился до раннего средневековья. 7. Бурушаски язык Язык бурушаски ( ...

Скачать
64931
0
0

... /диалект), скифский, согдийский, среднеперсидский, таджикский, таджриши (язык/диалект), талышский, татский, хорезмийский, хотаносакский, шугнано-рушанская группа языков, ягнобский, язгулямский и др. Они относятся к индоиранской ветви индоевропейских языков. Области распространения: Иран, Афганистан, Таджикистан, некоторые районы Ирака, Турции, Пакистана, Индии, Грузии, Российской Федерации. Общее ...

0 комментариев


Наверх