Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Составной оператор (или блок)Содержание книги
Поиск на нашем сайте
Условные операторы Имеются две формы условных операторов: IF (выражение) оператор IF (выражение) оператор ELSE оператор В обоих случаях вычасляется выражение и, если оно отлично отнуля, то выполняется первый подоператор. Во втором случае,если выражение равно нулю, выпалняется второй подоператор.Как обычно, двусмысленность "ELSE" разрешается связываениемELSE с последним встречающимся IF, у которого нет ELSE.Оператор WHILE Оператор WHILE имеет форму WHILE (выражение) оператор Подоператор выполняется повторно до тех пор, пока значениевыражения остается отличным от нуля. проверка производитсяперед каждым выполнением оператора.Оператор DO Оператор DO имеет форму DO оператор WHILE (выражения) Оператор выполняется повторно до тех пор, пока значениевыражения не станет равным нулю. Проверка производится послекаждого выполнения оператора.Оператор FOR Оператор FOR имеет форму (выражение-1; выражение-2; выражение-3)оператор необ необ необ Оператор FOR эквивалентен следующему выражение-1; WHILE (выражение-2) \(оператор выражение-3 \) Таким образом, первое выражение определяет инициализациюцикла; второе специфиуирует проверку, выполняемую перед каж-дой итерацией, так что выход из цикла происходит тогда, ког-да значение выражения становится нулем; третье выражениечасто задает приращение параметра, которое проводится послекаждой итерации. Любое выражение или даже все они могут быть опущены. Ес-ли отсутствует второе выражение, то предложение с WHILE счи-тается эквивалентным WHILE(1); другие отсутствующие выраже-ния просто опускаются из приведенного выше расширения.Оператор SWITCH Оператор BREAK Оператор BREAK; вызывает завершение выполнения наименьшего охватывающегоэтот оператор оператора WHILE, DO, FOR или SWITCH; управле-ние передается оператору, следующему за завершенным операто-ром.Оператор CONTINUE Оператор возврата Возвращение из функции в вызывающую программу осуществ-ляется с помощью оператора RETURN, который имеет одну изследующих форм RETURN; RETURN выражение; В первом случае возвращаемое значение неопределено. Во вто-ром случае в вызывающую функцию возвращается значение выра-жения. Если требуется, выражение преобразуется к типу функ-ции, в которой оно появляется, как в случае присваивания.Попадание на конец функции эквивалентно возврату без возвра-щаемого значения.Оператор GOTO Управление можно передавать безусловно с помощью опера-тора GOTO идентификатор1 идентификатор должен быть меткой (п. 9.12), Локализованной вданной функции.Помеченный оператор Перед любым оператором может стоять помеченный префиксвида идентификатор: который служит для описания идентификатора в качестве метки.Метки используются только для указания места, куда передает-ся управление оператором GOTO. Областью действия метки явля-ется данная функция, за исключением любых подблоков, в кото-рых тот же идентификатор описан снова. Смотри п. 19.Пустой оператор Пустой оператор имеет форму:; Пустой оператор оказывается полезным, так как он позволяетпоставить метку перед закрывающей скобкой \) составного опе-ратора или указать пустое тело в операторах цикла, таких какWHILE.18. Внешние определения C-программа представляет собой последовательность внеш-них определений. Внешнее определение описывает идентификаторкак имеющий класс памяти EXTERN (по умолчанию), или возможноSTATIC, и специфицированный тип. Спецификатор типа (п. 16.2)Также может быть пустым; в этом случае считается, что типявляется типом INT. Область действия внешних определенийраспространяется до конца файла, в котором они приведены,точно так же, как влияние описаний простирается до концаблока. Синтаксис внешних определений не отличается от син-таксиса описаний, за исключением того, что только на этомуровне можно приводить текст функций.Внешнее определение функции Определение функции имеет форму определение-функции: спецификаторы-описания описатель-функциитело-функции необ Единственными спецификаторами класса памяти, допускаемыми вкачестве спецификаторов-описания, являются EXTERN илиSTATIC; о различии между ними смотри п. 19.2. Описатель фун-кции подобен описателю для "функции, возвращающей...", заисключением того, что он перечисляет формальные параметрыопределяемой функции. Оисатель-функции: описатель (список-параметров необ) список параметров: идентификатор идентификатор, список-параметров тело-функции имеет форму тело-функции: список-описаний составной-оператор Идентификаторы из списка параметров и только они могутбыть описаны в списке описаний. Любой идентификатор, тип ко-торого не указан, считается имеющим тип INT. Единственнымдопустимым здесь спецификатором класса памяти являетсяREGISTER; если такой класс памяти специфицирован, то в нача-ле выполнения функции соответствующий фактический параметркопируется, если это возможно, в регистр. Вот простой пример полного определения функции: INT MAX(A, B, C) INT A, B, C; \(INT M; M = (A>B)? A:B; RETURN((M>C)? M:C); \) Здесь INT - спецификатор-типа, MAX(A,B,C) - описатель-функ-ции, INT A,B,C; - список-описаний формальных параметров, \(... \) - Блок, содержащий текст оператора. В языке "C" все фактические параметры типа FLOAT преоб-разуются к типу DOUBLE, так что описания формальных парамет-ров, объявленных как FLOAT, приспособлены прочесть параметрытипа DOUBLE. Аналогично, поскольку ссылка на массив в любомконтексте (в частности в фактическом параметре) рассматрива-ется как указатель на первый элемент массива, описания фор-мальных параметров вила "массив..." приспособлены прочесть: "указатель на...". И наконец, поскольку структуры,объединения и функции не могут быть переданы функции, бесс-мысленно описывать формальный параметр как структуру,объединение или функцию (указатели на такие объекты, конеч-но, допускаются).18.2. Внешние определения данных Внешнее определение данных имеет форму определение-данных: описание Классом памяти таких данных может быть EXTERN (в частности,по умолчанию) или STATIC, но не AUTO или REGISTER.
|
||||
Последнее изменение этой страницы: 2016-08-26; просмотров: 216; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.147.57.197 (0.006 с.) |