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 />

Yukarıdaki örnekte y + z ifadesinin değeri, yani + işlecinin ürettiği değer, x değişkenine<br />

aktarılır.<br />

ii. Üretilen değeri bir işleve argüman olarak gönderilebilir:<br />

func(y + z);<br />

Yukarıdaki örnekte func işlevine argüman olarak y + z ifadesinin değeri, yani toplama<br />

işlecinin ürettiği değer gönderiliyor.<br />

iii. Üretilen değer return deyimi ile işlevlerin geri dönüş değerlerinin oluşturulmasında<br />

kullanılabilir:<br />

int func()<br />

{<br />

return (y + z)<br />

}<br />

Yukarıda func isimli işlevinin geri dönüş değeri y + z ifadesinin değeri yani + işlecinin<br />

ürettiği değerdir.<br />

İşleçlerin ürettiği değerin hiç kullanılmaması C sözdizimi açısından bir hataya neden<br />

olmaz. Ancak böyle durumlarda derleyiciler çoğunlukla bir uyarı iletisi vererek<br />

programcıyı uyarır. Örneğin:<br />

int main()<br />

{<br />

int x = 20;<br />

int y = 10;<br />

x + y;<br />

}<br />

return 0;<br />

Yukarıdaki kod parçasında yer alan<br />

x + y<br />

ifadesinde '+' işleci bir değer üretir. '+' işlecinin ürettiği değer terimlerinin toplamı değeri,<br />

yani 30'dur. Ancak bu değer kullanılmıyor. Böyle bir işlemin bilinçli olarak yapılma<br />

olasılığı düşüktür. Borland derleyicilerinde verilen uyarı iletisi şu şekildedir:<br />

warning : "code has no effect!"<br />

(uyarı : "kodun etkisi yok")<br />

İşleçlerin Önceliği<br />

C dilinde ifadelerin türleri ve değerleri söz konusudur. Bir ifadenin değerini derleyici şu<br />

şekilde saptar: İfade içindeki işleçler öncelik sıralarına göre değer üretir, üretilen<br />

değerler, ifade içindeki önceliği daha az olan işleçlere terim olarak aktarılır. Bu işlemin<br />

sonunda tek bir değer elde edilir ki bu da ifadenin değeridir.<br />

int x = 10;<br />

int y = 3;<br />

int z = 15;<br />

printf("%d\n", z % y / 2 + 7 -x++ * y);<br />

74/529

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

Saved successfully!

Ooh no, something went wrong!