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

int func(int val)<br />

{<br />

int sum = 0;<br />

}<br />

while (val) {<br />

sum += val % 10;<br />

if (sum > 10)<br />

sum = 1 + sum % 10;<br />

val /= 10;<br />

}<br />

return sum;<br />

do while Döngü Deyimi<br />

do while döngü deyiminin genel sözdizimi aşağıdaki gibidir:<br />

do<br />

deyim;<br />

while (ifade);<br />

do while döngüsünde kontrol ifadesi sondadır. while ayracından sonra sonlandırıcı atom<br />

bulunmalıdır. Yani buradaki sonlandırıcı atom, döngü deyiminin sözdiziminin bir<br />

parçasıdır. do while döngüsünün yürütülmesi aşağıdaki gibi olur:<br />

do anahtar sözcüğünü izleyen deyim döngüye girişte bir kez yapılır, daha sonra while<br />

ayracı içindeki kontrol ifadesine bakılır. Kontrol ifadesi doğru olduğu sürece döngü<br />

gövdesini oluşturan deyim yapılır. do while döngüsünün while döngüsünden farkı nedir?<br />

while döngüsünde döngü gövdesindeki deyimin en az bir kez yapılması güvence altında<br />

değildir. Ancak do while döngüsünde kontrol sonda yapıldığı için gövdedeki deyim en az<br />

bir kez yapılır.<br />

Aşağıdaki programı derleyerek çalıştırın:<br />

#include <br />

int main()<br />

{<br />

int val;<br />

do {<br />

printf("0 - 100 arasi bir deger girin : ");<br />

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

} while (val < 0 || val > 100);<br />

printf("val = %d\n", val);<br />

}<br />

return 0;<br />

main işlevinde do while döngüsü ile kullanıcı, 0 – 100 aralığında bir değer girmeye<br />

zorlanıyor. Eğer girilen değer 0'dan küçük ya da 100'den büyükse, kullanıcıdan yeni bir<br />

değer isteniyor.<br />

Daha önce while döngüsü kullanarak yazılan num_digit isimli işlev, bu kez do while<br />

döngüsü ile yazılıyor:<br />

147/529

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

Saved successfully!

Ooh no, something went wrong!