1. °£´ÜÇÑ ÇÁ·Î±×·¥ -- Mission 1 1) C ÄÄÆÄÀÏ·¯ »ç¿ë¹ý ÀÍÈ÷±â - C source file ÀÛ¼º: test.c, test.cpp - compile: VC++, Turbo-C, Unix 2) °£´ÜÇÑ C ÇÁ·Î±×·¥ ÀÛ¼º - printf() ÇÔ¼ö - Àڱ⠼Ұ³ ÇÁ·Î±×·¥ - 10 + 20 2. C ÇÁ·Î±×·¥ ¿¹ #include void main() { printf(¡°This is a C program\n¡±); printf(¡°My name: Hong, Kil-Dong\n¡±); printf(¡°My home: Seoul, Korea\n¡±); printf(¡°Home: 02)123-4567\n¡±); printf(¡°Mobile: 011)987-6543\n¡±); printf(¡°C program is interesting\n¡±); } 3. printf()¿Í scanf() ÇÔ¼ö #include void main() { int num; /* Á¤¼öÇü º¯¼ö */ printf(¡°Á¤¼ö ÀÔ·Â : ¡±); scanf(¡°%d¡±, &num); printf(¡°Àоî¿Â Á¤¼ö´Â %d ÀÔ´Ï´Ù\n¡±, num); } 4. printf(), scanf() ¿¬½À -- Mission 2 1) 2°³ÀÇ Á¤¼ö¸¦ ÀÔ·ÂÇÏ¿© µ¡¼À °á°ú Ãâ·Â - int Çü º¯¼ö ¼±¾ð - scanf() ÇÔ¼ö ÀÀ¿ë 1. »ç°¢Çü(»ï°¢Çü, ¿ø) µÑ·¹¿Í ³ÐÀÌ °è»ê 2) ´Þ·¯ <-> ¿øÈ­ º¯È¯ ÇÁ·Î±×·¥ ÀÛ¼º - float Çü º¯¼ö ¼±¾ð ÀÀ¿ë 1. Km <-> mile º¯È¯: 1.609 km/mile ÀÀ¿ë 2. ¼·¾¾ <-> È­¾¾ ¿Âµµº¯È¯: 9/5*C+32 5. ÀÚ·áÇü, if ¹® -- Mission 3 1) ÀÚ·áÇü : int, char, float, double, void - int¿Í floatÀÇ Â÷ÀÌÁ¡ - int¿Í charÀÇ Â÷ÀÌÁ¡ Ãß°¡ 1. º¯È¯¹®ÀÚ Á¾·ù, type ¼öÁ¤ÀÚ 2) If ¹® »ç¿ë¹ý - Á¤¼ö¸¦ ÀÔ·ÂÇÏ¿© ¾ç¼ö, À½¼ö ÆÇ´Ü ÇÁ·Î±×·¥ ÀÀ¿ë 1. Á¤¼ö¸¦ ÀÔ·ÂÇÏ¿© Ȧ¼ö, ¦¼ö ÆÇ´Ü ÀÀ¿ë 2. Á¤¼ö¸¦ ÀÔ·ÂÇÏ¿© 3ÀÇ ¹è¼öÀÎÁö... 6. ¿¬»êÀÚ ¿ì¼±¼øÀ§ 1. primary ¿¬»êÀÚ: (), [], ->(±¸Á¶Ã¼Æ÷ÀÎÅÍ), .(±¸Á¶Ã¼ Ç׸ñ) 2. ´ÜÇ× ¿¬»êÀÚ : !, ~, ++, --, -, (type¸í), *(Æ÷ÀÎÅÍ), &(ÁÖ¼Ò ¿¬»êÀÚ) , sizeof 3. °ö¼À, ³ª´°¼À: *, /, %(³ª¸ÓÁö ¿¬»êÀÚ: Á¤¼ö) 4. µ¡¼À, »¬¼À : +, - 5. shift ¿¬»êÀÚ: <<, >> 6. ºñ±³ ¿¬»êÀÚ : <, <=, >, >= 7. µî°¡ ¿¬»êÀÚ : ==, != 8. ºñÆ® ¿¬»êÀÚ : &, |, ^(exclusive OR) 9. ³í¸® ¿¬»êÀÚ : &&, ||, ! 10. Á¶°Ç ¿¬»êÀÚ : ?: 11. ġȯ ¿¬»êÀÚ : =, +=, -=, *=, /=, %= >>=, <<=, &=, ^=, |= 12. comma ¿¬»êÀÚ: , ¿ì¼±¼øÀ§ -- À§·Î °¥¼ö·Ï ¿ì¼±¼øÀ§°¡ ³ô¾ÆÁø´Ù! 7. ÀÚ·áÇü(data type) -- º¸Ãæ char: ÇÑ ¹®ÀÚ(1 byte) -128 ~ 127 ¶Ç´Â 0 ~ 255±îÁö int : Á¤¼ö(2 or 4 bytes) -(2ÀÇ 15½Â) ~ (2ÀÇ 15½Â)-1 ¶Ç´Â 0 ~ (2ÀÇ 16½Â)-1 -(2ÀÇ 31½Â) ~ (2ÀÇ 31½Â)-1 ¶Ç´Â 0 ~ (2ÀÇ 32½Â)-1 float: ½Ç¼ö Çϳª¸¦ ÀúÀåÇÏ´Â ±â¾ïÀå¼Ò(4 bytes) 10ÀÇ -64½Â ~ 10ÀÇ 63½Â, À¯È¿¼ýÀÚ´Â ÃÖ´ë 8ÀÚ¸® (doubleÀÎ °æ¿ì´Â 2¹è±îÁö Çã¿ë!) 8. ÀÚ·áÇü ¼öÁ¤ÀÚ(type modifier) short, long : int ¾Õ¿¡¸¸ »ç¿ë signed, unsigned : int, char ¾Õ¿¡¸¸ »ç¿ë double : float ¾Õ¿¡¸¸ »ç¿ë short (int) long (int) signed (int) unsigned (int) signed char signed short (int) unsigned short (int) signed long (int) unsigned long (int) double (float) 9. printf(), scanf()ÀÇ º¯È¯¹®ÀÚ Á¤¼ö %d -- digit(10Áø¼ö) %10d %-10d %ld -- long digit %u -- unsigned %o -- octal(8Áø¼ö) %x -- hexa(16Áø¼ö) ½Ç¼ö %f %10.2f %-10.2f %e(10ÀÇ Áö¼ö½Â ÇüÅÂ, ¿¹: 0.1234e+2) %g ¹®ÀÚ %c %s(¹®ÀÚ¿­) [¿¬½À] 16Áø¼ö Á¤¼ö 2°³¸¦ ÀÔ·ÂÇÏ¿© µ¡¼À°á°ú¸¦ 16Áø¼ö·Î 10. º¯È¯¹®ÀÚ ½Ç½À #include #define PI 3.14159 void main() /* Example of printf ÇÔ¼ö */ { char ch = ¡®A¡¯; short i = 0x41; float pi = 3.14; printf(¡°ch = %c, %d, %x¡±, ch, ch, ch); printf(¡° i = %d, %u, %o, %x, %c¡±, i, i, i, i, i); printf(¡°pi = %f, %e¡±, pi); printf(¡°The value of PI is %f or %e¡±, PI, PI); } [¿¬½À] char, short, float¸¦ type ¼öÁ¤ÀÚ·Î ¼öÁ¤ÇÏ¿© ½Ç½ÀÇϽÿÀ. 11. »ó¼öÀÇ Ç¥Çö Á¤¼ö: -123, +456, 789, 123U, 123L, 123u, 123l, 123UL, 123ul - 8Áø¼ö´Â 0 À¸·Î ½ÃÀÛ : 0123, 0101 - 16Áø¼ö´Â 0x ·Î ½ÃÀÛ : 0x41 - 1,000,000°ú °°ÀÌ comma°¡ »ðÀԵǸé error ½Ç¼ö: 1.23, -1.23, +1.23, 0.12e-3, 12.34F, -12.34f, 12.34L, 12.34l ¹®ÀÚ : 'A', '0', ¡®\0123¡¯, ¡®\0x41¡¯, ¡®\n¡¯, ¡®\t¡¯, ¡®\r¡¯, ¡®\¡¯¡¯, ¡®\\¡¯, ¡®\0¡¯, ¡®\007¡¯ ½ºÆ®¸µ : ¡°This is a string¡±, ¡°abc\tdef\nxyz¡± 12. º¯¼ö¼±¾ð°ú ÃʱâÈ­ int i, j, k; long i, j, k; unsigned i, j, k; int i=0, j=0101, k=0x10; long i=100000L, j=10*20+30, k; int num1, num2, sum, product; int num1, num2, sum=0, product=1; char c = ¡®A¡¯; char c = 0x41; float pi = 3.141592; float x = 0.1234e+2; 13. Á¶°Ç¹® : if¹® #include void main() { int num; printf(¡°Á¤¼ö¸¦ ÀÔ·ÂÇϽÿÀ : ¡±); scanf(¡°%d¡±, &num); if (num < 0) printf(¡°%d ´Â À½¼ö\n¡±, num); else printf(¡°%d ´Â ¾ç¼ö or 0\n¡±, num); } 14. if¹® À¯Çü-1. if (Á¶°Ç½Ä) ¹®Àå1; else ¹®Àå2; elseºÎ´Â »ý·« °¡´É! À¯Çü-2. if (Á¶°Ç½Ä) { ¹®Àå1-1; ¡¦ ¹®Àå1-a; } else { ¹®Àå2-1; ¡¦ ¹®Àå2-b; } À¯Çü-3. if (Á¶°Ç½Ä) { ¹®Àå1-1; ¡¦ ¹®Àå1-a; } else if (Á¶°Ç½Ä) { ¹®Àå2-1; ¡¦ ¹®Àå2-b; } else if (Á¶°Ç½Ä) { ¡¦ } else { ¹®Àån-1; ¡¦ ¹®Àån-x; } Á¶°Ç½Ä 1. ºñ±³¿¬»êÀÚ : <, >, >=, <=, ==, != 2. ³í¸®¿¬»êÀÚ : &&, ||, ! 15. if¹® »ç¿ë ¿¹Á¦ /* ¼·¾¾¸¦ È­¾¾·Î, È­¾¾¸¦ ¼·¾¾·Î... */ #include void main() { int n; float x; printf(¡°Select menu\n¡±); printf(¡° 1. Celcius to Farenheit\n¡±); printf(¡° 2. Farenheit to Celcius\n¡±); printf(¡°Input 1 or 2 : ¡±); scanf(¡°%d¡±, &n); /* 1 ¶Ç´Â 2 ÀÔ·Â */ if (n == 1) { /* ¼·¾¾¸¦ È­¾¾·Î */ printf(¡°Input Celcius : ¡±); scanf(¡°%f¡±, &x); printf(¡°F = %f\n¡±, x*9.0/5.0+32); } else { /* È­¾¾¸¦ ¼·¾¾·Î */ printf(¡°Input Farenheit : ¡±); scanf(¡°%f¡±, &x); printf(¡°C = %f\n¡±, (x-32)*5.0/9.0); } } 16. ¼÷Á¦ #1. µµ·®Çü ȯ»ê ÇÁ·Î±×·¥ ¿©·¯°¡Áö µµ·®Çü ȯ»ê ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ. 1. Km -> mile 2. ¼·¾¾ -> È­¾¾ 3. ¿øÈ­ -> ´Þ·¯ 4. Kg -> pound 5. feet -> cm ¡¦. 1) ¸Þ´º¸¦ º¸¿©ÁÖ°í ÇØ´ç ¸Þ´º¸¦ ¼±Åà ¿¹) 1¹ø: km -> mile, 2¹ø: ¼·¾¾ -> È­¾¾, ¡¦ 2) ÇØ´ç ±â´ÉÀ» ¼öÇàÇϱâ À§ÇØ ¼ýÀÚ¸¦ ÀÔ·Â 3) ÇØ´ç ±â´É¿¡ ´ëÇÑ ´äÀ» Ãâ·Â 17. ¹Ýº¹¹® -- Mission 4 1) 1ºÎÅÍ 5±îÁö Á¦°ö¼ö¸¦ Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥ ÀÛ¼º 1ÀÇ Á¦°öÀº 1 2ÀÇ Á¦°öÀº 4 3ÀÇ Á¦°öÀº 9 4ÀÇ Á¦°öÀº 16 5ÀÇ Á¦°öÀº 25 2) 1~100±îÁö, ȤÀº n°ªÀ» ÀÔ·ÂÇÏ¿© 1~n±îÁö ¡¦ ÀÀ¿ë 1. 1+2+...+100À» ±¸ÇÏ·Á¸é? ÀÀ¿ë 2. 1~100 »çÀÌÀÇ È¦¼ö¸¸ ´õÇϱâ 18. ¹Ýº¹¹® ¿¹: for¹® 1) ¹Ýº¹¹® »ç¿ë¾ÈÇÑ ¿¹ #include void main() { printf(¡°%d %d\n¡±, 1, 1*1); printf(¡°%d %d\n¡±, 2, 2*2); printf(¡°%d %d\n¡±, 3, 3*3); printf(¡°%d %d\n¡±, 4, 4*4); printf(¡°%d %d\n¡±, 5, 5*5); } 2) ¹Ýº¹¹® »ç¿ëÇÑ ¿¹ #include void main() { int i, n; printf(¡°Enter a number : ¡±); scanf(¡°%d¡±, &n); for (i = 1; i <= n; i = i+1) printf(¡°%d %d\n¡±, i, i*i); } 19. for¹® Çü½Ä for (ÃʱâÈ­; ¼ö½Ä; º¯°æ½Ä) ¹®Àå; for (ÃʱâÈ­; ¼ö½Ä; º¯°æ½Ä) { ¹®Àå 1; ¹®Àå 2; ... ¹®Àå n; } [Âü°í] ¹Ýº¹ Á¾·á -- Àӽú¯¼ö(count º¯¼ö) »ç¿ë! /* 1ºÎÅÍ 100±îÁö Á¤¼öÀÇ ÇÕ --> 1 + 2 + ... + 100 */ #include void main() { int i; /* Àӽú¯¼ö */ int sum=0; for (i=1; i <= 100; i++) { sum = sum + i; printf(¡°%d : %d\n¡±, i, sum); } } 20. for ¹® ¿¬½À 1. 1ºÎÅÍ n±îÁö Ȧ¼ö(¦¼ö)¸¸ ´õÇÏ´Â ÇÁ·Î±×·¥ 2. n + (n-1) + ¡¦ + 2 + 1 3. 12 + 22 + 32 + ¡¦ + n2 4. 1/1 + 1/2 + 1/3 + ¡¦ + 1/n 5. 1~n »çÀÌÀÇ 3ÀÇ ¹è¼ö¸¸ Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥ 6. 1~n »çÀÌÀÇ 3ÀÇ ¹è¼ö ¶Ç´Â 5ÀÇ ¹è¼ö¸¸ Ãâ·Â 7. 1~n »çÀÌÀÇ 3ÀÇ ¹è¼öµéÀÇ Á¦°öÀÇ ÇÕ 8. n! °è»ê --> 1*2*¡¦*n 9. 2n °è»ê --> 2¸¦ n¹ø °öÇÑ °Í 10. Xy --> x, y¸¦ ÀÔ·ÂÇÏ¿© °è»ê 11. C(n, k) = n! / [k! * (n - k)!] °è»ê 21. while ¹® while (¼ö½Ä) ¹®Àå; while (¼ö½Ä) { ¹®Àå 1; ¹®Àå 2; ... ¹®Àå n; } [Âü°í] '¼ö½Ä'ÀÌ trueÀÎ µ¿¾È ¹Ýº¹, '¼ö½Ä'ÀÌ °ÅÁþ(0)ÀÌ µÇ¸é Á¾·á! #include void main() { int i; /* Àӽú¯¼ö */ int sum=0; i = 1; while (i <= 100) { sum = sum + i; printf(¡°%d : %d\n¡±, i, sum); i++; /* i = i+1 */ } } 22. do~while ¹® do { ¹®Àå; } while (¼ö½Ä); do { ¹®Àå 1; ¹®Àå 2; ... ¹®Àå n; } while (¼ö½Ä); [Âü°í] ÃÖ¼ÒÇÑ 1¹ø ÀÌ»ó ¹Ýº¹ -> while¹®°ú Â÷ÀÌ #include void main() { int i; /* Àӽú¯¼ö */ int sum=0; i = 1; do { sum = sum + i; printf(¡°%d : %d\n¡±, i, sum); i++; /* i = i+1 */ } while (i <= 100); } 23. for, while, do~while¹® ¿¹ #include void main() { int i, n; printf(¡°Enter a number : ¡±); scanf(¡°%d¡±, &n); for (i=0; i < n; i++) printf(¡°%d %d\n¡±, i, i*i); } ========= while¹®À¸·Î ========================= i = 0; while (i < n) { printf(¡°%d %d\n¡±, i, i*i); i = i + 1; } ========= do~while¹®À¸·Î ====================== i = 0; do { printf (¡°%d %d\n¡±, i, i*i); i = i + 1; } while (i < n); =============================================== 24. ¼÷Á¦ #2. ±¸±¸´Ü Ãâ·Â ÇÁ·Î±×·¥ 1ºÎÅÍ 9±îÁö Áß¿¡¼­ ÇϳªÀÇ ¼ýÀÚ¸¦ ÀÔ·ÂÇÏ¿© ÇØ´ç ±¸±¸´ÜÀ» Ãâ·ÂÇØ ÁÖ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ. ¿¹) 5¸¦ ÀÔ·ÂÇßÀ» ¶§ 5 * 1 = 5 5 * 2 = 10 ¡¦¡¦ 5 * 9 = 45 [ÁÖÀÇ] "1. for¹®, 2. while¹®, 3. do~while¹®"À» Ãâ·ÂÇÏ°í, ¼ýÀÚ 1-3À» ÀÔ·ÂÇϸé ÇØ´ç ¹Ýº¹¹®À» ÀÌ¿ëÇϵµ·Ï ÇÑ´Ù. [Âü°í] 0À» ÀÔ·ÂÇϸé 1~9´Ü±îÁö ¸ðµÎ Ãâ·ÂÇÏ°Ô ÇÏ·Á¸é ¾î¶»°Ô ÇÒ±î? 25. ¿¬½À: ¼Ò¼ö(prime number) 1) 1~n »çÀÌÀÇ ¸ðµç ¼Ò¼öµéÀ» Ãâ·ÂÇϽÿÀ. 2) Á¤¼ö i°¡ ¼Ò¼öÀÎÁö ÆÇ´Ü ¹æ¹ý (Á¤¼ö i¸¦ 2,3,4, ¡¦, (i-1)·Î ³ª´« ³ª¸ÓÁö°¡ 0ÀÎÁö) for (k=2; k < i; k++) { if ((i % k) == 0) printf(¡°%d´Â ¼Ò¼ö°¡ ¾Æ´Ï´Ù\n¡±, i); } printf("%d´Â ¼Ò¼öÀÌ´Ù\n", i); 26. ¿¬½À: ¹Ýº¹¹® 1) ¾Æ·¡¿Í °°ÀÌ Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥ 1111111111 2222222222 ¡¦ 9999999999 2) ±¸±¸´Ü 1´Ü~9´Ü±îÁö Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥ 3) (1) + (1+2) + (1+2+3) + ... + (1+2+...+n) 27. ÇÔ¼öÀÛ¼º¹ý -- Mission 4 1) ÇÔ¼öÀÇ Çʿ伺 : ±ä ÇÁ·Î±×·¥ 2) ÇÔ¼ö½ÇÇà °úÁ¤ 3) ÀÎÀÚÀü´Þ 4) return¹® ºñÆ®¿¬»êÀÚ, shift ¿¬»êÀÚ & (and), | (or), ^ (x-or), ~ (complement) << (left-shift), >> (right-shift) ġȯ¿¬»êÀÚ : =, +=, -=, *=, /=, <<=, >>=, &=, |= 28. ÇÔ¼öÀÛ¼º ¿¹ #include void my_profile() { printf("My name: Hong, Kil-Dong\n"); printf("My home: Seoul, Korea\n"); } void my_phone() { printf("Home: 02)123-4567\n"); printf("Mobile: 011)987-6543\n"); } void main() { printf("This is a C program\n"); my_profile(); /* ÇÔ¼ö È£Ãâ */ my_phone(); /* ÇÔ¼ö È£Ãâ */ printf("C program is interesting\n"); } 29. ÇÔ¼öÀÇ Çʿ伺 #include int input() { int i; printf("enter a number : "); printf("%d", &i); return i; } void sum_of(int x, int y) { printf("1st integer = %d\n", x); printf("2nd integer = %d\n", y); printf("%d +%d = %d\n", x, y, x +y); } void main() { int num1, num2; sum_of(10, 20); num1 = input(); /* 1st Á¤¼ö */ num2 = input(); /* 2nd Á¤¼ö */ sum_of(num1, num2); } 30. ÇÔ¼öÀÛ¼º ¿¹ /* ¼·¾¾¸¦ È­¾¾·Î, È­¾¾¸¦ ¼·¾¾·Î... */ #include int input_menu() { int i; printf(¡°Select menu\n¡±); printf(¡° 1. Celcius to Farenheit\n¡±); printf(¡° 2. Farenheit to Celcius\n¡±); printf(¡°Input 1 or 2 : ¡±); scanf(¡°%d¡±, &i); /* 1 or 2 */ return i; } void celcius2faren() { ¡¦ } void faren2celcius() { ¡¦ } void main() { int n; n = input_menu(); if (n == 1) celcius2faren(); else faren2celcius(); } 31. ÇÔ¼ö ½Ç½À 1) 2°³ÀÇ Á¤¼ö¸¦ ÀÔ·ÂÇÏ¿© »çÄ¢¿¬»êÀ» ¼öÇàÇÏ´Â ÇÁ·Î±×·¥ (¾Æ·¡¿Í °°ÀÌ 4°³ÀÇ ÇÔ¼ö¸¦ ÀÛ¼º) »çÄ¢¿¬»ê --- add(), sub(), divide(), multiply() 2) Á¤¼ö i°¡ ¼Ò¼öÀ̸é 1, ¾Æ´Ï¸é 0À» ¹ÝȯÇÏ´Â ÇÔ¼ö is_prime(i)¸¦ ÀÛ¼º 3) is_prime()À» ÀÌ¿ëÇÏ¿© 2~n±îÁö Áß¿¡¼­ ¼Ò¼ö¸¸ Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼º