- 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, ÇÔ¼ö·Î °ªÀ»
Àü´Þ