4-3.while ¹Ýº¹¹®

4-3-°¡.while

while¹®Àº for ¹®°ú À¯»çÇÑ ¹Ýº¹¹®ÀÌµÇ ¼º°ÝÀÌ Á¶±Ý ´Ù¸£´Ù. ±âº» Çü½ÄÀº ´ÙÀ½°ú °°À¸¸ç Ű¿öµå whileÀ» »ç¿ëÇÑ´Ù´Â °Í ¿Ü¿¡´Â if¹®°ú µ¿ÀÏÇÏ´Ù. if¹®Àº µü ÇÑ ¹ø¸¸ Á¶°ÇÀ» ÆÇ´ÜÇÏ¿© ¸í·ÉÀÇ ½ÇÇà ¿©ºÎ¸¦ °áÁ¤Çϴµ¥ ºñÇØ while¹®Àº Á¶°ÇÀÌ ¸¸Á·Çϴµ¿¾È ¸í·ÉÀ» °è¼Ó ½ÇÇàÇÑ´Ù´Â Á¡ÀÌ ´Ù¸£´Ù.

 

while (Á¶°Ç) ¸í·É;

 

¸í·É ÀÚ¸®¿¡´Â ¹°·Ð ¿©·¯ °³ÀÇ ¸í·ÉÀ» ¹­¾î ³õÀº º¹¹®ÀÌ ¿Ã ¼ö ÀÖÀ¸¹Ç·Î while (Á¶°Ç) {¸í·Éµé} À̶ó°í ¿Ü¿öµÎ´Â °Íµµ ÁÁ´Ù. whileÀÇ ¿µ¾î ¶æ ±×´ë·Î Á¶°ÇÀÌ ÂüÀÎ "µ¿¾È" ¸í·ÉÀ» °è¼Ó ¹Ýº¹ÇÑ´Ù. Ãʱâ½ÄÀ̳ª Áõ°¨½Ä °°Àº °ÍÀº µû·Î ¾øÀ¸¹Ç·Î ¸í·É ºí·Ï¿¡¼­ ·çÇÁ¸¦ ³¡³¾ ¼ö ÀÖµµ·Ï ÇØ¾ß ÇÑ´Ù. 1~100±îÁö ´õÇÏ´Â ¿¹Á¦¸¦ while¹®À¸·Î ´Ù½Ã ÀÛ¼ºÇØ º¸¾Ò´Ù.

 

¿¹ Á¦ : whilesum

#include <Turboc.h>

 

void main()

{

     int i,sum;

 

     sum=0;

     i=1;

     while (i<=100) {

          sum=sum+i;

          i=i+1;

     }

     printf("1~100±îÁöÀÇ ÇÕ = %d\n",sum);

}

 

for¹®¿¡ ºñÇØ Ãʱâ½ÄÀÌ ·çÇÁ ÀÌÀü¿¡ ÀÖ°í Áõ°¨½ÄÀº ·çÇÁ ³»ºÎ¿¡ ÀÖÀ¸¸ç Á¶°Ç½Ä¸¸ while ¹®¿¡ Æ÷ÇԵǾî ÀÖ´Ù. ·çÇÁ¿¡ µé¾î°¡±â Àü¿¡ i¸¦ 1·Î ÃʱâÈ­Çϰí i°¡ 100ÀÌÇÏÀÎ µ¿¾È i¸¦ 1¾¿ Áõ°¡½ÃŰ¸é¼­ sum¿¡ ´©Àû½ÃŲ´Ù. ½ÇÇà °á°ú´Â ¹°·Ð for¹®ÀÇ °æ¿ì¿Í µ¿ÀÏÇϸç 5050À» Ãâ·ÂÇÒ °ÍÀÌ´Ù.

while¹®Àº Á¶°ÇÀÌ °íÁ¤µÇ¾î Àֱ⠶§¹®¿¡ ·çÇÁ ³»ºÎ¿¡¼­ Á¶°ÇÀÇ ÁøÀ§¸¦ ¹Ù²Ü ¼ö Àִ ó¸®¸¦ ÇÏÁö ¾ÊÀ¸¸é ¹«ÇÑ·çÇÁ°¡ µÇ¾î ¹ö¸°´Ù. À§ ¿¹Á¦´Â while ·çÇÁ¿¡¼­ i°ªÀ» 1¾¿ Áõ°¡½Ã۰í Àֱ⠶§¹®¿¡ ¾ðÁ¨°¡´Â i°¡ 100º¸´Ù Ä¿Áú ¼ö ÀÖµµ·Ï Çϰí ÀÖ´Ù. ·çÇÁ¿¡¼­ i=i+1À» »© ¹ö¸®¸é while ·çÇÁÀÇ Á¶°ÇÀº Ç×»ó ÂüÀ̹ǷΠ¾ðÁ¦±îÁö³ª sum=sum+1¸¸ ¹«ÇÑÈ÷ ¹Ýº¹ÇÏ°Ô µÉ °ÍÀÌ´Ù.

while¹®À¸·Îµµ while (TRUE) ¸í·É; Çü½ÄÀ¸·Î ¹«ÇÑ ·çÇÁ¸¦ ¸¸µé ¼ö ÀÖ´Ù. Á¶°ÇÀÌ TRUE·Î °íÁ¤µÇ¾î ÀÖÀ¸¹Ç·Î whileÀÇ Á¶°ÇÀº Ç×»ó ÂüÀÌ µÇ¾î ¸í·ÉÀ» ¹«ÇÑÈ÷ ¹Ýº¹ÇÒ °ÍÀÌ´Ù. ¹°·Ð Á¤»óÀûÀÎ Äڵ尡 µÇ±â À§Çؼ­´Â ¸í·É ºí·Ï ³»¿¡ ÀÏÁ¤ÇÑ Á¶°ÇÀÌ µÇ¸é ÀÌ ·çÇÁ¸¦ Å»Ãâ(break)ÇÏ´Â ¹®ÀåÀÌ Æ÷ÇԵǾî ÀÖ¾î¾ß ÇÑ´Ù. ´ÙÀ½Àº while¹®ÀÇ º¯ÇüÀÎ do while ¹®À» º¸ÀÚ. ±âº» Çü½ÄÀº ´ÙÀ½°ú °°À¸¸ç do¿Í whileÀÌ Â¦À» ÀÌ·ç¾î »ç¿ëµÈ´Ù. do¸¸ ÀÖ°í µÚ¿¡ whileÀÌ ¾øÀ¸¸é ¿¡·¯·Î 󸮵ȴÙ.

 

do ¸í·É; while (Á¶°Ç);

 

do ´ÙÀ½ÀÇ ¸í·ÉÀ» whileÀÇ Á¶°ÇÀÌ ¸¸Á·ÇÏ´Â µ¿¾È ¹Ýº¹ÀûÀ¸·Î ½ÇÇàÇϴµ¥ ÆÄ½ºÄ®ÀÇ repeat until Á¦¾î¹®°ú µ¿ÀÏÇÏ´Ù. ¸í·ÉÀº º¸Åë º¹¹®ÀÌ ¿À¹Ç·Î { } °ýÈ£¸¦ ½Î ÁÖ¾î¾ß ÇÑ´Ù. 1~100±îÁö ´õÇÏ´Â ¿¹Á¦¸¦ do~while¹®À¸·Î ÀÛ¼ºÇØ º¸ÀÚ.

 

¿¹ Á¦ : dosum

#include <Turboc.h>

 

void main()

{

     int i,sum;

 

     sum=0;

     i=1;

     do {

          sum=sum+i;

          i=i+1;

     } while (i<=100);

     printf("1~100±îÁöÀÇ ÇÕ = %d\n",sum);

}

 

·çÇÁ¿¡ µé¾î°¡±â Àü¿¡ i¸¦ 1·Î ÃʱâÈ­Çϰí do ·çÇÁ¸¦ ½ÃÀÛÇÑ´Ù. ·çÇÁ¿¡¼­´Â sum¿¡ i¸¦ ´©Àû½ÃŰ¸é¼­ i¸¦ 1 Áõ°¡½Ã۸ç ÀÌ Ã³¸®¸¦ i°¡ 100ÀÌÇÏÀÎ µ¿¾È °è¼Ó ¹Ýº¹ÇÑ´Ù. ½ÇÇà °á°ú´Â for ¹®À̳ª while¹®À¸·Î ÀÛ¼ºÇÑ °Í°ú µ¿ÀÏÇÏ´Ù.