Оператор SWITCH

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

17.7. Оператор SWITCH

Оператор SWITCH (переключатель), вызывает передачу уп-

равления к одному из нескольких операторов, в зависимости от

значения выражения. Оператор имеет форму

 

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

В выражении проводятся обычные арифметические преобразова-

ния, но результат должен иметь тип INT. Оператор обычно яв-

ляется составным. Любой оператор внутри этого оператора мо-

жет быть помечен одним или более вариантным префиксом CASE,

имеющим форму:

 

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

где константное выражение должно иметь тип INT. Никакие две

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

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

выражения приводится в п. 23.

Кроме того, может присутствовать самое большее один опе-

раторный префикс вида

DEFAULT:

При выполнении оператора SWITCH вычисляется входящее в

него выражение и сравнивается с каждой вариантной констан-

той. Если одна из вариантных констант оказывается равной

значению этого выражения, то управление передается операто-

ру, который следует за совпадающим вариантным префиксом. Ес-

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

выражения и если при этом присутствует префикс DEFAULT, то

управление передается оператору, помеченному этим префиксом.

если ни один из вариантов не подходит и префикс DEFAULT от-

сутствует, то ни один из операторов в переключателе не вы-

полняется.

Сами по себе префиксы CASE и DEFAULT не изменяют поток

управления, которое беспрепятсвенно проходит через такие

префиксы. Для выхода из переключателя смотрите оператор

BREAK, п. 17.8.

Обычно оператор, который входит в переключатель, являет-

ся составным. Описания могут появляться в начале этого опе-

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

менных будут неэффективными.

17.8. Оператор BREAK

Оператор

BREAK;

вызывает завершение выполнения наименьшего охватывающего

этот оператор оператора WHILE, DO, FOR или SWITCH; управле-

ние передается оператору, следующему за завершенным операто-

ром.


·     213 -

17.9. Оператор CONTINUE

 

 

 

Оператор

CONTINUE;

приводит к передаче управления на продолжающую цикл часть

наименьшего охватывающего этот оператор оператора WHILE, DO

или FOR; то есть на конец цикла. Более точно, в каждом из

операторов

 

WHILE(...) \( DO \( FOR(...) \(

... ... ...

CONTIN: ; CONTIN: ; CONTIN: ;

\) \) WHILE(...); \)

 

Оператор CONTINUE эквивалентен оператору GOTO CONTIN. (За

CONTIN: следует пустой оператор; см. П. 17.13.).

17.10. Оператор возврата

Возвращение из функции в вызывающую программу осуществ-

ляется с помощью оператора RETURN, который имеет одну из

следующих форм

 

RETURN;

RETURN выражение;

В первом случае возвращаемое значение неопределено. Во вто-

ром случае в вызывающую функцию возвращается значение выра-

жения. Если требуется, выражение преобразуется к типу функ-

ции, в которой оно появляется, как в случае присваивания.

Попадание на конец функции эквивалентно возврату без возвра-

щаемого значения.

17.11. Оператор GOTO

Управление можно передавать безусловно с помощью опера-

тора

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

идентификатор должен быть меткой (п. 9.12), Локализованной в

данной функции.

17.12. Помеченный оператор

Перед любым оператором может стоять помеченный префикс

вида

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

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

Метки используются только для указания места, куда передает-

ся управление оператором GOTO. Областью действия метки явля-

ется данная функция, за исключением любых подблоков, в кото-

рых тот же идентификатор описан снова. Смотри п. 19.


·     214 -

17.13. Пустой оператор Пустой оператор имеет форму:

;

 

Пустой оператор оказывается полезным, так как он позволяет

поставить метку перед закрывающей скобкой \) составного опе-

ратора или указать пустое тело в операторах цикла, таких как

WHILE.

18. Внешние определения

C-программа представляет собой последовательность внеш-

них определений. Внешнее определение описывает идентификатор

как имеющий класс памяти EXTERN (по умолчанию), или возможно

STATIC, и специфицированный тип. Спецификатор типа (п. 16.2)

Также может быть пустым; в этом случае считается, что тип

является типом INT. Область действия внешних определений

распространяется до конца файла, в котором они приведены,

точно так же , как влияние описаний простирается до конца

блока. Синтаксис внешних определений не отличается от син-

таксиса описаний, за исключением того, что только на этом

уровне можно приводить текст функций.


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

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

Скачать
48443
0
0

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

Скачать
43709
0
0

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

Скачать
39778
0
1

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

Скачать
64931
0
0

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

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


Наверх