책소개
		C 프로그래밍 시작을 위한 최고의 입문서!
파이썬 / 아두이노 / 라즈베리 파이까지 레벨업!
프로그래머 대부분이 프로그래밍을 처음 시작할 때 먼저 접하게 되는 것이 C 언어다. 프로그래머가 되기 위해서 반드시 C 언어가 필요한가에 대한 질문에 그렇지 않다고 말하는 사람도 있을 수 있지만, C 언어를 모르면서 프로그래밍 고수가 되고 IoT를 해 나간다는 것은 그리 쉽지 않다. 또한, 요즘 각광받고 있는 인공지능은 파이썬을 통해 접근할 수 있다. 이 책에서는 기본적인 파이썬 프로그래밍도 학습하고 C 언어와는 조금 다른 객체지향적 개념의 클래스도 학습하도록 구성하였다. 파이썬은 인공지능뿐 아니라 3D 애니메이션, 오픈소스, 라즈베리 파이 분야와 구글, 페이스북, 다음카카오 등 현업에서도 폭넓게 이용되고 있는 언어다.
	 
	
		목차
		Part 1. 입문	오늘부터 나는 C 프로그래머!
		001  C 프로그램 시작하기
		002  변수형 개념 배우기
		003  상수형 개념 배우기
		004  연산자 개념 배우기
		005  조건문 개념 배우기(if~else)
		006  순환문 개념 배우기(for)
		007  문자열 개념 배우기
		008  함수 개념 배우기
		009  주석 개념 배우기
		010  컴파일 개념 배우기
Part 2. 초급	C 프로그래밍 기초 다지기
		011  문자형 변수 이해하기(char)
		012  정수형 변수 이해하기(int)
		013  실수형 변수 이해하기(double)
		014  논리형 변수 이해하기(bool)
		015  문자열형 변수 이해하기(char*)
		016  문자형 상수 이해하기(char)
		017  정수형 상수 이해하기(int)
		018  실수형 상수 이해하기(double)
		019  논리형 상수 이해하기(bool)
		020  문자열형 상수 이해하기(char)
		021  대입 연산자 이해하기(=)
		022  부호 연산자 이해하기(+, -)
		023  사칙 연산자 이해하기(+, -, *, /)
		024  증감 연산자 이해하기(++, --)
		025  관계 연산자 이해하기
		026  논리 연산자 이해하기(||, &&, !)
		027  조건 연산자 이해하기(?:)
		028  쉼표 연산자 이해하기(,)
		029  비트 연산자 이해하기
		030  캐스트 연산자 이해하기
		031  sizeof 연산자 이해하기
		032  중첩 조건문 이해하기(if~else)
		033  중첩 순환문 이해하기(for~continue~break)
		034  조건 선택문 이해하기(switch~case~default)
		035  조건 순환문 이해하기 1(while~continue~break)
		036  조건 순환문 이해하기 2(do~while~continue~break)
		037  무조건 분기문 이해하기
		038  문자열 이해하기
		039  배열 이해하기
		040  메모리 이해하기
		041  포인터 이해하기
		042  널(NULL) 문자 이해하기
		043  구조체 이해하기
		044  공용체 이해하기
		045  열거형 이해하기
		046  데이터형 정의하기
		047  함수와 인수 이해하기
		048  변수의 범위 이해하기
		049  #include 문 이해하기
		050  매크로 이해하기
Part 3. 중급	C 프로그래밍 레디 고!
		051  문자 입력받기(getch)
		052  문자 출력하기(putch)
		053  정수값 입력받기(scanf)
		054  정수값 출력하기(printf)
		055  문자열 입력받기(gets)
		056  문자열 출력하기(puts)
		057  문자열 복사하기(strcpy)
		058  문자열을 복사하는 함수 만들기
		059  문자열을 대/소문자로 구분하여 비교하기(strcmp)
		060  문자열을 비교하는 함수 만들기
		061  문자열을 일정 크기만큼 비교하기(strncmp)
		062  문자열 연결하기(strcat)
		063  문자열의 길이 구하기(strlen)
		064  문자열 검색하기(strstr)
		065  문자열 중에서 문자 검색하기(strchr)
		066  문자열 중에서 일치되는 첫 문자의 위치 구하기(strcspn)
		067  문자열 중에서 일치되지 않는 첫 문자의 위치 구하기(strspn)
		068  문자열을 구분자로 분리하기 1(strtok)
		069  문자열을 구분자로 분리하기 2(strpbrk)
		070  문자열을 특정 문자로 채우기(strset)
		071  부분 문자열을 특정 문자로 채우기(strnset)
		072  문자열을 대문자로 변환하기(strupr)
		073  문자열을 소문자로 변환하기(strlwr)
		074  문자열을 거꾸로 뒤집기(strrev)
		075  문자열을 중복 생성하기(strdup)
		076  문자열을 형식화하기(sprintf)
		077  문자열을 정수로 변환하기 1(atoi)
		078  문자열을 정수로 변환하기 2(atol)
		079  문자열을 정수로 변환하기 3(strtol)
		080  문자열을 정수로 변환하기 4(strtoul)
		081  문자열을 실수로 변환하기 1(atof)
		082  문자열을 실수로 변환하기 2(strtod)
		083  정수를 문자열로 변환하기 1(itoa)
		084  정수를 문자열로 변환하기 2(ltoa)
		085  정수를 문자열로 변환하기 3(_ultoa)
		086  실수를 문자열로 변환하기 1(fcvt)
		087  실수를 문자열로 변환하기 2(ecvt)
		088  실수를 문자열로 변환하기 3(gcvt)
		089  문자가 알파벳인지 검사하기(isalpha)
		090  문자가 숫자인지 검사하기(isdigit)
		091  문자가 알파벳 또는 숫자인지 검사하기(isalnum)
		092  문자가 대문자인지 검사하기(isupper)
		093  문자가 소문자인지 검사하기(islower)
		094  문자가 공백, 탭문자 또는 개행문자인지 검사하기(isspace)
		095  문자열에서 앞·뒤 2바이트씩 교환하기(swab)
		096  메모리 할당하기(malloc)
		097  메모리를 블록 단위로 할당하기(calloc)
		098  메모리 해제하기(free)
		099  메모리 재할당하기(realloc)
		100  메모리 복사하기(memcpy)
		101  메모리 비교하기(memcmp)
		102  메모리 이동하기(memmove)
		103  메모리 채우기(memset)
		104  메모리를 복사하는 함수 만들기
		105  메모리를 이동하는 함수 만들기
		106  포인터 사용하기
		107  포인터를 함수에서 사용하기
		108  포인터 배열 사용하기
		109  포인터 배열을 함수에서 사용하기
		110  1차원 배열 사용하기
		111  1차원 배열의 포인터 사용하기
		112  1차원 배열을 함수에서 사용하기
		113  2차원 배열 사용하기
		114  2차원 배열의 포인터 사용하기
		115  2차원 배열을 함수에서 사용하기
		116  3차원 배열 사용하기
		117  3차원 배열의 포인터 사용하기
		118  3차원 배열을 함수에서 사용하기
		119  구조체 사용하기
		120  구조체 포인터 사용하기
		121  구조체를 함수에서 사용하기
		122  구조체 배열 사용하기
		123  구조체 배열 포인터 사용하기
		124  구조체 배열을 함수에서 사용하기
		125  구조체의 길이를 구하고 초기화하기
		126  공용체 사용하기
		127  공용체를 함수에서 사용하기
		128  void형 포인터 사용하기
		129  void형 포인터를 함수에서 사용하기
		130  포인터의 포인터 사용하기
		131  포인터의 포인터를 함수에서 사용하기
		132  함수 포인터 사용하기
		133  함수 포인터를 배열에서 사용하기
		134  함수 포인터를 함수에서 사용하기
		135  main() 함수 원형 사용하기
		136  파일 생성하기(fopen)
		137  파일에 한 문자 쓰기(fputc)
		138  파일에서 한 문자 읽기(fgetc)
		139  파일에 문자열 쓰기(fputs)
		140  파일에서 문자열 읽기(fgets)
		141  파일에 형식화된 문자열 쓰기(fprintf)
		142  파일에서 형식화된 문자열 읽기(fscanf)
		143  파일의 버퍼 비우기(fflush)
		144  파일 포인터의 현재 위치 구하기 1(ftell)
		145  파일 포인터를 처음으로 이동하기 1(fseek)
		146  파일 포인터를 처음으로 이동하기 2(rewind)
		147  파일 포인터를 끝으로 이동하기(fseek)
		148  파일 포인터를 임의의 위치로 이동하기(fseek)
		149  파일의 길이 구하기(fseek)
		150  파일 포인터의 현재 위치 구하기 2(fgetpos)
		151  파일 포인터의 현재 위치 설정하기(fsetpos)
		152  파일 닫기(fclose)
		153  파일의 끝에 도달했는지 검사하기(feof)
		154  파일 읽기/쓰기 시 에러 검사하기(ferror)
		155  파일 처리 시 발생된 에러 표시하기(perror)
		156  임시 파일 이름 만들기(tmpnam)
		157  파일이 존재하는지 확인하기(_access)
		158  파일 이름 변경하기(rename)
		159  파일 속성 변경하기(_chmod)
		160  파일 삭제하기(remove)
		161  디렉터리 생성하기(_mkdir)
		162  디렉터리 삭제하기(_rmdir)
		163  현재 작업중인 디렉터리 구하기(_getcwd)
		164  현재 작업중인 디렉터리 변경하기(_chdir)
		165  현재 작업중인 드라이브 구하기(_getdrive)
		166  현재 작업중인 드라이브 변경하기(_chdrive)
		167  표준 입·출력 스트림 사용하기(stdin, stdout)
		168  현재까지 경과된 초의 수 구하기(time)
		169  날짜 및 시간 구하기 1(localtime)
		170  날짜 및 시간 구하기 2(_ftime)
		171  세계 표준 시 구하기(gmtime)
		172  날짜 및 시간을 문자열로 변환하기(ctime)
		173  날짜 및 시간을 더하거나 빼기(mktime)
		174  날짜 및 시간의 차이 구하기(difftime)
		175  날짜 및 시간을 미국식으로 변환하기(asctime)
		176  날짜 및 시간을 형식화하기(strftime)
		177  삼각 함수 싸인 값 구하기(sin)
		178  삼각 함수 아크 싸인 값 구하기(asin)
		179  삼각 함수 x/y에 대한 아크 탄젠트 값 구하기(atan2)
		180  지수 함수 지수값 구하기(exp)
		181  로그 함수 자연 로그값 구하기(log)
		182  로그 함수 밑수를 10으로 하는 로그값 구하기(log10)
		183  제곱근 구하기(sqrt)
		184  절대값 구하기(abs)
		185  주어진 값보다 작지 않은 최소 정수값 구하기(ceil)
		186  주어진 값보다 크지 않은 최대의 정수값 구하기(floor)
		187  주어진 값을 정수와 소수로 분리하기(modf)
		188  x의 y승 구하기(pow)
		189  난수 구하기(srand, rand)
		190  숫자 정렬하기(qsort)
		191  이진 검색 사용하기(bsearch)
		192  매크로 상수 정의하기
		193  매크로 함수 정의하기 1
		194  매크로 함수 정의하기 2
		195  매크로 상수가 선언되었는지 검사하기
		196  매크로 컴파일 에러 출력하기
		197  매크로 상수의 값을 검사하기
		198  매크로 상수의 선언을 취소하기 
		199  경고 에러를 발생시키지 않기
		200  내장된 매크로 사용하기
Part 4. 활용	C를 말하다
		201  scanf() 함수 100% 활용하기(scanf)
		202  printf() 함수 100% 활용하기(printf)
		203  삼각형 출력하기(for)
		204  값을 입력받아 홀수/짝수 구분하기(%)
		205  1~100까지 홀수의 합 구하기
		206  21~50 범위의 난수 발생시키기
		207  변수의 번지 출력하기(& 연산자)
		208  정수값을 16진수 문자열로 변환하기(itoa)
		209  2진수/16진수 문자열을 정수값으로 변환하기(strtol)
		210  2진수 문자열을 16진수 문자열로 변환하기(strtol, itoa)
		211  소문자를 대문자로 변환하기
		212  비트 연산을 사용하여 변수값을 0으로 만들기
		213  비트 쉬프트 연산을 사용하여 곱셈 구현하기
		214  비트 쉬프트 연산을 사용하여 나눗셈 구현하기
		215  문자열에서 특정 문자열의 인덱스 구하기(strstr)
		216  문자열을 콤마와 공백으로 분리하기(strtok)
		217  문자열을 공백으로 분리하여 여러 개의 문자열로 만들기(strtok)
		218  문자열에서 숫자만 추출해내기(isdigit)
		219  문자열에서 알파벳만 추출해내기(isalpha)
		220  문자열에서 한글만 추출해내기
		221  알파벳이 아닌 첫 문자의 위치 검출하기(strspn)
		222  문자열에서 숫자가 시작되는 위치 추출하기(strcspn)
		223  문자열을 특정 문자 위치에서 잘라내기(strchr)
		224  문자열의 좌우 공백 제거하기(isspace)
		225  문자열의 좌우 특정 문자들 제거하기(strspn, strcspn)
		226  문자열을 NULL로 채우기(strset)
		227  문자열의 첫 글자를 대문자로 변환하기
		228  문자열에서 특정 위치의 문자 교체하기(strnset)
		229  문자열에 대한 임시 저장소 만들기(strdup)
		230  메모리를 1MB 할당하고 해제하기(malloc, free)
		231  메모리를 100MB 할당하고 해제하기
		232  void형 포인터를 사용한 다양한 배열 복사하기
		233  텍스트 파일을 한 줄씩 쓰기(fopen, fputs, fclose)
		234  텍스트 파일을 한 줄씩 읽기(fgets)
		235  텍스트 파일 쓰기(fwrite)
		236  텍스트 파일 읽기(fread)
		237  이진 파일 쓰기(fwrite)
		238  이진 파일 읽기(fread)
		239  파일을 다른 디렉터리로 이동하기(rename)
		240  파일 복사하기(fread, fwrite)
		241  두 개의 파일 합치기
		242  파일에서 특정 문자열 검색하기(strstr)
		243  파일에서 특정 문자열 교체하기
		244  연/월/일 시:분:초 출력하기(time, localtime)
		245  출생일로부터 오늘까지의 경과일 수 구하기(mktime)
		246  각 달의 마지막 날짜 구하기(mktime)
		247  D-Day 구하기(mktime)
		248  오늘 날짜로부터 크리스마스까지의 남은 시간 구하기
		249  오늘 날짜에 임의의 날짜 더하고 빼기
		250  크리스마스의 요일 구하기
		251  세계 표준 시와 국내 표준 시의 시간 차 구하기(localtime)
		252  5초간 지연하는 함수 구현하기(clock)
		253  두 시간 간의 차이 구하기(mktime)
		254  두 날짜 간의 차이 구하기(mktime)
		255  올해의 경과된 날짜 수 구하기(localtime)
		256  올해의 경과된 주의 수 구하기(strftime)
		257  오늘의 요일 구하기
		258  오전/오후 표시하기
		259  AM/PM 표시하기
		260  문자열로 된 날짜를 time_t 형식으로 변환하기(atoi, mktime)
		261  문자열로 된 날짜를 struct tm 형식으로 변환하기
		262  날짜 및 시간을 다양한 방법으로 출력하기(_ftime)
		263  야구 게임 만들기
		264  스택 구현하기
		265  큐 구현하기
		266  단일 링크드 리스트 구현하기
		267  이중 링크드 리스트 구현하기
		268  주소록 구현하기
		269  TCP/IP 이해하기
		270  TCP/IP 서버/클라이언트 프로그램 만들기
Part 5. 실무	파이썬 프로그래밍
		271  프로그램 시작하기
		272  변수형 사용하기
		273  연산자 사용하기
		274  값을 입력받고 출력하기
		275  조건문 사용하기(if~else)
		276  순환문 사용하기(for, while)
		277  파이썬 문자열 사용하기
		278  리스트(배열) 사용하기
		279  튜플 사용하기
		280  딕셔너리 사용하기
		281  날짜 및 시간 구하기
		282  함수 사용하기
		283  함수 고급기법 사용하기
		284  텍스트 파일 쓰기
		285  텍스트 파일 읽기
		286  바이너리 파일 쓰기
		287  바이너리 파일 읽기
		288  클래스 이해하기
		289  클래스 정적함수 이해하기
		290  클래스 상속과 오버라이딩 이해하기
		291  다중 파일 사용하기
		292  역삼각형 출력하기
		293  1에서 100까지의 합계 구하기
		294  30에서 50 사이의 난수 만들기
		295  2진수와 16진수 연산하기
		296  TCP/IP 소켓 서버/클라이언트
		297  HTTP 사용하기
		298  FTP 클라이언트 만들기
		299  SMTP 메일 클라이언트 만들기
		300  MySQL 데이터베이스 사용하기
Appendix. 부록
A. 아두이노 	A.1  아두이노 환경 설정하기
		A.2  아두이노 프로그래밍
		A.3  아두이노-LED 깜빡이기
		A.4  아두이노-LED 순차 점멸
		A.5  아두이노-LED 피아노 건반처럼 깜빡이기
B. 라즈베리 파이
		B.1  라즈베리 파이-리눅스 운영체제 설치하기
		B.2  라즈베리 파이-설정하기
		B.3  라즈베리 파이-웹서버 Apache와 PHP 설치하기
		B.4  라즈베리 파이-데이터베이스 MySQL 설치하기
		B.5  라즈베리 파이-테스트 DB 생성하기
		B.6  라즈베리 파이-PHP와 MySQL 연동하기
		B.7  라즈베리 파이-TOMCAT 설치와 JSP 연동하기
		B.8  라즈베리 파이-LED 구동하기
		B.9  라즈베리 파이-카메라 제어하기
		B.10  라즈베리 파이-동영상 녹화하기