08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

#include <br />

#include <br />

int main()<br />

{<br />

int ch;<br />

printf("bir karakter girin : ");<br />

ch = getchar();<br />

if (isupper(ch))<br />

printf("%c buyuk harf!\n", ch);<br />

else<br />

printf("%c buyuk harf degil!\n", ch);<br />

}<br />

return 0;<br />

isupper, kendisine kod numarası gönderilen karakterin, büyük harf karakteri olup<br />

olmadığını sınayan standart bir işlevdir. Eğer kod numarasını aldığı karakter büyük harf<br />

ise işlev, sıfırdan farklı bir değere geri döner. Büyük harf değil ise, işlevin geri dönüş<br />

değeri 0'dır. Bu durumda main işlevinde yer alan if deyiminin koşul ifadesi "ch büyük harf<br />

ise" anlamına gelir, değil mi? Koşul ifadesi<br />

if (!isupper(ch))<br />

biçiminde yazılsaydı, bu "ch büyük harf değil ise" anlamına gelirdi.<br />

Aşağıda, bir yılın artık yıl olup olmadığını sınayan isleap isimli bir işlev tanımlanıyor. 4'e<br />

tam bölünen yıllardan, 100'e tam bölünmeyenler ya da 400'e tam bölünenler artık<br />

yıldır:<br />

#include <br />

int isleap(int y)<br />

{<br />

return y % 4 == 0 && (y % 100 != 0 || y % 400 == 0);<br />

}<br />

int main()<br />

{<br />

int year;<br />

printf("bir yil girin: ");<br />

scanf("%d", &year);<br />

if (isleap(year))<br />

printf("%d yili artik yildir!\n", year);<br />

else<br />

printf("%d yili artik yil degildir!\n", year);<br />

}<br />

return 0;<br />

Standart Karakter Sınama İşlevleri<br />

Karakter sınama işlevleri, karakterler hakkında bilgi edinilmesini sağlayan işlevlerdir.<br />

Derleyicilerin çoğunda bu işlevler, ctype.h başlık dosyası içinde aynı zamanda makro<br />

olarak tanımlanır. Bu nedenle, karakter sınama işlevleri çağrılmadan önce kaynak koda<br />

ctype.h dosyası mutlaka eklenmelidir. Karakter sınama işlevleri, ASCII karakter<br />

repertuarının ilk yarısı için geçerlidir. Yani Türkçe karakterler için kullanılması durumunda<br />

112/529

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

Saved successfully!

Ooh no, something went wrong!