Jump to content
Sign in to follow this  
NeoLogy

While Loop Dan Do..while Loop Confusion

Recommended Posts

Salam,

Aku ada sedikit keraguan mengenai loop while dan do while..
Berdasarkan pengetahuan aku yang cetek ini, do..while loop ni akan execute once sebelum dia check while condition.
Bagi loop while lak, dia akan check while condition dulu kan?so kalau true..baru dia execute statement dalam loop..btol ke pemahaman aku ini..

Satu lagi berkenaan dengan pre-increment (++i) dan post-increment (i++) yang digunakan dalam "for" loop..

contohnya:

[code]
for(i=0;i<10;++i){
printf("i= %d\n",i);
}
[/code]


[code]
for(i=0;i<10;i++){
printf("i= %d\n",i);
}
[/code]

so, ape result bagi kedua-dua loop ini?
adakah sama atau berbeza. Kalau berbeza, bleh tak explainkan?

minta bantuan kepada otai-otai c kat putera.com ni..

Share this post


Link to post
Share on other sites
[quote name='NeoLogy' timestamp='1332386555' post='1080346']
Salam,

Aku ada sedikit keraguan mengenai loop while dan do while..
Berdasarkan pengetahuan aku yang cetek ini, do..while loop ni akan execute once sebelum dia check while condition.
Bagi loop while lak, dia akan check while condition dulu kan?so kalau true..baru dia execute statement dalam loop..btol ke pemahaman aku ini..

Satu lagi berkenaan dengan pre-increment (++i) dan post-increment (i++) yang digunakan dalam "for" loop..

contohnya:




so, ape result bagi kedua-dua loop ini?
adakah sama atau berbeza. Kalau berbeza, bleh tak explainkan?

minta bantuan kepada otai-otai c kat putera.com ni..
[/quote]

i++ increment by 1 tapi dia simpan untuk next use. (ni yang mampu aku explain)
++i increment by 1 untuk current use.

So macam coding bawah ni

[code]
for(i=0;i<10;++i){
printf("i= %d\n",i);
}
[/code]

i=0 starting. Tapi bila jumpa ++i tem printf dia akan keluar 1
so turutan dia,

i = 1
i = 2
i = 3
..



[code]
for(i=0;i<10;i++){
printf("i= %d\n",i);
}
[/code]

i = 0 starting. bila jumpa i++ dia increase value tapi dia akn print value terdahulu instead of current
mean

i = 0
i = 1
..

Yang do..while loop tu betol dah pemahaman.
Do..while - do now check later
while - check now do later

Share this post


Link to post
Share on other sites
Satu lagi nak tanya, dalam "for" loop..dia check condition dulu baru run or run dulu sekali then check condition?
Contohnya;

[code]

char i=14;

for(i=0;i<5;i++){
printf("%d ",i);
}
[/code]

Share this post


Link to post
Share on other sites
[quote name='NeoLogy' timestamp='1332463752' post='1080381']
Satu lagi nak tanya, dalam "for" loop..dia check condition dulu baru run or run dulu sekali then check condition?
Contohnya;

[code]

char i=14;

for(i=0;i<5;i++){
printf("%d ",i);
}
[/code]
[/quote]

jap aku rs coding ni ada sikit mistake, i ko dah declare as char tp bila print dia jd decimal.

patutnya aku rs int i=14 dan bukannya char i=14

Share this post


Link to post
Share on other sites
[quote name='otai_g' timestamp='1333559299' post='1080661']

jap aku rs coding ni ada sikit mistake, i ko dah declare as char tp bila print dia jd decimal.

patutnya aku rs int i=14 dan bukannya char i=14
[/quote]
dalam c, char bukan hanya untuk character (ASCII) saje..char adalah 8bit (1 byte) data variable..actually semua data disimpan dalam bentuk bit dalam variable..ASCII code pun 8 bit data size untuk setiap character..

contoh : ASCII code utk '7' adalah decimal : 55 dan hexadecimal : 0x37
[code]
char i=55;
printf("%d\n",i); /* output : 55 */
printf("%c\n",i); /* output ; 7 */
[/code]
[url="http://ideone.com/tckLB"]http://ideone.com/tckLB[/url]

so, jangan salah faham..

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...