Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КЛ_ТехнолПрогр2010_090103.doc
Скачиваний:
22
Добавлен:
27.04.2019
Размер:
1.35 Mб
Скачать

2.2 Структура функции

Определение, прототип и вызов функции

Функция – это поименованный блок программы, состоящий из последовательности операторов и вызываемый другими функциями. Функция состоит из заголовка и тела (текста) функции. Составными частями тела функции являются объявления переменных и операторы.

Прототип функции – это заголовок функции без тела функции. Прототип функции обычно помещают в файл заголовков, который подключают к соответствующему файлу кодов с помощью директивы компилятора #include. Примеры прототипов:

int poisk_ind(char tabn[10], int nomer); //принимает 2 значения

int poisk_ind(char*, int); //можно без имен переменных

void init(); //не принимает и не возвращает значений

float sr_oc(int n); //принимает значение типа int,возвр. тип float

Определение функции – это заголовок и тело функции. Пример:

//файл кодов lab1_f2.cpp

#include "lab1_f.h" //подключение файла заголовков

float sr_oc(int n) //заголовок функции; float - тип y

{

...

return(y); //возврат значения (y) в функцию main

}

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

-как простой оператор без возврата значений через return;

-как операнд в выражении при возврате значений через return.

//файл кодов lab1_f1.cpp

#include "lab1_f.h" //подключение файла заголовков

main()

{//...

sr=sr_oc(kol); //вызов функции sr_oc

cout<<"Ваша средняя оценка:"<<sr;

}

Операторы

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

Условные операторы служат для программирования разветвляющихся вычислительных процессов. К ним относятся операторы if и switch.

Синтаксис оператора if:

if (vyr) //если vyr истинно, то выполняется op1,если ложно-op2

{op1;...}

[else

{op2;...}];

Синтаксис оператора switch:

switch(vyr) //вып. тот opi, для которого consti==vyr

{ case const1: op1;...;break; //break – выход из switch

case const2: op2;...; break;

[...]

[default: opN;]

}

Операторы циклов служат для программирования циклических вычислительных процессов. К ним относятся for, while, do-while.

Синтаксис оператора for:

for (op_init; vyr1; vyr2)//op_init–инициализ цикла,нач.знач.перем

{op1;...}//цикла; vyr1-условие повтор. цикла, конеч. значение;

//vyr2-приращение переменной цикла

Синтаксис оператора с предусловием while:

while (vyr) //если vyr истинно, то выполняется тело цикла

{op1;...} //если – ложно, то выход из цикла

Синтаксис оператора с постусловием do-while:

do //если vyr истинно, то выполняется тело цикла

{op1;...} //если – ложно, то выход из цикла

while(vyr);

Оператор break осуществляет досрочный выход из циклов операторов for, while, do-while.

Оператор continue передает управление на конец цикла, пропуская нижележащий фрагмент тела цикла.