C Fonksiyonlar

14:15 |
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.


Read more…

Switch-Case Kullanımı

08:55 |

Merhabalar. Bu makalemizde C dilinde Switch-Case kullanımından söz edeceğim. Bu komut aslında İf-Else komutuyla hemen hemen aynı işleve sahiptir. Şayet birçok durum söz konusu ise, switch-case kullanılması mantıklıdır.





Kullanımı şu şekildedir;

switch(değişken)
 {
 case durum1: komutlar; break;
 case durum2: komutlar; break;
 case durum3: komutlar; break;
 ......
 default: komutlar; break;
 }

ÖRNEK  1: Ufak bir önekle başlayalım. Kulanıcıdan 1 ile 3 arasında bir değer girmesini isteyelim. Örneğin kullanıcı 2'ye bastığında program çıktı olarak '2'ye bastınız' desin. Aksi bir sayi girildiğinde ise; 'Lütfen 1 ile 3 arasında bir değer giriniz' desin.
 #include <stdio.h> #include <conio.h>
 int main()
{

 int secim;
 printf("1 ile 3 arasinda bir sayi giriniz = ");  
 scanf("%d",&secim);

 switch(secim)
 {
 case 1: printf("1'e bastiniz"); break;
 case 2: printf("2'ye bastiniz"); break;
 case 3: printf("3'e bastiniz"); break;

 default: printf("Lutfen 1 ile 3 arasinda bir sayi giriniz ="); break;

 getch();

 }
}

 Ekran çıktısı ;


Kullanıcı 2 ye bastığında ;






Kullanıcı 1-3 dışında bir sayıya bastıında;








ÖRNEK 2 :  Kullanıcıya birkaç seçim sunalım ve kullanıcı gerekli seçimi yaptıktan sonra o seçime uygun yorum yazdıralım;

 #include <stdio.h> 
 #include <conio.h>
 int main()
{
 int secim;
 printf("ORACLE icin = 1\n");
 printf("C SHARP icin= 2\n");
 printf("JAVA icin = 3\n");
 printf("\nBir secim yapiniz = ");
 scanf("%d",&secim);

 switch(secim)
 {
 case 1: printf("\nORACLE En iyi veri tabani yonetim sistemidir."); break;
 case 2: printf("\nC SHARP .NET'in gozdesidir"); break;
 case 3: printf("\nJava dinamiktir."); break;
 getch();
return 0;
 }
}


Ekran çıktısı ;



ÖRNEK 3 : Switch-Case kullanarak 4 işlem yaptıralım ;

 #include <stdio.h> 
 #include <conio.h>
 int main()
{
  int s1,s2,secim;
  double sonuc;
  printf("Toplama islemi = 1\n");
  printf("Cikarma islemi = 2\n");
  printf("Carpma islemi = 3\n");
  printf("Bolme islemi = 4\n\n");
  printf("Bir secim yapiniz =");
  scanf("%d",&secim);

 switch(secim)
{
  case 1:
  printf("\nToplama islemi yapilacaktir\n");
  printf("---------------------------\n");
  printf("1.sayiyi gir ="); scanf("%d",&s1);
  printf("2.sayiyi gir ="); scanf("%d",&s2);
  sonuc=s1+s2;
  break;

 case 2:
 printf("\nCikarma islemi yapilacaktir\n");
 printf("---------------------------\n");
 printf("1.sayiyi gir ="); scanf("%d",&s1);
 printf("2.sayiyi gir ="); scanf("%d",&s2);
 sonuc=s1-s2;
 break;

 case 3:
 printf("\nCarpma islemi yapilacaktir\n");
 printf("---------------------------\n");
 printf("1.sayiyi gir ="); scanf("%d",&s1);
 printf("2.sayiyi gir ="); scanf("%d",&s2);
 sonuc=s1*s2;
 break;

 case 4:
 printf("\nBolme islemi yapilacaktir\n");
 printf("---------------------------\n");
 printf("1.sayiyi gir ="); scanf("%d",&s1);
 printf("2.sayiyi gir ="); scanf("%d",&s2);
 sonuc=(double)s1/(double)s2;
 break;

 default:
 printf("\nLutfen 1-4 arasinda bir secim yapiniz \n\n");
 }
printf("----------------\n");
printf("Sonuc = %.1f",sonuc);
printf("\n----------------\n");
getch();
}

Ekran çıktısı ;

Başka bir makalede görüşmek dileğiyle. iyi çalışmalar.

Read more…