5.1 ¹®Àå(statement)°ú
º¹ÇÕ¹®(compound statement)
¹®ÀåÀº ÇÁ·Î±×·¥À» ±¸¼ºÇÏ´Â ±âº» ´ÜÀ§°¡ µÈ´Ù.
¹®Àå Çϳª Çϳª´Â
ÇϳªÀÇ ³í¸®ÀûÀÎ µ¿ÀÛµéÀ» ±â¼úÇÑ´Ù.
¹®ÀåÀÇ ³¡¿¡´Â
¹Ýµå½Ã ¼¼¹ÌÄÝ·Ð(;)À» ºÙ¿©¼ ´Ù¸¥ ¹®Àå°ú ±¸º°ÇÑ´Ù. º¹ÇÕ¹®Àº Çϳª ÀÌ»óÀÇ ¹®ÀåÀÌ Áß°ýÈ£({})¿¡ ÀÇÇØ
µÑ·¯ ½Î¿© ÀÖ´Ù.
º¹ÇÕ¹®Àº ´ÜÀÏ
¹®Àå°ú µ¿ÀÏÇÏ°Ô Ãë±ÞµÇ¸ç, ºí·Ï(block)À̶ó°íµµ ÇÑ´Ù.
º¹ÇÕ¹®ÀÇ ³¡(})¿¡´Â
¼¼¹ÌÄÝ·Ð(;)ÀÌ ¿Ã ¼ö ¾ø´Ù.
º¹ÇÕ¹®ÀÇ Áß¿äÇÑ
»ç¿ë ¿ëµµ´Â ¸í·É¹®µéÀ» ÇϳªÀÇ ½ÇÇà °¡´ÉÇÑ ´ÜÀ§·Î ±×·ìÈÇÏ´Â °ÍÀÌ´Ù.
¹®Àå »ç¿ë¿¹ |
#include
<stdio.h>
main()
{
int i; -->
¼±¾ð¹®
i = 20; -->
ġȯ¹®
printf("ÇÔ¼ö¹®
Å×½ºÆ® = %d\n", i); --> ÇÔ¼ö¹®
while(i <= 60)
--> Á¦¾î¹®
{
i
= i+ 10;
printf("¹Ýº¹¹®Å×½ºÆ®
= %d\n", i); º¹ÇÕ¹®
;
--> ³Î¹®Àå
}
}
|
¹®ÀåÀÇ
Á¾·ù¸¦ ºÐ·ùÇÏ¸é ´ÙÀ½°ú °°´Ù.
1) ¼±Çà 󸮱â Áö½Ã¹® : #define,
#include µî...
2) ¼±¾ð¹® : char, int,
double, µî...
3) Á¦¾î¹® : ¼±Åù® - if, if~else,
switch~case ¹®
¹Ýº¹¹®
- while, for, do~while ¹®
ºÐ±â¹®
- break, continue, goto
4) ÇÔ¼ö¹® - scanf, printf, getchar,
putchat µî...
5.2 ±âº» ÀÔÃâ·Â¹®
±âº» ÀÔÃâ·Â ÀåÄ¡ÀÎ Å°º¸µå³ª ¸ð´ÏÅÍ È¸éÀ» ÅëÇÏ¿© µ¥ÀÌÅ͸¦ ÀÔÃâ·ÂÇÏ´Â
¸í·ÉÀÌ´Ù..
C ¾ð¾î´Â ´Ù¸¥
¾ð¾î¿Í ´Ù¸£°Ô ÀÔÃâ·Â ¸í·É¹®ÀÌ ¾ø°í, ÇÔ¼ö¸¦ ÅëÇÏ¿© µ¥ÀÌÅÍÀÇ
ÀÔÃâ·Â ÇÏ°í ÀÖ´Ù.
±âº» ÀÔÃâ·Â ÇÔ¼öÀÇ
Á¾·ù´Â ´ÙÀ½°ú °°´Ù.
|
|
|
|
|
|
Á¾ ·ù |
¼³
¸í |
|
printf() |
ȸé»ó¿¡
»ó¼ö, º¯¼öÀÇ °ª, ¼ö½ÄÀÇ °ªÀ» ³ªÅ¸³½´Ù. |
|
|
scanf() |
Å°º¸µå·ÎºÎÅÍ
µ¥ÀÌÅ͸¦ ÀÔ·Â¹Þ¾Æ º¯¼ö¿¡ ±â¾ïÇÑ´Ù. |
|
|
getchar() |
Å°º¸µå·ÎºÎÅÍ
1°³ÀÇ ¹®ÀÚ¸¦ ÀÔ·Â¹Þ¾Æ º¯¼ö¿¡ ±â¾ïÇÑ´Ù. |
|
|
putchar() |
º¯¼ö¿¡
±â¾ïµÈ 1°³ÀÇ ¹®ÀÚ¸¦ ȸé»ó¿¡ ³ªÅ¸³½´Ù. |
|
printf( ) ÇÔ¼ö¿Í scanf( ) ÇÔ¼ö´Â 2ÀåÀ» ÂüÁ¶ÇϽÿÀ.
getchar( )Àº Ç¥ÁØ ÀÔ·Â ½ºÆ®¸²À¸·ÎºÎÅÍ ÀÔ·ÂÀ» ¹Þ´Â ¸ÅÅ©·Î·Î Å°º¸µå·ÎºÎÅÍ
1°³ÀÇ ¹®ÀÚ¸¦ ÀÔ·Â ¹Þ´Â´Ù.
putchar( ) ˼
Ç¥ÁØ Ãâ·Â ½ºÆ®¸²¿¡ Ãâ·ÂÇÏ´Â ¸ÅÅ©·Î·Î ȸé»ó¿¡ 1°³ÀÇ ¹®ÀÚ¸¦ ³ªÅ¸³ª°Ô
ÇÑ´Ù.
|
[ ¿¹Á¦
5-1.C ]
#include <stdio.h>
#include <ctype.h>
main()
{
int
c1, c2 ;
while(
(c1=getchar( ) ) ! = EOF)
{
c2
= isupper(c1) ? tolower(c1) : c1 ;
putchar(c2)
;
}
}
|
[ ÇÁ·Î±×·¥ Çؼ® ]
ÀÌ ÇÁ·Î±×·¥Àº Ç¥ÁØ ÀÔ·Â ÀåÄ¡ÀÎ Å°º¸µå·ÎºÎÅÍ 1°³ÀÇ ¹®ÀÚ¸¦ ÀԷ¹޾Æ
ÀÌ ¹®ÀÚ°¡ ´ë¹®ÀÚÀÎÁö¸¦ ÆǺ°ÇÏ¿©, ´ë¹®ÀÚÀÌ¸é ¼Ò¹®ÀÚ·Î
¹Ù²Ù¾î Ç¥ÁØ Ãâ·Â ÀåÄ¡ÀΠȸé»ó¿¡ ³ªÅ¸³ª°Ô ÇÑ´Ù.
c1=getchar( )
;
Å°º¸µå·ÎºÎÅÍ 1°³ÀÇ ¹®ÀÚ¸¦ ÀԷ¹޾Æ
c1 º¯¼ö¿¡ ±â¾ï½ÃŲ´Ù.
isupper(c1) ;
c1ÀÇ °ªÀÌ ´ë¹«ÀÚÀÎÁö¸¦ °Ë»çÇÏ¿© Âü,
°ÅÁþÀ» ÆǺ°ÇÏ´Â ¸ÅÅ©·ÎÀÌ´Ù.
tolower(c1)
c1ÀÇ °ªÀÌ ´ë¹®ÀÚÀÏ ¶§ ¼Ò¹®ÀÚ·Î ¹Ù²Ù¾î
ÁÖ´Â ¸ÅÅ©·ÎÀÌ´Ù.
5.3 Á¦¾î¹®
ÇÁ·Î±×·¥ÀÇ
½ÇÇàÀº À§¿¡¼ ¾Æ·¡·Î, ¶Ç´Â Á¿¡¼ ¿ì·Î ¼öÇàÇÑ´Ù. ±×·±µ¥
ÀÌ·¯ÇÑ ¼öÇà ¼ø¼¸¦
º¯°æÇϰųª ¹®ÀåÀÇ È帧À» ¹Ù²Ù°íÀÚ ÇÒ ¶§
Á¦¾î¹®À» »ç¿ëÇÑ´Ù. Á¶°Ç Á¦¾î¹®À¸·Î´Â if, .´ÙÁß
¼±Åÿ¡´Â switch~case ¹®ÀÌ ÀÖÀ¸¸ç, ¹Ýº¹¹®À¸·Î´Â
while, for, do~while ¹®ÀÌ ÀÖ°í, ºÐ±â¹®
À¸·Î´Â goto, break, continue
µîÀÌ ÀÖ´Ù.
5.3.1 ¼±Åù®
5.3.1.1 Á¶°Ç Á¦¾î¹®(if ~ else)
¾î¶²
Á¶°ÇÀÇ Âü, °ÅÁþ ¿©ºÎ¸¦ ÆÇ´ÜÇÏ¿© ½ÇÇàÀ» Á¦¾îÇÏ´Â ±¸Á¶ÀÌ´Ù.
C ¾ð¾î¿¡¼
°ÅÁþ(false)Àº 0 À¸·Î, 0 ¾Æ´Ñ ¸ðµç °ªÀ» Âü(true)À¸·Î
µÐ´Ù.
Á¶°Ç½ÄÀº ¹Ýµå½Ã
¼Ò°ýÈ£¸¦ ¹´Â´Ù.
Á¶°ÇÀÌ ÂüÀ̸é
Á¶°Ç ¹®ÀåÀ» ½ÇÇàÇÏ°í, °ÅÁþÀ̸é Á¶°Ç ¹®Àå ´ÙÀ½À» ½ÇÇàÇÑ´Ù.
if (Á¶°Ç)
¹®Àå :
´ÙÀ½ ¹®Àå ; |
½ÇÇàµÉ ¹®ÀåÀÌ
µÑ ÀÌ»óÀÎ °æ¿ì º¹ÇÕ¹®À¸·Î ó¸®ÇÒ ¼ö ÀÖ´Ù.
if
(Á¶°Ç) {
¹®Àå 1
;
¹®Àå 2
;
........
¹®Àå n ; } |
if ¹®¿¡ else¸¦
°®´Â °ÍÀ» Á¶°ÇÀÌ ÂüÀÏ ¶§¿Í °ÅÁþÀÏ ¶§¸¦ ¾çÀÚÅÃÀÏÇÏ¿© ¹®ÀåÀ» ½ÇÇàÇÑ´Ù.
if
(Á¶°Ç) ¹®Àå 1 ;
else ¹®Àå 2
;
|
if ¹®¿¡ else
~ if¸¦ °®´Â °ÍÀº ¿©·¯ Á¶°Ç Áß ÇØ´çÇÏ´Â ¹®ÀåÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Ù.
if
(Á¶°Ç) ¹®Àå 1 ; else
if(Á¶°Ç) ¹®Àå 2 ;
else ¹®.Àå 3 ; |
if ¹®ÀÇ ±¸Á¶
Á¶°Ç½ÄÀÌ ÂüÀÏ ¶§¸¸ ¹®ÀåÀÌ ½ÇÇàµÈ´Ù.
1)
if (Á¶°Ç½Ä) ¹®Àå1 ;
¹®Àå
2 ;
2)
if (Á¶°Ç½Ä)
{
¹®Àå
1 ;
:
}
¹®Àå
2 ;
|
|
|
|
if ~ else ±¸Á¶
Á¶°Ç½ÄÀÌ ÂüÀÏ ¶§¿Í °ÅÁþÀÏ ¶§¸¦ ¾çÀÚÅÃÀÏÇÏ¿© ¹®ÀåÀ» ½ÇÇà ÇÑ´Ù.
1)
if (Á¶°Ç½Ä)
¹®Àå
1 ;
else
2)
if (Á¶°Ç½Ä)
{
¹®Àå
1 ;
:
}
else
{
¹®Àå
2 ;
:
}
¹®Àå
3 ; |
|
|
|
if ~ else if ±¸Á¶
1)
if (Á¶°Ç½Ä1)
¹®Àå
1 ;
else if
(Á¶°Ç½Ä2)
¹®Àå
2 ;
else
¹®Àå
3 ;
¹®Àå 4
;
2)
if (Á¶°Ç½Ä1)
{
¹®Àå
1 ;
:
}
else
if (Á¶°Ç½Ä2)
{
¹®Àå
2 ;
:
}
else
{
¹®Àå
3 ;
:
}
¹®Àå
4 ; |
|
|
|
[
¿¹Á¦ 5-2.C ]
#include <stdio.h>
main()
{
int a;
printf("Á¤¼ö¸¦
ÀÔ·ÂÇϼ¼¿ä ? ") ;
scanf ("%d",
&a) ;
if ( a >= 0)
prinft("%d´Â
¾ç¼öÀÔ´Ï´Ù.\n", a) ;
else
prinft("%d´Â
À½¼öÀÔ´Ï´Ù.\n", a) ;
}
|
[ÇÁ·Î±×·¥ Çؼ® ]
if (a .= 0)
prinft ("%d´Â
¾ç¼öÀÔ´Ï´Ù.\n", a) ;
else
printf ("%d´Â À½¼öÀÔ´Ï´Ù.\n",
a) ;
ÀÌ ºÎºÐÀº Å°º¸µå·Î ÀÔ·ÂµÈ ¼öÄ¡°¡ º¯¼ö a¿¡ ±â¾ïµÇ¾î aÀÇ °ªÀÌ 0º¸´Ù
Å©¸é
printf (%d´Â ¾ç¼öÀÔ´Ï´Ù.\n", a) ;°¡ ½ÇÇàµÇ°í ±×·¸Áö ¾ÊÀ¸¸é
printf ("%d´Â À½¼öÀÔ´Ï´Ù.\n", a);°¡ ½ÇÇàµÈ´Ù.
[¹®Á¦1] Å°º¸µå·ÎºÎÅÍ ÀÔ·ÂµÈ Á¤¼öÀÇ Àý´ë°ªÀ» ȸé»ó¿¡
Ç¥½ÃµÇµµ·Ï ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
[¹®Á¦2] ¾î¶² ½Ã¿Ü ¹ö½º ¿ä±ÝÀº ¾î¸¥ÀÌ 320¿ø, ¾î¸°ÀÌ°¡
170¿øÀÔ´Ï´Ù. ´Ü, À¯¾Æ¸¦ µ¿¹ÝÇÑ ¾î¸¥
1¸í¿¡ ´ëÇØ 1¸í±îÁö´Â ¹«·áÀÌ°í, 2¸í°ºÎÅÍ´Â 1¸í´ç 50¿ø¾¿ÀÔ´Ï´Ù. Å°º¸µå·ÎºÎÅÍ
ÀÔ·ÂÇÑ Àü¿øÀÇ ¹ö½º ¿ä±ÝÀ» ȸé»ó¿¡ Ç¥½ÃÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
Àοø¼ö ÀÔ·Â
¾î ¸¥ :
¾î¸°ÀÌ :
À¯ ¾Æ :
¿ä±Ý ÇÕ°è :
|
[Èù Æ®] ¾î¸¥ ¼ýÀÚº¸´Ù À¯¾Æ ¼ýÀÚ°¡ ¸¹À» ¶§ À¯¾Æ 1¸í´ç 50¿ø¾¿ÀÌ µÈ´Ù.
[¹®Á¦3] ÆíÁö¸¦ º¸³¾ ¶§ Áß·® 25g ÀÌÇÏÀÌ°í, µÎ²²°¡
10mm ÀÌÇÏ´Â 60¿øÀ¸·Î º¸³¾ ¼ö ÀÖ´Ù.
Áß·®°ú
µÎ²²¸¦ Å°º¸µå·Î ÀÔ·ÂÇÏ°í, 60¿øÀ¸·Î º¸³¾ ¼ö ÀÖ´ÂÁö¸¦ ÆÇ´ÜÇؼ ȸé»ó¿¡
Ç¥½ÃÇÏ´Â
ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
[Èù Æ®] 1) Áß·®ÀÌ 25g ÀÌÇÏ 2)
µÎ²²°¡ 10mm ÀÌÇÏ
1),2) ÀÇ
Á¶°ÇÀ» µ¿½Ã¿¡ ¸¸Á·ÇÒ ¶§ÀÇ Á¶°ÇÀ» üũÇÑ´Ù.
5.3.1.2 ´ÙÁß ¼±Åù®(switch ~ case)
switch ¹®Àº ´ÙÁß °áÁ¤¹®ÀÇ Æ¯º°ÇÑ ÇüÅ·Πcase µÚÀÇ »ó¼ö°ª°ú ÀÏÄ¡ÇÏ´ÂÁö¸¦
¾Ë¾Æº¸°í
ÀÏÄ¡ÇÏ¸é ºÐ±âÇÑ´Ù.
switch ¹®¿¡¼
¹þ¾î³ª·Á¸é break ¹®À» »ç¿ëÇØ¾ß ÇÑ´Ù.
switch ¹®À» »ç¿ëÇÏÁö
¾Ê°í ¿©·¯ °³ÀÇ case ¹®À» Åë°úÇÏ´Â °ÍÀÌ À¯¿ëÇÏ°Ô »ç¿ëµÉ ¶§µµ ÀÖ´Ù.
default °æ¿ì¸¦
³Ö¾îÁÖ¸é caseÀÇ »ó¼ö°ª¿¡ ÀÏÄ¡ÇÏÁö ¾Ê´Â °æ¿ì¸¦ ó¸®ÇÒ ¶§ »ç¿ëµÈ´Ù.
break ¹®ÀÌ ¾ø´Â
switch ~ case ¹®
switch (º¯¼ö
ȤÀº ½Ä)
{
case
½Ä 1 : ¹®Àå
1 ;
case
½Ä 2 : ¹®Àå
2 ;
case
½Ä 3 : ¹®Àå
3 ;
:
case
½Ä n : ¹®Àå
n ;
default
:
¹®Àå n+1 ;
}
|
|
|
|
switchÀÇ º¯¼ö ȤÀº ½ÄÀÇ °ªÀÌ ½Ä 1°ú °°Àº °æ¿ì
¹®Àå 1 ÀÌÈÄ ¹®ÀåµéÀ» ½ÇÇàÇÏ°í, ½Ä 2È °°À» °æ¿ì
¹®Àå 2 ÀÌÈÄ ¹®ÀåµéÀ» ¼öÇàÇÑ´Ù. ¸¸¾à
¾î´Â °Í¿¡
µµ ÇØ´çµÇÁö ¾ÊÀ» °æ¿ì default·Î ÀúÀåÇÑ ¹®Àå
n+1À» ½ÇÇàÇÑ´Ù. default¹®Àº »ý·«ÇÒ ¼öµµ ÀÖ´Ù.
break¹®ÀÌ ÀÖ´Â switch ~ case¹®
|
switch
(º¯¼ö ȤÀº ½Ä)
{
case
½Ä 1 : ¹®Àå 1 ;
break
;
case
½Ä 2 : ¹®Àå 2 ;
break
;
case
½Ä 3 : ¹®Àå 3 ;
break
;
:
:
case
½Ä n : ¹®Àå n
;
break
;
default
:
¹®Àå n+1 ;
break
;
}
|
|
|
switchÀÇ º¯¼ö ȤÀº ½ÄÀÇ °ªÀÌ ½Ä1°ú °°À¸¸é
¹®Àå 1¸¸ ½ÇÇàÇÏ°í, ½Ä 2¿Í °°À¸¸é ¹®Àå 2¸¸
½ÇÇàÇϸç, ¸¸¾à ½Ä n°ú °°À¸¸é ¹®Àå n¸¸ ½ÇÇàÇÑ´Ù.
¾î´À °Í¿¡µµ ÇØ´çµÇÁö ¾ÊÀ» °æ¿ì default·Î ÁöÁ¤µÈ
¹®Àå n+1¸¸À» ½ÇÇàÇÑ´Ù. default¹®Àº »ý·«ÇÒ ¼ö ÀÖ´Ù.
|
[ ¿¹Á¦
5-3.C ]
# include <stdio.h>
main()
{
int
a=10 b=5, c=0, n;
printf("±âÈ£
ÀÔ·Â = ");
n=getchar()
;
if (n
== '+')
c=a+b;
else
if (n == '-')
c=a-b;
else
if (n == '*')
c=a*b;
else
if (n == '/')
c=a/b;
printf("%d
%c %d = %d\n", a, n, b, c);
}
|
[¹®Á¦1] Å°º¸µå·ÎºÎÅÍ ÀÔ·ÂµÈ ¹®ÀÚ°¡ M ¶Ç´Â m À̸é
man, W ¶Ç´Â wÀ̸é wowan,
±×
ÀÌ¿ÜÀ̸é ???¸¦ ȸé»ó¿¡ Ç¥½ÃÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
|
[ ¿¹Á¦
5-4.C ]
# include <stdio.h>
main()
{
int
n;
printf("10Áø
Á¤¼ö ÀÔ·Â =");
scanf("%d",
&n);
switch(n)
{
case
1 : printf("10Áø Á¤¼ö 1À» ÀÔ·Â Çß½À´Ï´Ù.\n");
break;
case
2 : printf("10Áø Á¤¼ö 2À» ÀÔ·Â Çß½À´Ï´Ù.\n");
break;
case
3 : printf("10Áø Á¤¼ö 3À» ÀÔ·Â Çß½À´Ï´Ù.\n");
break;
default
: printf("1~3 ÀÌ¿ÜÀÇ 10Áø Á¤¼ö¸¦ ÀÔ·Â Çß½À´Ï´Ù.\n");
}
}
|
[¹®Á¦2] Å°º¸µå·Î Á¡¼ö¸¦ ÀÔ·Â¹Þ¾Æ Á¡¼ö¿¡ ¸Â´Â ÇÐÁ¡À»
Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
Á¡ ¼ö
|
ÇÐ Á¡ |
90Á¡ÀÌ»ó |
A |
80Á¡ÀÌ»ó |
B |
70Á¡ÀÌ»ó |
C |
60Á¡ÀÌ»ó |
D |
60Á¡¹Ì¸¸ |
F |
|
[ ¿¹Á¦
5-5.C ]
# include <stdio.h>
main()
{
int
a=10, b=5, c=0, n;
printf("±âÈ£
ÀÔ·Â = ") ;
n=getchar()
;
switch(n)
{
case
'+' : c=a+b;
break;
case
'-' : c=a-b;
break;
case
'*' : c=a*b;
break;
case
'/' : c=a/b;
break;
}
printf("%d
%c %d = %d\n", a, n, b, c) ;
}
|
[¹®Á¦3] Å°º¸µå·Î 1¹®ÀÚ¸¦ ÀÔ·ÂÇÏ°í, M ¶Ç´Â mÀ̸é morning
A ¶Ç´Â aÀ̸é afternoon ±× ÀÌ¿ÜÀ̸é
???¸¦
ȸé»ó¿¡ Ç¥½ÃÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
5.3.2 ¹Ýº¹¹®(iterative statement)
ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Ùº¸¸é °°Àº ÀÛ¾÷À» ¿©·¯ ¹ø ¹Ýº¹ÇØ¾ß ÇÒ °æ¿ì°¡ ÀÖ´Ù.
ÀÌ ¶§ °°Àº ³»¿ëÀÇ
¹®ÀåµéÀ» ¿©·¯ ¹ø ÀÛ¼ºÇÏÁö ¾Ê°í ¿øÇÏ´Â
ÀÛ¾÷À» ¹Ýº¹½ÃÅ°´Â ¹Ýº¹¹®À¸·Î C ¾ð¾î¿¡¼´Â
¹«ÇÑÁ¤Çü ¼± Á¦¾î ¹Ýº¹ ¸í·ÉÀÎ while¹®,
ÇѰ輺 ¹Ýº¹ ¸í·ÉÀÎ for ¹®, ¹«ÇÑÁ¤Çü ÈÄ Á¦¾î ¹Ýº¹
¸í·ÉÀÎ do~ while¹® µîÀÌ ÀÖ´Ù.
5.3.2.1 while ¹®
°°Àº 󸮸¦ ¹Ýº¹Çؼ ó¸®ÇÏ´Â Á¦¾î±¸Á¶ÀÌ´Ù.
while¹®ÀÇ Á¶°Ç½Ä
°ªÀÌ ÂüÀÏ ¶§ ºí·Ï({}) ȤÀº ¹®Àå ³»¿ëÀ» ½ÇÇàÇÏ°í, °á°ú°ªÀÌ °ÅÁþÀ̸é
ºí·Ï ¹ÛÀÇ ¹®ÀåÀ» ½ÇÇàÇÑ´Ù.
¹Ýµå½Ã ºí·Ï ¾È¿¡
Á¶°Ç½ÄÀÇ °á°ú°ªÀ» º¯È½ÃÅ°´Â ¹®ÀåÀÌ ÇÊ¿äÇϸç, Á¶°Ç½ÄÀÌ À߸ø 󸮵É
°æ¿ì ¹«ÇÑ ·çÇÁ(loop)¿¡ ºüÁö°Ô µÇ¹Ç·Î
Á¶½ÉÇØ¾ß ÇÑ´Ù.
i
= 1;
while (i<=10)
{
........;
++i;
........;
} |
i =
1;
while (i<=10)
{
.........:
++j;
.........;
} |
Á¶°Ç½Ä¿¡ 0 ¾Æ´Ñ »ó¼ö¸¦ ³ÖÀ¸¸é ¹«ÇÑ ·çÇÁ¿¡ ºüÁø´Ù. ÀÌ
¶§ ¹«ÇÑ ·çÇÁ ºí·Ï¿¡¼ ºüÁ®³ª¿À°Ô
ÇÏ´Â ¹æ¹ýÀº break¹®À» »ç¿ëÇÑ´Ù.
while (1)
{
........;
........;
} |
i =
1;
while (1)
{
.........:
if
(I ==10) break;
.........;
} |
while
(Á¶°Ç½Ä)
{
¹®Àå
1 ;
¹®Àå
2 ;
........;
¹®Àå
n ;
}
¹®Àå n+1 ; |
|
|
|
[ ¿¹Á¦
5-6.C ]
#include <stdio.h>
main()
{
int
a, suma=0;
a
= 1;
sum
= sum + a;
a
= 2;
sum
= sum + a;
a
= 3;
sum
= sum + a;
a
= 4;
sum
= sum + a;
a
= 5;
sum
= sum + a; |
printf("sum
= %d\n", sum);
}
|
[ ¿¹Á¦
5-7.C ]
#include <stdio.h>
main()
{
int
a, sum=0;
while(a<=5)
{
sum=sum+a;
++a;
}
printf("sum
= %d\n", sum) ;
}
|
[ ¿¹Á¦
5-8.C ]
#include <stdio.h>
main()
{
int
c;
c =
getchar() ;
while(c
!= EOF)
{
putchar(c)
;
c=getchar()
;
}
}
|
[ÇÁ·Î±×·¥ Çؼ®]
Å°º¸µå·Î ^Z(Ctrl+Z)°¡
ÀԷµǸé getchar() ÇÔ¼ö´Â -1(EOF:End Of File)À» µÇµ¹·Á ÁØ´Ù.
±×·¯¹Ç·Î while(c != EOF)Àº º¯¼ö c¿¡ µé¾îÀÖ´Â
µ¥ÀÌÅÍ°¡ ^Z°¡ ¾Æ´Ò ¶§ ±îÁö ¹Ýº¹ÇÏ¿©
½ÇÇàÇÑ´Ù.
EOF´Â ±âÈ£ »ó¼ö·Î
stdio.h¿¡¼ -1·Î Á¤ÀǵǾî ÀÖ´Ù.
^Z¸¦ ÀνÄÇϱâ
À§Çؼ´Â º¯¼ö c¸¦ int ÇüÀ¸·Î ¸¸µé¾î ³õ´Â´Ù. char ÇüÀº -1À»
ÀνÄÇÒ ¼ö
¾ø´Ù.
[¹®Á¦1] 1ºÎÅÍ 10±îÁöÀÇ ÇÕÀ» ±¸Çؼ ȸé»ó¿¡ ³ªÅ¸³½´Ù. À̶§
while¹®ÀÇ Á¶°Ç½ÄÀÇ °ªµµ
ȸé»ó¿¡
Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
[¹®Á¦2] 12
+ 22 + ....+
i2 ÀÌ
1000À» ³ÑÀ» ¶§ÀÇ i¿Í ÇÕÀ» ±¸ÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
¡¼Èù Æ®¡½ ¨ç i¸¦ 1¾¿ Áõ°¡ ¨è
iÀÇ Á¦°ö ÇÕ°è º¯¼ö¿¡ °¡»ê
¨é
Á¦°ö ÇÕ°è º¯¼ö°¡ 1000 ÀÌÇÏÀÏ ¶§±îÁö ¹Ýº¹ÇÑ´Ù.
5.3.2.2 for¹®
for ¸í·ÉÀº C¾ð¾î¿¡¼ °¡Àå ¸¹ÀÌ »ç¿ëÇÏ´Â ¸í·É¾î ÁßÀÇ
Çϳª·Î ÀÏÁ¤ÇÑ È½¼ö¸¸Å ¹Ýº¹ ÀÛ¾÷À»
Çϱ⠶§¹®¿¡ ÇѰ輺 ¹Ýº¹ ¸í·ÉÀ̶ó°í ÇÑ´Ù.
while ¹®ÀÌ ¹Ýº¹
Á¶°Ç¿¡ ÀÇÇÑ ¹Ýº¹ÀÎ ´ë»ê. for¹®Àº Á¦¾î º¯¼öÀÇ ÃʱâÈ, ¹Ýº¹ Á¶°Ç,
Á¦¾î º¯¼ö
ÀÇ º¯È¶ó´Â Çü½ÄÀ¸·Î ±â¼úÇÑ´Ù.
¿¹)
while
(Á¶°Ç½Ä)
{
........;
........;
} |
for
(ÃʱâÈ; ¹Ýº¹Á¶°Ç; º¯¼öÀÇ º¯È)
{
.........:
.........;
} |
¹Ýº¹µÉ ºÎºÐÀÌ
ÇÑ °³ÀÇ ¹®ÀåÀÌ¸é ºí·Ï({})À» »ý·«Çصµ µÈ´Ù.
¿¹)
for
( )
{
........;
} |
for
( )
.........:
|
for
(Ãʱâ½Ä; Á¶°Ç½Ä; Áõ°¨½Ä)
{
¹®Àå
1 ;
¹®Àå
2 ;
........
;
¹®Àå
n ;
}
¹®Àå n+1 ; |
|
|
¨ç Ãʱâ½ÄÀº for¹®ÀÇ ·çÇÁ°¡ ½ÇÇàµÇ±â Àü¿¡ ´Ü Çѹø
½ÇÇàµÇ¸é,
¿©·¯ °³ÀÇ ½ÄÀ» ±â¼úÇÒ ¼ö ÀÖ´Ù. À̶§
½ÄÀº ÄÞ¸¶(,) ¿¬»êÀÚ
·Î ±¸ºÐÇÑ´Ù.
¨è Á¶°Ç½ÄÀº ·çÇÁÀÇ ½ÇÇà Áß ¸Åȸ Á¶»ç¸¦ ÇÏ¸ç ´Ü 1°³ÀÇ ¹®Àå
¸¸À» ±â¼úÇÒ ¼ö ÀÖ´Ù.
Á¶°Ç½ÄÀº ÂüÀÎ °Ü¿ì ·çÇÁ¸¦ ¹Ýº¹ÇÏ°í °ÅÁþÀÎ
°æ¿ì ·çÇÁ¸¦
ºüÁ® ³ª°£´Ù.
¨é Áõ°¨½ÄÀº ·çÇÁÀÇ ´ÙÀ½ ´Ü°è¸¦ ÁغñÇÏ´Â ´Ü°è·Î ¿©·¯ °³ÀÇ
½ÄÀ» ³ª¿ÇÒ ¼ö ÀÖÀ¸¸ç, ÄÞ¸¶(,) ¿¬»êÀÚ·Î
½ÄÀ» ±¸ºÐÇÑ´Ù.
¨ç for (i=10;
i<=20; ++i)
¨è for (i=5, j=10; (i>0 &&
j>20) ; ++i)
¨é for (i=5, j=10; (i>0 &&
j>20) ; ++i, j+=3) |
¿¹Á¦ 5-6.C¸¦
for¹®À» »ç¿ëÇؼ °íÃÄ º¾½Ã´Ù.
|
[ ¿¹Á¦
5-9.C ]
#include <stdio.h>
main()
{
int
a, sum=0;
for
(a=1; a<=5; ++a)
sum
= sum + a;
printf("sum
= %d\n", sum) ;
}
|
[¹®Á¦1] 12 , 22
, 32 , ......., 102 ÀÇ °ªÀ» ¼ø¼´ë·Î Ç¥½ÃÇÏ´Â
ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
[¹®Á¦2] 210 À» ±¸ÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
[¹®Á¦3] ±¸±¸´Ü Ç¥¸¦ ¸¸µå´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
5.3.2.3 do~while ¹®
while¹®°ú. for¹®Àº ¸ÕÀú Á¶°Ç ¼ö½ÄÀÌ Æò°¡µÈ ÈÄ Á¶°ÇÀÌ Âü ÀÏ ¶§ ÁöÁ¤µÈ
󸮸¦ ½ÇÇàÇÏ´Â °Í¿¡ ¹ÝÇÏ¿©, do~while¹®Àº
¹«Á¶°Ç Çѹø do ´ÙÀ½ÀÇ ¹®ÀåÀ» ½ÇÇàÇÑ
ÈÄ Á¶°Ç ¼ö½ÄÀ» Æò°¡ÇÑ´Ù.
do
{
¹®Àå
1 ;
¹®Àå
2 ;
........
;
¹®Àå
n ;
}
while(Á¶°Ç½Ä)
¹®Àå n+1 ; |
|
|
|
[ ¿¹Á¦
5-10.C ]
#include <stdio.h>
main()
{
int
i=0, sum=0;
do
{
sum
= sum + i;
++i;
}
while(i<=30)
;
printf("1ºÎÅÍ
30±îÁöÀÇ ÇÕ = %d\n", sum) ;
}
|
5.3.3 ºÐ±â¹®(branching statement)
¹Ýº¹¹®À» »ç¿ëÇÏ¿© ·çÇÁ°¡ ¹Ýº¹µÇ´Â µ¿¾È ·çÇÁ·ÎºÎÅÍ ºüÁ®³ª°¡±â À§Çؼ´Â
ºÐ±â¹®ÀÌ ÇÊ¿äÇÏ´Ù.
C ¾ð¾î¿¡¼ ºÐ±â¹®ÀÇ
Á¾·ù·Î´Â goto¹®, break¹®, continue¹® µîÀÌ ÀÖ´Ù.
5.3.3.1 goto ¹®
¹®ÀåÀÇ Á¦¾î¸¦ ¹«Á¶°ÇÀûÀ¸·Î ·¹ÀÌºí ¹®ÀÌ ÀÖ´Â °÷À¸·Î À̵¿½ÃŲ´Ù.
¿¹)
·¹À̺í¸íÀº º¯¼ö¸íÀ»
¸¸µå´Â ±ÔÄ¢°ú °°À¸¸ç, ·¹À̺í¸í µÚ¿¡´Â ÄÝ·Ð(:)À» ºÙ¿© »ç¿ëÇÑ´Ù.
C ¾ð¾î´Â ÇÔ¼öÇü
¾ð¾îÀÌ°í, ±¸Á¶Àû ¾ð¾îÀ̱⠶§¹®¿¡ ¸¸ÀÏ goto ¹®À» »ç¿ëÇÏ¸é ¹®ÀåÀÇ
È帧À» ÀÌÇØÇÏ´Â µ¥
¾î·Á¿òÀ» Áֱ⠶§¹®¿¡ Àß »ç¿ëÇÏÁö ¾Ê´Â´Ù.
|
[ ¿¹Á¦
5-11.C ]
#include <stdio.h>
main()
{
int
i=1, sum=0;
while(1)
{
sum
+= i;
++i;
if
(i>20) goto jmp;
}
jmp:
printf("goto¹®À»
ÀÌ¿ëÇÑ 1ºÎÅÍ 30±îÁöÀÇ ÇÕ = %d\n", sum) ;
}
|
5.3.3.2 continue ¹®°ú break
¹®
for, while, do~while°ú °°Àº ¹Ýº¹¹®ÀÇ ·çÇÁ(loop)¸¦ ½ÇÇàÇÏ´Ù°¡
continue¹®À» ¸¸³ª¸é ±× ÀÌÈÄÀÇ ¹®ÀåµéÀ» ½ÇÇàÇÏÁö
¾Ê°í ·çÇÁÀÇ Á¶°Ç üũ ºÎºÐÀ¸·Î Á¦¾î¸¦ ¿Å±ä´Ù.
for, while, do~while°ú °°Àº ¹Ýº¹¹®ÀÇ ·çÇÁ¸¦ ½ÇÇàÇÏ´Ù°¡
break¹®À» ¸¸³ª¸é ¹Ýº¹¹®ÀÇ ·çÇÁ ºÎºÐÀ» ºüÁ®³ª°£´Ù.
|
[ ¿¹Á¦
5-12.C ]
#include <stdio.h>
main()
{
short
i;
for
(i=0; i<8; ++i)
{
if
(i == 3)
continue;
printf("i
= %d\n", i) ;
}
}
|
[ ¿¹Á¦
5-13.C ]
#include <stdio.h>
main()
{
short
i;
for
(i=0; i<8; ++i)
{
if
(i == 3)
break;
printf("i
= %d\n", i) ;
}
}
|
[ ¿¹Á¦
5-13.C ]
#include <stdio.h>
main()
{
short
i;
for
(i=0; i<8; ++i)
{
for
(j=0; j<=i ; ++j)
{
printf("*");
}
printf("\n")
;
}
}
|
¡à ¾È¿¡
if ¹®°ú continue¹®, break¹®À» »ç¿ëÇÏ¿© ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ°í
¾Æ·¡ÂÊ¿¡ ÀÖ´Â ½ÇÇà°á°ú ¶õ¿¡ Àû¾îº¾½Ã´Ù.
[¹®Á¦1] ´ÙÀ½ ¹®ÀåµéÀÌ µé¾î°¥ ¼ö ÀÖµµ·Ï 10ºÎÅÍ
20±îÁöÀÇ ÇÕÀ» ±¸ÇÏ¿© ȸé»ó¿¡ ³ªÅ¸³»´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
#include
<stdio.h>
main()
{
.....................;
.....................;
while(1)
{
..................;
.................
;
}
...................;
...................;
} |
[¹®Á¦2] Å°º¸µå·ÎºÎÅÍ ¹®ÀÚ¿À» ÀÔ·Â¹Þ¾Æ 1°³ÀÇ ¹®ÀÚ¾¿ ȸé»ó¿¡ Ãâ·ÂÇÏ´Â
ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.(for ȤÀº while¹® »ç¿ë)
[¹®Á¦3] Å°º¸µå·ÎºÎÅÍ ÅÂ¾î³ ¿¬µµ¸¦ ÀÔ·Â¹Þ¾Æ ¶ì¸¦
ÀÚµ¿ÀûÀ¸·Î °è»êÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.(if~else¹®°ú switch¹®
»ç¿ë)
¡¼Èù Æ®¡½ ¿¬µµ¸¦ 12·Î ³ª´« ³ª¸ÓÁö°¡
0ÀÌ¸é ¿ø¼þÀ̶ì, 1ÀÌ¸é ´ß¶ì, 2ÀÌ¸é °³¶§, 3ÀÌ¸é µÅÁö¶ì, 4À̸é Áã¶ì,
5ÀÌ¸é ¼Ò¶ì,
6À̸é
¹ü¶ì, 7À̸é Åä³¢¶ì, 8ÀÌ¸é ¿ë¶ì, 9ÀÌ¸é ¹ì¶ì, 10ÀÌ¸é ¸»¶ì, 11À̸é
¾ç¶ìÀÌ´Ù.
[¹®Á¦4] 1¿¡¼ 100 »çÀÌÀÇ Â¦¼öÀÇ ÇÕÀ» if goto¹®,
while¹®, for¹®À» »ç¿ëÇؼ °¢°¢ÀÇ ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
[¹®Á¦5] 1¿¡¼ 30»çÀÌÀÇ ¼ö¿¡¼ 4ÀÇ ¹è¼ö¿Í 7ÀÇ ¹è¼ö¸¦
±¸ÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
[¹®Á¦6] 10°³ÀÇ Á¤¼ö¸¦ ¹è¿ º¯¼ö¿¡ ÇÒ´çÇÏ¿© ÃÖ´ë°ª°ú
ÃÖ¼Ò°ªÀ» ±¸ÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
[¹®Á¦7] Å°º¸µå·ÎºÎÅÍ ±¸±¸´ÜÀÇ ´ÜÀ» Á¤¼ö·Î ÀԷ¹޾Æ
¾Æ·¡¿Í °°ÀÌ È¸é»ó¿¡ Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
´ÜÀ»
Á¤¼ö·Î ÀÔ·Â : 2
2´Ü
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
............
2 * 9 = 18 |
[¹®Á¦8] ´ÙÀ½ ÇÁ·Î±×·¥ÀÌ goto¹®À» »ç¿ëÇÏÁö ¾Ê°í ´Ù½Ã
ÀÛ¼ºÇϽÿÀ.
#include
<stdio.h>
main()
{
int
i=0, sum=0 ;
Again:
++i
;
sum
+= i;
if (i
== 50)
printf("1+2+3+...+50
= %d\n", sum) ;
else
goto
Again;
} |
µ¿ÁÖ´ëÇÐ Àü»ê°ú È«¼ö¿
copyright(c) 1998. sooyoul Hong All
Right Reserve
|