[3] C ¾ð¾î ÇÁ·Î±×·¡¹Ö

    5. Á¶°Ç¹®(¼±Åù® ; Á¦¾î ±¸Á¶)


      ¨Í Á¦¾î ±¸Á¶ : ÇÁ·Î±×·¥ÀÇ È帧À» °­Á¦·Î º¯È¯½Ã۰í ƯÁ¤ ºÎºÐÀ» ¹Ýº¹ÇÏ´Â ¸í·É¾î

        ¨ç ¼øÂ÷ÀûÀ¸·Î ¹®ÀåÀ» ¼öÇàÇÏ´Â ±â´É
        ¨è ¾î¶² Á¶°ÇÀÌ ¸¸Á·ÇÒ ¶§±îÁö ÀÏ·ÃÀÇ ¹®ÀåÀ» ¹Ýº¹ ¼öÇàÇÏ´Â ±â´É
        ¨é Á¶°Ç(Âü(true)°ú °ÅÁþ(false))¿¡ µû¸¥ ¸í·É¹®À» ¼±Åà ÇÒ ¼ö ÀÖ´Â ±â´É

      ¨Î ±¸Á¶È­ ÇÁ·Î±×·¡¹Ö : goto¹®À» °¡±ÞÀûÀ¸·Î ¹èÁ¦ÇØ  ±âº» Á¦¾î ±¸Á¶¸¦ »ç¿ëÇÏ¿© ºÎºÐÀûÀ¸·Î ÀÛ¼ºÇÏ´Â ±â¹ýÀÌ´Ù. ±×·¸°Ô ÇÔÀ¸·Î½á ÇÁ·Î±×·¥ÀÇ ½Å·Úµµ¿Í º¸¼ö, È®ÀåÀÌ ¿ëÀÌÇÏ°í ¾Ë±â ½¬¿î ÇÁ·Î±×·¥ÀÌ µÈ´Ù. Áï ´ÜÀÏ ÀÔ±¸¿Í ´ÜÀÏ Ãⱸ·Î ±¸¼ºµÇ¾î °ÅÀÇ goto¹®À» »ç¿ëÇÏÁö ¾Ê°í ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â ±â¹ýÀÌ´Ù.

 

 

 

 

 

 

 

 

¡Þ ¼øÂ÷ ±¸Á¶

 

¿¬¼Ó(sequence)

 

 

 

 

 

¡Þ ¼±Å౸Á¶

 

 

ÆÇ´Ü(if else)

 

Á¶°ÇÀÇ ºñ±³ ÆÇ´Ü

 

 

 

 

 

 

ºÐ±â(switch case)

 

¿©·¯ ¹æÇâÀ¸·Î ºÐ±â

 

 

 

 

¡Þ ¹Ýº¹ ±¸Á¶

 

 

¹Ýº¹(while)

 

Á¶°Ç ÆÇ´ÜÀ» ¸ÕÀú ÇÔ

 

 

 

 

 

 

¹Ýº¹(do while)

 

Á¶°Ç ÆÇ´ÜÀ» ³ªÁß¿¡ ÇÔ

 

 

 

 

 

¹Ýº¹(for)

 

ÁöÁ¤ È½¼ö¸¸Å­ ¹Ýº¹

 

 

 

 

 

 

 

 

 

 

      ¨¿ if ¹®
      : if¹®Áß¿¡¼­ °¡Àå ±âº»ÀûÀÎ Á¶°Ç ÆÇ´Ü¹®, ¾î¶² Á¶°ÇÀÇ Âü°ú °ÅÁþÀ» µûÁ® ÇÁ·Î±×·¥ÀÇ È帧À» ¹Ù²Ù´Â °ÍÀ» Á¶°Ç Á¦¾î¶ó°í ÇÑ´Ù.

if (Á¶°Ç½Ä)

¹®Àå;

´ÙÀ½ ¹®Àå;

        ¨ÍÁ¶°Ç½Ä : »ó¼ö, º¯¼ö, ³í¸®½Ä, ÇÔ¼ö °ª µîÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×¸®°í Á¶°Ç½Ä ¹Ù·Î ´ÙÀ½(Á¶°Ç½Ä ¹®Àå)¿¡ ¼¼¹ÌÄÝ·Ð(;)Àº »ç¿ëÇÏÁö ¾Ê´Â´Ù. ¸¸¾à Á¶°Ç½Ä ´ÙÀ½¿¡ ¼¼¹ÌÄÝ·ÐÀÌ ºÙÀ¸¸é, ¼¼¹ÌÄÝ·ÐÀÌ ÀÖ´Â ¿ÏÀüÇÑ ¹®ÀåÀ¸·Î ÇØ¼®ÇÑ´Ù.(ÀǵµÇÏÁö ¾Ê´Â °á°ú°¡ »êÃâµÉ ¼ö ÀÖ´Ù.) Á¶°Ç½ÄÀº ¡®(¡¯,¡®)¡¯·Î ¹­¾î¾ß ÇÑ´Ù.

           ¿¹)













if(Á¶°Ç½Ä);

¢¡

 if(Á¶°Ç½Ä)





     ¹®Àå;


          ;

¢¡

°ø¹é ¹®ÀåÀ¸·Î Çؼ®





      ¹®Àå;

¢¡

Á¶°Ç½Ä¿¡ °ü°è¾øÀÌ ½ÇÇà







    






        ¨Î Á¶°Ç½ÄÀÌ ÂüÀÎ °æ¿ì¿¡´Â Á¶°Ç½Ä ¹Ù·Î µÚÀÇ ¹®ÀåÀÌ ½ÇÇàµÇ°í °ÅÁþÀÏ °æ¿ì¿¡´Â ¹®Àå µÚÀÇ ¹®ÀåÀÌ ½ÇÇàµÈ´Ù.
        ¨Ï ÂüÀÏ ¶§ ½ÇÇàµÇ´Â ¹®ÀåÀÌ ´Ü¹®(ÇϳªÀÇ ¹®Àå)ÀÌ ¾Æ´Ò °æ¿ì, ¡®{¡¯,¡®}¡¯¸¦ ÀÌ¿ëÇÏ¿© º¹¹®(¿©·¯ °³ÀÇ ¹®Àå)À» »ç¿ëÇÒ ¼ö ÀÖ´Ù.

           ¿¹) ´ë¹®ÀÚ¸¦ ¼Ò¹®ÀÚ·Î º¯È¯ÇÏ¿© Ãâ·Â

if(Á¶°Ç½Ä)

  {

   ¹®Àå 1;

   ¹®Àå 2;

   ¹®Àå 3;

   ......

  }

   ......

 int c = getchar( );

 if('A' <= c && c <= 'Z')  

   { 

     c += ('a' - 'A');

   }

 putchar(c);

                  if (Á¶°Ç½Ä)
                  {

                     ¹®Àå 1;

                  } else {

                     ¹®Àå 2;

                  }

                  ´ÙÀ½ ¹®Àå;

        ¨Í Á¶°Ç½ÄÀÇ °á°ú°¡ ÂüÀÌ¸é ¹Ù·Î ¾Æ·¡ÀÇ ¹®Àå1À» ½ÇÇàÇÏ°í °ÅÁþÀÎ °æ¿ì¿¡´Â ´ÙÀ½ÀÇ ¹®ÀåÀÌ ½ÇÇàµÈ´Ù. ¹®ÀåÀÌ ÇϳªÀÏ ¶§´Â ¡®{',¡®}'À» »ý·«Çصµ µÈ´Ù.
        ¨Î 3Ç× ¿¬»êÀÚ ? : ·Î ³ªÅ¸³¾ ¼ö ÀÖ´Ù.(¿¬»êÀÚ ÂüÁ¶)

           ¿¹) ¼ºÀûó¸® ÇÁ·Î±×·¥

if(Á¶°Ç½Ä)

  {

   ¹®Àå 1;

   ......

  }

else

  {

   ¹®Àå 2;

   ......

  }

   ......

if(score >= 90)  

  { 

   rank = 'A';

  }

 else

  {

   rank = 'B';

  }

printf("\nRank : %c", rank);

   rank = (score >= 90)? 'A' : 'B';

   printf("\nRank : %c", rank);

      ¨Á if ¢¦ else ¢¦ if ¹®
      : °¡²û if ¢¦ else¹®¿¡¼­ if ¢¦ else¹®À» »ç¿ëÇÒ ¶§°¡ ÀÖ´Ù. ÀÌ °ÍÀº ¸¹Àº Á¶°ÇÀ» °Ë»çÇÒ °æ¿ì¿¡ Á¾Á¾ »ç¿ëµÈ´Ù.

                  if (Á¶°Ç½Ä 1)
                  {

                         ¹®Àå 1;

                  } else if(Á¶°Ç½Ä 2)
                  {

                         ¹®Àå 2;

                  } else if (Á¶°Ç½Ä 3)
                  {

                         ¹®Àå 3;
                  }

                     ´ÙÀ½ ¹®Àå;

        ¨Í Á¶°Ç½Ä 1ÀÌ ÂüÀÌ¸é ¹®Àå1À» ¼öÇàÇϰí, °ÅÁþÀ̸é else ifÀÇ Á¶°Ç½Ä 2¸¦ °Ë»çÇÑ´Ù. ¿©±â¼­ Á¶°Ç½Ä 2°¡ ÂüÀÌ¸é ¹®Àå 2¸¦ ¼öÇàÇϰí, °ÅÁþÀÌ¸é ¾Æ·¡ÀÇ else ifÀÇ Á¶°Ç½Ä 3À» °Ë»çÇÑ´Ù. À̰͵µ ¶Ç °ÅÁþÀ̸é Á¦ÀÏ ¸¶Áö¸· elseÀÇ ¡°´ÙÀ½ ¹®À塱À» ¼öÇàÇÑ´Ù.

           ¿¹) ¼ºÀûó¸® ÇÁ·Î±×·¥

if(Á¶°Ç½Ä 1)

  {

   ¹®Àå 1;

   ......

  }

else if(Á¶°Ç½Ä 2)

  {

   ¹®Àå 2;

   ......

  }

  else if(Á¶°Ç½Ä 2)

   {

    ¹®Àå 3;

    ......

   }  

   ......

if(score >= 90)  

  { 

   rank = 'A';

  }

 else if(score >= 80)  

   { 

    rank = 'B';

   }

   else

    {

     rank = 'C';

    }

printf("\nRank : %c", rank);

  rank = (score >= 90)? 'A' : (score >= 80)? 'B' : 'C';

printf("\nRank : %c", rank);

      ¨Â switch ¢¦ case ¹®(¼±Åà Á¦¾î¹®)
      : switch ¢¦ case¹®Àº º£ÀÌÁ÷ÀÇ on¢¦goto¹®°ú ºñ½ÁÇϸç, Á¶°ÇÀÌ ¿©·¯ °³ÀÏ ¶§ »ç¿ëÇÏ¸é Æí¸®ÇÏ´Ù. À̰ÍÀº if ¢¦elseÀÇ ±¸Á¶ÀÇ Æ¯¼öÇÑ °æ¿ì·Î ±â´É ¸é¿¡¼­ À¶Å뼺ÀÌ ¸¹´Ù.

switch (Á¶°Ç½Ä ; º¯¼ö ¶Ç´Â ¼ö½Ä)

  {                            

   case ½Ä1 : ¸í·É¹®; ¸í·É¹®;  

             ¸í·É¹®; ....;     

             ....             

   case ½Ä2 : ¸í·É¹®; ¸í·É¹®;  

             ¸í·É¹®; ....;     

             ....             

             .....            

   case ½Än : ¸í·É¹®; ¸í·É¹®;  

             ¸í·É¹®; ....;     

             ....             

   default : ¸í·É¹®; ¸í·É¹®;    

             ......;           

  }                            

 ¿©±â¼­ ½Ä1¢¦½ÄnÀº ¹Ýµå½Ã »ó¼ö ȤÀº »ó¼ö ½ÄÀ̾î¾ß ÇÑ´Ù.

ÇÁ·Î±×·¥ÀÇ ½ÇÇàÀº Á¶°Ç½ÄÀÇ °ª°ú case µÚÀÇ ´ÙÀ½ÀÇ ½ÄÀ» ºñ±³ÇÏ¿© °ªÀÌ °°Àº °÷À¸·Î Á¦¾î¸¦ ¿Å±ä´Ù.

Áï ¸ÕÀú ¼ö½ÄÀ» Æò°¡ÇÑ ´ÙÀ½ ±× °á°ú °ªÀ¸·Î óÀ½ÀÇ caseºÎÅÍ ºñ±³ÇØ ³ª°£´Ù. ¼ö½Ä°ú ½ÄÀÇ °ªÀÌ °°ÀÌ °°À» °æ¿ì caseÀÇ ´ÙÀ½ ¹®ÀåÀ» ½ÇÇàÇÑ´Ù.

ÀÏÄ¡µÇ´Â °ªÀÌ ¾øÀ¸¸é default ´ÙÀ½ÀÇ ¹®ÀåÀ» ½ÇÇàÇÑ´Ù.

±×¸®°í case ´ÙÀ½ ¹®ÀåÀº ºí·ÏÀÌ ¾Æ´Ï¹Ç·Î ¿©·¯ °³ÀÇ ¹®ÀåÀ» ³ª¿­ÇÒ ¼ö ÀÖÁö¸¸ { }·Î ¹­À¸¸é ¾ÈµÈ´Ù.

        ¨Í C¿¡¼­´Â case ¸í·É¹®À» ¼öÇàÇÑ µÚ¿¡µµ { }¾ÈÀÇ switch ºí·ÏÀ» ºüÁ® ³ª¿ÀÁö ¾Ê°í, ±× ¾Æ·¡ÀÇ case ºí·ÏÀ» °è¼Ó ¼öÇàÇÏ¿© ¸¶Áö¸· case ȤÀº default°¡Áö ¼öÇàÇÑ ÈÄ¿¡ switch ºí·ÏÀ» ºüÁ® ³ª¿Â´Ù.
           C¿¡¼­ switch °­Á¦·Î ºí·ÏÀ» ºüÁ® ¿À·Á¸é break(6Àý ÂüÁ¶)¸í·ÉÀ» »ç¿ëÇÑ´Ù. break¸í·ÉÀ» ¸¸³ª¸é Áï½Ã switchºí·ÏÀ» ºüÁ®³ª°¡°í, break¸í·ÉÀ» ¸¸³ªÁö ¾ÊÀ¸¸é ¸¶Áö¸·ÀÇ ¡®}¡¯À» ¸¸³¯ ¶§±îÁö °è¼Ó ¼öÇàÇÑ´Ù. ±×·±µ¥ ¼ö½Ä°ú ½ÄÀ» ºñ±³ÇØ º¸¾Æµµ ÀÏÄ¡ÇÏ´Â °ÍÀÌ ¾øÀ¸¸é default¿¡ µþ¸° ¹®ÀåÀ» ¼öÇàÇÑ´Ù. ÀÌ default´Â »ç¿ëÇÏÁö ¾Ê¾Æµµ µÈ´Ù.
        ¨Î break´Â ´ÜÁö ÇÁ·Î±×·¥ÀÇ È帧À» case¹®¿¡¼­ ¹þ¾î³ª°Ô ÇÏ´Â °ÍÀ̹ǷΠdefault¹® ´ÙÀ½¿¡´Â »ç¿ëÇÏÁö ¾Ê´Â °ÍÀÌ ÁÁÁö¸¸ default¹®ÀÌ ¾øÀ» ½Ã¿¡´Â ¸¶Áö¸·ÀÇ case¹®¿¡´Â »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ´Ù. ÀÌ·¸°Ô Çϸé ÇÁ·Î±×·¥À» ¼öÁ¤Çϰųª ³ªÁß¿¡ case¹®À» Ãß°¡ÇÒ °æ¿ì¿¡ ¿À·ù¸¦ ÁÙÀÏ ¼ö°¡ ÀÖ´Ù.

           ¿¹) ¼ºÀûó¸® ÇÁ·Î±×·¥

switch (Á¶°Ç½Ä ; º¯¼ö ¶Ç´Â ¼ö½Ä)

  {                            

   case ½Ä1 : ¸í·É¹®; ¸í·É¹®; ....; break;

   case ½Ä2 : ¸í·É¹®; ¸í·É¹®; ....; break;  

             ....             

             .....            

   case ½Än : ¸í·É¹®; ¸í·É¹®; ....; break;  

   default : ¸í·É¹®; ¸í·É¹®; ....; break;   

  }                            

main( )

 {

       char rank;

       rank = 'B';

       switch(rank)

       {

             case 'A':

                printf("Very good !!!");

                break;

             case 'B':

                printf("Good !!!");

                break;

             default:

                printf("Poor !!!...");

       }

 }

      ¨Ã È¥ÇÕ Á¶°Ç½Ä
      ÇÑ ¾ÆÀ̰¡ ½Ê´ëÀÎÁö¸¦ ¾Ë¾Æº¸·Á¸é ±× ¾ÆÀÌÀÇ ³ªÀ̰¡ 13¼¼¿¡¼­ 19¼¼ »çÀÌ¿¡ µé¾î°¡´ÂÁö ¾Ë¾Æº¸¸é µÈ´Ù.

13 ¡Â age ¡Â 19

      ÇÏÁö¸¸ À̰ÍÀº ¼öÇÐÀû Ç¥Çö½ÄÀÌÁö C¿¡¼­´Â ÀÌ·¸°Ô »ç¿ëÇÒ ¼ö ¾ø´Ù.