Site icon IT Tutorial

C Programlama -19

Merhaba arkadaşlar bu gün ki makalem de fonksiyonlar ile ilgili örnekler yapacağız.

Bir önceki makalem de fonksiyonlar konusuna değinmiştim, öncelikle onu okumanızı tavsiye ederim. Burdan okuyabilirsiniz.

 

 

#include<stdio.h> 

// Verilen sayinin asal olup olmadigina
// bakar. Sayi asalsa, geriye 1 aksi hâlde
// 0 degeri doner. 

int sayi_asal_mi( int sayi )
{ 
int i; 
for( i = 2; i <= sayi/2; i++ ) 
{ 
// Sayi asal degilse, i'ye tam olarak
// bolunur. 

if( sayi%i == 0 )
return 0; 

} 
// Verilen sayi simdiye kadar hicbir 
// sayiya bolunmediyse, asaldir ve
// geriye 1 doner. 
return 1; 

}

// main fonksiyonu 
int main( void ) 
{ 
int girilen_sayi; 
int test_sonucu; 
do{ 
printf( "Lütfen bir sayı giriniz> " ); 
scanf( "%d",&girilen_sayi ); 
test_sonucu = sayi_asal_mi( girilen_sayi ); 
if( !test_sonucu ) 
printf("Girilen sayı asal değildir!\n"); 
} 
while( !test_sonucu ); 
printf( "Girilen sayı asaldır!\n" ); 
return 0; 
}

 

 

Örneği inceleyecek olursak ;
Yapmak istediğimiz işlem; kullanıcıdan bir değer girmesini istiyoruz.
Girilen değeri sayi_asal_mi fonksiyonuna göndererek gerekli kontroller yapıldıktan sonra main fonksiyonuna bir değer dönderilir.

 

Dönen değerin sonucuna göre ekrana girilen sayının asal olup olmama durumunu basıyoruz.

Burada dikkat etmemiz gereken birinci nokta sayi_asal_mi fonksiyonu çağrıldığı yerden değer alır ve gerekli hesaplamalar sonuncunda bir değer döner.
Bunun için fonksiyon tanımlaması int sayi_asal_mi( int sayi ) şeklinde yapılır.

 

 

Diğer bir nokta, main fonksiyonunda kullanılan do while döngüsü dür. Bu döngünün diğer
Döngüler den farkı, döngü şartı sağlanması bile kesinlikle do kısmı bir kere çalışacaktır.
Ondan sonraki çalışma şartı while koşulunun sağlanmasına bağladır.

#include<stdio.h>
/*

*Geri dönüş tipi float
*fonksiyon adı kareAlanHesapla
*Parametre: float tipinde bir parametre almaktadır.
*/

float kareAlanHesapla(float x);
 //main fonksiyonundan önce tanımlanmalıdır.

int main() {

    float kenar = 11.2;
    float alan;
    alan = kareAlanHesapla(kenar);
    printf("Bir kenarı %f olan karenin alani = %f'dir\n", kenar, alan);

    return 0;
}
float kareAlanHesapla(float x) {
   return x * x;
}

 

 

İkinci örneği inceleyecek olursak;
Bu defa fonksiyonu main fonksiyonundan sonra kodladık.

 

 

Ama bu durum da yine de main den önce fonksiyonun deklarasyon nunu yaptık.
Bu fonksiyondan kullanılan ve main fonksiyonuna dönülecek olan değerin veri tipi
float olduğu için fonksiyon deklarasyon nunda tanımlamalar float kullanılmıştır

Bu fonksiyonda gelen değerin sadece karesi hesaplanıp geri dönüleceği için, gelen değer kendisiyle çarpılıp sonuç geri gönderilir.

 

 

Fonksiyondan gelen değeri main fonksiyonunda printf fonksiyonu sayesinde ekrana basır.

 

Bir makalenin daha sonuna geldik, esenle kalın..

Exit mobile version