For döngüsü içinde if parametreleri

fırat56
01-11-2010, 23:37   |  #1  
OP Taze Üye
Teşekkür Sayısı: 0
3 mesaj
Kayıt Tarihi:Kayıt: May 2010

Selamlar,
C'de 

'if( ( i++ + 1 ) == 5 )' ifadesini  bir de  'for( ; i < 12; i++ )' ifadesindeki ';' ün yerini anlayamadım.Yardımlarınızı bekliyorum.
Şimdiden teşekkürler.

Turkishfs
02-11-2010, 00:25   |  #2  
Turkishfs avatarı
Yıllanmış Üye
Teşekkür Sayısı: 0
227 mesaj
Kayıt Tarihi:Kayıt: Eyl 2009

http://www.cagataycebi.com/progr ... _programming_1.html

bu dersleri biraz inceleyin her sorununa çözüm bulursunuz...

muh34
02-11-2010, 12:22   |  #3  
Yıllanmış Üye
Teşekkür Sayısı: 0
215 mesaj
Kayıt Tarihi:Kayıt: Eki 2010

Ilk olarak yukarıdaki if kosul ifadesinde,i adlı değişkenin degeri 1 arttırılarak,bu işlemin akabinde(1 arttırılan degerin)1 fazlası uzerine sonucun 5 olma durumu kontrol edilmektedir.Ornegin i degeri 3 iken,kosul ifadesindeki işlem geregi işletim sistemi once i degiskenin degerini 1 arttırarak 4 yapar,daha sonra 4 degerine 1 ekleyerek sonucun 5'e eşit olup olmadıgını test etmeye başlar(bu ornekte koşul dogrudur).
 
Ikinci olarak soru for() dongusunun yapısı ile alakalıdır.Bilindiği uzere for dongusu ->
for(donguDegiskeni ; KosulDurumu ; DonguAdımUnitesi) şeklinde bir karakteristik yapıdan olusmaktadir.Dolayısıyla yukarıda ki donguDegiskeni for dongusu icerisinde tanımlanmamıstır.Muhtemelen bu dongu degiskeni dongu dısında tanımlanmıştır.Bu yuzden aynı degiskeni iceride bir kez daha tanımlamaya gerek yoktur(bazı programlama dillerinde derleme hatası bile verir).
Yukarıda anlatılmaya çalışılan durum asagidaki ornek gibidir.
 
int i=0;
for(;i<12;i++) -> Dikkat edilirse dongu sayaci olan i degiskeni dongunun dısında tanımlanmıştır.
.......
Tasarlanan bu dongu yapısı,
for(int i=0;i<12;i++)
veya
int i;
for(i=0;i<12;i++)
şeklinde de yazılabilirdi.
Başarılar

fırat56
04-11-2010, 12:17   |  #4  
OP Taze Üye
Teşekkür Sayısı: 0
3 mesaj
Kayıt Tarihi:Kayıt: May 2010

1- Sn.Turkishfs; c derslerine zaten ilk olarak verdiğiniz linkteki derslerden başladım,o bölümde(7.ders) yeterli açıklık olmadığı için sorun yaşamıştım.
2-Sn.muh34; ilginiz,yardımınız ve zaman ayırdığınız için teşekkür ederim.