Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PYaVU_s.doc
Скачиваний:
44
Добавлен:
24.02.2016
Размер:
665.09 Кб
Скачать
    1. Оператор while

Синтаксис:

while (<expression>)

<statement>

Выполнение:

Тело оператора while выполняется нуль или более раз до тех пор, пока выражение <expression> станет ложным (равным нулю). Вначале вычисляется выражение <expression>. Если <expression> изначально ложно, то тело оператора while не выполняется и управление передается на следующий оператор программы. Если <expression> является истиной (не нуль), то выполняется тело оператора. Перед каждым следующим выполнением тела оператора <expression> перевычисляется. Повторение выполнения тела оператора происходит до тех пор, пока <expression> остается истинным. Оператор while может также завершиться при выполнении операторов break, goto, return внутри тела while.

Пример

while (i>=0)

{

string1 [i] = string2 [i];

i--;

}

В вышеприведенном примере копируются символы из string2 в string1. Если i больше или равно нулю, то string2[i] присваивается индексной переменной string1[i] и i декрементируется. Когда i становится меньше нуля,то выполнение оператора while завершается.

  1. Функции

    1. Введение

Функция - это независимая совокупность объявлений и операторов, обычно предназначенная для выполнения определенной задачи. Программы на Си состоят по крайней мере из одной функции main, но могут содержать и больше функций. В подразделах данного раздела описывается как определять, объявлять и вызывать функции Си.

Определение функции специфицирует имя функции, ее формальные параметры, объявления и операторы, которые определяют ее действия. В определении функции может быть задан также тип возврата и ее класс памяти.

В объявлении задается имя, тип возврата и класс памяти функции, чье явное определение произведено в другой части программы. В объявлении функции могут быть также специфицированы число и типы аргументов функции. Это позволяет компилятору сравнить типы действительных аргументов и формальных параметров функции. Объявления не обязательны для функций, возвращающих величины типа int. Чтобы обеспечить корректное обращение при других типах возвратов, необходимо объявить функцию перед ее вызовом.

Вызов функции передает управление из вызывающей функции к вызванной. Действительные аргументы, если они есть, передаются по значению в вызванную функцию. При выполнении оператора return в вызыванной функции управление и, возможно, значение возврата передаются в вызывающую функцию.

    1. Определение функции

Определение функции специфицирует имя, формальные параметры и тело функции. Оно может также определять тип возврата и класс памяти функции. Синтаксис определения функции следующий:

[<sc-specifier>][<type-specifier>]<declarator> ([<parameter-list>])

{

<function-body>

}

Спецификатор класса памяти <sc-specifier> задает класс памяти функции, который может быть или static или extern. Спецификатор типа <type-specifier> и декларатор <declaration> специфцируют тип возврата и имя функции. Список параметров <parameter-list> - это список (возможно пустой) формальных параметров, которые используются функцией и задают типы формальных параметров. Тело функции <function-body> - это составной оператор, содержащий объявления локальных переменных и операторы. В следующих разделах детально описываются составные части определения функции.