|
[3] C ¾ð¾î ÇÁ·Î±×·¡¹Ö
5.
Á¶°Ç¹®(¼±Åù® ; Á¦¾î ±¸Á¶)
¨Í
Á¦¾î ±¸Á¶ : ÇÁ·Î±×·¥ÀÇ È帧À» °Á¦·Î º¯È¯½Ã۰í ƯÁ¤
ºÎºÐÀ» ¹Ýº¹ÇÏ´Â ¸í·É¾î
¨ç
¼øÂ÷ÀûÀ¸·Î ¹®ÀåÀ» ¼öÇàÇÏ´Â ±â´É ¨è ¾î¶² Á¶°ÇÀÌ
¸¸Á·ÇÒ ¶§±îÁö ÀÏ·ÃÀÇ ¹®ÀåÀ» ¹Ýº¹ ¼öÇàÇÏ´Â ±â´É ¨é
Á¶°Ç(Âü(true)°ú °ÅÁþ(false))¿¡ µû¸¥ ¸í·É¹®À» ¼±ÅÃ
ÇÒ ¼ö ÀÖ´Â ±â´É
¨Î ±¸Á¶È ÇÁ·Î±×·¡¹Ö : goto¹®À» °¡±ÞÀûÀ¸·Î
¹èÁ¦ÇØ ±âº» Á¦¾î ±¸Á¶¸¦ »ç¿ëÇÏ¿© ºÎºÐÀûÀ¸·Î ÀÛ¼ºÇÏ´Â
±â¹ýÀÌ´Ù. ±×·¸°Ô ÇÔÀ¸·Î½á ÇÁ·Î±×·¥ÀÇ ½Å·Úµµ¿Í º¸¼ö,
È®ÀåÀÌ ¿ëÀÌÇÏ°í ¾Ë±â ½¬¿î ÇÁ·Î±×·¥ÀÌ µÈ´Ù. Áï ´ÜÀÏ ÀÔ±¸¿Í
´ÜÀÏ Ãⱸ·Î ±¸¼ºµÇ¾î °ÅÀÇ goto¹®À» »ç¿ëÇÏÁö ¾Ê°í ÇÁ·Î±×·¥À»
ÀÛ¼ºÇÏ´Â ±â¹ýÀÌ´Ù.
|
|
|
|
|
|
|
|
|
|
¡Þ ¼øÂ÷ ±¸Á¶ |
|
¿¬¼Ó(sequence) |
|
|
|
|
|
|
|
¡Þ ¼±Åà ±¸Á¶ |
|
|
ÆÇ´Ü(if else) |
|
Á¶°ÇÀÇ ºñ±³ ÆÇ´Ü |
|
|
|
|
|
|
|
|
ºÐ±â(switch case) |
|
¿©·¯ ¹æÇâÀ¸·Î ºÐ±â |
|
|
|
|
|
|
¡Þ ¹Ýº¹ ±¸Á¶ |
|
|
¹Ýº¹(while) |
|
Á¶°Ç ÆÇ´ÜÀ» ¸ÕÀú ÇÔ |
|
|
|
|
|
|
|
|
¹Ýº¹(do while) |
|
Á¶°Ç ÆÇ´ÜÀ» ³ªÁß¿¡ ÇÔ |
|
|
|
|
|
|
|
¹Ýº¹(for) |
|
ÁöÁ¤ Ƚ¼ö¸¸Å ¹Ýº¹ |
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
if (Á¶°Ç½Ä)
¹®Àå;
´ÙÀ½ ¹®Àå; |
¨ÍÁ¶°Ç½Ä : »ó¼ö, º¯¼ö, ³í¸®½Ä,
ÇÔ¼ö °ª µîÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×¸®°í Á¶°Ç½Ä ¹Ù·Î
´ÙÀ½(Á¶°Ç½Ä ¹®Àå)¿¡ ¼¼¹ÌÄÝ·Ð(;)Àº »ç¿ëÇÏÁö ¾Ê´Â´Ù.
¸¸¾à Á¶°Ç½Ä ´ÙÀ½¿¡ ¼¼¹ÌÄÝ·ÐÀÌ ºÙÀ¸¸é, ¼¼¹ÌÄÝ·ÐÀÌ
ÀÖ´Â ¿ÏÀüÇÑ ¹®ÀåÀ¸·Î ÇØ¼®ÇÑ´Ù.(ÀǵµÇÏÁö ¾Ê´Â °á°ú°¡
»êÃâµÉ ¼ö ÀÖ´Ù.) Á¶°Ç½ÄÀº ¡®(¡¯,¡®)¡¯·Î ¹¾î¾ß ÇÑ´Ù.
|
|
|
|
|
|
|
|
if(Á¶°Ç½Ä); |
¢¡ |
if(Á¶°Ç½Ä) |
|
|
|
|
¹®Àå; |
|
; |
¢¡ |
°ø¹é ¹®ÀåÀ¸·Î ÇØ¼® |
|
|
|
|
¹®Àå; |
¢¡ |
Á¶°Ç½Ä¿¡ °ü°è¾øÀÌ ½ÇÇà |
|
|
|
|
|
|
|
|
¨Î Á¶°Ç½ÄÀÌ ÂüÀÎ °æ¿ì¿¡´Â Á¶°Ç½Ä
¹Ù·Î µÚÀÇ ¹®ÀåÀÌ ½ÇÇàµÇ°í °ÅÁþÀÏ °æ¿ì¿¡´Â ¹®Àå µÚÀÇ
¹®ÀåÀÌ ½ÇÇàµÈ´Ù. ¨Ï ÂüÀÏ ¶§ ½ÇÇàµÇ´Â ¹®ÀåÀÌ ´Ü¹®(ÇϳªÀÇ
¹®Àå)ÀÌ ¾Æ´Ò °æ¿ì, ¡®{¡¯,¡®}¡¯¸¦ ÀÌ¿ëÇÏ¿© º¹¹®(¿©·¯
°³ÀÇ ¹®Àå)À» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
if(Á¶°Ç½Ä)
{
¹®Àå 1;
¹®Àå 2;
¹®Àå 3;
......
}
...... |
int c = getchar( );
if('A' <= c && c <= 'Z')
{
c += ('a' - 'A');
}
putchar(c); |
|
 |
if (Á¶°Ç½Ä) {
¹®Àå
1;
} else {
¹®Àå
2;
}
´ÙÀ½ ¹®Àå; |
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 (Á¶°Ç½Ä
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 ½Ä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 !!!...");
}
} |
|