- switch¹®

À̹ø¿£ switch¹®¿¡ ´ëÇØ ¾Ë¾Æ º¸ÁÒ.

switch¹®Àº ¾î¶² ƯÁ¤ÇÑ º¯¼ö ¶Ç´Â ½ÄÀÇ °ª¿¡ µû¶ó ƯÁ¤ ºÎºÐÀ» ½ÇÇàÇÏ´Â °Í ÀÔ´Ï´Ù.

±âº»ÀûÀÎ »ç¿ë¹ýÀº

switch(½Ä)
{
 case °ªA:
    .
    .
    break;
 case °ªB:
    .
    .
    break;
  .
  .
}

ÀÌ·¸½À´Ï´Ù.

¿©±â¼­ ½Ä¿¡´Â »ó¼ö, º¯¼ö, ¼ö½Ä ¾î´À°Íµµ ´Ù µé¾î°¥¼ö ÀÖ½À´Ï´Ù.

¸¸¾à ½ÄÀÇ °ªÀÌ °ªAÀ̸é case °ªA:¿¡¼­ break°¡ ³ª¿Ã¶§±îÁö ½ÇÇàÇϰí

½ÄÀÇ °ªÀÌ °ªBÀ̸é case °ªB:¿¡¼­ break°¡ ³ª¿Ã¶§±îÁö ½ÇÇàÇÕ´Ï´Ù.

¿¹¸¦ µé¾î º¸ÁÒ

/* ÆÄÀÏ À̸§     : C7-6.C
   ÇÁ·Î±×·¥ ³»¿ë : switch¹® ¿¹Á¦.. */
#include <stdio.h>
void main()
{
   int a=1;
   switch(a)
   {
    case 1:
       printf("A = 1\n");
       break;
    case 2:
       printf("A = 2\n");
       break;
   }
}


ÀÌ°É ½ÇÇàÇϸé A = 1ÀÌ Ãâ·ÂµÊ´Ï´Ù.

ÀÌÀ¯´Â a°¡ 1À̱⠶§¹®¿¡

case 1:ºÎÅÍ break°¡ ³ª¿Ã¶§ ±îÁö ½ÇÇàÇÏ¸é ±×°Ô Ãâ·ÂµÇ±â ¶§¹®ÀÌÁÒ.

¿©±â¼­ break´Â Áß¿äÇÕ´Ï´Ù.

¸¸¾à case 1:¿¡ break°¡ ¾ø´Ù¸é

/* ÆÄÀÏ À̸§     : C7-7.C
   ÇÁ·Î±×·¥ ³»¿ë : switch¹® ¿¹Á¦.. */
#include <stdio.h>
void main()
{
   int a=1;
   switch(a)
   {
    case 1:
       printf("A = 1\n");
    case 2:
       printf("A = 2\n");
       break;
   }
}


ÀÌ·¸°Ô µÇ¾î ÀÖ´Ù¸é °á°ú´Â ¾î¶»°Ô µÉ±î¿ä?

break°¡ °¡Àå ¹Ø¿¡ ÀÖÀ¸¹Ç·Î.

°Å±â±îÁö ½ÇÇàÇØ¼­ A = 2±îÁö Ãâ·ÂÀÌ µÇ°Ô µÊ´Ï´Ù.

¸¸¾à break°¡ Çϳªµµ ¾ø´Ù¸é switch¹®ÀÌ ³¡³¯¶§±îÁöÀÇ ¸ðµç ¹®ÀåÀ» ½ÇÇàÇÕ´Ï´Ù.

±×·¯¹Ç·Î break¸¦ »©¸ÔÀ¸¸é Àý´ë·Î ¾ÊµÇÁÒ.

¾î¶² if¹®Àº switch¹®À¸·Î ¾²¸é ´õ °£°áÇØ Áö´Âµ¥

¿¹¸¦ µé¾î ´ÙÀ½°ú °°Àº ÇÁ·Î±×·¥.

/* ÆÄÀÏ À̸§     : C7-8.C
   ÇÁ·Î±×·¥ ³»¿ë : if¹® ¿¹Á¦. */
#include <stdio.h>
void main()
{
   int a=4;
   if(a==1)
      printf("One\n");
   else if(a==2)
      printf("Two\n");
   else if(a==3)
      printf("Three\n");
   else if(a==4)
      printf("Four\n");
   else if(a==5)
      printf("Five\n");
}


ÀÌ·± ÇÁ·Î±×·¥Àº switch¹®À¸·Î °íÄ¡´Â°Ô º¸±â¿¡ ½±½À´Ï´Ù.

switch¹®À¸·Î °íÄ¡¸é

/* ÆÄÀÏ À̸§     : C7-9.C
   ÇÁ·Î±×·¥ ³»¿ë : switch¹® ¿¹Á¦. */
#include <stdio.h>
void main()
{
   int a=4;
   switch(a)
   {
    case 1:
      printf("One\n"); break;
    case 2:
      printf("Two\n"); break;
    case 3:
      printf("Three\n"); break;
    case 4:
      printf("Four\n"); break;
    case 5:
      printf("Five\n"); break;
   }
}


º¸±â°¡ Á» ½±¿öÁ³ÁÒ?

Áï ÇϳªÀÇ º¯¼ö¸¦ °ª º°·Î ƯÁ¤ ¹®ÀåÀ» ½ÇÇàÇÒ¶©

if¹®º¸´Ù switch¹®ÀÌ ´õ ÁÁ´Ù´Â °ÍÀÌÁÒ.

ÀÌ·¸°Ô switch¹®Àº if¹®À» ´ë½ÅÇÒ¼öµµ Àִµ¥,

if¹®ÀÇ else¹®..Áï.. ¾Æ¹«°Í¿¡µµ ÇØ´çÇÏÁö ¾ÊÀ»¶§

½ÇÇàÇÏ´Â ºÎºÐÀº ¾î¶»°Ô ¸¸µé±î¿ä?

ÀÌ°Ç default¶ó´Â °É »ç¿ëÇØ ¸¸µë´Ï´Ù.

»ç¿ë¹ýÀº

switch(½Ä)
{
 case °ªA:
    .
    .
    break;
 case °ªB:
    .
    .
    break;
  .
  .
 default:
    .
    .
    break;
}


ÀÌ·± ½ÄÀ¸·Î ¾¸´Ï´Ù

¸¸¾à ½ÄÀÌ ¾î¶² °ª¿¡µµ ÇØ´çÇÏÁö ¾ÊÀ¸¸é

default¾Æ·¡¿¡ ³ª¿À´Â °ÍµéÀ» ½ÇÇàÇØ ÁÖÁÒ..

¿¹Á¦¸¦ º¾½Ã´Ù.

/* ÆÄÀÏ À̸§     : C7-10.C
   ÇÁ·Î±×·¥ ³»¿ë : switch¹® ¿¹Á¦. */
#include <stdio.h>
void main()
{
   int a=4;
   switch(a)
   {
    case 1:
      printf("One\n"); break;
    case 2:
      printf("Two\n"); break;
    case 3:
      printf("Three\n"); break;
    default:
      printf("Another value\n"); break;
   }
}


ÀÌ ÇÁ·Î±×·¥ÀÇ °á°ú·Î´Â Another value °¡ Ãâ·ÂµÇ°ÚÁÒ?

a°¡ ¾î¶² °ª¿¡µµ ÇØ´çÇÏÁö ¾ÊÀ¸´Ï..

ÀÌÁ¤µµ·Î switch¹®ÀÇ ¼³¸íµµ ¸¶Ä¡µµ·Ï ÇÏÁÒ.

- for¹®

for¹®Àº ¾î¶² ƯÁ¤ ºÎºÐÀ» ¹Ýº¹Çؼ­ ½ÇÇàÇÒ¶§ »ç¿ëÇÕ´Ï´Ù.

for¹®ÀÇ »ç¿ë¹ýÀº

for(¼ö½Ä1;Á¶°Ç;¼ö½Ä2)
{
   ¹®Àåµé..
}


ÀÌ·± ±¸Á¶ ÀÔ´Ï´Ù.

¼ö½Ä1Àº for¹®ÀÏ ½ÃÀÛÇϱâ Àü Çѹø ½ÇÇàÇÏ´Â °ÍÀ¸·Î

º¸Åë Ä«¿îÅÍ º¯¼ö¸¦ ÃʱâÈ­ ÇÒ¶§ ¾¹´Ï´Ù.

±×¸®°í ¼ö½Ä2´Â for¹® ³»ÀÇ ¹®ÀåµéÀ» ¹Ýº¹Çؼ­ ½ÇÇàÇÒ¶§¸¶´Ù

Çѹø¾¿ ½ÇÇàÇØ ÁÖ´Â ¼ö½ÄÀ¸·Î º¸Åë Ä«¿îÅ͸¦ Áõ°¡ ½ÃŰ°Å³ª

°¨¼Ò ½Ãų¶§ »ç¿ëÇÕ´Ï´Ù.

for¹®Àº Á¶°ÇÀÌ ¸¸Á·ÇÒ¶§ ±îÁö¸¸ {}¾ÈÀÇ ¹®ÀåÀ» ¹Ýº¹ÇØ ½ÇÇàÇØ ÁÜ´Ï´Ù.

±×³É º¸¸é Àú°É·Î ¾î¶»°Ô ¹Ýº¹¹®À» ¸¸µé¼ö ÀÖ´ÂÁö ÀÌÇØ°¡

Àß ¾È °¡½Ç °ÅÁö¸¸ ¿¹Á¦¸¦ º¸½Ã¸é ÀÌÇØ°¡ µÇ½Ç °Ì´Ï´Ù.

/* ÆÄÀÏ À̸§     : C7-11.C
   ÇÁ·Î±×·¥ ³»¿ë : for¹® ¿¹Á¦. */
#include <stdio.h>
void main()
{
   int i;
   for(i=1;i<=100;i++)
      printf("%d ",i);
}


¾ÆÁÖ °£´ÜÇÑ ¿¹Á¦ ÀÌÁö¸¸ ÀÌ°É ½ÇÇàÇϸé 1ºÎÅÍ 100±îÁö Ãâ·ÂÀÌ µÊ´Ï´Ù.

ÇÁ·Î±×·¥À» Àß »ìÆìº¸¸ç ¾î¶»°Ô ¹Ýº¹ÀÌ µÇ´ÂÁö ¾Ë¾Æº¸ÁÒ.

¿ì¼± Ä«¿îÅÍ·Î ¾µ º¯¼ö i¸¦ Á¤ÀÇ Çß½À´Ï´Ù.

±×¸®°í for¹®ÀÌ Àִµ¥,

óÀ½¿¡ Çѹø¸¸ ½ÇÇàµÇ´Â ¼ö½ÄÀ¸·Î i¿¡ 1À» ³Ö¾î ÃʱâÈ­ Çß½À´Ï´Ù.

±×¸®°í ³ª¼­ i<=100ÀÎÁö È®ÀÎÇÏÁÒ. ±×·±µ¥ ÀÌ°Ç ÂüÀ̹ǷÎ

for¹® ´ÙÀ½¿¡ ´Ù¿À´Â {}¾ÈÀÇ ¹®ÀåµéÀ» ½ÇÇàÇÕ´Ï´Ù.

for¹® ¿ª½Ã ¹Ýº¹½ÇÇàÇÒ ¹®ÀåÀÌ ÇϳªÀ̸é {}¸¦ »ý·«Çصµ µÊ´Ï´Ù.

±×·¡¼­ ¿©±â¼± »ý·«Çß½À´Ï´Ù. ÀÌ ¹®ÀåÀº i¸¦ Ãâ·ÂÇϰí ÀÖÁÒ.

±×·¯¹Ç·Î óÀ½¿£ 1ÀÌ Ãâ·ÂµÊ´Ï´Ù.

ÀÌ ¹®Àå ½ÇÇà ÈÄ i++¸¦ ½ÇÇàÇÕ´Ï´Ù. ±×·¡¼­ i°¡ 2°¡ µÇÁÒ.

±×¸®°í ³ª¼­ i<=100ÀÎÁö °Ë»çÇØ ´ÙÀ½¿¡ ³ª¿Ã ¹®ÀåÀ» ½ÇÇàÇÏÁÒ

¶Ç ÂüÀ̹ǷΠi¸¦ Ãâ·ÂÇØ À̹ø¿¡ 2°¡ Ãâ·ÂµÇÁÒ.

ÀÌ·± ½ÄÀ¸·Î °è¼Ó ¹Ýº¹ÇØ i°¡ 101ÀÌ µÇ¸é for¹®ÀÌ ³¡³ª°Ô µÇÁÒ..

À̹ø ¹æ¹ýÀ¸·Î for¹®À» ÅëÇØ ¹Ýº¹¹®À» ¸¸µë´Ï´Ù.

±×¸®°í for¹® ¾È¿¡ for¹®ÀÌ µé¾î°¡µµ »ó°ü ¾ø½À´Ï´Ù.

for¹® ¾È¿¡¼­ ¾µ¼ö Àִ Ű¿öµå°¡ µÎ°¡Áö Àִµ¥

continue¿Í breakÀÔ´Ï´Ù.

continue´Â continue´ÙÀ½¿¡ ³ª¿À´Â ¹®ÀåµéÀº ´Ù ¹«½ÃÇϰí

´Ù½Ã for¹®ÀÇ Ã³À½À¸·Î µ¹¾Æ°¡ ½ÇÇàÀ» °è¼ÓÇÏ´Â °ÍÀÌÁÒ.

¿¹¸¦ µé¾î º¸ÁÒ..

/* ÆÄÀÏ À̸§     : C7-12.C
   ÇÁ·Î±×·¥ ³»¿ë : for¹® ¿¹Á¦. */
#include <stdio.h>
void main()
{
   int i;
   for(i=1;i<=100;i++)
   {
      if(i%2==0) continue;
      printf("%d ",i);
   }
}


¿ì¼± ÀÌ°É ÀÚ¼¼È÷ º¸¸é i%2==0À϶§ continue°¡ ½ÇÇàµÇ´Â °ÍÀ» ¾Ë¼ö ÀÖ½À´Ï´Ù.

i%2°¡ 0À϶§´Â i°¡ 2ÀÇ ¹è¼öÀÏ ¶§ Àε¥.. ±×¶§ continue¸¦ Çϸé

¹Ø¿¡ i¸¦ Ãâ·ÂÇÏ´Â ¹®ÀåÀº ¹«½ÃµÇ°í ±×³É ³Ñ¾î°¡±â µÊ´Ï´Ù.

±×·¯¹Ç·Î ÀÌ ¿¹Á¦¸¦ ½ÇÇàÇϸé 1ºÎÅÍ 100±îÁö Áß 2ÀÇ ¹è¼ö°¡ ¾Æ´Ñ ¼ö¸¸

Ãâ·ÂÇÏ°Ô µÇÁÒ.

break´Â for¹®À» ºüÁ® ³ª¿À´Â ±â´ÉÀ» ÇÕ´Ï´Ù.

À̰͵Π¿¹¸¦À» º¸¸é ½±°Ô ÀÌÇØ°¡ µÇ½Ç °Ì´Ï´Ù.

/* ÆÄÀÏ À̸§     : C7-13.C
   ÇÁ·Î±×·¥ ³»¿ë : for¹® ¿¹Á¦. */
#include <stdio.h>
void main()
{
   int i;
   for(i=1;i<=100;i++)
   {
      if(i==51) break;
      printf("%d ",i);
   }
}


ÀÌ ÇÁ·Î±×·¥À» º¸¸é i°¡ 51À϶§ break¸¦ Çߴµ¥

±×·¯¸é for¹®À» ¹ÙÁ® ³ª¿À¹Ç·Î 1ºÎÅÍ 50±îÁö¸¸ Ãâ·ÂÀÌ µÇ´Ù°¡,

for¹®À» ºüÁ® ³ª¿Í ¹ö¸³´Ï´Ù.

Previous:if ¹®
Next:while ¹®, do~while, goto, ÇÔ¼ö·Î °ªÀ» Àü´Þ