Жүйелік функциялар стандартты кітапханаларда сақталады Жүйелік функцияның мысалы ретінде printf() және scanf() функцияларын алсақ болады.
Өзіндік функция деп белгілі бір амалды орындау мақсатында қолданушы тарапынан құрылған функцияны айтамыз.
Мысал: Екі санның қосындысын есептеу функциясын құру.
#include
int sum(int x, int y) {
int k;
k = x + y;
return(k);
}
int main() {
int a, r;
printf("a= ");
scanf("%d",&a);
r = sum(a, 5); // x=a, y=5 мәндері үшін функцияны шақыру
printf("%d + 5 = %d",a, r);
getchar();
getchar();
return(0);
}
Рекурсивті функция деп функцияны құру барысында өзін өзі шақыратын функцияны айтамыз.
Мысал: Факториал мәнін есептеуді рекурсивті функция көмегімен құру.
#include
int fact(int num) {
if(num==1) return(1);
else return(num*fact(num-1)); // рекурсивті шақыру
}
int main() {
int a, r;
printf("a= ");
scanf("%d",&a);
r = fact(a);
printf("%d! = %d",a,r);
getchar();
getchar();
return(0);
}
Мысал 1. Берілген екі санның үлкенін анықтау функциясын құру және бағдарламалау барысында функцияны бірнеше рет шақыру.
e=
#pragma hdrstop
#include
#include
//---------------------------------------------------------------------------
#pragma argsused
int max(int a,int b)
{
if (a>b)
return (a);
else
return (b);
}
int main(int argc, char* argv[])
{
int max(int a,int b);
int a,b,c,d;
float e;
printf("a-?");scanf("%i",&a);
printf("b-?");scanf("%i",&b);
printf("c-?");scanf("%i",&c);
printf("d-?");scanf("%i",&d);
e=max(a,b)/max(c,d);
printf("%4.2f",e);
getch();
return(0);
}
Бақылау сұрақтары:
1.Процедура дегеніміз не?
2. Функция дегеніміз не?
3. Си тілінің айнымалылар, деректер типтері ата?
Пайдаланылған әдебиеттер:
1. Оспанова Ш.Б. Builder C++ ортасында бағдарламалау: оқу құралы. Қостанай: ҚМПИ, 2016. – 114 б.
Достарыңызбен бөлісу: |