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

for ayracı içindeki her üç ifadenin de ayrı ayrı işlevi vardır.<br />

for ayracının ikinci kısmını oluşturan ifadeye kontrol ifadesi (control expression) denir.<br />

Tıpkı while ayracı içindeki ifade gibi, döngünün sürdürülmesi konusunda bu ifade söz<br />

sahibidir. Bu ifadenin değeri sıfırdan farklı ise, yani "doğru" olarak yorumlanırsa, döngü<br />

sürer. Döngü gövdesindeki deyim yürütülür. Kontrol ifadesinin değeri 0 ise, yani ifade<br />

yanlış olarak yorumlanırsa programın akışı for döngü deyimini izleyen ilk deyimin<br />

yürütülmesiyle sürer.<br />

Programın akışı for deyimine gelince, for ayracının birinci kısmındaki ifade değerlendirilir.<br />

Birinci kısımdaki ifade genellikle döngü değişkenine ilkdeğer verme amacıyla kullanılır.<br />

Ancak şüphesiz böyle bir zorunluluk yoktur.<br />

for ayracının üçüncü kısmındaki ifade, döngü gövdesindeki deyim ya da deyimler<br />

yürütüldükten sonra, kontrol ifadesi yeniden sınanmadan önce ele alınır. Bu kısım<br />

çoğunlukla, bir döngü değişkeninin artırılması ya da azaltılması amacıyla kullanılır.<br />

Aşağıdaki programı inceleyin:<br />

#include <br />

int main()<br />

{<br />

int i;<br />

for (i = 0; i < 2; ++i)<br />

printf("%d ", i);<br />

printf("\nson deger = %d\n", i);<br />

}<br />

return 0;<br />

Programın akışı for döngü deyimine gelince, önce for ayracı içindeki birinci ifade ele alınır.<br />

Yani i değişkenine 0 değeri atanır.<br />

Şimdi programın akışı for ayracının ikinci kısmına, yani kontrol ifadesine gelir ve i < 2<br />

koşulu sorgulanır. Kontrol ifadesinin değeri sıfırdan farklı olduğu için, ifade mantıksal<br />

olarak doğru kabul edilir. Böylece programın akışı döngü gövdesine geçer. Döngü<br />

gövdesinin bir basit deyim tarafından oluşturulduğunu görüyorsunuz. Bu deyim yürütülür.<br />

Yani ekrana i değişkeninin değeri yazılarak imleç alt satıra geçirilir.<br />

Programın akışı, bu kez for ayracının üçüncü kısmına gelir ve buradaki ifade ele alınır,<br />

yani i değişkeninin değeri 1 artırılır, i değişkeninin değeri 1 olur.<br />

İkinci ifade yeniden değerlendirilir ve i < 2 ifadesi doğru olduğu için bir kez daha döngü<br />

gövdesindeki deyim yürütülür.<br />

Programın akışı yine for ayracının üçüncü kısmına gelir ve buradaki ifade ele alınır, yani i<br />

değişkeninin değeri 1 artırılır. i değişkeninin değeri 2 olur.<br />

Programın akışı yine for ayracının ikinci kısmına gelir. Buradaki kontrol ifadesi yine<br />

sorgulanır. i < 2 ifadesi, bu kez yanlış olduğu için programın akışı, döngü gövdesine<br />

girmez, döngü gövdesini izleyen ilk deyimle sürer. Yani ekrana:<br />

sondeger = 2<br />

yazılır.<br />

Döngü Değişkenleri<br />

for döngüsünde bir döngü değişkeni kullanılması gibi bir zorunluluk yoktur. Örneğin<br />

aşağıdaki döngü, kurallara tamamen uygundur:<br />

for (func1(); func2(); func3())<br />

func4();<br />

149/529

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

Saved successfully!

Ooh no, something went wrong!