Сontinue Deyimi. Fonksiyonlar

Слайд 4

FONKSIYONLAR I (ALT PROGRAMLAR)

C Programlama Dili fonksiyon olarak adlandırılan alt programların birleştirilmesi

FONKSIYONLAR I (ALT PROGRAMLAR) C Programlama Dili fonksiyon olarak adlandırılan alt programların
kavramına
dayanır. Bir C programı bir yada daha çok fonksiyonun bir araya gelmesi ile oluşur. Bu özellik
bütün Yapısal Diller'in (C, Fortran, Pascal, ...) temelini oluşturur. Yapısal Diller'e hakim olmak için
fonksiyon oluşturmayı ve kullanmayı iyi öğrenmek gerekir.
Bu bölümde, C Programlama Dili'ndeki fonksiyon kavramı, sonraki bölümde esnek argümanlı
fonksiyonlar ve main() fonksiyonu irdelenecektir.

Слайд 5

Fonksiyon Kavramı
Fonksiyon, belirli sayıda verileri kullanarak bunları işleyen ve bir sonuç üreten

Fonksiyon Kavramı Fonksiyon, belirli sayıda verileri kullanarak bunları işleyen ve bir sonuç
komut grubudur.
Her fonksiyonun bir adı ve fonksiyona gelen değerleri gösteren argumanları (bağımsız
değişkenleri) vardır. Genel olarak bir fonksiyon Şekil 8.1'deki gibi bir kutu ile temsil edilir:

Слайд 6

Fonksiyon Bildirimi
1. Ana programdan önce:
2. ...
3. int topla(int x,int y) /* fonksiyon

Fonksiyon Bildirimi 1. Ana programdan önce: 2. ... 3. int topla(int x,int
*/
4. {
5. ...
6. }
7. ...
8. main()
9. {
10. ...
11. }
12. Ana programdan sonra: Bu durumda fonksiyon örneği (function prototype) ana programdan
önce bildirilmelidir.
13. ...
14. int topla(int x, int y); /* fonksiyon örneği */
15. ...
16. main()
17. {
18. ...
19. }
20. ...
21. int topla(int x, int y) /* fonksiyon */
22. {
23. ...
24. }

Слайд 7

Bir C programı içinde, yazmış olduğunuz fonksiyonlar genellikle bu iki tipte kullanılır.

Bir C programı içinde, yazmış olduğunuz fonksiyonlar genellikle bu iki tipte kullanılır.
İkinci
kullanımda fonksiyon prototipi mutlaka bildirilmelidir. Aksi halde bir hata mesajı ile karşılaşılır.
Fonksiyon prototipinde arguman isimlerinin yazılması zorunlu değildir. Sadece arguman tiplerini
belirtmek de yeterlidir. Yukarıdaki topla fonksiyona ait prototip:
int topla(int x, int y);
şekinde yazılabileği gibi
int topla(int, int);
şeklinde de yazılabilir.

Слайд 8

Geri Dönüş Değerleri
return anahtar sözcüğünün iki önemli işlevi vardır:
1. fonksiyonun geri dönüş

Geri Dönüş Değerleri return anahtar sözcüğünün iki önemli işlevi vardır: 1. fonksiyonun
değerini oluşturur
2. fonksiyonu sonlandırır
Bu deyiminden sonra bir değişken, işlem, sabit veya başka bir fonksiyon yazılabilir. Örneğin:
return (a+b/c); /* parantez kullanmak zorunlu değil */
return 10; /* değişken kullanmak mecbur değil */
return topla(a,b)/2.0; /* önce topla fonksiyonu çalışır */
Bir fonksiyonda birden çok geri dönüş değeri kullanılabilir. Fakat, ilk karşılaşılan return deyiminden sonra fonksiyon sonlananır ve çağrılan yere bu değer gönderilir. Örneğin aşağıdaki harffonksiyonunda beş tane return deyimi kullanılmıştır.
char harf(int not)
{
if( not>=0 && not<50 ) return 'F';
if( not>=50 && not<70 ) return 'D';
if( not>=70 && not<80 ) return 'C';
if( not>=80 && not<90 ) return 'B';
if( not>=90 ) return 'A';
}

Слайд 10

void Fonksiyonlar
Bir fonksiyonun her zaman geri dönüş değerinin olması gerekmez. Bu durumda

void Fonksiyonlar Bir fonksiyonun her zaman geri dönüş değerinin olması gerekmez. Bu
return deyimi
kullanılmayabilir. Eğer bu anahtar kelime yoksa, fonksiyon ana bloğu bitince kendiliğinden
sonlanır. Böyle fonksiyonların tipi void (boş, hükümsüz) olarak belirtilmelidir. Bu tip fonksiyonlar
başka bir yerde kullanılırken, herhangi bir değişkene atanması söz konusu değildir, çünkü geri
dönüş değeri yoktur. Ancak, void fonksiyonlara parametre aktarımı yapmak mümkündür.
Program 8.3'de void fonksiyona örnek olarak bankamatik fonksiyonu ve kullanımı gösterilmiştir.
Bu fonksiyon kendisine parametre olarak gelen YTL cinsinden para miktarını 20, 10 ve 5 YTL'lik
birimler halinde hesaplar. Girilen miktar 5 YTL'nin bir katı değilse, ekrana uygun bir mesaj
gönderir. bankamatik fonksiyonu bir dizi hesap yapmasına rağmen geriye hiç bir değer göndermez.

Слайд 11

Fonksiyon Parametreleri
Fonksiyon parametreleri (argümanları) klasik ve modern olmak üzere iki türlü tanımanabilir.
Örneğin

Fonksiyon Parametreleri Fonksiyon parametreleri (argümanları) klasik ve modern olmak üzere iki türlü
aşağıdaki fonksiyon kendisine parametre olarak gelen tamsayının faktoriyelini gönderir.
Bu fonksiyonun parametresi (n):
int faktoriyel(n) /* kalsik biçim */
int n
{
int i=1, f=1;
while(i<=n) f *= i++;
return f;
}
şeklinde yada:
int faktoriyel(int n) /* modern biçim */
{
int i=1, f=1;
while(i<=n) f *= i++;
return f;
}
şeklinde yazılabilir.

Слайд 12

Yapısal Programlama
Program içinde birden çok fonksiyon tanımlayıp kullanmak mümkündür. Yani C Programlama

Yapısal Programlama Program içinde birden çok fonksiyon tanımlayıp kullanmak mümkündür. Yani C
Dili
fonksiyonların inşası dayalı bir dildir. Bu özelliklik bütün Yapısal Programlama Dilleri'nin
(Structred Programming) temelini oluşturur. Birden çok fonksiyonun main tarafından nasıl
çağrıldığını temsil eden blok diyagram Şekil 8.2'de gösterilmiştir.

Слайд 13

Makro Fonksiyon Tanımlaması
Başlık dosyalarında, bol miktarda makro fonksiyon uygulamalarına rastlanır. Makro
tanımlaması #define

Makro Fonksiyon Tanımlaması Başlık dosyalarında, bol miktarda makro fonksiyon uygulamalarına rastlanır. Makro
önişlemci komutu kullanılarak yapılır. Örneğin aşağıdaki makro fonksiyonlar
geçerlidir.
#define kare(x) (x)*(x)
#define delta(a,b,c) ((b)*(b)-4*(a)(c))
#define yaz() puts("Devam etmek için bir tuşa basın...")
Bu şekilde tanımlanan fonksiyonların kullanımı diğerleri gibidir. Yalnızca programın başında
tanımlanır. Ancak, bu tanımlamalarla fonksiyon bellekte bir yer işgal etmez.
Basit bir makro fonksiyon uygulaması Program 8.6'da
gösterilmiştir. buyuk(a,b) makrosu a>b ise a değerini aksi halde b değerini gönderir.
Имя файла: Сontinue-Deyimi.-Fonksiyonlar.pptx
Количество просмотров: 29
Количество скачиваний: 0