Perşembe Şubat 15th, 2018

C- Fonksiyonlar

ile Ebubekir Sezer

Fonksiyonlar  programlama dillerinde sürekli aynı şeyleri yazmamak için vardır. Yani şöyle düşünün toplama işlemi yaparken sürekli sayıları toplayabilecek bir kod dizimi yazmak yerine bir fonksiyon oluşturup bu fonksiyonun içine aynı kod dizimini yazdığınızda ve o fonksiyonu çağırdığınızda aynı sonucu ekrana basacaktır ayrıca fonksiyonları kullanırsanız yazdığınız kodun boyutu küçülür.

Fonksiyonları neden kullanıyoruz ?;

  • Kodun okunabilirliğini arttırır.
  • Kodun tekrar kullanabilirliğini arttırır. Kodu tekrar yazmak yerine fonksiyonları kullanırız.
  • Hata ayıklamak kolaydır.
  • Kodun boyutunu küçültür.

Yapacağım fonksiyon örneğinde toplama fonksiyonu oluşturup bu fonksiyonun içine de girilen sayıların toplanmasını sağlayacak kodu yazacağım. Bu fonksiyon int main() fonksiyonu içinde çağrıldığında ekrana toplamı bastıracaktır. Kod dizimi;

#include<stdio.h>
int toplama(int ilksayi,int ikincisayi){
/*
burada fonksiyonu int olarak tanımladım çünkü fonksiyonun tam sayı değeri 
döndürmesini istiyorum float double da tanımlayabilirdim ayrıca 
void olarak tanımlanabilir void boş, geçersiz anlamına gelir.
*/
int toplam=ilksayi+ikincisayi;
return toplam;
// işlemleri yaptıktan sonra int main e sonucun gitmesi için return etmem gerekir.
}
int main(){
int sayi1,sayi2;
printf("Hos Geldiniz\n")	;
printf("1.Sayiyi giriniz:")	;
scanf("%d",&sayi1);
printf("2.Sayiyi giriniz:")	;
scanf("%d",&sayi2);
// fonksiyonu int değer döndürecegi için int bir sayıyıda fonksiyonu çagırdım 
// ve ekrana bastırdım.
int sonuc = toplama(sayi1,sayi2);
printf("sonuc = %d ",sonuc);
return 0;
}

Ekran Çıktısı ;

Hos Geldiniz
1.Sayiyi giriniz:176
2.Sayiyi giriniz:45
sonuc = 221

Bu sefer void i kullanarak ekrana birşeyler bastırmak istiyorum . Programda kullanıcıdan sayı alacağım eğer sayı 10 dan büyük ise ekrana hata kodu bastıracağım . Hatayı void fonksiyonun kullanarak oluşturacağım. Kod dizimi;

#include<stdio.h>
void hatadegeri(int hata){
printf("Hata kodu %d .",hata);
}
int main(){	
int sayi;
printf("Bir sayi giriniz: ");
scanf("%d",&sayi);	
if(sayi<0 || sayi>10){
hatadegeri(404);			
}
else {
printf("Tebrikler");
}
return 0;
}

Ekran Çıktısı ;

Bir sayi giriniz: 56
Hata kodu 404 .

Son olarak da faktoriyel fonksiyonu oluşturacağım . Programda kullanıcıdan sayı alacağım ve kullanıcının girdiği sayıyı faktoriyel fonksiyonu oluşturarak faktoriyelini alacağım.Kod dizimi;

#include<stdio.h>
int faktoriyel(int sayi1) {
int faktoriyeldegiskeni =1;
for(sayi1;sayi1>0;sayi1--){
faktoriyeldegiskeni*=sayi1;
}
return faktoriyeldegiskeni;
}
int main(){
int sayi;
printf("Faktoriyelini almak istediginiz sayiyi giriniz:");
scanf("%d",&sayi);
printf("Girdiginiz sayini faktoriyeli = %d ",faktoriyel(sayi));
return 0;
}

Ekran Çıktısı ;

Faktoriyelini almak istediginiz sayiyi giriniz:5
Girdiginiz sayini faktoriyeli = 120