08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

C ve Sistem Programcıları Derneği - C Ders Notları - Necati Ergin<br />

printf İşlevi<br />

printf standart bir C işlevidir. printf işlevi ile ekrana bir yazı yazdırılabileceği gibi, bir<br />

ifadenin değeri de yazdırılabilir.<br />

Değişkenlerin içindeki değerler aslında bellekte ikilik sistemde tutulur. Bir değişkenin<br />

değerinin ekrana, hangi sayı sisteminde ve nasıl yazdırılacağı programcının isteğine<br />

bağlıdır. Değişkenlerin değerlerinin ekrana yazdırılmasında standart printf işlevi kullanılır.<br />

printf aslında çok ayrıntılı özelliklere sahip bir işlevdir. Şimdilik işinize yarayacak kadar<br />

ayrıntıyı öğreneceksiniz. printf işlevlerle ilgili yukarıda açıklanan genel kurallara uymaz.<br />

printf işlevi değişken sayıda parametreye sahip bir işlevdir. Bir işlevin kaç tane parametre<br />

değişkeni varsa o işlev çağrıldığında, işleve o kadar argüman geçilmelidir, değil mi? Oysa<br />

printf işlevine istenen sayıda argüman geçilebilir. Bu işleve kaç tane argüman geçilirse<br />

işlevin o kadar sayıda parametre değişkenine sahip olacağı düşünülebilir. Bu nasıl oluyor?<br />

Değişken sayıda parametreye sahip işlevler ileri bir konu olduğundan, bu konu ancak<br />

sonraki bölümlerde ele alınacak.<br />

printf işlevine ilk gönderilen argüman genellikle çift tırnak içinde yer alan bir yazıdır. Çift<br />

tırnak içinde yer alan böyle yazılara dizge (string) denir. Dizgeler konusu ileride ayrı bir<br />

bölümde ele alınacak.<br />

printf işlevine argüman olarak geçilen dizge içinde yer alan tüm karakterler ekrana<br />

yazılır. Ancak printf işlevi dizge içindeki % karakterini ve bunu izleyen belirli sayıda<br />

karakteri ekrana yazmaz. İşlev, dizge içindeki % karakterlerini yanındaki belirli sayıda<br />

karakter ile birlikte formatlama karakterleri (conversion specifiers) olarak yorumlar.<br />

Formatlama karakterleri, çift tırnaktan sonra yazılan argümanlarla bire bir eşleştirilir.<br />

Formatlama karakterleri önceden belirlenmiştir, kendileriyle eşlenen bir ifadenin değerinin<br />

ekrana ne şekilde yazdırılacağı bilgisini işleve aktarırlar. Bu format bilgisi<br />

* Argüman olan ifadenin hangi türden olarak yorumlanacağı<br />

* İfadenin değerinin ekrana hangi sayı sistemi kullanılarak yazılacağı<br />

* İfadenin kaç karakterlik bir alana yazdırılacağı<br />

* Pozitif tamsayıların yazımında '+' karakterinin yazdırılıp yazdırılmayacağı<br />

* Gerçek sayıların yazımında üstel notasyonun kullanılıp kullanılmayacağı<br />

* Gerçek sayıların yazımında noktadan sonra kaç basamağın yazılacağı<br />

gibi açıklamalardır. Aşağıdaki programı inceleyin:<br />

#include <br />

int main()<br />

{<br />

int x = 25;<br />

double pi = 3.1415;<br />

printf("x = %d\npi = %lf\n", x, pi);<br />

}<br />

return 0;<br />

main işlevi içinde yapılan<br />

printf("x = %d\npi = %lf\n", x, pi);<br />

çağrısında işleve gönderilen birinci argüman olan çift tırnak içindeki yazıda iki ayrı format<br />

dizgesi kullanılıyor: %d ve %lf.<br />

%d format karakterleri ikinci argüman olan x ile, %lf format karakterleri ise 3. argüman<br />

olan pi ile eşleniyor. Format karakterleri ile eşlenen ifadelerin değerleri, istenen<br />

formatlama özellikleri ile ekrana yazılır. Örneğin yukarıdaki çağrıyla ekrana<br />

x = 25<br />

pi = 3.14150<br />

65/529

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!