Оператор цикла
5ог (Соператор1>; Свыражение>; соператор2>) СоператорЗ>; позволяет организовать повторяющийся вычислительный процесс. Как правило, оператор 1 и оператор2 являются операторами присваивания или обращения к функции, а выражение — условным выражением. Цикл 5ог удобно использовать в тех случаях, когда заранее известно число повторений тела цикла или имеется явно выраженная переменная, управляющая циклом. В этом случае выражение 1 вычисляется один раз и задает инициализацию управляющей переменной. Выражение является условием завершения цикла, а оператор2 задает приращение управляющей переменной. Любой из операторов и выражений в цикле 5ог может быть опущен, хотя точка с запятой при этом должна оставаться. Если отсутствует оператор 1 или оператор2, то он просто выпадает из вычислений. Если же отсутствует выражение, то считается, что оно всегда истинно., Оператор цикла с предусловием в общем виде записывается так: иМ1е (< выражение>) < оператор>; Цикл мМ1е является «условным» циклом, использующим условие на входе. Если выражение «истинно» (или в общем случае не равно нулю), то оператор, входящий в цикл мМ1е, выполняется один раз, а затем выражение проверяется снова. Эта последовательность действий, состоящая из проверки и выполнения оператора, периодически повторяется до тех пор, пока выражение не станет ложным (или в общем случае равным нулю). После этого управление передается оператору, следующему за оператором цикла мЪИе. При построении цикла «Ы1е необходимо включить в него какие-то конструкции, изменяющие величину проверяемого выражения так, чтобы в конце концов оно стало ложным. В противном случае выполнение цикла никогда не завершится. Оператор цикла с постусловием — в нем истинность условия проверяется после выполнения каждой итерации цикла. Этот подход реализуется с помощью цикла с! о/м]п11е. Тело цикла Зо/мЪИе всегда выполняется, по крайней мере один раз, поскольку проверка условия осуществляется только после его завершения. Форма записи: с! о < оператор> мМ1е (< выражение>); Оператор Ьгеак дает возможность выйти из операторов цикла ^ог, с! о/ мМ1е, а также из переключателя 5мл_ъс]п без проверки условия. Оператор Ьгеак приводит к немедленному выходу из самого внутреннего охватывающего его цикла или из переключателя. Оператор сопЪ1пие вызывает преждевременное завершение выполнения тела цикла и переход к следующему шагу цикла. Оператор соп1: 1пие действует только на самый внутренний цикл, частью которого он является. Оператор безусловного перехода доЬэ предназначен для безусловной передачи управления в заданную точку программы. Его выполнение заключается в передаче управления оператору, помеченному заданной меткой. В качестве метки используется идентификатор. Метка отделяется от оператора, к которому она относится, двоеточием. Синтаксис оператора: до!: о < метка>; < метка>: < оператор> Символы «{» и «}» используются для объединения описаний и операторов в составной оператор или блок, так что все конструкции, заключенные в фигурные скобки, оказываются синтаксически эквивалентными одному оператору. Точка с запятой никогда не ставится после первой фигурной скобки, которая завершает блок. Оператор геЪигп завершает выполнение данной функции и передает управление вызывающей функции. Оператор ге^игп, в главной функции тал.п, вызывает завершение выполнения всей программы. Оператор геШгп может содержать любое выражение: ге" Ьигп (< выражение>); Если выражение не пусто, то вычисляется его значение, которое и становится значением данного вызова функции. Достижение «конца» функции (правой закрывающей фигурной скобки) эквивалентно выполнению оператора ге^игп без возвращаемого значения (т.е. оператор ге^игп в конце функции может быть опущен). С помощью оператора ге^игп функции можно вернуть и несколько значений. Средства ввода-вывода. Имеется ряд библиотечных функций Си, обеспечивающих стандартную систему ввода-вывода для программ на Си. Макроопределения, описания переменных и определения этих функций содержатся в файле стандартных заголовков 3Ы10. Ъ. Поэтому каждая пользовательская программа должна содержать в начале ссылку #л_пс1ис! е < з" ЬсИо. Ъ>. Наиболее часто используется функция форматного вывода рппй". В общем случае обращение к этой функции имеет вид: (< формат>, < выражение1>, < выражение2>,..., < выражениеЫ>); где < выражение1>, < выражение2>,..., < выражением — произвольные выражения, результаты которых надо вывести. Управляющая строка «формат» содержит объекты двух типов: обычные символы, которые просто копируются в выходной поток (печатаются), и спецификации преобразования значений из внутреннего машинного представления в текстовое для вывода на печатающем устройстве. Функцией ввода, аналогичной функции вывода рг±пЫ (), является зсап^ () — стандартная функция форматного ввода. Обращение к этой функции имеет вид: зсап^ (< формат>, < & имя1>, < & имя2>,..., < & имяЫ>).; где < имя1>, < имя2>,..., < имяы> — имена переменных, значения которых надо ввести. Наличие символа «&» перед каждым именем обязательно (кроме переменных строкового типа), его смысл будет пояснен ниже. При обращении к функции зсап^ выполнение программы приостанавливается, ожидается ввод значений указанных переменных, после чего работа программы продолжается. В качестве спецификаций в формате можно использовать те же символы, что и в функции рг1п1: ^ (). Спецификации формата должны соответствовать количеству и типу вводимых переменных. Набор стандартных функций ввода и вывода включает большое число функции для работы с данными различного типа, различными устройствами, буферизованного и небуферизованного, форматного и бесформатного ввода и вывода.
|