ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù. 1 ¼Ò°³
À̹ø Àå¿¡¼´Â C ÇÁ·Î±×·¥¿¡¼ »ç¿ëµÇ´Â ¿©·¯°¡Áö Á¾·ùÀÇ È帧Á¦¾î(Control of flow)¾î ¾Ë¾Æº¸µµ·Ï ÇϰڴÙ. È帧Á¦¾î´Â ÁÖ¾îÁö´Â Á¶°Ç¿¡ µû¶ó¼ ÇÁ·Î±×·¥ÀÇ È帧À» Á¦¾îÇϱâ À§ÇÑ ¸ñÀûÀ¸·Î »ç¿ëµÈ´Ù. °£´ÜÇÑ ¿¹·Î ¼ºÀÎÀÎÁõÀ» À§ÇÑ ÇÁ·Î±×·¥À» ¸¸µç´Ù°í Çϸé, ³ªÀ̸¦ ±âÁØÀ¸·Î 18¼¼ ÀÌÇϸé, °æ°í¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ°Ô Çϰí, 18¼¼ ÀÌ»óÀ̸é ok »çÀÎÀ» º¸³»´Â µîÀÇ È帧Á¦¾î°¡ ÇÊ¿äÇÏ´Ù. ![]()
À§ÀÇ À̹ÌÁö¸¦ º¸¸é ¾Ë°ÚÁö¸¸, È帧Á¦¾î¸¦ À§Çؼ´Â Âü°ú °ÅÁþÀ» È®ÀÎÇϱâ À§ÇÑ ³í¸®Àû ÆÇ´ÜÀÌ ÇÊ¿äÇÔÀ» ¾Ë ¼ö ÀÖ´Ù. ¶§¹®¿¡ È帧Á¦¾î¿Í ÇÔ²², ³í¸®Ç¥Çö±îÁö ÀÚ¿¬½º·´°Ô ´Ù·ç°Ô µÉ °ÍÀÌ´Ù.
¾î¶² Á¶°Ç¿¡ µû¶ó¼, ÇÁ·Î±×·¥ÀÇ È帧À» ´Þ¸®ÇϰíÀÚ ÇÒ¶§ »ç¿ëÇÑ´Ù. Âü À̸é ÀÌÂÊÀ¸·Î, °ÅÁþÀ̸é ÀúÂÊÀ¸·Î Á¤µµ·Î ÀÌÇØÇÒ ¼ö ÀÖ°Ú´Ù. 1.1 if
if ¹®Àº ´ÙÀ½°ú °°Àº 3°¡Áö Çü½Ä Áß Çϳª¸¦ °¡Áø´Ù. if (expression) statement if (expression) statement else statment if (expression) statement else if (expression) statement2 ... else statementNif¹®Àº ¸Å¿ì Á÷°üÀûÀÌ´Ù. ¸¸¾à ~À̸é ~À» ÇàÇ϶ó. ±×·¸Áö ¾ÊÀ¸¸é ~À» ÇàÇ϶óÀÌ´Ù. expression¿¡´Â ºÐ±â¸¦ À§ÇÑ ³í¸®Á¶°ÇÀÎ ~À̸鿡 ÇØ´çÇÏ´Â ¹®¸ÆÀÌ µé¾î°£´Ù. À§ÀÇ ¼ºÀÎÀÎÁõ¿¹¸¦ if¹®À¸·Î Ç¥ÇöÇÏÀÚ¸é ¾Æ·¡¿Í °°À» °ÍÀÌ´Ù. ¾Æ·¡ÀÇ ÄÚµå´Â ÄÄÆÄÀÏ ÈÄ ½ÇÇàÀÌ µÇ´Â ¿ÏÀüÇÑ ÄÚµå´Ù. <stdio.h> int main() { int age; age = 19; if (age >= 18) // expression { // --+ printf("¼ºÀÎ ÀÔ´Ï´Ù."); // |-- statement } // --+ else { // --+ printf("³Ê¹« ¾î¸®³×¿ä"); // |-- statement2 } // --+ return 0; }
À§ÀÇ °æ¿ì¿¡´Â Á¶°ÇÀÌ Çϳª¿´´Ù. ÇÏÁö¸¸ 18¼¼ °¡´É¿¡ ´õºÒ¾î 15¼¼ °¡´ÉÀ̶ó´Â ¶Ç´Ù¸¥ Á¶°ÇÀÌ µé¾î°¥ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ °æ¿ì¿¡´Â ¿©·¯°³ÀÇ Á¶°ÇÀÌ »ç¿ëµÇ°Ô µÇ´Âµ¥, À̶§¿¡´Â 3¹øÂ°Çü½ÄÀ» »ç¿ëÇÏ¸é µÈ´Ù. 3¹øÂ° Çü½ÄÀ» »ç¿ëÇÏ°Ô µÇ¸é Á¶°ÇÀÌ ¸î°³¶óÇÏ´õ¶óµµ °Å±â¿¡ ¸Â´Â Äڵ带 ½ÇÇà½Ãų ¼ö ÀÖ´Ù. À§ÀÇ ¼ÀÇÃÄڵ带 15¼¼ ÀÎÁõ±îÁö °¡´ÉÇϵµ·Ï ¹Ù²Ù¾î º¸ÀÚ. <stdio.h> int main() { int age; age = 16; if (age >= 18) { printf("¼ºÀÎ ÀÔ´Ï´Ù.\n"); } else if ((age >=15) && (age < 18)) { printf("15¼¼ ÀÌ»ó ÄÁÅÙÃ÷¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù\n"); } else { printf("³ªÀ̸¦ Á» ´õ ¸Ô°í ¿À¼¼¿ä\n"); } return 0; } 1.2 while ¹®
±¸Ã¼ÀûÀÌÁö ¸øÇÑ Ãß»óÀûÀÎ ¹®Á¦µµ È¿°úÀûÀ¸·Î Ç®¾î³»´Â Àΰ£°ú ´Þ¸®, 1°ú 0¸¸À» ±¸ºÐÇÒ ¼ö ÀÖ´Â ÄÄÇ»ÅÍ´Â Àΰ£Ã³·³ °¨°¢ÀûÀ¸·Î ¹®Á¦¸¦ Ç® ¼ö°¡ ¾ø´Ù. ¿©·¯ºÐÀÇ ´«¾Õ¿¡ 1ºÎÅÍ k±îÁöÀÇ 13ÀåÀÇ Ä«µå°¡ ÀÖ´Ù¸é, ¿©·¯ºÐÀº Á÷°üÀÇ ´É·ÂÀ» ÀÌ¿ëÇØ¼ ¾î·ÆÀÝ°Ô Àç¹èÄ¡¸¦ ÇÒ ¼ö°¡ ÀÖ´Ù.
±×·¯³ª ÄÄÇ»ÅÍ´Â ±×·¸°Ô ÇÏÁö ¸øÇÑ´Ù. ÄÄÇ»ÅÍ·Î ÀÌ·±ÀÏÀ» ÇÏ·Á¸é Ä«µå¸¦ ÇÑÀ徿 ÀÏÀÏÀÌ ºñ±³Çؼ ÂüÀÎÁö °ÅÁþÀÎÁö È®ÀÎÇØ¼ ¹èÄ¡¸¦ ÇÏ´Â ¹Ýº¹ÀûÀÎ ÀÛ¾÷À» ÇØ¾ß¸¸ ÇÑ´Ù. ±×·¡¼ while, do, for ¿Í °°Àº ·çÇÁ¹®ÀÌ ÇÊ¿äÇÏ°Ô µÇ¸ç, ¸ðµç ¾ð¾î¸¦ ÅëÇØ¼ ÇÁ·Î±×·¡¹ÖÀ» ÇÒ¶§, °¡Àå Áß¿äÇϸç, °¡Àå ÀÚÁÖ »ç¿ëµÇ´Â ¿ä¼ÒÀ̱⵵ ÇÏ´Ù. if ¹®°ú while ¹®¸¸ ¾Ë¾Æµµ ÇÁ·Î±×·¥À» © ¼ö ÀÖ´Ù´Â ¾ê±â°¡ ¿©±â¿¡¼ ³ª¿Â´Ù.
ÀÌ·¯ÇÑ ·çÇÁ¹®Áß °¡Àå ³Î¸® ¾²ÀÌ´Â while¹®¿¡ ´ëÇØ¼ ¿ì¼± ¾Ë¾Æº¸µµ·Ï ÇϰڴÙ. whileÀº ´ÙÀ½°ú °°Àº Çü½ÄÀ» °¡Áø´Ù. while(expression)
{ // ---+
// ÇÊ¿äÇÑ ÀÛ¾÷À» ÇÑ´Ù. |--- ·çÇÁ ºí·°
} // ---+
expression°á°ú°¡ ÂüÀÌ¸é °è¼ÓÀûÀ¸·Î ÁÖ¾îÁø ÀÛ¾÷À» ÇÏ´Â ½ÄÀÌ´Ù. ºü¸¥ ÀÌÇØ¸¦ À§Çؼ 1ºÎÅÍ 100±îÁö °ªÀ» ´õÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé¾îº¸ÀÚ.int main() { int i = 0; int sum = 0; while(i < 101) { sum = sum + i; i++; } printf("%d\n", sum); }ÀÌ ÇÁ·Î±×·¥Àº ´ÙÀ½°ú °°Àº È帧À» °¡Áö°Ô µÈ´Ù. 1. i¿¡ 0À» ´ëÀÔÇÑ´Ù. 2. i¿Í 101À» ºñ±³ÇÑ´Ù. 3. 0ÀÌ 101º¸´Ù ÀÛÀ¸¹Ç·Î(°á°ú°¡ ÂüÀ̹ǷÎ) 4. sum = sum+i Äڵ带 ¼öÇàÇÑ´Ù. <--+ 5. i++À» ÇßÀ¸¹Ç·Î i´Â 1À̵ȴÙ. |--> ·çÇÁ ºí·°ÀÇ Äڵ带 ¹Ýº¹ ¼öÇà 6. i¿Í 101À» ºñ±³ÇÑ´Ù. | 7. 1ÀÌ 101º¸´Ù ÀÛÀ½À¸·Î -----------+ 8. i°¡ 101ÀÌ µÇ¸é i<101ÀÌ °ÅÁþÀÌ µÇ°í ºñ·Î¼ ·çÇÁ¸¦ ºüÁ®³ª¿Â´Ù. 1.3 do while ¹®
Á¶°Ç°Ë»ç¸¦ ºí·°ÀÇ ¸¶Áö¸·¿¡¼ ÇÑ´Ù´Â°É Á¦¿ÜÇϸé while·çÇÁ¹®°ú ¿ÏÀüÈ÷ µ¿ÀÏÇÏ´Ù. do {
// ÇÊ¿äÇÑ ÀÛ¾÷À» ÇÑ´Ù.
} while (i < 100);
À§ÀÇ while¹® ¿¹Á¦¸¦ do whileÀ» ½á¼ ¹Ù²Ù¾î º¸ÀÚ.int main() { int i = 0; int sum = 0; do { sum = sum+i; i++; } while( i < 101); printf("%d\n", sum); }do while°ú whileÀº ¿ÏÀüÈ÷ µ¿ÀÏÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù. µÑ Áß ¾î¶² °ÍÀ» »ç¿ëÇÒ·±Áö´Â °³ÀÎÀÇ ÄÚµùÃëÇâ¿¡ ¿µÇâÀ» ¹Þ´Â °æ¿ì°¡ ¸¹´Ù. º¸ÅëÀº do while º¸´Ù´Â while¹®À» ¸¹ÀÌ »ç¿ëÇÑ´Ù.
´ÙÀ½Àº do while¹®À» »ç¿ëÇÑ ¶Ç ´Ù¸¥ ¿¹ÀÌ´Ù. #include <stdio.h> int main() { int input; do { printf("Menu ====================\n"); printf("1. Make a new account\n"); printf("2. Delete a new account\n"); printf("3. Deposit\n"); printf("4. Withdraw\n"); printf("5. Exit\n"); printf("> "); scanf("%d", &input); } while((input > 0 && input < 6) || (input == 5)); return 0; }À§ ÇÁ·Î±×·¥Àº ¸Þ´º¸¦ Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù. scanf()ÇÔ¼ö´Â Űº¸µå·Î ºÎÅÍ ÀÔ·ÂÀ» ¹Þ´Â ÇÔ¼ö´Ù. ÀÌ·¯ÇÑ ¸Þ´ºÇÁ·Î±×·¥ÀÇ °æ¿ì Á¶°Ç°Ë»ç¸¦ ·çÇÁÀÇ ¸¶Áö¸·¿¡ ÇÏ´Â°Ô ´õ¿í ÀÚ¿¬½º·¯¿îµ¥, ÀÌ·² °æ¿ì while¹® º¸´Ù do while¹®À» »ç¿ëÇÏ¸é ´õ º¸±â ÁÁÀº Äڵ带 ¸¸µé ¼ö Àֱ⠶§¹®ÀÌ´Ù. 1.4 for ¹®
Á¶°ÇÀ» ¸¸Á·ÇÏ´Â µ¿¾È ·çÇÁ¸¦ ¼øÈ¯ÇÑ´Ù. for (initialize; check; update)
{
// ÇÊ¿äÇÑ ÀÛ¾÷À» ÇÑ´Ù.
}
int i=0;
int sum=0;
for (i = 0; i <= 100; i++)
{
sum=sum+i;
}
printf("%d\n", sum);
for (i = 0; i <= 100; i++)¹®À» ÇØ¼®ÇØ º¸ÀÚ¸é, i¿¡ 0À» ³Ö¾î¼ ÃʱâÈ Çϰí, i°¡ 100º¸´Ù ´õ ÀÛÀ¸¸é ·çÇÁ¹®À» °è¼Ó¼öÇàÇ϶ó. ·çÇÁ¹®À» ¼öÇàÇß´Ù¸é i¿¡ 1À» ´õÇÑ´Ù. Á¤µµ·Î ÇØ¼®ÇÒ ¼ö ÀÖ´Ù. ¾î¶»°Ô º¸¸é while¹®À» Á» ´õ ´Ü¼øÇÏ°Ô Ç¥ÇöÇß´Ù°í º¼ ¼ö Àִµ¥, ½ÇÁ¦ whileÀ̳ª do while¹®¿¡ ºñÇØ¼ ¹®ÀåÀÌ ÇÑ´«¿¡ Àß µé¾î¿Â´Ù.
¿¹¸¦µé¾î¼ ¹«ÇÑ·çÇÁ¸¦ µ¹¸é¼ º¯¼ö¿¡ 1¾¿ ´õÇØÁÖ´Â ÇÁ·Î±×·¥Àº for¿Í while¹®À» ÀÌ¿ëÇØ¼ ¾Æ·¡¿Í °°ÀÌ µ¿ÀÏÇÏ°Ô ÄÚµùÇÒ ¼ö ÀÖ´Ù. // while ¹öÁ¯
int i = 0;
while(1)
{
printf("%d\n",i);
i++;
}
// for ¹öÁ¯
for(i=0;;i++)
{
printf("%d\n",i);
}
´ëºÎºÐÀÇ °æ¿ì for ¹®À» »ç¿ëÇÒÁö while¹®À» »ç¿ëÇÒÁö´Â ¼øÀüÈ÷ °³ÀÎÀÇ ±âÈ£¿¡ µû¶ó ³ª´¶´Ù.1.5 switch ¹®
if¹®ÀÇ ´ÜÁ¡À̶ó¸é, Á¶°ÇÀÌ ¿©·¯°³ÀÏ ¶§ ¼Ò½ºÄڵ尡 ¾îÁö·¯¿öÁø´Ù´Â Á¡ÀÌ µÉ °ÍÀÌ´Ù. if (expression) statement if else (expression) statement2 if else (expression) statement3 ... else statementNÀÌ°É switch¸¦ ÀÌ¿ëÇϸé Á»´õ ±ò²ûÇÏ°Ô ¹Ù²Ü ¼ö ÀÖ´Ù. switch¹®Àº ´ÙÀ½°ú °°Àº Çü½ÄÀ» °¡Áø´Ù. switch(expression)
{
case (const1): statments
case (const2): statments2
case (const3): statments3
default:
}
1.6 break¹®
switch ¹®À» ÀÌ¿ëÇϸé, ¸î¸î °æ¿ì¿¡ ÀÖ¾î¼ Á»´õ ±ò²ûÇÑ Á¶°Ç ºÐ±âÀÇ Ã³¸®°¡ °¡´ÉÇϰÚÁö¸¸ ÇѰ¡Áö ¹®Á¦Á¡ÀÌ ÀÖ´Ù. ±×°ÍÀº case¸¦ Çѹø ¸¸Á·ÇÏ°Ô µÇ¸é, ÇÏÀ§ caseÀÇ Á¶°ÇÀ» °Ë»çÇÏÁö ¾Ê´Â ´Ù´Â Á¡ÀÌ´Ù. Áï ÀüºÎ ÂüÀÌ µÇ¾î¹ö¸®´Â ¹®Á¦°¡ ¹ß»ýÇÑ´Ù. int main() { int menu=2; switch(menu) { case (1): printf("1. insert\n"); case (2): printf("2. delete\n"); case (3): printf("3. update\n"); case (4): printf("4. quit\n"); default: printf("error : unknown\n"); } }º¯¼ö menu¿¡ 2°¡ ´ëÀԵǾúÀ¸¹Ç·Î, ¿ì¸®´Â case (2)ÀÇ ¹®¸Æ¸¸ ½ÇÇàµÇ±â´Â°É ¿¹»óÇÒ ¼ö ÀÖ°ÚÁö¸¸, case (2), case (3), case (4), default ¹®±îÁö ¸ù¶¥ ½ÇÇà µÇ¾î¹ö¸®´Â°É È®ÀÎÇÒ ¼ö ÀÖ´Ù. break; ¹®À» ÀÌ¿ëÇϸé ÇØ´ç ·çÇÁ¸¦ Áï½Ã ºüÁ®³ª¿À°Ô µÊÀ¸·Î ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù.
·çÇÁÀÇ ¼øÈ¯À» Áß´ÜÇϰí Áï½Ã ºüÁ®³ª¿Â´Ù´Â breakÀÇ Æ¯¼ºÀº while, for µîÀÇ ·çÇÁ¹®¿¡¼µµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½Àº 1ºÎÅÍ 100±îÁö ´õÇÏ´Â ¿¬»êÀ» break ¹®À» ÅëÇØ ±¸ÇöÇÑ ¿¹´Ù. int i = 0;
int sum = 0;
while(1)
{
sum += i;
if (i == 100)
{
break;
}
i++;
}
printf("Result : %d\n", sum);
1.7 continue
·çÇÁÀÇ ¼öÇà Áß¿¡ continue¸¦ ¸¸³ª°Ô µÇ¸é, continueÀÇ ¾Æ·¡Äڵ带 °Ç³Ê¶Ù°í, Áï½Ã ·çÇÁÀÇ Ã³À½À¸·Î µÇµ¹¾Æ°£´Ù. while(...) <------+
{ |
... |
if (...) |
{ |
continue; ----+
}
...
...
...
}
´ÙÀ½Àº 1¿¡¼ 100±îÁöÀÇ ¼ýÀÚ¿¡ Æ÷ÇÔµÈ ¸ðµç ¦¼ö¸¦ ´õÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù. #include <stdio.h> int main(int argc, char **argv) { int i =0; int sum = 0; for(i=0; i < 101; i++) { if (i%2 != 0) continue; sum += i; } printf("Sum : %d\n", sum); } 1.8 ÇÁ·Î±×·¥ÀÇ °¡µ¶¼º
continue¿Í break¹®Àº ·çÇÁ¸¦ ºüÁ®³ª¿À°Å³ª ƯÁ¤ÇÑ Äڵ带 ¶Ù¾î³Ñ±â À§ÇÑ ¸Å¿ì ½¬¿î¹æ¹ýÀ» Á¦°øÇÏÁö¸¸, ÄÚµåÀÇ °¡µ¶¼ºÀ» ÇØÄ£´Ù´Â ÀÌÀ¯·Î °¡´ÉÇÏ¸é »ç¿ëÇÏÁö ¾Ê´Â°É ±ÇÀåÇÑ´Ù. ÇÁ·Î±×·¥ÀÇ ±Ô¸ð°¡ Ä¿Áö°í, °øµ¿ÀÛ¾÷À» ÇÏ´Â °æ¿ì°¡ ¸¹¾ÆÁö´Ù º¸´Ï, ƯÈ÷ ³²ÀÌ ¾Ë¾Æº¸±â ½¬¿î Äڵ带 ÀÛ¼ºÇÏ´Â °Íµµ Áß¿äÇÑ ÀÏ·Î °£Áֵǰí ÀÖ´Ù.
ÄÚµåµç ´Ù¸¥ °ÍÀ̵çÁö °£¿¡, °¡´ÉÇϸé È帧ÀÌ ²÷±âÁö ¾Ê°í À̾îÁö´Â ¹æÇâÀ¸·Î ³ª¾Æ°¡´Â°Ô, Àΰ£ÁöÇâÀûÀΠȯ°æÀ» ¸¸µé¾îÁØ´Ù. Æ®·ÎÆ® °¨»óÇÏ´Â ÁßÀε¥, ÈüÇÕÀÌ Æ¢¾î³ª¿À¸é ¾Æ¹«·¡µµ ´çȲ½º·¯¿ï °ÍÀÌ´Ù. continue¿Í break¹®Àº ·çÇÁÀÇ È帧À» ²÷¾î¹ö¸®´Â Á¡¿¡¼ »ç¿ëÇϱ⿡ Æí¸®ÇÒÁö´Â ¸ð¸£Áö¸¸ Àΰ£ÁöÇâÀûÀÌÁö´Â ¾ÊÀº ¹æ¹ýÀ¸·Î ÀÌ´Â °¡µ¶¼ºÀ» ¶³¾îÆ®¸®´Â °á°ú·Î ³ªÅ¸³ª°Ô µÈ´Ù. ±×·¯¹Ç·Î ÇÊ¿äÇÑ °æ¿ì°¡ ¾Æ´Ï¸é ÀÌµé ¹®Àº »ç¿ëÇÏÁö ¾Ê´Â °ÍÀ» ±ÇÀå ÇÑ´Ù.
À§ÀÇ Â¦¼ö¸¦ ´õÇÏ´Â ÇÁ·Î±×·¥°ú °°Àº °æ¿ì ¾Æ·¡¿Í °°ÀÌ continue¸¦ »ç¿ëÇÏÁö ¹Ù²Ü ¼ö ÀÖÀ» °ÍÀÌ´Ù.
for(i=0; i < 101; i++)
{
if (i%2 == 0)
sum += i;
}
|
|
|
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|