Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Pardus</strong>-Linux e-dergi<br />
karakterleri iki tırnaktan sonra yazılan parametrelerle birebir eşleştirilir.<br />
Örnek:<br />
int x, y;<br />
x = 125;<br />
y = 200;<br />
printf("x = %d\ny = %d\n", x, y);<br />
printf fonksiyonunun yukarıdaki şekilde çağrılmasıyla x ve y değişkeni<br />
içindeki değerler ekrana onluk sistemde yazdırılacaktır.<br />
Format karakterleri yerine eşlenen değişkenlerin içerisindeki değerler<br />
ekrana yazılır. Format karakterleri sayıların ekrana nasıl yazılacağını<br />
belirtmekte kullanılır.<br />
format Anlamı karakteri<br />
%d int türünü desimal sistemde yazar.<br />
%ld long türünü desimal sistemde yazar<br />
%x unsigned int türünü hexadecimal sistemde yazar.<br />
%X unsigned int türünü hexadecimal sistemde yazar.(semboller büyük<br />
harfle)<br />
%lx unsigned long türünü hexadecimal sistemde yazar.<br />
%u unsigned int türünü decimal sistemde yazar.<br />
%o unsigned int türünü oktal sistemde yazar.<br />
%f float ve double türlerini desimal sistemde yazar.<br />
%lf double türünü desimal sistemde yazar.<br />
%e gerçek sayıları üstel biçimde yazar.<br />
%c char veya int türünü karakter görüntüsü olarak yazdırır.<br />
%s string olarak yazdırır.<br />
%lf long double türünü desimal sistemde yazdırır.<br />
Yukarıdaki tabloda görüldüğü gibi double türü hem %f format karakteri<br />
hem de %lf format karakteri ile yazdırılabilmektedir. Ama %lf<br />
Mart 2009 <strong>Sayı</strong> 6<br />
C ile PROGRAMLAMA II<br />
M. Talha İLHAN mtalhailhan@gmail.com<br />
4<br />
(okunabilirliği artırdığı için) daha çok tercih edilmektedir.<br />
Yukarıdaki tabloya göre unsigned int türünden bir sayıyı aşağıdaki<br />
şekillerde yazdırabiliriz :<br />
unsigned int u;<br />
printf("%u", u); // u sayısını 10'luk sistemde yazar<br />
printf("%o, u); // u sayısını 8'lik sistemde yazar<br />
printf("%x, u); // u sayısını 16'lık sistemde yazar<br />
short bir sayıyı yazarken d o u ya da x karakterlerinden önce h karakterini<br />
kullanıyoruz :<br />
short int sh;<br />
printf("%hd", sh); // 10'luk sistemde yazar<br />
unsigned short int unsh;<br />
printf("%hu", unsh); // 10'luk sistemde yazar<br />
printf("%ho", unsh); // 8'lik sistemde yazar<br />
printf("%hx", unsh); // 16'lık sistemde yazar<br />
long bir sayıyı yazarken d o u ya da x karakterlerinden önce l karakterini<br />
kullanıyoruz :<br />
long int lo;<br />
printf("%ld", lo); // 10'luk sistemde yazar<br />
unsigned long int unlo;<br />
printf("%lu", unlo); // 10'luk sistemde yazar<br />
printf("%lo", unlo); // 8'lik sistemde yazar<br />
printf("%lx", unlo); // 16'lık sistemde yazar<br />
Yukarıdaki bilgilerde unsigned bir tamsayıyı printf fonksiyonuyla 8'lik ya<br />
da 16'lık sistemde yazdırabileceğimizi gördük. Peki signed bir tamsayıyı<br />
8'lik ya da 16'lık sistemde yazdıramaz mıyız? Yazdırırsak ne olur? Söz<br />
konusu signed tamsayı pozitif olduğu sürece bir sorun olmaz. <strong>Sayı</strong>nın<br />
işaret biti 0 olduğu için sayının nicel büyüklüğünü etkilemez. Yani doğru<br />
sayı ekrana yazar, ama sayı negatifse işaret biti 1 demektir. Bu durumda