Ћекции.ќрг


ѕоиск:




 атегории:

јстрономи€
Ѕиологи€
√еографи€
ƒругие €зыки
»нтернет
»нформатика
»стори€
 ультура
Ћитература
Ћогика
ћатематика
ћедицина
ћеханика
ќхрана труда
ѕедагогика
ѕолитика
ѕраво
ѕсихологи€
–елиги€
–иторика
—оциологи€
—порт
—троительство
“ехнологи€
“ранспорт
‘изика
‘илософи€
‘инансы
’ими€
Ёкологи€
Ёкономика
Ёлектроника

 

 

 

 


ќсновы использовани€ функций.




 

‘ункции Ц этьо подпрограммы, которые содержат одну или несколько инструкций. ‘ункции называютс€ строительными блоками —++, поскольку программа в —++, как правило, представл€ет собой коллекцию функций.

 

ќбщий формат —++ функций

¬се —++ функции имеют общий формат

“ип_возвращаемого значени€ им€ (список _параметров)

{

// тело функции

}

 

— помощью элемента тип_возвращаемого_значени€ указываетс€ тип значени€ возвращаемого функцией. Ёто может быть любой тип, за исключением массива. ≈сли функци€ не возвращает никакого значени€, необходимо указать тип void.

¬ качестве имени можно использовать любой допустимый идентификатор, который еще не был задействован в программе.

ѕосле имени функции в круглых скобках указываетс€ список параметров, который представл€ет собой список пар (состо€щих из типа данных и имени), разделенных зап€тыми.

ѕараметры Ц это по сути переменные, которые получают значени€ аргументов, передаваемых функции при вызове.

≈сли функции не имеют параметров, то круглые скобки остаютс€ пустыми.

¬ фигурные скобки заключено тело функции. “ело функции составл€ют —++-инструкции, которые определ€ют действие функции. ‘ункци€ завершаетс€ (и управление передаетс€ вызывающей процедуре) при достижении закрывающейс€ скобки или инструкции return

 

 

—оздание функции.

 

#include<iostream>

using namespace std;

 

void myfunc();// прототип функции myfunc()

 

void main()

{

cout<<Ф¬ функции main().Ф<<endl;

myfunc();

cout<<Ф—нова в функции main().Ф<<endl;

}

 

// ќпределение функции myfunc()

void myfunc()

{

cout<<Ф¬ функции myfunc().Ф<<endl;

}

 

 

»спользользование аргументов

‘ункции можно передать одно или несколько значений. «начение передаваемое функции называетс€ аргументом. “аким образом, аргументы представл€ют собой средсьво передачи инициализации в функцию.

ѕри создании функции, котора€ принимает одно или несколько аргументов, необходимо объ€вить переменные, которые получат значени€ этих аргументов. Ёти переменные называютс€ параметрами функции.

#include<iostream>

using namespace std;

 

void box(int length, int width, int height);// прототип функции

 

void main()

{

box(7,20,4);

box(50,3,2);

box(8,6,9);

}

 

// ќпределение функции box()

void box(int length, int width, int height)

{

cout<<Ф ќбъем параллелепипеда равен Ф<< lengtht* width* height <<endl;

}

 

»спользользование инструкции return

¬ предыдущих примерах возврат из функции к инициатору ее вызова происходил при обнаружении фигурной скобки. ќднако это приемлимо не дл€ всех функций.

¬озврат значений.

»спользование функции в выражени€х

ѕравила действи€ областей видимости функций.

Ћокальна€ область видимости

Ћокальные переменные можно объ€вл€ть внутри любого блока.

—окрытие имен

ѕараметры функции

√лобальна€ область видимости

ѕередача указателей и массивов в качестве аргументов функций

ѕередача функции указател€

ѕередача функции массива

ѕередача функци€м строк

¬озвращение функци€ми указателей

 

ќформление функции в —++

“ип им€ функции (список формальных параметров);

“ипы функции

int

double

char

void (не возвращает значений)

‘ункци€ - именованный набор операторов.

≈сли р1 и р2 функции, и р1 вызывает р2, то р2 должна быть описана раньше р1.

≈сли тело функции идет после main(), то перед main() должен сто€ть прототип функции.

 

ѕример 1

‘ункци€ плюс

 

# include <iostream.h>

void plus (int,int,int); // прототип функции plus, параметры переданы по значению

void plus1 (int,int,int&); // прототип функции plus1, последний параметр передан по ссылке

int plus2(int, int) //результат функции число типа int

Void main()

{

int a=4; int b=5; int c=10;

cout<<Фplus()Ф<<endl;

plus(a,b,c);

cout<<Фc=Ф<<c<<endl; //9

plus1(a,b,c);

cout<<Фc=Ф<<c<<endl; //10

int c2=plus2(a,b);

cout<<Фc2=Ф<<c2<<endl; //9

// ¬озможен вариант

cout<<Фplus2()=Ф<<plus2(a,b)<<endl; //9

}





ѕоделитьс€ с друзь€ми:


ƒата добавлени€: 2016-12-06; ћы поможем в написании ваших работ!; просмотров: 450 | Ќарушение авторских прав


ѕоиск на сайте:

Ћучшие изречени€:

„еловек, которым вам суждено стать Ц это только тот человек, которым вы сами решите стать. © –альф ”олдо Ёмерсон
==> читать все изречени€...

623 - | 594 -


© 2015-2024 lektsii.org -  онтакты - ѕоследнее добавление

√ен: 0.015 с.