return(өрнек); return; return операторы функцияның орындалуын аяқтайды да, функцияны шақырған оператордан кейінгі жолға басқаруды береді.
Оң бүтін санның факториалын анықтау функциясын былай жазуға болады:
long fakt(int k) { if (k<0) return 0; if (k==0) return 1; long p=1; for (int j=1; j<=k;j++) return (p); } Теріс сандардың факториалы болмайды, мұндайда функция 0 мәнін береді, ал 0!=1, қалған жағдайларда бұл функция цикл ішінде факториалды есептейді.
Мысалы: m,n бүтін сандары үшін мынадай өрнекті есептеу керек:
;
// с=( m!*n!)|(m+n)! есептеу
#include #include #include
float fak(int x)
{
float p=1;
for (int j=1;j<=x;j++)
p*=j;
return (p);
}
main ()
{
int m,n;
float c;
printf("введите m,n : ");
scanf("%d%d",&m,&n);
c=fak(m)*fak(n)/fak(m+n);
printf(" %e\n",c);
puts("Для завершения нажмите Enter\n");
getch();
}
1-формат (классикалық формат) бойынша функция мынадай жалпы түрде сипатталады:
[<жады класы спецификациясы >] [<типтің спецификациясы>]
<функция аты> ([<аргументтер типтері тізбегі>]);
Функцияның соңғы уақытта қолданылатын форматы төмендегідей:
жоғарыдағы сипаттаумен салыстырғанда дөңгелек жақшада аргументтің идентификаторлары және типтері жазылуы мүмкін. Функцияның анықталуын жазғанда екі форматты қолдануға болады. Функция анықталуының 1-форматы бойынша (классикалық формат) келесі түрде жазылады:
[<жады класы спецификациясы >] [<типтің спецификациясы>] <функцияның аты>([параметрлер тізбегі])[<параметрлерді сипаттау>] <функция тұлғасы>
мұндағы
(<жады класы спецификациясы>) – жадының класc спецификациясы;
[<типтің спецификациясы>] – функция есептейтін нәтиже типі;
<функцияның аты> – дұрыс жазылған идентификатор аты;
типі;
<параметрлер тізбегі> – формальды параметрлер идентификаторлары;
<параметрлер сипаттау> – формальды параметрлердің идентификаторларын және типтерін анықтайды;
<функция тұлғасы> – орындалатын операторлар тізбегі және оның ішінде локальді айнымалының сипатталуы болуы мүмкін.
Функция сипатталуының 2-форматын қарастыралық (қазіргі кезде қолданылатын стиль).
[<жады класы спецификациясы >] [<типтің спецификациясы >] <функция аты>([<параметрлерді сипаттау тізбегі>])
<функция тұлғасы>
Функция ішінде орналасқан айнымалылар типтері сипатталуы осы функцияның ішінде ғана анықталған болып саналады, (мұнда тек қана main функциясы ерекше жағдайда болып саналады) . Программа мәтінінде функциялар кез келген ретпен орналасуы мүмкін. Функцияны шақыру үшін функцияның аты және жақшада нақты аргументтері көрсетіледі. Функция өз жұмысын аяқтағаннан кейін есептелген нәтижені return операторы арқылы қайтарады. Бұл оператордың жалпы түрі мынадай:
return(өрнек); return операторы функцияның орындалуын аяқтайды да, функцияны шақырған оператордан кейінгі жолға басқаруды береді.