Bazen yazdığımız bir program çok fazla satırdan meydana gelebilir. Programın çok uzun olması ve karmaşık bir hal alması programı yazmak ve anlamak açısından bizleri güç duruma sokabilir. Bir fonksiyonu bir çok kez kullanmak için tekrar tekrar yazmak can sıkıcı olabilir. Bu noktada programı daha iyi anlamak,kolaylaştırmak ve hızlı çalışmak adına fonksiyonlar konusu devreye girer. Fonksiyonlar dediğimiz kavram, program içerisinde kolaylık sağlamak amacıyla programı bir nevi parçalara ayırmak ve istenildiğinde bu parçalara hızlı bir şekilde ulaşmak açıklaması pek de yanlış olmaz.
Örnek bir çalışmayla anlamayı kolaylaştıralım.
ÖRNEK 1 : Fonksiyonlar ile 2 sayının toplamını yazdıralım;
#include <stdio.h>
#include <conio.h>
int topla(int , int);
int main()
{
int a=5,b=8;
printf("Toplam = %d",topla(a,b));
}
int topla(int x , int y)
{
return (x+y);
}
AÇIKLAMA ;
int main() metodunun hemen üstünde tanımladığımız int topla(int , int); satırı bize2 integer değişkeni tanımlar. Programın sonunda tanımladığımız kodlar ise ;
int topla(int x , int y)
{ return (x+y);
}
bize program sonunda 2 integer değişkeni geriye değer döndür. Buradaki x değişkeni a'yı, y değişkeni ise b'yi temsil eder.
Fonksiyonları yukarıdaki gibi anlamakta güçlük çekiyorsanız aşağıdaki gibi kısa haliyle de kullanabilirsiniz.
#include <stdio.h>
#include <conio.h>
int topla(int x , int y)
{
return (x+y);
}
int main()
{
int a=5,b=8;
printf("Toplam = %d",topla(a,b));
}
Ekran çıktısı ;
ÖRNEK 2 : Kullanıcının girdiği 2 sayıdan büyük olanı yazdıralım ;
#include <stdio.h>
#include <conio.h>
int buyuksayi(int x, int y)
{
if(x>y) return(x);
else return(y);
}
int main()
{
int a,b;
printf("1.sayi: "); scanf("%d",&a);
printf("2.sayi: "); scanf("%d",&b);
printf("\nBuyuk olan: %d",buyuksayi(a,b));
getch();
}
Ekran çıktısı ;
Bir fonksiyonun her zaman için geriye değer döndürmesi gerekmez. Bu kapsamda
void fonksiyonundan söz edelim.
void fonksiyonu dışarıdan herhangi bir parametre almadan çalışır. Örnek bir çalışmayla
void fonksiyonunu inceleyelim ;
ÖRNEK 3 : void fonksiyonuyla ekrana 5 defa 'www.volkankilic.com' mesajını yazdıralım ;
#include <stdio.h>
#include <conio.h>
void mesaj(void)
{
for(int i=0; i<5;i++)
printf("www.volkankilic.com\n");
}
int main()
{
mesaj();
}
Ekran çıktısı ;
- Matematiksel Fonksiyonlar
Bir de programlamada işimizi kolaylaştıran matematik fonksiyonları mevcuttur.Bu fonksiyoları kullanabilmek için <math.h> kütüphanesini tanımlamamız gerekir. Bunlardan işimize yarayacaklara kısca değinip örnekler verelim.
ÖRNEK 4: Kullanıcı tarafından girilen sayının karekökünü bulduran programı yazalım ;
#include <stdio.h>
#include <conio.h>
#include <math.h>
double kareal(double x)
{
return sqrt(x);
}
int main()
{
int sayi;
printf("Sayi giriniz =");scanf("%d",&sayi);
printf("%d sayisinin karekoku : %.1f\n",sayi,kareal(sayi));
getch();
}
Ekran çıktısı ;
Aynı şekilde sin,cos,tan vb. ifadeleri de bulabilirsiniz.
Başka bir makalede görüşmek ümidiyle iyi çalışmalar.
Konuyu anlamakta güçlük mü çekiyorsunuz? O halde bir de aşağıdaki videolu dersten konuyu takip edin.