Fonksiyon tanımlamalarında geri dönüş değerini unutmak.
Geri dönüş tipi void olarak bildirilmiş bir fonksiyonun bir değer geri döndürmesi bir yazım hatasıdır.
Aynı tipte fonksiyon parametrelerini double x, double y yerine double x, y olarak bildirmek. double x, y biçiminde parametre bildirmek, y parametresinin tipinin int olmasına sebep olur. Çünkü belirtilmeyen parametre tipi otomatik olarak int tipinde varsayılır.
Parametre listesini yazdığımız parantezlerin dışına noktalı virgül koymak yazım hatasıdır.
Bir fonksiyon parametresini daha sonradan fonksiyon içinde yerel bir değişken olarak kullanmak bir yazım hatasıdır.
Bir fonksiyon içinde başka bir fonksiyon tanımlamak yazım hatasıdır.
Fonksiyon prototipinin sonuna noktalı virgül koymamak bir yazım hatasıdır.
21 Kasım 2016 Pazartesi
void Fonksiyonlar
Bir fonksiyonun her zaman geri dönüş değerinin olması gerekmez.
Bu durumda 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.
Bu durumda 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.
Fonksiyon Prototip Kullanımı
Bir fonksiyon prototipi, derleyiciye fonksiyon tarafından döndürülen verinin tipini, fonksiyonun almayı beklediği parametre sayısını, parametrelerin tiplerini ve parametrelerin sırasını bildirir.
Derleyici, fonksiyonların ilk hallerini (prototiplerini) fonksiyon çağrılarını onaylamakta kullanır.
Fonksiyon prototipinin unutulması, fonksiyonun geri dönüş tipinin int olmadığı durumda ve fonksiyon tanımı fonksiyon çağrısından daha sonra bulunmuyorsa, yazım hatalarına (syntax error) sebep olur.
Derleyici, fonksiyonların ilk hallerini (prototiplerini) fonksiyon çağrılarını onaylamakta kullanır.
Fonksiyon prototipinin unutulması, fonksiyonun geri dönüş tipinin int olmadığı durumda ve fonksiyon tanımı fonksiyon çağrısından daha sonra bulunmuyorsa, yazım hatalarına (syntax error) sebep olur.
Fonksiyon Geri Dönüş Değerleri
Fonksiyon geri dönüş değeri return anahtar sözcüğü kullanılarak gerçekleştirilir.
return anahtar sözcüğünün iki önemli işlevi vardır:
fonksiyonun geri dönüş değerini oluşturur.
fonksiyonu sonlandırır.
return deyiminden sonra bir değişken, işlem, sabit veya başka bir fonksiyon yazılabilir.
Örnekler:
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 */
Programın çözüm mantığına göre bir fonksiyon içerisinde birden çok geri dönüş değeri kullanılabilir.
Fakat, ilk karşılaşılan return deyiminden sonra fonksiyon sonlanır ve çağrılan yere bu değer gönderilir.
return anahtar sözcüğünün iki önemli işlevi vardır:
fonksiyonun geri dönüş değerini oluşturur.
fonksiyonu sonlandırır.
return deyiminden sonra bir değişken, işlem, sabit veya başka bir fonksiyon yazılabilir.
Örnekler:
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 */
Programın çözüm mantığına göre bir fonksiyon içerisinde birden çok geri dönüş değeri kullanılabilir.
Fakat, ilk karşılaşılan return deyiminden sonra fonksiyon sonlanır ve çağrılan yere bu değer gönderilir.
Parametre ve Argüman
Fonksiyon çağrılırken gönderilen değerlere Argüman denir.
Fonksiyon bildiriminde, fonksiyona girdi olarak, kullanılan değişkenlere Parametre denir.
Fonksiyon bildiriminde, fonksiyona girdi olarak, kullanılan değişkenlere Parametre denir.
18 Kasım 2016 Cuma
14 Kasım 2016 Pazartesi
Soru-3: Girilen Bir Cümlenin Kelimelerinin Baş Harflerini Büyük Harf Yapma
100 elemanlı bir karakter dizisi tanımlayınız. Daha sonra bir cümle giriniz.
Cümledeki tüm kelimelerin baş harflerini büyük harfe çeviriniz. Büyük harfe çevirme için toupper() fonksiyonu kullanılacaktır.
Çeviride Türkçe karakterler desteklenmeyecektir.
Son olarak cümlenin çevrilmiş halini ekrana yazdırınız.
Cümledeki tüm kelimelerin baş harflerini büyük harfe çeviriniz. Büyük harfe çevirme için toupper() fonksiyonu kullanılacaktır.
Çeviride Türkçe karakterler desteklenmeyecektir.
Son olarak cümlenin çevrilmiş halini ekrana yazdırınız.
Soru-2: Girilen Cümlede Harf Arama ve Yerini Bulma
100 elemanlı bir karakter dizisi tanımlayınız. Daha sonra bir cümle giriniz.
Cümlede aranmak üzere bir harf giriniz.
Cümlede harfi bulursanız, bulduğunuz yerlerin pozisyonlarını farklı bir diziye aktarınız.
Toplam bulunan harf sayısını ve harflerin pozisyonlarını ekrana yazdırınız.
Cümlede aranmak üzere bir harf giriniz.
Cümlede harfi bulursanız, bulduğunuz yerlerin pozisyonlarını farklı bir diziye aktarınız.
Toplam bulunan harf sayısını ve harflerin pozisyonlarını ekrana yazdırınız.
Soru-1: Girilen Cümleyi Tersten Yazdırma
100 elemanlı bir karakter dizisi tanımlayınız.
Daha sonra bir cümle giriniz.
Cümleyi ekrana ters olarak yazdırınız.
İsterseniz farklı bir diziye aktarabilirsiniz veya direk yazdırabilirsiniz.
strrev() fonksiyonunu kullanmayınız.
Kaydol:
Kayıtlar (Atom)