이미 소장하고 있다면 판매해 보세요.
|
Chapter 1 초보자도 쉽게 시작하는 C 프로그래밍
01 C 언어를 이해하자! 1. C 언어의 탄생 배경 그리고 역사 2. C 언어를 사용하는 이유 02 프로그래밍을 이해하자! 1. 프로그램 2. 프로그래머 3. 프로그래밍 03 개발 툴을 설치하자! 1. Dev-C++ 2. Dev-C++의 설치 3. Visual C++ 4. Visual C++ 6.0의 설치 [비법전수] 컴파일러의 종류에는 어떤 것들이 있나요? 04 첫 번째 C 프로그램의 작성과 이해 1. Dev-C++ 시작하기 2. Visual C++ 6.0 시작하기 Chapter 2 C 프로그램의 첫걸음, 구성 요소 01 두 번째 C 프로그램 예제 1. 두 번째 프로그램 예제 02 기초 구문 1 - main( ) 함수 1. main( ) 함수 03 기초 구문 2 - 변수 선언 1. 변수(변할 수 있는 수) 04 기초 구문 3 - 문장 1. 수식 2. 문장 3. 치환문 05 기초 구문 4 - 함수 1. 함수 06 기초 구문 5 - 주석문 1. 주석문 2. 주석문 사용 시 주의할 점 [비법전수] 주석문의 여러 가지 형태 [비법전수] 주석문의 사용 예 07 기초 구문 6 - 중괄호, 괄호 1. 중괄호 2. 괄호 08 기초 구문 7 - #include문 1. #include문 연습문제 Chapter 3 기본기를 알면 C가 보인다. 변수와 상수 01 변수란? 1. 변수 02 숫자를 저장하는 변수 1. 숫자 변수의 종류 03 변수의 선언 1. 변수의 선언 2. 변수의 범위: 지역 변수와 전역 변수 04 변수의 초기화 1. 변수의 초기화 05 상수 1. 상수 06 상수 선언하기 1. 매크로 상수 2. const를 사용한 상수 정의 연습문제 Chapter 4 입력과 출력의 기본, scanf()와 printf() 함수 01 printf( ) 함수를 사용한 출력 1. printf( ) 함수를 사용한 문자열 출력 2. printf( ) 함수의 함수 원형과 서식 문자 3. 정수형 변수의 출력 4. 문자형 변수의 출력 5. 실수값의 출력 6. 문자열의 출력 [비법전수] printf( ) 함수의 다양한 형식 제어 문자열 사용하기 02 scanf( ) 함수를 사용한 입력 1. scanf( ) 함수를 사용한 정수값 입력 2. scanf( ) 함수의 함수 원형과 서식 문자 3. 정수값의 입력 4. 문자값의 입력 5. 실수값의 입력 6. 16진수의 입력 7. 문자열의 입력 [비법전수] scanf( ) 함수 사용 시 주의 사항 연습문제 Chapter 5 연산자 01 산술 연산자, 대입 연산자 1. 산술 연산자(+, -, *, /, %) 2. 대입 연산자(=) 3. 산술 연산자의 연산 우선순위 02 관계 연산자 1. 관계 연산자(>, >=, <, <=, ==, !=) 2. 관계 연산자의 연산 우선순위 03 논리 연산자 1. 논리 연산자(&&, ||, !) 2. 논리 연산자의 우선순위 04 증가, 감소 연산자 1. 증가, 감소 연산자(++, --) 2. 전위, 후위 연산자 05 삼항 조건 연산자, 쉼표 연산자 1. 삼항 조건 연산자( ? : ) 2. 쉼표 연산자(,) 06 비트 연산자 1. 비트 연산자(&, |, ~, ^, <<, >>) [비법전수] 연산자 우선순위 연습문제 Chapter 6 반복문 01 for문 1. for문 [비법전수] 중첩된 for문을 사용한 구구단 프로그램 02 while문 1. while문 03 do~while문 1. do ~ while문 04 여러 종류의 반복문 중첩 1. for문과 while문 중첩 연습문제 Chapter 7 제어문 01 if, else, else if문 1. if문, else절 2. else if문 02 switch문 1. switch문 03 continue, break문 1. continue, break문 [비법전수] 중첩된 for문을 탈출하기 위한 goto문 연습문제 Chapter 8 함수 01 함수란 무엇인가? 1. 함수의 정의 02 함수의 선언 및 작성 1. 함수의 선언 및 작성 03 함수의 호출 및 반환값 1. 함수의 호출 및 반환값 2. 매개 변수와 데이터형 3. 반환값과 데이터형 4. 반환값이 없는 void형 연습문제 Chapter 9 배열 01 배열이란 무엇인가? 1. 배열의 정의 02 1차원 배열 1. 1차원 배열 03 1차원 배열의 초기화 1. 배열의 초기화 04 다차원 배열 1. 2차원 배열 2. 3차원 배열 05 다차원 배열의 초기화 [비법전수] 1. 2차원 배열의 초기화 [비법전수] 배열의 첨자와 sizeof 연산자 연습문제 Chapter 10 포인터 01 포인터란 무엇인가? 1. 포인터의 정의 [비법전수] 컴퓨터 메모리 02 포인터 변수의 선언 및 초기화 1. 포인터 변수의 선언 2. 포인터 변수의 초기화 03 포인터 변수의 사용 1. 포인터 변수를 사용한 메모리 간접 접근 04 포인터와 1차원 배열 1. 1차원 배열의 포인터 05 포인터와 다차원 배열 1. 2차원 배열의 포인터 2. 3차원 배열의 포인터 06 포인터 변수의 연산 1. 1차원 배열 포인터 및 연산 07 포인터와 함수 1. 포인터 변수를 함수에서 사용 2. 1차원 배열을 함수에서 사용 3. 2차원 배열을 함수에서 사용 4. 3차원 배열을 함수에서 사용 연습문제 Chapter 11 문자와 문자열 01 문자형 변수 및 포인터 1. 문자를 다루는 char형 2. 문자형 포인터 02 문자형 배열 1. 문자형 1차원 배열 03 문자열과 포인터 1. 문자열과 널문자 2. 문자열과 포인터(char*) 04 문자형 포인터의 연산 1. 문자형 포인터의 연산 05 문자열 함수 1. 문자열 함수 2. 문자열 복사(strcpy) 3. 문자열 길이(strlen) 4. 문자열 연결(strcat) 5. 문자열 비교(strcmp) 6. 단일 문자 검색(strchr) 7. 다중 문자 검색(strpbrk) 8. 문자가 포함되는지 검색(strcspn) 9. 문자가 포함되지 않는지 검색(strspn) 10. 문자열 검색(strstr) 11. 문자열을 구분자로 분리(strtok) 12. 문자열을 대문자로 변환(strupr) 13. 문자열을 소문자로 변환(strlwr) 14. 문자열을 특정 문자로 채움(strset) 15. 문자열을 거꾸로 뒤집기(strrev) 16. 문자열을 정수로 변환(atoi) 17. 2진~36진 문자열을 정수로 변환(strtol) 18. 문자열을 printf( ) 함수의 출력 형식으로 생성(sprintf) [비법전수] sscanf( ) 함수 [비법전수] sscanf( ) 함수 사용 예 06 메모리 할당 1. malloc( ) 함수 2. free( ) 함수 3. 문자를 저장하기 위한 메모리 할당 4. 정수를 저장하기 위한 메모리 할당 5. 문자 배열을 위한 메모리 할당 6. 정수 배열을 위한 메모리 할당 7. 2차원 배열을 위한 메모리 할당 8. 3차원 배열을 위한 메모리 할당 [비법전수] 배열을 함수에서 할당 받기 연습문제 Chapter 12 구조체 01 구조체란 무엇인가? 1. 구조체의 정의 02 구조체의 선언과 사용 1. 구조체의 선언과 사용 [비법전수] 구조체에서 포인터 사용 [비법전수] 구조체(structure)와 클래스(class) 03 구조체의 배열 1. 구조체의 배열 04 구조체의 초기화 1. 구조체의 초기화 2. 구조체 배열의 초기화 3. 구조체의 멤버 변수가 문자 배열인 경우의 초기화 05 구조체의 포인터 1. 구조체 포인터의 선언 06 구조체의 배열에 대한 포인터 1. 구조체 배열에 대한 포인터 2. 구조체 배열에 대한 포인터의 연산 07 구조체를 함수에서 사용 1. 구조체를 값에 의해 전달(call-by-value) 2. 구조체를 포인터에 의해 전달(call-by-reference) 3. 1차원 구조체의 배열을 함수로 전달하기 4. 2차원 구조체의 배열을 함수로 전달하기 5. 3차원 구조체의 배열을 함수로 전달하기 08 공용체 1. 공용체의 정의 연습문제 Chapter 13 포인터 고급 01 포인터의 포인터 1. 포인터의 포인터 02 포인터 배열 1. 정수형 포인터 배열(int* p[ ]) 2. 문자형 포인터 배열(char* p[ ]) 3. 문자형 포인터 다차원 배열(char* p[ ][ ]) 03 함수 포인터 1. 함수 포인터 04 함수 포인터 배열 1. 함수 포인터 배열의 선언 연습문제 Chapter 14 생각하는 프로그램, 알고리즘 01 재귀 호출 1. 재귀 호출 02 선택 정렬 1. 선택 정렬 2. 첫 번째 값 구하기 3. 두 번째 값 구하기 4. 세 번째 값 구하기 5. 네 번째 값 구하기 [비법전수] 버블 정렬(bubble sort) 03 단일 링크드 리스트 1. 링크드 리스트 2. 링크드 리스트 구조체 선언 3. 첫 번째 노드 생성 4. 두 번째 노드 생성 5. 세 번째 노드 생성 6. 각 노드의 data값 출력 7. 노드의 순회 8. 메모리의 해제 04 이중 링크드 리스트 1. 이중 링크드 리스트 2. 이중 링크드 리스트 구조체 선언 3. 첫 번째 노드 생성 4. 두 번째 노드 생성 5. 세 번째 노드 생성 6. 노드의 순회 7. 노드의 추가 8. 노드의 삭제 9. 메모리의 해제 [비법전수] 배열을 이용한 단일 링크드 리스트 05 트리 1. 트리 2. 트리의 구조체 선언 3. 루트 노드의 생성 4. 단순한 노드의 추가 5. 재귀 호출을 사용한 노드의 추가 6. 재귀 호출을 사용한 노드의 검색 연습문제 Chapter 15 100개의 예제로 마무리하는 C 프로그래밍 01 홀수/짝수 판단하기 02 1~100 범위의 7의 배수 더하기 03 역삼각형 출력하기 04 마름모 출력하기 05 19단 출력하기 06 달팽이 우물 탈출하기 07 정수를 입력 받아 합계 구하기 08 주어진 범위의 난수 발생시키기 09 입력된 값에 따라 학점 출력하기 10 10개의 값을 배열에 입력 받아 합계 구하기 11 문자열 복사 함수 만들기 12 문자열 비교 함수 만들기 13 문자열 연결 함수 만들기 14 문자 검색 함수 만들기 15 문자 채움 함수 만들기 16 문자열 뒤집는 함수 만들기 17 문자열을 대문자로 변환하는 함수 만들기 18 문자열을 소문자로 변환하는 함수 만들기 19 문자열 왼쪽 공백 제거 함수 만들기 20 문자열 오른쪽 공백 제거 함수 만들기 21 문자열을 숫자로 변환하기 22 2진/16진 문자열을 숫자로 변환하기 23 숫자를 2/10/16진 문자열로 변환하기 24 문자열에서 숫자만 추출하기 25 문자열에서 특정 문자 변경하기 26 문자열의 두 수 연산하기 27 문자열에서 파일 경로/이름 추출하기 28 문자열에서 특정 문자열을 변환하기 29 문자열에서 특정 문자를 제거하기 30 문자열을 특정 위치에 삽입하기 31 문자열을 좌우에서 추출하기 32 이메일 주소에서 한글 제거하기 33 이메일 주소를 세미콜론으로 분리하기 34 전화번호에서 숫자만 추출하기 35 명령어를 토큰별로 추출하기 36 문자열을 회전하여 출력하기 37 문자열에 저장된 시간을 읽어오기 1 38 문자열에 저장된 시간을 읽어오기 2 39 문자열로 저장된 시간의 차이 구하기 40 출력되는 문자열을 버퍼에 저장하기 41 메모리 복사하기 42 메모리 비교하기 43 메모리 이동하기 44 메모리를 특정 값으로 채우기 45 메모리 복사 함수 만들기 46 메모리 비교 함수 만들기 47 메모리 할당 1 - 정수형 48 메모리 할당 2 - 정수 배열 49 메모리 할당 3 - 문자 배열 50 메모리 할당 4 - 정수형 2차원 배열 51 파일에 문자 출력하기 52 파일에서 한 문자씩 읽기 53 파일에 문자열 출력하기 54 파일에서 문자열 읽기 55 파일에 변수값 쓰기 56 파일에서 변수값 읽기 57 파일에 구조체 쓰기 58 파일에서 구조체 읽기 59 파일 복사하기 60 파일 및 폴더 삭제하기 61 현재 날짜 및 시간 구하기 62 각 달의 마지막 날짜 구하기 63 D-Day 구하기 64 출생일로부터 경과된 날짜 수 구하기 65 날짜 및 시간 연산하기 66 날짜 및 시간 출력하기 67 90일이 지난 로그 파일 삭제하기 68 난수 발생기 69 난수 알고리즘 구현 70 난수를 이용한 카드 섞기 71 삼각함수 72 시계 만들기 73 수학 관련 표준 함수 74 매크로 함수 1 75 매크로 함수 2 76 매크로 함수 3 77 퀵 소트(quick sort) 알고리즘 78 이진(binary) 검색 79 스택(Stack) 80 큐(Queue) 81 단일 링크드 리스트 82 이중 링크드 리스트 83 전화번호부 입력 프로그램 84 전화번호부 출력 프로그램 85 전화번호부 검색 프로그램 86 전화번호부 수정 프로그램 87 전화번호부 삭제 프로그램 88 전화번호부 관리 프로그램 89 공 튀기기 90 사인 곡선 그리기 91 오목 게임 92 테트리스 게임 93 네트워크 기본 94 FTP 서버에 접속하기 95 TCP/IP 서버 프로그램 96 TCP/IP 클라이언트 프로그램 97 TCP/IP 에코 서버 98 TCP/IP 정수값 수신 서버 99 TCP/IP 정수값 송신 클라이언트 100 네트워크 테트리스 게임 |
|
어린 왕자를 처음 만난 것은 아마도 20년 전쯤인 것 같습니다.
“처음에는 나에게서 조금 떨어진 풀밭에 이렇게 앉아 있는 거야.. 그러면 나는 너를 곁눈질로 힐끔 힐끔 볼테니까.. 너는 아무 말도 하지 마.. 말이란 때때로 오해의 원인이 될 수 있거든.. 하루 하루가 지나는 동안에.. 너는 점점 가까운 곳으로 와 앉게 되는 거야.. 나 드디어 너의 옆에 오게 됐어.. 너에게 길들여졌고.. 행복해.. 날 길들인 게 너라는 게.. 얼마나 다행인지 몰라.. 서로에게 이 세상에.. 단 하나뿐인 존재.. 나에게 네가.. 너에게 내가.. 그런 사람이길 바래.. 세상에 단 하나뿐인 그런 책..” - 어린 왕자 중에서 - 이 책은 C 언어를 처음 배우는 독자들을 위해 길라잡이 형식으로 구성되어 있습니다. 이 책을 집필하면서 가장 고민을 많이 한 것은 “지금까지 내가 경험했던 것을 어떻게 책으로 표현할까?”였습니다. 지난 20년간 실무에서 프로그래밍을 하면서 느껴왔던 수많은 생각과 지식들, 엘피에이캠퍼스에서 프로그래밍 전문가 과정의 전임 강사로 근무하면서 새롭게 알게 된 C 언어의 깊은 맛을 그대로 이 책에 녹이고자 노력했습니다. 그리고 2004년 출판된 “C 언어 300제”와 2005년 출판된 “윈도우 프로그래밍 플러스”에 이은 세 번째 책이기 때문에 좀 더 나은 책을 만들고 싶었습니다. 이 책은 다른 C 언어 책에서는 느낄 수 없는 향기가 있습니다. 책이란 무엇입니까? 책은 지식의 전달과 아울러 한 사람의 인생 경험이 그대로 묻어나야 한다고 봅니다. 그저 남이 써 놓은 책을 짜집기하여 문법적으로 완벽한 책을 만들기 보다는 오직 그 사람만이 갖고 있는 특유의 향기를 책에 풀풀 풍겨야 하지 않을까요? 처음 프로그래밍을 입문할 때 가장 어려움을 겪는 것은 궁금한 것을 물어볼만한 사람이 주위에 없다는 것입니다. 이에 필자는 네이버 카페(http://cafe.naver.com/pplus)에서 이 책과 관련된 궁금한 사항 및 응용 프로그래밍 전반에 관한 사항을 직접 물어볼 수 있도록 배려했습니다. --- 저자의 말 |
|
Chapter 1 초보자도 쉽게 시작하는 C 프로그래밍
Chapter 2 C 프로그램의 첫걸음, 구성 요소 Chapter 3 기본기를 알면 C가 보인다. 변수와 상수 Chapter 4 입력과 출력의 기본, scanf()와 printf() 함수 Chapter 5 연산자 Chapter 6 반복문 Chapter 7 제어문 Chapter 8 함수 Chapter 9 배열 Chapter 10 포인터 Chapter 11 문자와 문자열 Chapter 12 구조체 Chapter 13 포인터 고급 Chapter 14 생각하는 프로그램, 알고리즘 Chapter 15 100개의 예제로 마무리하는 C 프로그래밍 |