= 곽길문 = == ë³µìŠµê³¼ì œ == 1. 컴파ì¼(Compile), 빌드(Build), ë§í¬(Linking)ì— ëŒ€í•´ ì±…ì—ì„œ ì°¾ì•„ë³´ê³ ì¨ ì£¼ì„¸ìš”. -ì»´íŒŒì¼ : 프로그래ë°ì–¸ì–´ë¡œ 코딩한 ê²ƒì„ ì»´í“¨í„°ê°€ ì´í•´í• 수 있는 기계어 코드로 변환하는 ìž‘ì—… 빌드: 컴파ì¼ê³¼ ë§í¬ë¥¼ í•©ì³ ë¹Œë“œë¼ í•œë‹¤. 빌드를 해야 컴퓨터가 ì‹¤í–‰í• ìˆ˜ 있는 í˜•íƒœì˜ ê¸°ê³„ ë§í¬: í”„ë¡œê·¸ëž¨ë§ˆë‹¤ì˜ ë¼ì´ë¸ŒëŸ¬ë¦¬ë¥¼ ë‚´ê°€ ë§Œë“ ê²ƒê³¼ ì—°ê²°í•´ 주는 ìž‘ì—… 2.ìƒìˆ˜í˜•, ë³€ìˆ˜í˜•ì— ê´€í•´ì„œ ì“°ê³ , ê·¸ 예를 2개만 들어주세요. -ìƒìˆ˜í˜• :ìƒìˆ˜ëŠ” 변환 í• ìˆ˜ 없는 ê³ ìœ ì˜ ìˆ˜, í”„ë¡œê·¸ëž¨ì„ ê°œë°œí• ë•Œ 변경ë˜ì–´ ë°œìƒ í• ìˆ˜ 있는 ë²„ê·¸ë“±ì˜ ìœ„í—˜ì„ ì¤„ì´ê¸° 위해 사용(#define,const) 변수형 (ë³€ìˆ˜ì˜ ë°ì´í„° íƒ€ìž…ì„ ì„ ì–¸í•´ 준다.int, float) 3.charí˜•ì— ê´€í•´ ì¨ ì£¼ì„¸ìš”. ASCII코드를 통해 나타낸다는 ê²ƒì´ ë¬´ì—‡ì„ ì˜ë¯¸í•˜ëŠ”ì§€ë„ ì¨ ì£¼ì„¸ìš”. -char형(문ìžë¥¼ ì €ìž¥í• ë•Œ ì¨ì£¼ëŠ” ë°ì´í„° 타입) ascii코드는 표준으로 ì„ íƒí•´ì„œ 문ìžë¥¼ 표현함. 알파벳과 ì¼ë¶€ 특수문ìžë¥¼ í¬í•¨í•˜ì—¬ 128ê°œì˜ ë¬¸ìžë¡œ ì´ë£¨ì–´ì§ 4.#include, ì „ì²˜ë¦¬ê³¼ì •ì´ ë¬´ì—‡ì¸ì§€ ì“°ê³ , includeì˜ ì˜ˆë¥¼ 들어주세요. -ì „ì²˜ë¦¬ ê³¼ì •ì´ëž‘ 컴퓨터가 코딩한 파ì¼ì„ ì»´íŒŒì¼ í•˜ê¸° ì „ì— ì—¬ëŸ¬ í…스트를 ë°”ê¾¸ê³ ê³ ì¹˜ëŠ” 기능. include<stdio.h> 5.#defineì´ ë¬´ì—‡ì„ ì˜ë¯¸í•˜ëŠ”지 ì“°ê³ , ì´ê²ƒì„ 사용한 '간단한' í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 작성해보세요. - í™•ìž¥ì„±ì´ í° ê²ƒìœ¼ë¡œ , 긴 í”„ë¡œê·¸ëž¨ì„ ì„¤ê³„í• ë•Œ #define으로 ì •ì˜ëœ ê²ƒì„ ì‚¬ìš©í• ìˆ˜ 있어서 편리하다. 6.++, --, &&, ||, +,-, !=, ==, = ì´ ë¬´ì—‡ì„ ì˜ë¯¸í•˜ëŠ”지 간단간단히 ì¨ ì£¼ì„¸ìš”. {{{ -++:하나씩 ì¦ê°€ì‹œí‚¤ëŠ” 것 --:하나씩 ê°ì†Œ &&:and ||:or +: ë”하는 함수 -: 줄ì´ëŠ” 함수 !=:not ==:같다 =:ì˜¤ë¥¸ìª½ì˜ ê°’ì„ ì™¼ìª½ì— í• ë‹¹ }}} 7.if, else, else ifë¬¸ì„ ì´ìš©í•œ í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 작성해주세요. else나 else if를 3번ì´ìƒ ì¨ ì£¼ì„¸ìš”. ⃠#include<stdio.h> int main(void) { int num1; int num2; printf(“relationships they satisfy: â€); scanf(“%d%dâ€,&num1,&num2); if(num1==num2){ printf(“%d is equal to %d\nâ€, num1,num2); }else if(num1 != num2){ printf(“%d is not equal to %d\nâ€, num1, num2); }else if(num1 < num2){ printf(“%d is less than %d\nâ€, num1, num2); }else if(num1> num2){ printf(“%d is greater than %d\nâ€, num1, num2); } return 0; } 8.switch-caseë¬¸ì„ ì´ìš©í•œ 간단한 í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 짜 보세요.(eg. Grade계산기 A,B,C) 성ì ê³„ì‚°ê¸°ì˜ ê²½ìš° 90ì ì´ìƒ A, 80ì ì´ìƒ B와 ê°™ì€ êµ¬ì¡°ìž…ë‹ˆë‹¤. 100ì 만ì ì„ 10으로 나누면 switch문으로 í’€ 수 있습니다. #include <stdio.h> int main() { int grade; printf(“Enter the grades.\nâ€); scanf(“%dâ€,&grade); switch(grade/10){ case 10: case 9: printf(“Aâ€); break; case 8: printf(“Bâ€); break; case 7: printf(“Câ€); break; case 6: printf(“Dâ€); break; case 5: case 4: case 3: case 2: case 1: printf(“Fâ€); break; } } 9.whileë¬¸ì„ ì´ìš©í•œ í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 작성해 주세요. C수업시간ì´ë‚˜ ê³¼ì œì— ë‚˜ì˜¨ ê²ƒì„ ìƒˆë¡œ ì§œë³´ì•„ë„ ì¢‹ìŠµë‹ˆë‹¤. #include<stdio.h> int main(){ int grade; int counter=1; while(counter <= 3){ printf(“Enter grade:â€); scanf(“%dâ€, &grade); counter= counter +1; } } 10.위 í”„ë¡œê·¸ëž¨ì„ do-while문으로 바꿔 '똑같ì€'í”„ë¡œê·¸ëž¨ì´ ë˜ë„ë¡ í•´ë³´ì„¸ìš”. #include<stdio.h> int main(){ int counter =1; int grade; do { printf(“Enter grade:â€); scanf(“%dâ€,&grade); counter = counter +1; }while(counter<=3); } 11.위 í”„ë¡œê·¸ëž¨ì„ for문으로 바꿔 풀어보세요. #include<stdio.h> int main(){ int counter =1; int grade; for(counter<=3){ printf(“Enter grade:â€); scanf(“%dâ€,&grade); counter = counter +1; } } 12.2중 forë¬¸ì„ ì´ìš©í•˜ì—¬ ë‹¤ìŒ ëª¨ì–‘ì˜ ë³„ì°ê¸°ë¥¼ 작성해주세요. íŒŒì¼ ì²¨ë¶€ == ì˜ˆìŠµê³¼ì œ == ì˜ˆìŠµì„ ìœ„í•œ ê³¼ì œ 1.함수가 무엇ì¸ì§€ ì“°ê³ , ì˜ˆì œ í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 만들어 주세요. - 함수란 프로그램내ì—ì„œ ë™ì¼í•œ ëª…ë ¹ë¬¸ë“¤ì˜ ë°˜ë³µë˜ëŠ” ë¶€ë¶„ì„ ëª¨ì•„ë†“ì€ ì§‘í•©ì²´ì´ë‹¤. 피연산ìžë‚˜ ì‹ê³¼ ê°™ì´, 함수는 ë°ì´í„°í˜•ê³¼ ê°’ì„ ê°–ê³ ìžˆë‹¤. float addfun (para11,para2) // float ë°ì´í„°í˜•ìœ¼ë¡œ ì •ì˜ëœ 함수 addfun ì„ ì–¸ float para1,para2; // ë°ì´í„°í˜• ì„ ì–¸ { float a; // 함수 ë‚´ë¶€ì˜ ì§€ì— ë³€ìˆ˜ a ì„ ì–¸ a= para1 + para2; return a; //반환값 ì„ ì–¸ } 2.returnì´ ë¬´ì—‡ì¸ì§€ ì¨ ì£¼ì„¸ìš”. - returnì€ í˜„ìž¬ìžˆëŠ” 함수ì—ì„œ ë¹ ì ¸ë‚˜ì™€ ê·¸ 함수를 í˜¸ì¶œí–ˆë˜ ê³³ìœ¼ë¡œ ë˜ëŒì•„ ê°€ë¼ëŠ” 뜻, ë˜ëŒì•„ 가면서 ê·¸ 함수를 í˜¸ì¶œí–ˆë˜ ê³³ì— ì–´ë–¤ ê°’ì„ ë°˜í™˜í•˜ëŠ” 것, return 0;ì€ 0ì´ë¼ëŠ” ê°’ì„ ë°˜í™˜í•˜ë¼ëŠ” ì˜ë¯¸ 3.í•¨ìˆ˜í˜•ì´ ë¬´ì—‡ì¸ì§€ ì“°ê³ , voidíƒ€ìž…ì€ ì™œ return하지 않는지 ì¨ì£¼ì„¸ìš”. - 함수형 프로그래ë°ì€ 프로그래ë°ì˜ ì£¼ëœ êµ¬ì¡°ê°€ 함수 í˜¸ì¶œì— ê¸°ë°˜ì„ ë‘” 프로그래ë°ì„ ë§í•œë‹¤. 기존 ëª…ë ¹í˜• 언어로 작성한 프로그램보다 ê°„ê²°í•˜ê³ ë” ì¶”ìƒì ì´ë©° ì´í•´í•˜ê¸° ì‰½ê³ í˜•ì‹ì ì¸ ë¶„ì„ê³¼ ì¡°ìž‘ì´ ìš©ì´í•˜ë‹¤ëŠ” íŠ¹ì§•ì´ ìžˆë‹¤. void는 ê°’ì„ ë°˜í•œí•˜ì§€ 않는다는 뜻ì´ë¯€ë¡œ return하지 않는다. 4.재귀함수가 무엇ì¸ì§€ ì¨ ì£¼ì„¸ìš”. - 함수내ì—ì„œ ìžê¸°ìžì‹ ì„ ë‹¤ì‹œ 호출하는 함수 5.ë°°ì—´ì´ ë¬´ì—‡ì¸ì§€ ì“°ê³ , 왜 ë°°ì—´ì´ëž€ ê°œë…ì´ ë‚˜íƒ€ë‚¬ëŠ”ì§€(왜 쓰는지) ì¨ ì£¼ì„¸ìš”. -ë™ì¼í•œ ë°ì´í„°í˜•ì„ 가진 ìžë£Œêµ¬ì¡°ë¡œ, 변수ì´ë¦„ì„ ê°ê° 다른 ì´ë¦„으로 사용해야 하는 ë²ˆê±°ëŸ¬ì›€ì„ ì¤„ì´ê¸° 위해 사용한다. 6.ë°°ì—´ì„ ì‚¬ìš©í•œ 간단한 í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 만들어보세요. #include<stdio.h> int main() { int x[3]; sum =0; x[0] = 10; x[1] = 9; x[2] = 8; for (i=0;i<3;i++) sum+= x[i]; printf("%d\n",sum); } = í•œì†¡ì´ = 1.컴파ì¼(Compile), 빌드(Build), ë§í¬(Linking)ì— ëŒ€í•´ ì±…ì—ì„œ ì°¾ì•„ë³´ê³ ì¨ ì£¼ì„¸ìš”. ì»´íŒŒì¼ : ìž‘ì„±ëœ *.c파ì¼ì„ 기계어로 변환하는 ê³¼ì • 빌드 : 실행파ì¼ì„ 만들어 내는 것 ë§í¬ : 기계어파ì¼ì„ 기타 ë¼ì´ë¸ŒëŸ¬ë¦¬ 파ì¼ê³¼ 묶어서 실행파ì¼ì„ 만드는 ê³¼ì • 2.ìƒìˆ˜í˜•, ë³€ìˆ˜í˜•ì— ê´€í•´ì„œ ì“°ê³ , ê·¸ 예를 2개만 들어주세요. ìƒìˆ˜í˜• : int, double.... ??? 3.charí˜•ì— ê´€í•´ ì¨ ì£¼ì„¸ìš”. ASCII코드를 통해 나타낸다는 ê²ƒì´ ë¬´ì—‡ì„ ì˜ë¯¸í•˜ëŠ”ì§€ë„ ì¨ ì£¼ì„¸ìš”. 문ìží˜•, ë„“ì€ ë²”ìœ„ì—ì„œ ë³´ë©´ ì¼ì¢…ì˜ ì •ìˆ˜í˜•ìœ¼ë¡œ 사용ë 수 있다. 4.#include, ì „ì²˜ë¦¬ê³¼ì •ì´ ë¬´ì—‡ì¸ì§€ ì“°ê³ , includeì˜ ì˜ˆë¥¼ 들어주세요. #include : ì „ì²˜ë¦¬ 지시ìž,<stdio.h>ê°™ì€ ê²ƒì„ ì°¾ì•„ 지시ìžê°€ ë†“ì¸ ìœ„ì¹˜ì— ê·¸ 파ì¼ì˜ ë‚´ìš©ì„ í¬í•¨ 시키ë„ë¡ ì§€ì‹œí•œë‹¤. 표준 ìž…ì¶œë ¥ ë¼ì´ë¸ŒëŸ¬ë¦¬ 함수를 사용하기 위해서 쓴다. ì „ì²˜ë¦¬ ê³¼ì • : 컴파ì¼ëŸ¬ê°€ í”„ë¡œê·¸ëž¨ì„ ì²˜ë¦¬í•˜ê¸°ì „ì— íŠ¹ë³„í•œ ì¼ì„ 수행해주는 ê³¼ì • 5.#defineì´ ë¬´ì—‡ì„ ì˜ë¯¸í•˜ëŠ”지 ì“°ê³ , ì´ê²ƒì„ 사용한 '간단한' í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 작성해보세요. #define : íŠ¹ì • 대ìƒì„ ì •ì˜í•¨ìœ¼ë¡œì¨ ì „ì²˜ë¦¬ê¸°ê°€ ì´ë¥¼ 특별하게 다루ë„ë¡ í•˜ê³ ì‹¶ì„ë•Œ 사용한다. ì´ë ‡ê²Œ ì •ì˜ëœ íŠ¹ì • 대ìƒì„ 매í¬ë¡œ ë¼ê³ 한다. 매í¬ë¡œëŠ” ì „ì²˜ë¦¬ê¸° ê³¼ì •ì—ì„œ ì •ì˜ëœ 내용으로 확장ëœë‹¤. #include<stdio.h> #define MASSAGE " have a nice day!" int main(void) { puts(MASSAGE); return 0; } 6.++, --, &&, ||, +,-, !=, ==, = ì´ ë¬´ì—‡ì„ ì˜ë¯¸í•˜ëŠ”지 간단간단히 ì¨ ì£¼ì„¸ìš”. {{{ ++ : ì¦ê°€ì—°ì‚°ìž 예)a++는 a=a+1ê³¼ 같다 -- : ê°ì†Œì—°ì‚°ìž 예)a--는 a=a-1ê³¼ 같다 && : 논리 AND 예) a&&b : a,bëª¨ë‘ ì°¸ì´ë©´ 1ì´ê³ ê·¸ë ‡ì§€ 않으면 0ì´ë‹¤ || : 논리 OR 예)a||b : a,b중 ì ì–´ë„ í•œê°œê°€ ì°¸ì´ë©´ 1ì´ê³ ê·¸ë ‡ì§€ 않으면 0ì´ë‹¤ + : ë”하기 - : 빼기 != : 같지 않다 == : 같다 = : í• ë‹¹ }}} 7.if, else, else ifë¬¸ì„ ì´ìš©í•œ í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 작성해주세요. else나 else if를 3번ì´ìƒ ì¨ ì£¼ì„¸ìš”. #include<stdio.h> int main(void) { int a=10; if(a>0) { printf("a는 0보다 í¬ë‹¤"); } else if(a<0) { printf("a는 0보다 작다"); } else if(a==0) { printf("a는 0ì´ë‹¤"); } return 0; } 8.switch-caseë¬¸ì„ ì´ìš©í•œ 간단한 í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 짜 보세요.(eg. Grade계산기 A,B,C) #include<stdio.h> int main(void) { int a; printf("1~4중 숫ìžë¥¼ ì„ íƒí•˜ì„¸ìš”"); scanf("%d",&a); switch(a) { case 1: printf("1ì„ ì„ íƒí–ˆë‹¤."); break; case 2: printf("2ì„ ì„ íƒí–ˆë‹¤."); break; case 3: printf("3ì„ ì„ íƒí–ˆë‹¤."); break; case 4: printf("4ì„ ì„ íƒí–ˆë‹¤."); break; default : printf("ìž˜ëª»ëœ ìž…ë ¥"); } return 0; } 9.whileë¬¸ì„ ì´ìš©í•œ í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 작성해 주세요. C수업시간ì´ë‚˜ ê³¼ì œì— ë‚˜ì˜¨ ê²ƒì„ ìƒˆë¡œ ì§œë³´ì•„ë„ ì¢‹ìŠµë‹ˆë‹¤. #include<stdio.h> int main(void) { int a=1; while(a<5) { a++; printf("%d\n",a); } return 0; } 10.위 í”„ë¡œê·¸ëž¨ì„ do-while문으로 바꿔 '똑같ì€'í”„ë¡œê·¸ëž¨ì´ ë˜ë„ë¡ í•´ë³´ì„¸ìš”. #include<stdio.h> int main(void) { int a=1; do{ a++; printf("%d\n",a); } while(a<5); return 0; } 11.위 í”„ë¡œê·¸ëž¨ì„ for문으로 바꿔 풀어보세요. #include<stdio.h> int main(void) { int a; for(a=2;a<5;a++) { printf("%d\n",a); } return 0; } 12.2중 forë¬¸ì„ ì´ìš©í•˜ì—¬ ë‹¤ìŒ ëª¨ì–‘ì˜ ë³„ì°ê¸°ë¥¼ 작성해주세요. #include<stdio.h> int main (void) { int i,j; printf("1\n") ; for(i=1;i<=5;i++) { for(j=1;j<=i;j++) { printf(" "); } for(j=5;j>=i;j--) { printf("*"); } printf("\n"); } printf("2\n"); for(i=1;i<=5;i++) { for(j=1;j<=i;j++) { printf("*"); } for(j=5;j>=i;j--) { printf(" "); } printf("\n"); } return 0; } 삼ê°í˜• #include<stdio.h> int main (void) { int i,j; for(i=1;i<=5;i++) { for(j=0;j<i;j++) { printf(" "); } for(j=5;j>=i;j--) { printf("*"); } for(j=4;j>=i;j--) { printf("*"); } printf("\n"); } return 0; } = ë„ìƒí¬ = 1. 컴파ì¼(Compile), 빌드(Build), ë§í¬(Linking)ì— ëŒ€í•´ ì±…ì—ì„œ ì°¾ì•„ë³´ê³ ì¨ ì£¼ì„¸ìš”. 컴파ì¼(Compile) : 컴퓨터가 ì´í•´í• 수 있ë„ë¡ ê¸°ê³„ì–´ë¡œ 변환하는 ê³¼ì • 빌드(Build) : 소스파ì¼ì´ ë‹¤ìŒ ë‹¨ê³„ë¥¼ ê±°ì³ ì‹¤í–‰íŒŒì¼ì´ ìƒì„±ë˜ëŠ” ê³¼ì •. ë§í¬(Linking) : 컴파ì¼ëœ 코드를 ë¼ì´ë¸ŒëŸ¬ë¦¬ 파ì¼ê³¼ 연결시켜 주는 단계. 2. ìƒìˆ˜í˜•, ë³€ìˆ˜í˜•ì— ê´€í•´ì„œ ì“°ê³ , ê·¸ 예를 2개만 들어주세요. 변수형 : ê°’ì„ ì €ìž¥í•˜ê¸° 위한 공간, ë°ì´í„°ë¥¼ ì €ìž¥í• ìˆ˜ 있는 메모리 ê³µê°„ì— ë¶™ì—¬ì§„ ì´ë¦„ì„ ì˜ë¯¸ - int a; (int형 변수 a ì„ ì–¸), float b(실수형 변수 b ì„ ì–¸) ìƒìˆ˜í˜• : ë³€í• ìˆ˜ 없는 ê³ ìœ ì˜ ìˆ˜ - const int max=100; (int형 ìƒìˆ˜ max를 100으로 ì„ ì–¸), #define AA 35(형태를 ì§€ì •í•˜ì§€ 않는 ìƒìˆ˜ëª… AAì— ì •ìˆ˜í˜• ê°’ì„ ëŒ€ìž…) 3. charí˜•ì— ê´€í•´ ì¨ ì£¼ì„¸ìš”. ASCII코드를 통해 나타낸다는 ê²ƒì´ ë¬´ì—‡ì„ ì˜ë¯¸í•˜ëŠ”ì§€ë„ ì¨ ì£¼ì„¸ìš”. Char 1ë°”ì´íŠ¸ í¬ê¸°ì˜ ì •ìˆ˜í˜• 변수 ASSCII코드를 통해 나타내는 것 : 숫ìžë¥¼ ì´ìš©í•œ 문ìžì˜ 표현. 4. #include, ì „ì²˜ë¦¬ê³¼ì •ì´ ë¬´ì—‡ì¸ì§€ ì“°ê³ , includeì˜ ì˜ˆë¥¼ 들어주세요. 표준 ë¼ì´ë¸ŒëŸ¬ë¦¬ 함수를 사용하기 위해서 해당 í•¨ìˆ˜ì˜ ì„ ì–¸ì„ í¬í•¨í•˜ëŠ” í—¤ë”파ì¼ì„ í¬í•¨í•´ì•¼í•œë‹¤. #include <stdio.h> 5. #defineì´ ë¬´ì—‡ì„ ì˜ë¯¸í•˜ëŠ”지 ì“°ê³ , ì´ê²ƒì„ 사용한 '간단한' í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 작성해보세요. 매í¬ë¡œ ìƒìˆ˜ë¥¼ ì •ì˜í• ë•Œ 사용. 01.c 첨부! 6. ++, --, &&, ||, +,-, !=, ==, = ì´ ë¬´ì—‡ì„ ì˜ë¯¸í•˜ëŠ”지 간단간단히 ì¨ ì£¼ì„¸ìš”. {{{ ++ : ì¦ê°€ ì—°ì‚°ìž -- : ê°ì†Œ ì—°ì‚°ìž && : 논리 ì—°ì‚°ìž; 피연산ìžê°€ ëª¨ë‘ ì°¸ì´ë©´ true를 반환(andì˜ ì˜ë¯¸) || : 논리 ì—°ì‚°ìž ;피연산 중 하나ë¼ë„ ì°¸ì´ë©´ ture를 반환(orì˜ ì˜ë¯¸) + : ë§ì…ˆ ì—°ì‚°ìž / ë‹¨í• ì—°ì‚°ìž(피 ì—°ì‚°ìž í•˜ë‚˜) ê¸°ëŠ¥ë„ ì§€ë‹˜ - : 뺄셈 ì—°ì‚°ìž / “ != : 같지 ì•Šì€ì§€ 비êµí•˜ëŠ” 관계 ì—°ì‚°ìž == : ê°™ì€ì§€ 비êµí•˜ëŠ” 관계 ì—°ì‚°ìž = : 대입 ì—°ì‚°ìž }}} 7. if, else, else ifë¬¸ì„ ì´ìš©í•œ í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 작성해주세요. else나 else if를 3번ì´ìƒ ì¨ ì£¼ì„¸ìš”. 02.c 첨부! 8. switch-caseë¬¸ì„ ì´ìš©í•œ 간단한 í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 짜 보세요.(eg. Grade계산기 A,B,C) -성ì ê³„ì‚°ê¸°ì˜ ê²½ìš° 90ì ì´ìƒ A, 80ì ì´ìƒ B와 ê°™ì€ êµ¬ì¡°ìž…ë‹ˆë‹¤. 100ì 만ì ì„ 10으로 나누면 switch문으로 í’€ 수 있습니다. 03.c 첨부! 9. whileë¬¸ì„ ì´ìš©í•œ í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 작성해 주세요. C수업시간ì´ë‚˜ ê³¼ì œì— ë‚˜ì˜¨ ê²ƒì„ ìƒˆë¡œ ì§œë³´ì•„ë„ ì¢‹ìŠµë‹ˆë‹¤. 04.c 첨부! 10. 위 í”„ë¡œê·¸ëž¨ì„ do-while문으로 바꿔 '똑같ì€'í”„ë¡œê·¸ëž¨ì´ ë˜ë„ë¡ í•´ë³´ì„¸ìš”. 05.c 첨부! 11. 위 í”„ë¡œê·¸ëž¨ì„ for문으로 바꿔 풀어보세요. 06.c 첨부! 12. 2중 forë¬¸ì„ ì´ìš©í•˜ì—¬ ë‹¤ìŒ ëª¨ì–‘ì˜ ë³„ì°ê¸°ë¥¼ 작성해주세요. 07.c 첨부! 1. í˜•ë³€í™˜ì— ê´€í•˜ì—¬ ìžë™ 형 변환 1)대입 ì—°ì‚°ì‹œ ë°œìƒ : ì˜¤ë¥¸ìª½ì— ì¡´ìž¬í•˜ëŠ” ë°ì´í„°ê°€ ì™¼ìª½ì— ì¡´ìž¬í•˜ëŠ” ë°ì´í„°ì˜ ìžë£Œí˜•ìœ¼ë¡œ ìžë™ 형 변환ëœë‹¤. (ê°’ì˜ í‘œí˜„ 범위가 ë„“ì€ ë°ì´í„°ë¡œì˜ 형 ë³€í™˜ì€ ì•„ë¬´ëŸ° ë¬¸ì œê°€ ë°œìƒí•˜ì§€ 않는다.) 2)ì‚°ìˆ ì—°ì‚° ê³¼ì •ì—ì„œì˜ í˜• 변환 : ì‚°ìˆ ì—°ì‚° ê³¼ì •ì—ì„œ ì¼ì–´ë‚˜ëŠ” 형 ë³€í™˜ì€ ë°ì´í„°ì˜ ì†ì‹¤ì´ 최소화ë˜ëŠ” 방향으로 진행ëœë‹¤. ê°•ì œ 형 변환(명시ì 형 변환) 변수 ì•žì— ê´„í˜¸ë¥¼ ì—´ê³ ìžë£Œí˜•ì˜ ì´ë¦„ì„ ë„£ì–´ì¤€ë‹¤. 2. ì‚¼í• ì—°ì‚°ìžì— 관하여 ì¡°ê±´ ? ì°¸ : 거짓 ì¡°ê±´ì´ ì°¸ì´ë©´ 참문장 수행, 거짓ì´ë©´ 거짓 문장 수행 3. 혜림ì´ëˆ„나, ìƒí¬ëˆ„나 ê³¼ì œë¥¼ forë¬¸ì„ ê°ê° 3ê°œ, 4개만 ì¨ì„œ 해보세요.(hint 2*n-1) 08.c첨부 – 힌트(2*n-1)ì´ìš©í•´ì„œ 다ì´ì•„몬드 ìœ—ë¶€ë¶„ì€ ì°ì—ˆëŠ”ë° ë°‘ì—는 ëª»í•˜ê² ë„¤ì˜! 1. 함수가 무엇ì¸ì§€ ì“°ê³ , ì˜ˆì œ í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 만들어 주세요. 필요한 ê¸°ëŠ¥ì„ ë…립ì 으로 구현한 코드 09.c 첨부! 2. returnì´ ë¬´ì—‡ì¸ì§€ ì¨ ì£¼ì„¸ìš”. í˜„ìž¬ì˜ í•¨ìˆ˜ì—ì„œ ë¹ ì ¸ë‚˜ê°€ëŠ” 것. 3. í•¨ìˆ˜í˜•ì´ ë¬´ì—‡ì¸ì§€ ì“°ê³ , voidíƒ€ìž…ì€ ì™œ return하지 않는지 ì¨ì£¼ì„¸ìš”. Void는 ë°˜í™˜í• ê°’ì´ ì—†ë‹¤ê³ ì„ ì–¸í•œ 것ì´ë¯€ë¡œ return 하지 ì•Šì•„ë„ ëœë‹¤. 4. 재귀함수가 무엇ì¸ì§€ ì¨ ì£¼ì„¸ìš”. ìžì‹ ì´ ìŠ¤ìŠ¤ë¡œë¥¼ 호출하는 함수 5. ë°°ì—´ì´ ë¬´ì—‡ì¸ì§€ ì“°ê³ , 왜 ë°°ì—´ì´ëž€ ê°œë…ì´ ë‚˜íƒ€ë‚¬ëŠ”ì§€(왜 쓰는지) ì¨ ì£¼ì„¸ìš”. 사용ìžê°€ ì›í•˜ëŠ” í¬ê¸° ë§Œí¼ ë³€ìˆ˜ë¥¼ ì„ ì–¸í• ìˆ˜ 있ë„ë¡ í•´ì£¼ëŠ” 변수 구조화 방법. ë‹¤ìˆ˜ì˜ ë°ì´í„°ë¥¼ ì €ìž¥í•˜ê³ ì²˜ë¦¬í• ë•Œ ìœ ìš©í•˜ê²Œ 사용ë˜ê¸° ë•Œë¬¸ì— 6. ë°°ì—´ì„ ì‚¬ìš©í•œ 간단한 í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 만들어보세요. 10.c 첨부! 1. 재귀함수를 ì´ìš©í•œ í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 짜 보세요.(eg.1~nê¹Œì§€ì˜ í•©, n!구하기등) 11.c 첨부! 2. ë°°ì—´ì— ìˆ«ìžë¥¼ ë„£ê³ , ê·¸ ë°°ì—´ì— íŠ¹ì • ê°’ì´ ìžˆëŠ”ì§€ 찾는 프로그램(Search)ì„ ìž‘ì„±í•´ 주세요. = 황혜림 = 1) 1.컴파ì¼(Compile), 빌드(Build), ë§í¬(Linking)ì— ëŒ€í•´ ì±…ì—ì„œ ì°¾ì•„ë³´ê³ ì¨ ì£¼ì„¸ìš”. 컴파ì¼(Compile) - ê³ ê¸‰ì–¸ì–´ë¡œ ìž‘ì„±ëœ í”„ë¡œê·¸ëž¨ì„ ê¸°ê³„ì–´ë¡œ 번ì—하는 것 빌드(Build) - 컴파ì¼+ë§í¬ ë§í¬(Linking) - ë¼ì´ë¸ŒëŸ¬ë¦¬ë‚˜ 다른 파ì¼ì— 있는 함수들과 연결시키는 ê³¼ì • 2.ìƒìˆ˜í˜•, ë³€ìˆ˜í˜•ì— ê´€í•´ì„œ ì“°ê³ , ê·¸ 예를 2개만 들어주세요. - ìƒìˆ˜ëŠ” í”„ë¡œê·¸ëž¨ì´ ì‹¤í–‰ë˜ëŠ” ë™ì•ˆ ê°’ì´ ë³€í•˜ì§€ 않는 ë°ì´í„°ì´ê³ , 변수는 ë°ì´í„°ë¥¼ ì €ìž¥í•˜ëŠ” ë° ì‚¬ìš©ë˜ëŠ” 기억 ìž¥ì†Œì˜ ì´ë¦„ì´ë‹¤. 3.charí˜•ì— ê´€í•´ ì¨ ì£¼ì„¸ìš”. ASCII코드를 통해 나타낸다는 ê²ƒì´ ë¬´ì—‡ì„ ì˜ë¯¸í•˜ëŠ”ì§€ë„ ì¨ ì£¼ì„¸ìš”. - ASCII문ìžì½”드는 ì˜ë¬¸ìž, 숫ìž, íŠ¹ìˆ˜ë¬¸ìž ë“±ì„ í¬í•¨í•œ 128ê°œì˜ ë¬¸ìžë¥¼ 7비트를 사용하여 표현한다. 8진수로 í‘œí˜„ëœ ê°€ë¡œì™€ 16진수로 í‘œí˜„ëœ ì„¸ë¡œë¥¼ 모으면 해당 문ìžì˜ 코드가 ëœë‹¤. ‘A’는 10진수 65ì— ëŒ€ì‘ë˜ê³ ‘a’는 97ì— ëŒ€ì‘ëœë‹¤. 4.#include, ì „ì²˜ë¦¬ê³¼ì •ì´ ë¬´ì—‡ì¸ì§€ ì“°ê³ , includeì˜ ì˜ˆë¥¼ 들어주세요. - 컴파ì¼ëŸ¬ê°€ í”„ë¡œê·¸ëž¨ì„ ë²ˆì—하기 ì „ì— ì†ŒìŠ¤í”„ë¡œê·¸ëž¨ì„ ì²˜ë¦¬í•˜ëŠ” ê³¼ì • #include <stdio.h> 5.#defineì´ ë¬´ì—‡ì„ ì˜ë¯¸í•˜ëŠ”지 ì“°ê³ , ì´ê²ƒì„ 사용한 '간단한' í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 작성해보세요. - 프로그램ì—ì„œ 여러 번 사용ë˜ëŠ” ìƒìˆ˜ ê°’ì„ ë§¤í¬ë¡œ ìƒìˆ˜ë¡œ ì •ì˜í•´ì„œ 사용하는 것 6.++, --, &&, ||, +,-, !=, ==, = ì´ ë¬´ì—‡ì„ ì˜ë¯¸í•˜ëŠ”지 간단간단히 ì¨ ì£¼ì„¸ìš”. {{{ ++ : ê°’ì„ 1 ì¦ê°€ -- : ê°’ì„ 1 ê°ì†Œ && : AND ì—°ì‚°ìž || : OR ì—°ì‚°ìž + : ê°’ì„ ë”해준다. - : ê°’ì„ ë¹¼ì¤€ë‹¤. != : 같지 않으면 (비êµ) == : 같으면 (비êµ) = : ì˜¤ë¥¸ìª½ì˜ ê°’ì„ ì™¼ìª½ì— ë„£ì–´ì¤€ë‹¤. }}} 7.if, else, else ifë¬¸ì„ ì´ìš©í•œ í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 작성해주세요. else나 else if를 3번ì´ìƒ ì¨ ì£¼ì„¸ìš”. 8.switch-caseë¬¸ì„ ì´ìš©í•œ 간단한 í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 짜 보세요.(eg. Grade계산기 A,B,C) 성ì ê³„ì‚°ê¸°ì˜ ê²½ìš° 90ì ì´ìƒ A, 80ì ì´ìƒ B와 ê°™ì€ êµ¬ì¡°ìž…ë‹ˆë‹¤. 100ì 만ì ì„ 10으로 나누면 switch문으로 í’€ 수 있습니다. 9.whileë¬¸ì„ ì´ìš©í•œ í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 작성해 주세요. C수업시간ì´ë‚˜ ê³¼ì œì— ë‚˜ì˜¨ ê²ƒì„ ìƒˆë¡œ ì§œë³´ì•„ë„ ì¢‹ìŠµë‹ˆë‹¤. 10.위 í”„ë¡œê·¸ëž¨ì„ do-while문으로 바꿔 '똑같ì€'í”„ë¡œê·¸ëž¨ì´ ë˜ë„ë¡ í•´ë³´ì„¸ìš”. 11.위 í”„ë¡œê·¸ëž¨ì„ for문으로 바꿔 풀어보세요. 12.2중 forë¬¸ì„ ì´ìš©í•˜ì—¬ ë‹¤ìŒ ëª¨ì–‘ì˜ ë³„ì°ê¸°ë¥¼ 작성해주세요 {{{ 1. ***** **** *** ** * 2. * ** *** **** ***** }}} 13.혜림ì´ëˆ„나, ìƒí¬ëˆ„나만 푸는 ê³¼ì œ: ë‹¤ìŒ ë³„ì°ê¸°ë¥¼ 만들어주세요. n으로 ì¼ë°˜í™”하여 ìž…ë ¥ë°›ì€ ë§Œí¼ ë³„ì°ê¸°ë¥¼ 하ë„ë¡ ë§Œë“¤ë©´ ë”ìš± 좋습니다. {{{ 1. ******* ***** *** * 2. * *** ***** ******* ***** *** * }}} 2) 위 ê³¼ì œê°€ 너무 ì‰¬ì› ë˜ ë¶„ë“¤ì„ ìœ„í•œ 추가 ê³¼ì œ 1.í˜•ë³€í™˜ì— ê´€í•˜ì—¬ - 묵시ì 형 ë³€í™˜ì€ í•œ ìžë£Œí˜•ì—ì„œ ì´ ìžë£Œí˜•ì˜ ê°’ì„ ì €ìž¥í•˜ëŠ” ë° í•„ìš”í•œ 기억 ìž¥ì†Œì˜ í¬ê¸°ê°€ 같거나 í° ë‹¤ë¥¸ ìžë£Œí˜•ìœ¼ë¡œ ìžë™ì 으로 변환ë˜ëŠ” 것ì´ê³ , 명시ì 형 ë³€í™˜ì€ ìž„ì‹œì 으로 다른 형으로 변환하는 것 2.ì‚¼í• ì—°ì‚°ìžì— 관하여 ? : 는 Cì–¸ì–´ì˜ ìœ ì¼í•œ 삼í•ì—°ì‚°ìžì´ë‹¤. 피연산ìžê°€ 세개가 필요한 ì—°ì‚°ìžì´ë‹¤. 3.혜림ì´ëˆ„나, ìƒí¬ëˆ„나 ê³¼ì œë¥¼ forë¬¸ì„ ê°ê° 3ê°œ, 4개만 ì¨ì„œ 해보세요.(hint 2*n-1) - ë‘ ë²ˆì§¸ 별ì°ê¸° for문 4개만 사용해서 하는 ê²ƒì€ ëª»í–ˆìŠµë‹ˆë‹¤. 3) ì˜ˆìŠµì„ ìœ„í•œ ê³¼ì œ 1.함수가 무엇ì¸ì§€ ì“°ê³ , ì˜ˆì œ í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 만들어 주세요. - ìž‘ì€ í”„ë¡œê·¸ëž¨, 서브프로그램 2.returnì´ ë¬´ì—‡ì¸ì§€ ì¨ ì£¼ì„¸ìš”. - í•¨ìˆ˜ì˜ ê²°ê³¼ 값으로 ëŒë ¤ì£¼ëŠ” ëª…ë ¹ì–´ 3.í•¨ìˆ˜í˜•ì´ ë¬´ì—‡ì¸ì§€ ì“°ê³ , voidíƒ€ìž…ì€ ì™œ return하지 않는지 ì¨ì£¼ì„¸ìš”. - voidíƒ€ìž…ì€ ë¦¬í„´ í• ê°’ì´ ì—†ì„ ë•Œ 사용하기 때문ì´ë‹¤. 4.재귀함수가 무엇ì¸ì§€ ì¨ ì£¼ì„¸ìš”. - 함수 본체를 수행하는 ë„ì¤‘ì— ìžì‹ ì„ ë‹¤ì‹œ 호출하는 함수 5.ë°°ì—´ì´ ë¬´ì—‡ì¸ì§€ ì“°ê³ , 왜 ë°°ì—´ì´ëž€ ê°œë…ì´ ë‚˜íƒ€ë‚¬ëŠ”ì§€(왜 쓰는지) ì¨ ì£¼ì„¸ìš”. - ë°°ì—´ì´ëž€ ê°™ì€ ìžë£Œí˜•ì˜ 변수 여러 개를 하나로 ë¬¶ì„ ê²ƒì„ ë§í•œë‹¤. í”„ë¡œê·¸ëž¨ì˜ ê¸¸ì´ë¥¼ 줄ì´ê¸° 위해서(?) 6.ë°°ì—´ì„ ì‚¬ìš©í•œ 간단한 í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 만들어보세요. 4) 위 ê³¼ì œê°€ 너무 ì‰¬ì› ë˜ ë¶„ë“¤ì„ ìœ„í•œ 추가 ê³¼ì œ 1.재귀함수를 ì´ìš©í•œ í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 짜 보세요.(eg.1~nê¹Œì§€ì˜ í•©, n!구하기등) 2.ë°°ì—´ì— ìˆ«ìžë¥¼ ë„£ê³ , ê·¸ ë°°ì—´ì— íŠ¹ì • ê°’ì´ ìžˆëŠ”ì§€ 찾는 프로그램(Search)ì„ ìž‘ì„±í•´ 주세요. ---- [새싹êµì‹¤/2012/AClass],[새싹êµì‹¤/2012],[2012년활ë™ì§€ë„]