3주차: 세 ì‚´ 코딩버릇ì�„ ì—¬ë“ ê¹Œì§€
- ë°°ì—´, í�¬ì�¸í„°, ì–´ë“œë ˆìŠ¤, 함수, Call-by-value, Call-by-reference, 구조체 -
ì�´ë²ˆ 시간ì—� ì�´ê±´ ê¼ í•´ì•¼ ë�¼! (ì�´ê±° ê¶�서체다 강사 진지하다)
1. Wikiì—� Ice breaking ë°� ì§„í–‰ ìƒ�황 ì •ë¦¬.
2. Koistudy.net ê³¼ì œ 확ì�¸ ë°� ë¹ ë¥¸ 복습 후 수업 ì§„í–‰
3. 코딩 Keyword 설명
4. 구글 협업 문서 만들어보기
- ë°°ì—´, í�¬ì�¸í„°, ì–´ë“œë ˆìŠ¤, 함수, Call-by-value, Call-by-reference, 구조체 -
ì�´ë²ˆ 시간ì—� ì�´ê±´ ê¼ í•´ì•¼ ë�¼! (ì�´ê±° ê¶�서체다 강사 진지하다)
1. Wikiì—� Ice breaking ë°� ì§„í–‰ ìƒ�황 ì •ë¦¬.
2. Koistudy.net ê³¼ì œ 확ì�¸ ë°� ë¹ ë¥¸ 복습 후 수업 ì§„í–‰
3. 코딩 Keyword 설명
4. 구글 협업 문서 만들어보기
1. 보기 좋� 코드� 중요성?
코딩ì�„ 하다 ë³´ë©´ ìž�ì‹ ì�˜ 코드를 다시 한번 ì �검해야 하는 경우가 ê¼ ìƒ�ê¹�니다. 하지만 í•ìƒ� ë¬¸ì œê°€ ìƒ�ê¸°ì£ . ì�´ê²Œ main문ì�˜ 괄호(curly bracket : {} ) ì�¸ì§€ for문ì�˜ {} ì�¸ì§€ 헷갈릴 때가 ìžˆì£ ? ì�´ë²ˆ 시간 ì�´í›„ì—� 한번 검색해보세요. 코딩 ë�„어쓰기, 괄호를 어떻게 붙여야 하는지ì—� 대해서 ë§�입니다. ê¼! 잊지 마세요. 중요하답니다.
코딩ì�„ 하다 ë³´ë©´ ìž�ì‹ ì�˜ 코드를 다시 한번 ì �검해야 하는 경우가 ê¼ ìƒ�ê¹�니다. 하지만 í•ìƒ� ë¬¸ì œê°€ ìƒ�ê¸°ì£ . ì�´ê²Œ main문ì�˜ 괄호(curly bracket : {} ) ì�¸ì§€ for문ì�˜ {} ì�¸ì§€ 헷갈릴 때가 ìžˆì£ ? ì�´ë²ˆ 시간 ì�´í›„ì—� 한번 검색해보세요. 코딩 ë�„어쓰기, 괄호를 어떻게 붙여야 하는지ì—� 대해서 ë§�입니다. ê¼! 잊지 마세요. 중요하답니다.
ìœ ì§€ë³´ìˆ˜ê°€ ì–´ë µê²Œ 코딩 하는 방법(ì�´ë ‡ê²Œ 하진 맙시다) 15페ì�´ì§€ê¹Œì§€.
http://www.hanb.co.kr/events/eventview.html?event_id=freebook
http://www.hanb.co.kr/events/eventview.html?event_id=freebook
2. 코딩 실습
3.1 함수(function)는 ë�ê³ . 왜 ìƒ�겼는가? ì“°ë©´ 좋ì�€ ì �ì�€? 함수ì�˜ 범위(Scope)란?
3.2 같� 타입(Type)� 변수를 한꺼번� 관리해주는 배열(array)란?
3.3 메모리 주소(address)와 변수ì�˜ 메모리 í• ë‹¹. ê·¸ë¦¬ê³ *í�¬ì�¸í„° (pointer)
3.4 Call-by-value, Call-by-reference.? 무엇� 다른가?
3.5 ìž�기ìž�ì‹ ì�„ 부르는 재귀 함수?
3.6 난 나만ì�˜ Typeì�„ ë§Œë“¤ê² ì–´ 구조체(struct)와 typedef!
.
모르는 것� �겼� 때
C Library reference Guide http://www.acm.uiuc.edu/webmonkeys/book/c_guide/
WinAPI http://winapi.co.kr/ 를 찾아보시는 것ì�„ í•ìƒ� 추천 드립니다.
#include<stdio.h>
#include<string.h>
typedef struct _CALORIE{
char name[40];
float value;
}CALORIE;
int calregist(CALORIE *, int);
float calcalc(CALORIE *, int);
int main(){
CALORIE cal[500] = { {"쌀류", 150.0}, {"짜장면", 57.1}, {"êµìˆ˜",133.3}, {"ìš°ë�™",100.0}, {"소면",133.3}, {"ì‹�ë¹µ", 250.0}};
int cal_num = 6;
int mode =0;
printf("칼로리 계산기\n");
while(1){
printf("등ë¡�ì�€ 1, 계산ì�€ 2, 종료는 0ì�„ ìž…ë ¥í•˜ì„¸ìš” : ");
scanf("%d", &mode);
if(mode == 0) break;
else if(mode == 1) cal_num = calregist(cal, cal_num);
else if(mode == 2) printf("�칼로리 : %6.2fkcal\n\n", calcalc(cal, cal_num));
}
return 0;
}
int calregist(CALORIE *pcal, int num){
printf("ì‹�품명ì�„ ìž…ë ¥í•˜ì„¸ìš” : ");
scanf("%s", (pcal+num)->name);
printf("ê·¸ ì‹�í’ˆì�˜ 칼로리를 ìž…ë ¥í•˜ì„¸ìš”[kcal/100g] : ");
scanf("%f", &(pcal+num)->value);
printf("등��었습니다.\n\n");
return num+1;
}
float calcalc(CALORIE *pcal, int num){
char name[40];
float gram = 0;
float totalcal = 0.0;
int i;
printf("-- �품명 �람 -------------\n");
for(i = 0; i<num;i++)
printf("%s\t", (pcal+i)->name);
printf("\n----------------------------------------\n");
while(1){
printf("ì‹�품명(end를 ìž…ë ¥í•˜ë©´ 계산합니다.) : ");
scanf("%s", name);
if(strcmp(name, "end") == 0)
break;
printf("그램 수 : ");
scanf("%f", & gram);
for(i=0;i<num;i++){
if(strcmp(name, (pcal+i)->name) == 0){
totalcal += (pcal+i)->value * gram /100.0;
break;
}
}
}
return totalcal;
}
3. 코딩 KeyWord (ì„ ìƒ�님들께 질문해보세요)3.1 함수(function)는 ë�ê³ . 왜 ìƒ�겼는가? ì“°ë©´ 좋ì�€ ì �ì�€? 함수ì�˜ 범위(Scope)란?
3.2 같� 타입(Type)� 변수를 한꺼번� 관리해주는 배열(array)란?
3.3 메모리 주소(address)와 변수ì�˜ 메모리 í• ë‹¹. ê·¸ë¦¬ê³ *í�¬ì�¸í„° (pointer)
3.4 Call-by-value, Call-by-reference.? 무엇� 다른가?
3.5 ìž�기ìž�ì‹ ì�„ 부르는 재귀 함수?
3.6 난 나만ì�˜ Typeì�„ ë§Œë“¤ê² ì–´ 구조체(struct)와 typedef!
.
모르는 것� �겼� 때
C Library reference Guide http://www.acm.uiuc.edu/webmonkeys/book/c_guide/
WinAPI http://winapi.co.kr/ 를 찾아보시는 것ì�„ í•ìƒ� 추천 드립니다.
4. ê³¼ì œ
컴퓨터 공학ì�„ 다니면서 우리와 ê´€ë ¨ë�œ 것ì�„ 알아보는 것ì�€ ë‹¹ì—°í•˜ê² ì£ ?
컴퓨터 ê´€ë ¨ ìž�ìœ ì£¼ì œì—� 대해 조사해오세요~! 구글 협업문서로 조를 ì�´ë£¨ì–´ 해봅시다.
강사ì�˜ ê³„ì •ì—� 구글 협업 문서 만들기 -> í•™ìƒ�들ì�˜ ê³„ì • ê³µìœ ë“±ë¡� 까지 마ì³�봅시다.
컴퓨터 공학ì�„ 다니면서 우리와 ê´€ë ¨ë�œ 것ì�„ 알아보는 것ì�€ ë‹¹ì—°í•˜ê² ì£ ?
컴퓨터 ê´€ë ¨ ìž�ìœ ì£¼ì œì—� 대해 조사해오세요~! 구글 협업문서로 조를 ì�´ë£¨ì–´ 해봅시다.
강사ì�˜ ê³„ì •ì—� 구글 협업 문서 만들기 -> í•™ìƒ�들ì�˜ ê³„ì • ê³µìœ ë“±ë¡� 까지 마ì³�봅시다.










