FONKSİYONLAR
C 'nin fonksiyonlardan oluştuğunu öğrenmiştik. Şimdide program içerisinde nasıl çağrıldıklarını göreceğiz.C 'de fonksiyon tanımlamak çok kolaydır.Aslında , biz foksiyonları kullanıp duruyorduk ,örneğin kullandığımız printf komutu ,bir fonksiyondur.Printf fonksiyonu , derleyici ile gelen fonksiyon kütüphanesinin
bir parçasıdır.C 'de herhangi bir fonksiyonu çağırdığımızda ,ismi parantez ve şayet varsa bu fonksiyona gönderilmesi istenen değerler yazılır.Programın çalışması bu satıra gelince , belirtilen fonksiyona atlanır ve buradaki işlemler yapılır.Bitince , program geri döner , ve ana programdan kaldığı yerden işleme devam eder.
# include "stdio.h" # include "stdio.h"
main( ){ main( ){
fonk1( ) printf("C");
printf ("programlama"); fonk1( );
fonk2( ) printf("Siz !"); printf ("Siz !");
} }
fonk1( ){ fonk1( ){
printf("Bilgisayar"); fonk2( )
} printf("Dili ve");
fonk2( ) }fonk2( ){
{ printf("Programlama");
printf("Dilleri ve"); }
}
# include "stdio.h"
# include "ctype.h"
main( )
{
char d1;
d1=toupper('f ');
printf("%c",d1);
}
TOUPPER : Toupper fonksiyonu küçük harfi ,büyük harfe çevirir. Bu fonksiyon "ctype.h" kütüphanesini kullanır.
#include "stdio.h" #include "stdio.h"
main( ) main( )
{ {
int d1; printf("Bilgisayar");
d1=fonk1(); fonk1( )
printf("%d",d1); }fonk1( ){
} printf("Yazıcı");
fonk1( ){ return;
return 27; printf("Disket");
} }
RETURN : Return fonksiyonu, fonksiyondaki sayıyı başka bir fonksiyondaki değişkene atama yapar, tek
başına kullanılırsa işlemi keserek ana fonksiyona döner.
Bir fonksiyonun verdiği değeri mutlaka bir yere atamamız gerekmez.
#include "stdio.h"
main( )
{
int d1;
d1=fonk1( );
printf("işlemin sonucu : %d ",d1);
}
fonk1( )
{
int d1;
printf(" (3x+22) ifadesi için değerini giriniz : ");
scanf("%d", &d1);
return 3*d1+2;
}
C Dilinde Argüman ve Parametreler
#include "stdio.h"
main( )
{
int d1;
d1=fonk1(2,4); /* 2 ve 4 argüman */
printf("%d",d1);
}
fonk1(int d1,intd2) /*int d1ve int d2 parametredir */
}
return d1*d2;
}
Programdaki 2 ve 4 argümanları , int d1 ve int d2 parametrelerine aktarılır. Bir parametreye aktarılan argüman , bir değişkende olabilir.
#include "stdio.h" #include "stdio.h"
main( ){ main( ){
int d1,d2,d3; int d1,d2,d3;
d1=7; d1=fonk1(2,5);
d2=8; d2=fonk1(d1,11);
d3=fonk1(d1,d2); d3=fonk1(d2,17);
printf("%d",d3); printf("%d",d3);
} }
fonk1(int d1,int d2); fonk1(int d1,int d2);
{ }
return d1*d2; return d1+d2;
} }
GETCHAR( ) : Klavyeden girilen tek bir karakteri okur.Bu komut stdio.h kütüphanesini kullanır. Girilen
karakterden sonra ENTER 'E basılır.
#include "stdio.h"
main( )
{
char d1;
printf("Bir karakter giriniz :");
d1=getchar();
printf("%c",d1);
}
Bu komut enter tuşuna basılana kadar girilen karakterleri okur ancak siz ikinci bir getchar( ) kullanırsanız , ikinci karakteri direk alır.
GETCHE( ) : Klavye eden bir karakter okur ve conio.h dosyasını kullanır.Bu fonksiyonun getche( ) 'den
farkı ENTER 'E basılmasını beklemez.
#include "stdio.h"
#include "conio.h"
main( )
{
char d1;
printf("Bir karakter giriniz :");
d1=getche( );
printf("%c",d1);
}
GETCH( ) : Klavyeden tek bir karakter okur ve girilen değeri ekrana yazmaz.Conio.h dosyasını kullanır.
#include"stdio.h"
# include "stdio.h" #include "conio.h"
main( ) main( )
{ {
char d1; char d1;
printf("bir karakter giriniz :"); printf("Bir karakter giriniz :");
d1=getch(); d1=getch();
printf("%c",d1); printf("Girdiğiniz karakter :%c",d1);
} printf("ASCII Kodu : %d",d1);
}
C 'de doğru olan sonuçlar '1' ile yanlış olan sonuçlar '0' ile sembolize edilir.