¿µ¾î whileÀº "~ÇÏ´Â µ¿¾È"ÀÔ´Ï´Ù. Áï, Á¶°ÇÀÌ ÂüÀÎ µ¿¾È¿¡´Â
¸í·ÉÀ» ½ÇÇàÇϰí Á¶°ÇÀÌ
°ÅÁþÀÎ °æ¿ì¿¡´Â ¸í·É¸¦
½ÇÇàÇÏÁö ¾Ê½À´Ï´Ù.
¡¼Çü½Ä¡½
while(Á¶°Ç){
¹®Àåµé;
}
¸ÕÀú Á¶°ÇÀÇ °ªÀ» ÆÇ´ÜÇÏ¿©
ÂüÀÏ ¶§ while¹® ³»ÀÇ ¹®ÀåµéÀ»
½ÇÇàÇÕ´Ï´Ù. Á¶°ÇÀÌ ÂüÀÏ ¶§ while³»ÀÇ ºí·ÏÀ» ¼öÇàÇϹǷΠÁ¶°ÇÀÇ
°ªÀ» º¯µ¿½ÃÄÑ ¼øÈ¯À»
¹þ¾î³ªµçÁö ¾Æ´Ï¸é while¹®À» Å»ÃâÇÒ ¼ö
ÀÖµµ·Ï Á¶°ÇÀÌ ÁÖ¾îÁ®¾ß
ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é °è¼ÓÇØ¼
¹Ýº¹ÇÏ´Â ¹«ÇÑ·çÇÁ¿¡ ºüÁú
¿°·Á°¡ ÀÖ½À´Ï´Ù.
´ÙÀ½ ÇÁ·Î±×·¥À» ½ÇÇàÇÏ¿© º¾½Ã´Ù.
// File Name : ex080_while01.c
#include <stdio.h>
int main(void){
while(1){
printf("¿ÀÀç°ü");
}
printf("END");
return 0;
}
while¹®ÀÇ Á¶°ÇÀÌ
1À̹ǷΠ1Àº ÂüÀ» ÀǹÌÇÏ°í ´Ù¸¥
Á¶°ÇÀÌ ¾øÀ¸¹Ç·Î ¹«ÇÑ·çÇÁ·Î
½ÇÇàÀÌ µË´Ï´Ù. µû¶ó¼ "¿ÀÀç°ü"ÀÌ ¹«ÇÑ Ãâ·ÂµÇ°í
"END"´Â
Ãâ·ÂÀÌ µÇÁö ¾Ê½À´Ï´Ù. ÇöÀç Çϰí ÀÖ´Â ÇÁ·Î±×·¡¹Ö¿¡¼´Â
ÀÌ·¸°Ô µÇ¾î¼´Â ¾È
µÇ°ÚÁÒ??
¡¼ÁÖÀÇ!¡½
C¾ð¾î´Â BooleanÇü ÀÚ·áÇüÀÌ
¾ø±â ¶§¹®¿¡
0Àº FalseÀ̰í 1Àº TrueÀÔ´Ï´Ù. 0À» Á¦¿ÜÇÑ
¸ðµç ¼ö´Â TrueÀÔ´Ï´Ù.
±×·¡¼ while(1) ´ë½Å¿¡ while(2),
while(4.5) µîµîÀ» »ç¿ëÇÒ ¼öµµ
ÀÖÁö¸¸ ÀÌ·±
¹æ½ÄÀº È¥µ·À»
°¡Á® ¿À´Â
°ÍÀ̹ǷΠ»ç¿ëÇÏÁö
¾Ê¾Æ¾ß ÇÕ´Ï´Ù.
´ÙÀ½ ÇÁ·Î±×·¥À» ½ÇÇàÇÏ¿© º¾½Ã´Ù.
// File Name : ex080_while02.c
#include <stdio.h>
int main(void){
while(0){
printf("¿ÀÀç°ü");
}
printf("END");
return 0;
}
À§ ÇÁ·Î±×·¥Àº Á¶°ÇÀÌ 0À̰í, 0Àº °ÅÁþÀ»
ÀǹÌÇϹǷΠwhile¹®Àº ½ÇÇàÀÌ µÇÁö
¾Ê½À´Ï´Ù.
µû¶ó¼ "¿ÀÀç°ü"Àº Ãâ·ÂÀÌ µÇÁö ¾Ê°í, "END"¸¸ Ãâ·ÂÀÌ µË´Ï´Ù.
⁌ ¿¹Á¦ ÇÁ·Î±×·¥ ⁍
"while¿¬½À..."À» 10¹ø Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥À»
ÀÛ¼ºÇÏ¿© º¾½Ã´Ù.
for¹®Àº
À妽º °ªÀ» Áõ°¨ÇÏÁö¸¸
while¹®Àº
Áõ°¨ÇÏÁö ¾ÊÀ¸¹Ç·Î À妽º¸¦
i·Î ÇÏ´Â °æ¿ì¿¡ while¹® ¾È¿¡ i°ªÀ» Áõ°¡½ÃŰ´Â
i++À» ³Ö¾î¾ß ÇÕ´Ï´Ù.
10¹ø
¹Ýº¹ÇÏ´Â °ÍÀ̹ǷΠÁ¶°ÇÀ»
i==10À¸·Î
ÁöÁ¤ÇÏ¸é ½ÇÇàÀÌ µÇÁö
¾Ê½À´Ï´Ù. i°¡ 1¿¡¼ 10±îÁö 1¾¿ Áõ°¡Çϵµ·Ï ÀÛ¼ºÇÏ¿©¾ß
ÇϹǷΠÁ¶°ÇÀ» i<=10À¸·Î ÁöÁ¤ÇÏ¿©¾ß Á¶°ÇÀÌ
ÂüÀÌ µÇ¾î while¹® ¾ÈÀÇ ¹®ÀåÀ»
½ÇÇàÇϰí, i°¡ 10ÀÌ ³ÑÀ¸¸é Á¶°ÇÀÌ
°ÅÁþÀÌ µÇ¹Ç·Î while¹®Àº Á¾·á°¡ µË´Ï´Ù. ÀÌ ¶§ i°ªÀº 11ÀÌ µË´Ï´Ù.
¡¼¼Ò½º
ÇÁ·Î±×·¥¡½
// File Name : ex229.c
#include <stdio.h>
int main(){
int i=1;
while(i<=10){
printf("while¿¬½À...\n");
i++;
}
printf("End");
return 0;
}
¹°·Ð À§ÀÇ ¿¹Á¦´Â while¹®À» ¼³¸íÇϱâ À§ÇÑ
¿¹Á¦À̰í, ÀÌ·± Á¾·ùÀÇ ÇÁ·Î±×·¥Àº
for¹®À» »ç¿ëÇÏ´Â °ÍÀÌ ÈξÀ
ÇÕ¸®ÀûÀ̰ÚÁÒ?
⁌ ¿¹Á¦ ÇÁ·Î±×·¥ ⁍
1¿¡¼
¸î±îÁö ´õÇϸé 10,000ÀÌ ³Ñ´Â°¡¸¦ ±¸ÇÏ´Â
ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ¿© º¾½Ã´Ù.
ÇÕÀ» sumÀ¸·Î ÇÏ´Â °æ¿ì¿¡ sumÀÌ 10,000º¸´Ù ÀÛÀ» ¶§±îÁö
¹Ýº¹½ÇÇàÇÏ¿©¾ß Çϰí 10,000ÀÌ ³ÑÀ¸¸é while¹®À» Á¾·áÇÏ¿©¾ß ÇÕ´Ï´Ù. µû¶ó¼ Á¶°ÇÀº sum<=10000À¸·Î ÁöÁ¤ÇÏ¿©¾ß ÇÕ´Ï´Ù.
¡¼¼Ò½º
ÇÁ·Î±×·¥¡½
// File Name : ex230.c
#include <stdio.h>
int main(){
int i=1;
int sum=0;
while(sum<=10000){
sum=sum+i;
i++;
}
printf("%d±îÁö
´õÇϸé ÇÕÀÌ %d", i-1, sum );
return 0;
}
¡¼½ÇÇà
°á°ú¡½
141±îÁö ´õÇϸé ÇÕÀÌ 10011
⁌ ¿¹Á¦ ÇÁ·Î±×·¥ ⁍
ÀÔ·ÂµÈ ¼ýÀÚ¸¦ ¹Ý´ë·Î Ãâ·ÂÇÏ´Â
ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ¿© º¾½Ã´Ù. Áï, 256À» ÀÔ·ÂÇϸé 652·Î Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù.(¹°·Ð ÀÚ·áÇüÀÇ °ªÀÇ ¹üÀ§¸¦
³ÑÁö ¾Ê´Â ¼ýÀÚÀ̾î¾ß
ÇÕ´Ï´Ù.)
²¨²Ù·Î Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥À̹ǷΠ¼ýÀÚ¸¦
µÚ¿¡¼ºÎÅÍ ÇÑÀÚ¸®¾¿ ¶¼¾î¼
Ãâ·ÂÇÏ¸é µË´Ï´Ù. 256À» »ìÆìº¸¸é
À̹ǷΠ256À» 10À¸·Î ³ª´©¸é ³ª¸ÓÁö°¡
¸Ç µÞÀÚ¸® ¼öÀÔ´Ï´Ù.
n=256À¸·Î ÇÒ
¶§, nÀ» 10À¸·Î ³ª´©¾î ³ª¸ÓÁö´Â 6À» ±¸ÇÏ¿© Ãâ·ÂÇϰí,
256À»
10À¸·Î ³ª´« 25¸¦ ´Ù½Ã nÀ¸·Î ÁöÁ¤Çϰí,
n(25)¸¦ 10À¸·Î ³ª´©¸é
³ª¸ÓÁö 5¸¦ ±¸ÇÏ¿© Ãâ·ÂÇϰí,
25¸¦ 10À¸·Î ³ª´« 2¸¦ ´Ù½Ã nÀ¸·Î ÁöÁ¤Çϰí,
n(2)¸¦
10À¸·Î ³ª´©¸é ³ª¸ÓÁö 2¸¦ ±¸ÇÏ¿©
Ãâ·ÂÇÕ´Ï´Ù.
2¸¦ 10À¸·Î ³ª´« 0¸¦ ´Ù½Ã nÀ¸·Î ÁöÁ¤Çϸé
³¡³³´Ï´Ù.
Áï, À§ÀÇ °úÁ¤À» nÀÌ 0ÀÌ µÉ ¶§±îÁö
¹Ýº¹ÇÏ¸é µË´Ï´Ù.
¡¼¾Ë°í¸®Áò¡½
input n
Loop Begin (n!=0)
print n % 10
n=n /10
Loop End
¡¼¼Ò½º
ÇÁ·Î±×·¥¡½
// File Name : ex082_while02.c
#include <stdio.h>
int main(void){
int n, remainder;
printf("¼ýÀÚ ÀÔ·Â: ");
scanf("%d",
&n);
while(n != 0){
remainder=n%10;
---------------- ¨ç
printf("%d",
remainder);
n=n/10;
---------------- ¨è
}
return 0;
}
¡¼½ÇÇà
°á°ú¡½
¼ýÀÚ ÀÔ·Â: 2147483647
7463847412
À§ ÇÁ·Î±×·¥¿¡¼ ÀÔ·ÂµÈ ¼ýÀÚ°¡
2147483647À̶ó°í
ÇÒ ¶§ Ãâ·ÂµÇ´Â
°ªÀº 7463847412ÀÔ´Ï´Ù. ¸ÕÀú 7À» Ãâ·ÂÇϱâ À§Çؼ´Â
¨ç¹®Àå°ú °°ÀÌ 10À¸·Î ³ª¸ÓÁö
¿¬»êÀ» ÇÏ°í ³ª¸ÓÁö¸¦
Ãâ·ÂÇÕ´Ï´Ù. ±×·± ÈÄ 7À» Á¦°ÅÇϱâ
À§Çؼ ¨è¹®Àå°ú
°°ÀÌ 10À¸·Î ³ª´©¸é 214748364.7ÀÌ µÇ´Âµ¥ Á¤¼öÇü
µ¥ÀÌÅÍÀÇ Æ¯¼º»ó Á¤¼öÇüÀ¸·Î
ÀνÄÇϸé 214748364°¡ µË´Ï´Ù. ÀÌ µÎ
¿¬»êÀ» ¹Ýº¹ÇÏ¿© 1ÀÚ¸®¸¸ ³²À»
°æ¿ì 10À¸·Î ³ª´©°Ô µÇ¸é
¸òÀÌ 0ÀÌ µÇ°í nÀÌ 0ÀÌ µÇ¾î
À̶§ ÇÁ·Î±×·¥ÀÌ Á¾·áµË´Ï´Ù.