새싹교실/2012/개차반 (rev. 1.25)
2.1. 1회차(2012 - 03 - 27) ¶
- 전원 참석
- C언어를 low-level의 관점에서부터 접근하기 위해 폰노이만 아키텍쳐부터 수업
- C언어는 UNIX 개발을 목적으로 만들어진 언어이기 때문에 OS의 기초가 되는 기초적인 컴퓨터시스템은 이해할 필요가 있다고 판단
- 포인터 개념이나 scanf에서 &가 쓰이는 이유 등 여러가지 keyword에 대해 설명하기 위함
- binary digit를 비롯한 컴퓨터 시스템의 기초적인 개념 또한 설명
- 즉석에서 코드를 작성해가며, Compile error, logical error, debug error의 개념에 대해 설명
- 추후 프로그래밍시 에러 이유와 대처방법 부연 설명
- C언어의 특징 설명
- variable 및 main function의 역할 설명
- #include가 무엇인지 header file이 무엇인지 설명
- 컴파일러의 역할과 compile -> link -> build 과정 설명
2.1.1. 과제: 이 항목에 오늘 배운 내용을 정리하시오. ¶
- c 언어의 특징
- High-Level 언어의 특징과 Low-Level 언어의 특징을 모두 지니고 있다
- High-Level 언어에 가까울수록 사람이 이해하기 쉬워진다 (Human Friendly)
- Low-Level 언어에 가까울수록 기계가 이해하기 쉬워진다 (Machine Friendly)
컴파일러 (complier)
- High-Level 언어를 Low-Level 언어로 변환해주는 역할을 한다
폰 노이만 아키텍쳐
- 현재 사용되는 모든 컴퓨터에 적용되는 범용 컴퓨터 구조
- 제어장치와 연산장치, 메모리, 입출력장치로 구성
- bit
- 이진법으로 나타낼 수 있는 자릿수를 나타낸다
- 1bit=0,1 / 2bit=00,01,10,11 / 3bit=000,001,010,011,100 ...
헤더 파일
- 함수 (Function) 들의 집합
- 이미 존재하는 함수를 가져다 쓰려 할 때 헤더파일을 불러와서 사용한다
- 변수 (variable)
- int, float, char 등
- int는 정수를 나타내고자 할 때 사용하며 출력시 %d를 사용
- float는 소수점 아래의 숫자까지 표현하고자 할 때 사용하며 출력시 %f를 사용
- char는 문자를 나타내고자 할 때 사용하며 출력시 %c를 사용
과제 제출내용에서 빼먹는 수업 내용 추가!
- int: integer type, 4 bytes
- char: It used to express a character, but also used to express a integer. 1 byte
- float: 4 byte, floating type number. Specification in IEEE 754-2008
- function: input -> output
- Main function
- real part of program
- It has start and end point of a program.
- return 0; : 0 is a flag noticing OS that program is ended.
2.2. 2회차(2012 - 04 -05) ¶
- 수업내용: Variables, Data Types, Standard I/O
- Variables
- identifier -> 이름 짓기에도 규칙이 있다.
- keyword
- overflow
- escape sequence
- Data Type
- Integer type: int(4 bytes), char(1 byte, be often used to express a character)
- float type: float, double (double is more correct than float)
- unsigned - MSB를 통해서 2배의 수를 더 많이 나타낼 수 있다는 개념 설명
- Maximum, minimum value of int(경우의 수 이용)
- Standard I/O
- format specifications
- printf, scanf
- scanf에서 왜 & 이 놈이 등장할까?
- preprocessor(전처리기)
- automatic type conversion
- Example Problem: Write a program that converts meter-type height into feet(integer),inch(float)-type height. Your program should get one float typed height value as an input and prints integer typed feet value and the rest of the height is represented as inch type. (1m=3.2808ft=39.37inch) (출처: 손봉수 교수님 ppt)
- 배운 수업 내용 정리
- 2진법, 명제, 삼단논법 공부해오기
- 오늘 못 짠거 마저 다 짜오기
- 고1 수학 과정 제대로 공부해보기