Определение, прототип и вызов функции
Структура функции
Функция – это поименованный блок программы, состоящий из последовательности операторов и вызываемый другими функциями. Функция состоит из заголовка и тела (текста) функции. Составными частями тела функции являются объявления переменных и операторы.
Прототип функции – это заголовок функции без тела функции. Прототип функции обычно помещают в файл заголовков, который подключают к соответствующему файлу кодов с помощью директивы компилятора #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 передает управление на конец цикла, пропуская нижележащий фрагмент тела цикла.