...................welcome


Á¦ 5 Àå °¢Á¾ ¸í·É¹®


 

 

 

 

 

 

 

5.1 ¹®Àå(statement)°ú º¹ÇÕ¹®(compound statement)     top À¸·Î...

¹®ÀåÀº ÇÁ·Î±×·¥À» ±¸¼ºÇÏ´Â ±âº» ´ÜÀ§°¡ µÈ´Ù.
¹®Àå Çϳª Çϳª´Â ÇϳªÀÇ ³í¸®ÀûÀÎ µ¿ÀÛµéÀ» ±â¼úÇÑ´Ù.
¹®ÀåÀÇ ³¡¿¡´Â ¹Ýµå½Ã ¼¼¹ÌÄÝ·Ð(;)À» ºÙ¿©¼­ ´Ù¸¥ ¹®Àå°ú ±¸º°ÇÑ´Ù.
 º¹ÇÕ¹®Àº Çϳª ÀÌ»óÀÇ ¹®ÀåÀÌ Áß°ýÈ£({})¿¡ ÀÇÇØ µÑ·¯ ½Î¿© ÀÖ´Ù.
º¹ÇÕ¹®Àº ´ÜÀÏ ¹®Àå°ú µ¿ÀÏÇÏ°Ô Ãë±ÞµÇ¸ç, ºí·Ï(block)À̶ó°íµµ ÇÑ´Ù.
º¹ÇÕ¹®ÀÇ ³¡(})¿¡´Â ¼¼¹ÌÄÝ·Ð(;)ÀÌ ¿Ã ¼ö ¾ø´Ù.
º¹ÇÕ¹®ÀÇ Áß¿äÇÑ »ç¿ë ¿ëµµ´Â ¸í·É¹®µéÀ» ÇϳªÀÇ ½ÇÇà °¡´ÉÇÑ ´ÜÀ§·Î ±×·ìÈ­ÇÏ´Â °ÍÀÌ´Ù. 

¹®Àå »ç¿ë¿¹ 


     #include    <stdio.h>
     main()
     {

        int i;          --> ¼±¾ð¹®
        i = 20;       --> ġȯ¹® 
        printf("ÇÔ¼ö¹® Å×½ºÆ® = %d\n",  i);    --> ÇÔ¼ö¹®
        while(i <= 60)   --> Á¦¾î¹®
            {                                                   
               i = i+ 10; 
               printf("¹Ýº¹¹®Å×½ºÆ® = %d\n", i);      º¹ÇÕ¹®
               ;  --> ³Î¹®Àå
            } 
     }

 

 ¹®ÀåÀÇ Á¾·ù¸¦ ºÐ·ùÇÏ¸é ´ÙÀ½°ú °°´Ù.
     1) ¼±Çà 󸮱â Áö½Ã¹® :  #define,  #include µî...
     2) ¼±¾ð¹® :  char,  int,  double,  µî...
     3) Á¦¾î¹® :  ¼±Åù® - if,  if~else,  switch~case ¹®
                       ¹Ýº¹¹® - while,  for,  do~while  ¹®
                       ºÐ±â¹® - break,  continue,  goto
     4) ÇÔ¼ö¹® - scanf,  printf,  getchar,  putchat  µî...

 

 

5.2 ±âº» ÀÔÃâ·Â¹®     top À¸·Î...

±âº» ÀÔÃâ·Â ÀåÄ¡ÀÎ Å°º¸µå³ª ¸ð´ÏÅÍ È­¸éÀ» ÅëÇÏ¿© µ¥ÀÌÅ͸¦ ÀÔÃâ·ÂÇÏ´Â ¸í·ÉÀÌ´Ù..
C ¾ð¾î´Â ´Ù¸¥ ¾ð¾î¿Í ´Ù¸£°Ô ÀÔÃâ·Â ¸í·É¹®ÀÌ ¾ø°í,  ÇÔ¼ö¸¦ ÅëÇÏ¿© µ¥ÀÌÅÍÀÇ ÀÔÃâ·Â ÇÏ°í ÀÖ´Ù.
±âº» ÀÔÃâ·Â ÇÔ¼öÀÇ Á¾·ù´Â ´ÙÀ½°ú °°´Ù.
 

 

 

 

 

 

 

Á¾    ·ù

¼³     ¸í

 

printf()

  È­¸é»ó¿¡ »ó¼ö, º¯¼öÀÇ °ª, ¼ö½ÄÀÇ °ªÀ» ³ªÅ¸³½´Ù.

 

 

scanf()

  Å°º¸µå·ÎºÎÅÍ µ¥ÀÌÅ͸¦ ÀÔ·Â¹Þ¾Æ º¯¼ö¿¡ ±â¾ïÇÑ´Ù.

 

 

getchar()

  Å°º¸µå·ÎºÎÅÍ 1°³ÀÇ ¹®ÀÚ¸¦ ÀÔ·Â¹Þ¾Æ º¯¼ö¿¡ ±â¾ïÇÑ´Ù.

 

 

putchar()

  º¯¼ö¿¡ ±â¾ïµÈ 1°³ÀÇ ¹®ÀÚ¸¦ È­¸é»ó¿¡ ³ªÅ¸³½´Ù.

 


printf( ) ÇÔ¼ö¿Í scanf( ) ÇÔ¼ö´Â 2ÀåÀ» ÂüÁ¶ÇϽÿÀ.

getchar( )Àº Ç¥ÁØ ÀÔ·Â ½ºÆ®¸²À¸·ÎºÎÅÍ ÀÔ·ÂÀ» ¹Þ´Â ¸ÅÅ©·Î·Î Å°º¸µå·ÎºÎÅÍ 1°³ÀÇ ¹®ÀÚ¸¦ ÀÔ·Â ¹Þ´Â´Ù.

¹®ÀÚº¯¼ö = getchar() ;


putchar( ) Àº Ç¥ÁØ Ãâ·Â ½ºÆ®¸²¿¡ Ãâ·ÂÇÏ´Â ¸ÅÅ©·Î·Î È­¸é»ó¿¡ 1°³ÀÇ ¹®ÀÚ¸¦ ³ªÅ¸³ª°Ô ÇÑ´Ù.

putchar(¹®ÀÚº¯¼ö) ;

 


[ ¿¹Á¦ 5-1.C ]

     #include <stdio.h>
     #include <ctype.h>
     main()
     {
          int  c1,  c2 ;
          while( (c1=getchar( ) ) ! = EOF)
                  {
                     c2 = isupper(c1)  ?  tolower(c1)  :  c1 ;
                     putchar(c2) ;
                  }
     }


 

[ ÇÁ·Î±×·¥ Çؼ® ]

ÀÌ ÇÁ·Î±×·¥Àº Ç¥ÁØ ÀÔ·Â ÀåÄ¡ÀÎ Å°º¸µå·ÎºÎÅÍ 1°³ÀÇ ¹®ÀÚ¸¦ ÀÔ·Â¹Þ¾Æ ÀÌ ¹®ÀÚ°¡ ´ë¹®ÀÚÀÎÁö¸¦  ÆǺ°ÇÏ¿©,  ´ë¹®ÀÚÀÌ¸é      ¼Ò¹®ÀÚ·Î ¹Ù²Ù¾î Ç¥ÁØ Ãâ·Â ÀåÄ¡ÀÎ È­¸é»ó¿¡ ³ªÅ¸³ª°Ô ÇÑ´Ù.
c1=getchar( ) ;
     Å°º¸µå·ÎºÎÅÍ 1°³ÀÇ ¹®ÀÚ¸¦ ÀÔ·Â¹Þ¾Æ c1 º¯¼ö¿¡ ±â¾ï½ÃŲ´Ù.
isupper(c1) ;
     c1ÀÇ °ªÀÌ ´ë¹«ÀÚÀÎÁö¸¦ °Ë»çÇÏ¿© Âü,  °ÅÁþÀ» ÆǺ°ÇÏ´Â ¸ÅÅ©·ÎÀÌ´Ù.
 tolower(c1)
     c1ÀÇ °ªÀÌ ´ë¹®ÀÚÀÏ ¶§ ¼Ò¹®ÀÚ·Î ¹Ù²Ù¾î ÁÖ´Â ¸ÅÅ©·ÎÀÌ´Ù.

 

 

5.3  Á¦¾î¹®     top À¸·Î...

ÇÁ·Î±×·¥ÀÇ ½ÇÇàÀº À§¿¡¼­ ¾Æ·¡·Î, ¶Ç´Â Á¿¡¼­ ¿ì·Î ¼öÇàÇÑ´Ù.   ±×·±µ¥ ÀÌ·¯ÇÑ ¼öÇà ¼ø¼­¸¦
    º¯°æÇϰųª ¹®ÀåÀÇ È帧À» ¹Ù²Ù°íÀÚ ÇÒ ¶§ Á¦¾î¹®À» »ç¿ëÇÑ´Ù.   Á¶°Ç Á¦¾î¹®À¸·Î´Â if,  .´ÙÁß
    ¼±Åÿ¡´Â switch~case ¹®ÀÌ ÀÖÀ¸¸ç,  ¹Ýº¹¹®À¸·Î´Â while, for, do~while ¹®ÀÌ ÀÖ°í, ºÐ±â¹®
    À¸·Î´Â goto,  break,  continue µîÀÌ ÀÖ´Ù.

 

5.3.1 ¼±Åù®     top À¸·Î...

5.3.1.1 Á¶°Ç Á¦¾î¹®(if ~ else)

¾î¶² Á¶°ÇÀÇ Âü, °ÅÁþ ¿©ºÎ¸¦ ÆÇ´ÜÇÏ¿© ½ÇÇàÀ» Á¦¾îÇÏ´Â ±¸Á¶ÀÌ´Ù.
 C ¾ð¾î¿¡¼­ °ÅÁþ(false)Àº  0 À¸·Î,   0  ¾Æ´Ñ ¸ðµç °ªÀ» Âü(true)À¸·Î µÐ´Ù.
Á¶°Ç½ÄÀº ¹Ýµå½Ã ¼Ò°ýÈ£¸¦ ¹­´Â´Ù.

 if  (Á¶°Ç) ~


Á¶°ÇÀÌ ÂüÀ̸é Á¶°Ç ¹®ÀåÀ» ½ÇÇàÇÏ°í,  °ÅÁþÀ̸é Á¶°Ç ¹®Àå ´ÙÀ½À» ½ÇÇàÇÑ´Ù.
 

 if  (Á¶°Ç) ¹®Àå :
´ÙÀ½ ¹®Àå ; 


½ÇÇàµÉ ¹®ÀåÀÌ µÑ ÀÌ»óÀÎ °æ¿ì º¹ÇÕ¹®À¸·Î ó¸®ÇÒ ¼ö ÀÖ´Ù.

     if  (Á¶°Ç) {
     ¹®Àå    1 ;
     ¹®Àå    2 ;
        ........
     ¹®Àå  n ; }


if ¹®¿¡ else¸¦ °®´Â °ÍÀ» Á¶°ÇÀÌ ÂüÀÏ ¶§¿Í °ÅÁþÀÏ ¶§¸¦ ¾çÀÚÅÃÀÏÇÏ¿© ¹®ÀåÀ» ½ÇÇàÇÑ´Ù.
 

     if  (Á¶°Ç) ¹®Àå  1 ;
     else        ¹®Àå  2 ;


if ¹®¿¡ else ~ if¸¦ °®´Â °ÍÀº ¿©·¯ Á¶°Ç Áß ÇØ´çÇÏ´Â ¹®ÀåÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Ù.

     if  (Á¶°Ç) ¹®Àå  1 ;
     else  if(Á¶°Ç) ¹®Àå 2 ;
     else  ¹®.Àå   3 ;


if ¹®ÀÇ ±¸Á¶
Á¶°Ç½ÄÀÌ ÂüÀÏ ¶§¸¸ ¹®ÀåÀÌ ½ÇÇàµÈ´Ù.

 

    1)   if (Á¶°Ç½Ä)  ¹®Àå1 ;
            ¹®Àå  2 ; 

    2)   if (Á¶°Ç½Ä)
           {
              ¹®Àå  1 ;
                 :
            }
          ¹®Àå  2 ;

if¹®ÀÇ ±¸Á¶

 

 


if ~ else ±¸Á¶
Á¶°Ç½ÄÀÌ ÂüÀÏ ¶§¿Í °ÅÁþÀÏ ¶§¸¦ ¾çÀÚÅÃÀÏÇÏ¿© ¹®ÀåÀ» ½ÇÇà ÇÑ´Ù.

 

    1)   if (Á¶°Ç½Ä)
             ¹®Àå  1 ; 
          else 

    2)   if (Á¶°Ç½Ä)
           {
              ¹®Àå  1 ;
                 :
           }
          else
           {
              ¹®Àå  2 ;
                 :
            }
           ¹®Àå 3 ;

if ~ else ±¸Á¶

 

 


if ~ else if ±¸Á¶
 

    1)   if (Á¶°Ç½Ä1)
             ¹®Àå  1 ; 
          else  if (Á¶°Ç½Ä2)
                       ¹®Àå  2 ;
                   else
                       ¹®Àå  3 ;
          ¹®Àå  4 ;

    2)   if (Á¶°Ç½Ä1)
           {
              ¹®Àå  1 ;
                 :
           }
          else  if (Á¶°Ç½Ä2)
                      {
                       ¹®Àå  2 ;
                          :
                      }
                 else
                     {
                       ¹®Àå 3 ;
                          :
                      }
          ¹®Àå 4 ;

if ~ else if ±¸Á¶


 


 [ ¿¹Á¦ 5-2.C ]

     #include  <stdio.h>
       main()
     {
        int  a; 
        printf("Á¤¼ö¸¦ ÀÔ·ÂÇϼ¼¿ä  ?  ") ;
        scanf ("%d",  &a) ;
        if ( a >= 0)
         prinft("%d´Â ¾ç¼öÀÔ´Ï´Ù.\n",  a) ;
        else
         prinft("%d´Â À½¼öÀÔ´Ï´Ù.\n",  a) ;
     }



[ÇÁ·Î±×·¥ Çؼ® ]

if (a .= 0)
        prinft ("%d´Â ¾ç¼öÀÔ´Ï´Ù.\n",  a) ;
    else
       printf ("%d´Â À½¼öÀÔ´Ï´Ù.\n",  a) ;

ÀÌ ºÎºÐÀº Å°º¸µå·Î ÀÔ·ÂµÈ ¼öÄ¡°¡ º¯¼ö a¿¡ ±â¾ïµÇ¾î aÀÇ °ªÀÌ 0º¸´Ù Å©¸é
printf (%d´Â ¾ç¼öÀÔ´Ï´Ù.\n",  a) ;°¡ ½ÇÇàµÇ°í ±×·¸Áö ¾ÊÀ¸¸é
printf ("%d´Â À½¼öÀÔ´Ï´Ù.\n", a);°¡ ½ÇÇàµÈ´Ù.

[¹®Á¦1] Å°º¸µå·ÎºÎÅÍ ÀÔ·ÂµÈ Á¤¼öÀÇ Àý´ë°ªÀ» È­¸é»ó¿¡ Ç¥½ÃµÇµµ·Ï ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.

[¹®Á¦2] ¾î¶² ½Ã¿Ü ¹ö½º ¿ä±ÝÀº ¾î¸¥ÀÌ 320¿ø, ¾î¸°ÀÌ°¡ 170¿øÀÔ´Ï´Ù. ´Ü, À¯¾Æ¸¦ µ¿¹ÝÇÑ ¾î¸¥
1¸í¿¡ ´ëÇØ 1¸í±îÁö´Â ¹«·áÀÌ°í, 2¸í°ºÎÅÍ´Â 1¸í´ç 50¿ø¾¿ÀÔ´Ï´Ù.  Å°º¸µå·ÎºÎÅÍ ÀÔ·ÂÇÑ Àü¿øÀÇ ¹ö½º ¿ä±ÝÀ» È­¸é»ó¿¡ Ç¥½ÃÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
 

ÀÔ·ÂÈ­¸é

 
 Àοø¼ö ÀÔ·Â
 ¾î   ¸¥ :
 ¾î¸°ÀÌ :
 À¯   ¾Æ : 
 ¿ä±Ý ÇÕ°è :
 


[Èù Æ®] ¾î¸¥ ¼ýÀÚº¸´Ù À¯¾Æ ¼ýÀÚ°¡ ¸¹À» ¶§ À¯¾Æ 1¸í´ç 50¿ø¾¿ÀÌ µÈ´Ù.

[¹®Á¦3] ÆíÁö¸¦ º¸³¾ ¶§ Áß·® 25g ÀÌÇÏÀÌ°í, µÎ²²°¡ 10mm ÀÌÇÏ´Â 60¿øÀ¸·Î º¸³¾ ¼ö ÀÖ´Ù.
             Áß·®°ú µÎ²²¸¦ Å°º¸µå·Î ÀÔ·ÂÇÏ°í, 60¿øÀ¸·Î º¸³¾ ¼ö ÀÖ´ÂÁö¸¦ ÆÇ´ÜÇؼ­ È­¸é»ó¿¡
             Ç¥½ÃÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.

[Èù Æ®] 1) Áß·®ÀÌ 25g ÀÌÇÏ            2) µÎ²²°¡ 10mm ÀÌÇÏ
            1),2) ÀÇ Á¶°ÇÀ» µ¿½Ã¿¡ ¸¸Á·ÇÒ ¶§ÀÇ Á¶°ÇÀ» üũÇÑ´Ù.


5.3.1.2 ´ÙÁß ¼±Åù®(switch ~ case)

switch ¹®Àº ´ÙÁß °áÁ¤¹®ÀÇ Æ¯º°ÇÑ ÇüÅ·Πcase µÚÀÇ »ó¼ö°ª°ú ÀÏÄ¡ÇÏ´ÂÁö¸¦ ¾Ë¾Æº¸°í
    ÀÏÄ¡ÇÏ¸é ºÐ±âÇÑ´Ù.
switch ¹®¿¡¼­ ¹þ¾î³ª·Á¸é break ¹®À» »ç¿ëÇØ¾ß ÇÑ´Ù.
switch ¹®À» »ç¿ëÇÏÁö ¾Ê°í ¿©·¯ °³ÀÇ case ¹®À» Åë°úÇÏ´Â °ÍÀÌ À¯¿ëÇÏ°Ô »ç¿ëµÉ ¶§µµ ÀÖ´Ù.
default °æ¿ì¸¦ ³Ö¾îÁÖ¸é caseÀÇ »ó¼ö°ª¿¡ ÀÏÄ¡ÇÏÁö ¾Ê´Â °æ¿ì¸¦ ó¸®ÇÒ ¶§ »ç¿ëµÈ´Ù.
break ¹®ÀÌ ¾ø´Â switch ~ case ¹®
 


    switch  (º¯¼ö ȤÀº ½Ä)
        { 
          case    ½Ä  1 :  ¹®Àå  1 ;
          case    ½Ä  2 :  ¹®Àå  2 ;
          case    ½Ä  3 :  ¹®Àå  3 ;
                       :
          case    ½Ä  n :  ¹®Àå n ;
          default          :  ¹®Àå  n+1 ;
        } 

break ¹®ÀÌ ¾ø´Â switch ~ case ¹®

 

 

 
switchÀÇ º¯¼ö ȤÀº ½ÄÀÇ °ªÀÌ ½Ä 1°ú °°Àº °æ¿ì
¹®Àå 1 ÀÌÈÄ ¹®ÀåµéÀ» ½ÇÇàÇÏ°í, ½Ä 2È­ °°À» °æ¿ì
¹®Àå 2 ÀÌÈÄ
 ¹®ÀåµéÀ» ¼öÇàÇÑ´Ù.  ¸¸¾à ¾î´Â °Í¿¡
µµ ÇØ´çµÇÁö ¾ÊÀ» °æ¿ì default·Î ÀúÀåÇÑ ¹®Àå
n+1À» ½ÇÇàÇÑ´Ù. default¹®Àº »ý·«ÇÒ ¼öµµ ÀÖ´Ù. 

break¹®ÀÌ ÀÖ´Â switch ~ case¹® 
 


    switch (º¯¼ö ȤÀº ½Ä)
        {
          case   ½Ä  1 : ¹®Àå  1 ;
                               break ;
          case   ½Ä  2 : ¹®Àå  2 ;
                               break ;
          case   ½Ä  3 : ¹®Àå  3 ; 
                               break ;
                      :           :
          case   ½Ä  n : ¹®Àå  n ;
                               break ;
          default         : ¹®Àå n+1 ;
                                break ;
        } 

break ¹®ÀÌ ÀÖ´Â switch ~ case ¹®

  
switchÀÇ º¯¼ö ȤÀº ½ÄÀÇ °ªÀÌ ½Ä1°ú °°À¸¸é
¹®Àå 1¸¸ ½ÇÇàÇÏ°í, ½Ä 2¿Í °°À¸¸é ¹®Àå 2¸¸
½ÇÇàÇϸç, ¸¸¾à ½Ä n°ú °°À¸¸é ¹®Àå n¸¸ ½ÇÇàÇÑ´Ù.
¾î´À °Í¿¡µµ ÇØ´çµÇÁö ¾ÊÀ» °æ¿ì default·Î ÁöÁ¤µÈ
¹®Àå n+1¸¸À» ½ÇÇàÇÑ´Ù. default¹®Àº »ý·«ÇÒ ¼ö ÀÖ´Ù.
 
 


[ ¿¹Á¦ 5-3.C ]

     # include <stdio.h>
     main()
     {
          int a=10  b=5,  c=0,  n;
          printf("±âÈ£ ÀÔ·Â = ");
          n=getchar() ;
          if (n == '+')
              c=a+b;
          else  if (n == '-')
                       c=a-b;
                   else  if (n == '*')
                                c=a*b;
                           else  if (n == '/')
                                        c=a/b;
          printf("%d %c %d = %d\n", a,  n,  b,  c);
     }



[¹®Á¦1] Å°º¸µå·ÎºÎÅÍ ÀÔ·ÂµÈ ¹®ÀÚ°¡ M ¶Ç´Â m À̸é man, W ¶Ç´Â wÀ̸é wowan,
            ±× ÀÌ¿ÜÀ̸é ???¸¦ È­¸é»ó¿¡ Ç¥½ÃÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.

 


[ ¿¹Á¦ 5-4.C ]

     # include <stdio.h>
     main()
     {
          int  n;
          printf("10Áø Á¤¼ö ÀÔ·Â =");
          scanf("%d",  &n);
          switch(n)
              {
                case  1 : printf("10Áø Á¤¼ö 1À» ÀÔ·Â Çß½À´Ï´Ù.\n");
                               break;
                case  2 : printf("10Áø Á¤¼ö 2À» ÀÔ·Â Çß½À´Ï´Ù.\n");
                               break;
                case  3 : printf("10Áø Á¤¼ö 3À» ÀÔ·Â Çß½À´Ï´Ù.\n");
                               break;
                default  : printf("1~3 ÀÌ¿ÜÀÇ 10Áø Á¤¼ö¸¦ ÀÔ·Â Çß½À´Ï´Ù.\n");
              }
     }


 
[¹®Á¦2] Å°º¸µå·Î Á¡¼ö¸¦ ÀÔ·Â¹Þ¾Æ Á¡¼ö¿¡ ¸Â´Â ÇÐÁ¡À» Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
 

Á¡    ¼ö

ÇÐ    Á¡

90Á¡ÀÌ»ó

A

80Á¡ÀÌ»ó

B

70Á¡ÀÌ»ó

C

60Á¡ÀÌ»ó

D

60Á¡¹Ì¸¸

F

 

 


[ ¿¹Á¦ 5-5.C ]

     # include <stdio.h>
     main()
     {
          int  a=10,  b=5,  c=0,  n;
          printf("±âÈ£ ÀÔ·Â = ") ;
          n=getchar() ;
          switch(n)
              {
                case  '+' : c=a+b;
                                 break;
                case  '-' : c=a-b;
                                 break;
                case  '*' : c=a*b;
                                 break;
                case  '/' :  c=a/b;
                                 break;
              }
          printf("%d %c %d = %d\n", a,  n,  b,  c) ;
     }


 
[¹®Á¦3] Å°º¸µå·Î 1¹®ÀÚ¸¦ ÀÔ·ÂÇÏ°í, M ¶Ç´Â mÀ̸é morning A ¶Ç´Â aÀ̸é afternoon ±× ÀÌ¿ÜÀ̸é
             ???¸¦ È­¸é»ó¿¡ Ç¥½ÃÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
 

 

 5.3.2 ¹Ýº¹¹®(iterative statement)     top À¸·Î...

ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Ùº¸¸é °°Àº ÀÛ¾÷À» ¿©·¯ ¹ø ¹Ýº¹ÇØ¾ß ÇÒ °æ¿ì°¡ ÀÖ´Ù.  ÀÌ ¶§ °°Àº ³»¿ëÀÇ
     ¹®ÀåµéÀ» ¿©·¯ ¹ø ÀÛ¼ºÇÏÁö ¾Ê°í ¿øÇÏ´Â ÀÛ¾÷À» ¹Ýº¹½ÃÅ°´Â ¹Ýº¹¹®À¸·Î C ¾ð¾î¿¡¼­´Â
    ¹«ÇÑÁ¤Çü ¼± Á¦¾î ¹Ýº¹ ¸í·ÉÀÎ while¹®, ÇѰ輺 ¹Ýº¹ ¸í·ÉÀÎ  for ¹®, ¹«ÇÑÁ¤Çü ÈÄ Á¦¾î ¹Ýº¹
    ¸í·ÉÀΠdo~ while¹® µîÀÌ ÀÖ´Ù.

¹Ýº¹¹®

 

 

5.3.2.1 while ¹®

°°Àº 󸮸¦ ¹Ýº¹Çؼ­ ó¸®ÇÏ´Â Á¦¾î±¸Á¶ÀÌ´Ù.
while¹®ÀÇ Á¶°Ç½Ä °ªÀÌ ÂüÀÏ ¶§ ºí·Ï({}) ȤÀº ¹®Àå ³»¿ëÀ» ½ÇÇàÇÏ°í, °á°ú°ªÀÌ °ÅÁþÀ̸é
    ºí·Ï ¹ÛÀÇ ¹®ÀåÀ» ½ÇÇàÇÑ´Ù.
¹Ýµå½Ã ºí·Ï ¾È¿¡ Á¶°Ç½ÄÀÇ °á°ú°ªÀ» º¯È­½ÃÅ°´Â ¹®ÀåÀÌ ÇÊ¿äÇϸç, Á¶°Ç½ÄÀÌ À߸ø 󸮵É
     °æ¿ì ¹«ÇÑ ·çÇÁ(loop)¿¡ ºüÁö°Ô µÇ¹Ç·Î Á¶½ÉÇØ¾ß ÇÑ´Ù.

 

¿¹1)

¿¹2)

   i = 1;
   while (i<=10) 
            { 
              ........;
               ++i;
              ........;
             } 

   i = 1;
   while (i<=10) 
             {
              .........:
               ++j;
              .........;
             } 


Á¶°Ç½Ä¿¡ 0 ¾Æ´Ñ »ó¼ö¸¦ ³ÖÀ¸¸é ¹«ÇÑ ·çÇÁ¿¡ ºüÁø´Ù.  ÀÌ ¶§ ¹«ÇÑ ·çÇÁ ºí·Ï¿¡¼­ ºüÁ®³ª¿À°Ô
    ÇÏ´Â ¹æ¹ýÀº break¹®À» »ç¿ëÇÑ´Ù.

¿¹1)

¿¹2)

 
   while (1) 
            { 
              ........;
              ........;
             } 

   i = 1;
   while (1)
             {
              .........:
               if (I ==10) break;
              .........;
             } 



 

[Çü½Ä]

   while (Á¶°Ç½Ä) 
            { 
              ¹®Àå  1 ;
              ¹®Àå  2 ;
              ........;
              ¹®Àå  n ;
             } 
   ¹®Àå  n+1 ;  

while¹®

 


[ ¿¹Á¦ 5-6.C ]

     #include <stdio.h>
     main()
     {
          int a,  suma=0;

         a = 1;
         sum = sum + a;
         a = 2;
         sum = sum + a;
         a = 3;
         sum = sum + a;
         a = 4;
         sum = sum + a;
         a = 5;
         sum = sum + a;

          printf("sum = %d\n",  sum);
     }



[ ¿¹Á¦ 5-7.C ]

     #include <stdio.h>
     main()
     {
          int a,  sum=0;
          while(a<=5)
                  {
                    sum=sum+a;
                    ++a;
                   }
          printf("sum = %d\n",  sum) ;
     }



[ ¿¹Á¦ 5-8.C ]

     #include <stdio.h>
     main()
     {
          int  c;
          c = getchar() ;
          while(c != EOF)
                  {
                    putchar(c) ;
                    c=getchar() ;
                   }
     }



[ÇÁ·Î±×·¥ Çؼ®]

Å°º¸µå·Î ^Z(Ctrl+Z)°¡ ÀԷµǸé getchar() ÇÔ¼ö´Â -1(EOF:End Of File)À» µÇµ¹·Á ÁØ´Ù.
    ±×·¯¹Ç·Î while(c != EOF)Àº º¯¼ö c¿¡ µé¾îÀÖ´Â µ¥ÀÌÅÍ°¡ ^Z°¡ ¾Æ´Ò ¶§ ±îÁö ¹Ýº¹ÇÏ¿©
    ½ÇÇàÇÑ´Ù.
EOF´Â ±âÈ£ »ó¼ö·Î stdio.h¿¡¼­ -1·Î Á¤ÀǵǾî ÀÖ´Ù.
^Z¸¦ ÀνÄÇϱâ À§Çؼ­´Â º¯¼ö c¸¦ int ÇüÀ¸·Î ¸¸µé¾î ³õ´Â´Ù.  char ÇüÀº -1À» ÀνÄÇÒ ¼ö
     ¾ø´Ù.

[¹®Á¦1] 1ºÎÅÍ 10±îÁöÀÇ ÇÕÀ» ±¸Çؼ­ È­¸é»ó¿¡ ³ªÅ¸³½´Ù.  À̶§ while¹®ÀÇ Á¶°Ç½ÄÀÇ °ªµµ
             È­¸é»ó¿¡ Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.

[¹®Á¦2] 1
2 + 22 + ....+ i2  ÀÌ 1000À» ³ÑÀ» ¶§ÀÇ i¿Í ÇÕÀ» ±¸ÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.

    ¡¼Èù  Æ®¡½ ¨ç i¸¦ 1¾¿ Áõ°¡                ¨è iÀÇ Á¦°ö ÇÕ°è º¯¼ö¿¡ °¡»ê
                    ¨é Á¦°ö ÇÕ°è º¯¼ö°¡ 1000 ÀÌÇÏÀÏ ¶§±îÁö ¹Ýº¹ÇÑ´Ù. 

5.3.2.2 for¹®

for ¸í·ÉÀº C¾ð¾î¿¡¼­ °¡Àå ¸¹ÀÌ »ç¿ëÇÏ´Â ¸í·É¾î ÁßÀÇ Çϳª·Î ÀÏÁ¤ÇÑ È½¼ö¸¸Å­ ¹Ýº¹ ÀÛ¾÷À»
    Çϱ⠶§¹®¿¡ ÇѰ輺 ¹Ýº¹ ¸í·ÉÀ̶ó°í ÇÑ´Ù.
while ¹®ÀÌ ¹Ýº¹ Á¶°Ç¿¡ ÀÇÇÑ ¹Ýº¹ÀÎ ´ë»ê. for¹®Àº Á¦¾î º¯¼öÀÇ ÃʱâÈ­, ¹Ýº¹ Á¶°Ç, Á¦¾î º¯¼ö
     ÀÇ º¯È­¶ó´Â Çü½ÄÀ¸·Î ±â¼úÇÑ´Ù.

               ¿¹)

    while (Á¶°Ç½Ä) 
            { 
              ........;
              ........;
             } 

   for (ÃʱâÈ­; ¹Ýº¹Á¶°Ç; º¯¼öÀÇ º¯È­)
          {
             .........:
             .........;
           } 


¹Ýº¹µÉ ºÎºÐÀÌ ÇÑ °³ÀÇ ¹®ÀåÀÌ¸é ºí·Ï({})À» »ý·«Çصµ µÈ´Ù.

                ¿¹)

    for (      ) 
            { 
              ........;
            } 

   for (       )
         .........:

 


[Çü½Ä]

   for (Ãʱâ½Ä; Á¶°Ç½Ä; Áõ°¨½Ä) 
        { 
           ¹®Àå  1 ;
           ¹®Àå  2 ;
             ........ ;
           ¹®Àå  n ;
        } 
   ¹®Àå  n+1 ; 

for¹®


¨ç Ãʱâ½ÄÀº for¹®ÀÇ ·çÇÁ°¡ ½ÇÇàµÇ±â Àü¿¡ ´Ü Çѹø ½ÇÇàµÇ¸é,
    ¿©·¯ °³ÀÇ ½ÄÀ» ±â¼úÇÒ ¼ö ÀÖ´Ù.  À̶§ ½ÄÀº ÄÞ¸¶(,) ¿¬»êÀÚ
    ·Î ±¸ºÐÇÑ´Ù.
¨è Á¶°Ç½ÄÀº ·çÇÁÀÇ ½ÇÇà Áß ¸Åȸ Á¶»ç¸¦ ÇÏ¸ç ´Ü 1°³ÀÇ ¹®Àå
    ¸¸À» ±â¼úÇÒ ¼ö ÀÖ´Ù.
    Á¶°Ç½ÄÀº ÂüÀÎ °Ü¿ì ·çÇÁ¸¦ ¹Ýº¹ÇÏ°í °ÅÁþÀÎ °æ¿ì ·çÇÁ¸¦
    ºüÁ® ³ª°£´Ù.
¨é Áõ°¨½ÄÀº ·çÇÁÀÇ ´ÙÀ½ ´Ü°è¸¦ ÁغñÇÏ´Â ´Ü°è·Î ¿©·¯ °³ÀÇ
    ½ÄÀ» ³ª¿­ÇÒ ¼ö ÀÖÀ¸¸ç, ÄÞ¸¶(,) ¿¬»êÀÚ·Î ½ÄÀ» ±¸ºÐÇÑ´Ù.

»ç¿ë¿¹)

  ¨ç for (i=10;  i<=20;  ++i)
  ¨è for (i=5,  j=10;  (i>0 && j>20) ;  ++i)
  ¨é for (i=5,  j=10;  (i>0 && j>20) ;  ++i,  j+=3)


¿¹Á¦ 5-6.C¸¦ for¹®À» »ç¿ëÇؼ­ °íÃÄ º¾½Ã´Ù.

 


[ ¿¹Á¦ 5-9.C ]

     #include <stdio.h>
     main()
     {
          int  a,   sum=0;
          for (a=1;  a<=5;  ++a)
                 sum = sum + a;
          printf("sum = %d\n",  sum) ;
     }



[¹®Á¦1] 1
2  , 22  , 32  , ......., 102 ÀÇ °ªÀ» ¼ø¼­´ë·Î Ç¥½ÃÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.

[¹®Á¦2] 210 À» ±¸ÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.

[¹®Á¦3] ±¸±¸´Ü Ç¥¸¦ ¸¸µå´Â  ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.

 

5.3.2.3 do~while ¹®

while¹®°ú. for¹®Àº ¸ÕÀú Á¶°Ç ¼ö½ÄÀÌ Æò°¡µÈ ÈÄ Á¶°ÇÀÌ Âü ÀÏ ¶§ ÁöÁ¤µÈ 󸮸¦ ½ÇÇàÇÏ´Â °Í¿¡ ¹ÝÇÏ¿©,  do~while¹®Àº
     ¹«Á¶°Ç Çѹø do ´ÙÀ½ÀÇ ¹®ÀåÀ» ½ÇÇàÇÑ ÈÄ Á¶°Ç ¼ö½ÄÀ» Æò°¡ÇÑ´Ù.

[Çü½Ä]

   do
       { 
         ¹®Àå  1 ;
         ¹®Àå  2 ;
           ........ ;
         ¹®Àå  n ;
        } 
   while(Á¶°Ç½Ä)
   ¹®Àå  n+1 ; 

do~while¹®

 



[ ¿¹Á¦ 5-10.C ]

     #include <stdio.h>
     main()
     {
          int  i=0,   sum=0;
          do
            {
              sum = sum + i;
               ++i;
             }
           while(i<=30) ;
          printf("1ºÎÅÍ 30±îÁöÀÇ ÇÕ = %d\n",  sum) ;
     }


 

 

5.3.3 ºÐ±â¹®(branching statement)     top À¸·Î...

¹Ýº¹¹®À» »ç¿ëÇÏ¿© ·çÇÁ°¡ ¹Ýº¹µÇ´Â µ¿¾È ·çÇÁ·ÎºÎÅÍ ºüÁ®³ª°¡±â À§Çؼ­´Â ºÐ±â¹®ÀÌ ÇÊ¿äÇÏ´Ù.
C ¾ð¾î¿¡¼­ ºÐ±â¹®ÀÇ Á¾·ù·Î´Â goto¹®,  break¹®,  continue¹® µîÀÌ ÀÖ´Ù.

5.3.3.1 goto ¹®

¹®ÀåÀÇ Á¦¾î¸¦ ¹«Á¶°ÇÀûÀ¸·Î ·¹ÀÌºí ¹®ÀÌ ÀÖ´Â °÷À¸·Î À̵¿½ÃŲ´Ù.
 
               ¿¹)

goto ¹®


·¹À̺í¸íÀº º¯¼ö¸íÀ» ¸¸µå´Â ±ÔÄ¢°ú °°À¸¸ç, ·¹À̺í¸í µÚ¿¡´Â ÄÝ·Ð(:)À» ºÙ¿© »ç¿ëÇÑ´Ù.
C ¾ð¾î´Â ÇÔ¼öÇü ¾ð¾îÀÌ°í,  ±¸Á¶Àû ¾ð¾îÀ̱⠶§¹®¿¡ ¸¸ÀÏ goto ¹®À» »ç¿ëÇÏ¸é ¹®ÀåÀÇ È帧À» ÀÌÇØÇÏ´Â µ¥
     ¾î·Á¿òÀ» Áֱ⠶§¹®¿¡ Àß »ç¿ëÇÏÁö ¾Ê´Â´Ù.


[ ¿¹Á¦ 5-11.C ]

     #include <stdio.h>
     main()
     {
          int  i=1,   sum=0;
          while(1)
                {
                  sum += i;
               ++i;
               if  (i>20) goto jmp;
                }
          jmp:
          printf("goto¹®À» ÀÌ¿ëÇÑ 1ºÎÅÍ 30±îÁöÀÇ ÇÕ = %d\n",  sum) ;
     }


 

5.3.3.2 continue ¹®°ú break ¹®

for,  while,  do~while°ú °°Àº ¹Ýº¹¹®ÀÇ ·çÇÁ(loop)¸¦ ½ÇÇàÇÏ´Ù°¡ continue¹®À» ¸¸³ª¸é ±× ÀÌÈÄÀÇ ¹®ÀåµéÀ» ½ÇÇàÇÏÁö
    ¾Ê°í ·çÇÁÀÇ Á¶°Ç üũ ºÎºÐÀ¸·Î Á¦¾î¸¦ ¿Å±ä´Ù.

continue¹®

for,  while,  do~while°ú °°Àº ¹Ýº¹¹®ÀÇ ·çÇÁ¸¦ ½ÇÇàÇÏ´Ù°¡ break¹®À» ¸¸³ª¸é ¹Ýº¹¹®ÀÇ ·çÇÁ ºÎºÐÀ» ºüÁ®³ª°£´Ù.

 

break¹®

 


[ ¿¹Á¦ 5-12.C ]

     #include <stdio.h>
     main()
     {
          short  i;
          for (i=0;  i<8;  ++i)
                {
                  if  (i == 3)
                       continue;
                 printf("i = %d\n",  i) ;
                }
     }



[ ¿¹Á¦ 5-13.C ]

     #include <stdio.h>
     main()
     {
          short  i;
          for (i=0;  i<8;  ++i)
                {
                  if  (i == 3)
                       break;
                 printf("i = %d\n",  i) ;
                }
     }



[ ¿¹Á¦ 5-13.C ]

     #include <stdio.h>
     main()
     {
          short  i;
          for (i=0;  i<8;  ++i)
                {
                  for (j=0;  j<=i ;  ++j)
                       { 

 

                       printf("*");
                     }
          printf("\n") ;
               }
     }



 ¡à ¾È¿¡ if ¹®°ú continue¹®,  break¹®À» »ç¿ëÇÏ¿© ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ°í ¾Æ·¡ÂÊ¿¡ ÀÖ´Â ½ÇÇà°á°ú ¶õ¿¡ Àû¾îº¾½Ã´Ù.

[¹®Á¦1] ´ÙÀ½ ¹®ÀåµéÀÌ µé¾î°¥ ¼ö ÀÖµµ·Ï 10ºÎÅÍ 20±îÁöÀÇ ÇÕÀ» ±¸ÇÏ¿© È­¸é»ó¿¡ ³ªÅ¸³»´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.

 

     #include  <stdio.h>
     main()
     {
        .....................;
        .....................;
        while(1)
                {
                  ..................;
                  ................. ; 
                 }
         ...................;
         ...................; 
     } 


[¹®Á¦2] Å°º¸µå·ÎºÎÅÍ ¹®ÀÚ¿­À» ÀÔ·Â¹Þ¾Æ 1°³ÀÇ ¹®ÀÚ¾¿ È­¸é»ó¿¡ Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.(for ȤÀº while¹® »ç¿ë)

[¹®Á¦3] Å°º¸µå·ÎºÎÅÍ Å¾ ¿¬µµ¸¦ ÀÔ·Â¹Þ¾Æ ¶ì¸¦ ÀÚµ¿ÀûÀ¸·Î °è»êÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.(if~else¹®°ú switch¹® »ç¿ë)

 ¡¼Èù Æ®¡½ ¿¬µµ¸¦ 12·Î ³ª´« ³ª¸ÓÁö°¡ 0ÀÌ¸é ¿ø¼þÀ̶ì, 1ÀÌ¸é ´ß¶ì, 2ÀÌ¸é °³¶§, 3ÀÌ¸é µÅÁö¶ì, 4À̸é Áã¶ì, 5ÀÌ¸é ¼Ò¶ì,
                6ÀÌ¸é ¹ü¶ì, 7À̸é Åä³¢¶ì, 8ÀÌ¸é ¿ë¶ì, 9ÀÌ¸é ¹ì¶ì, 10ÀÌ¸é ¸»¶ì, 11ÀÌ¸é ¾ç¶ìÀÌ´Ù.

[¹®Á¦4] 1¿¡¼­ 100 »çÀÌÀÇ Â¦¼öÀÇ ÇÕÀ» if goto¹®, while¹®, for¹®À» »ç¿ëÇؼ­ °¢°¢ÀÇ ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.

[¹®Á¦5] 1¿¡¼­ 30»çÀÌÀÇ ¼ö¿¡¼­ 4ÀÇ ¹è¼ö¿Í 7ÀÇ ¹è¼ö¸¦ ±¸ÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.

[¹®Á¦6] 10°³ÀÇ Á¤¼ö¸¦ ¹è¿­ º¯¼ö¿¡ ÇÒ´çÇÏ¿© ÃÖ´ë°ª°ú ÃÖ¼Ò°ªÀ» ±¸ÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.

[¹®Á¦7] Å°º¸µå·ÎºÎÅÍ ±¸±¸´ÜÀÇ ´ÜÀ» Á¤¼ö·Î ÀÔ·Â¹Þ¾Æ ¾Æ·¡¿Í °°ÀÌ È­¸é»ó¿¡ Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
 

     ´ÜÀ» Á¤¼ö·Î ÀÔ·Â : 2
       2´Ü
       2 * 1 = 2
       2 * 2 = 4
       2 * 3 = 6
       ............
       2 * 9 = 18 


[¹®Á¦8] ´ÙÀ½ ÇÁ·Î±×·¥ÀÌ goto¹®À» »ç¿ëÇÏÁö ¾Ê°í ´Ù½Ã ÀÛ¼ºÇϽÿÀ.
 

     #include  <stdio.h>
     main()
     {
        int  i=0,  sum=0 ;
        Again:
        ++i ;
        sum += i;
        if  (i == 50)
             printf("1+2+3+...+50 = %d\n",  sum) ;
        else
             goto Again;
     } 


 


µ¿ÁÖ´ëÇÐ Àü»ê°ú È«¼ö¿­
copyright(c) 1998.
sooyoul Hong All Right Reserve