난 정말 C PROGRAMMING을 공부한 적이 없다구요!
2018. 2. 25. 17:29
C에 대한 전체적인 내용을 공부할 수 있는 입문서. 특히 메모리구조와 할당방식에 대해 자세히 다룬 것이 좋았다.
아쉬운점이라면 가끔 너무 친절해서 학생이 뭔가 생각해보기도전에 떠먹여주는 느낌이다. 연습문제는 좀 더 많았으면 좋겠지만 내용은 적당한 것 같다.
PART 01 개발환경과 자료형 그리고 연산자 제1장 C언어의 기본적인 이해와 개발환경 1-1. C 프로그래밍의 이해 1-2. C 프로그램 개발환경의 이해 제2장 Dev C++와 C99 2-1. C99 2-2. Dev C++ 제3장 프로그램의 기본 구성과 printf 함수의 이해 3-1. 프로그램의 기본 구성과 printf 함수의 기능 관찰하기 3-2. 이스케이프 시퀀스와 트라이그래프 시퀀스 3-3. printf 함수가 지니는 문자열 구성 능력 3-4. 서식문자, 변수 그리고 연산자에 대한 기본적인 이해 3-5. 들여쓰기와 컴파일의 대상에서 제외되는 주석! 3-6. Dev C++의 자동생성 코드 제4장 데이터 표현방식의 이해 4-1. 진수와 진수변환 4-2. 데이터 표현의 단위(비트, 바이트, 워드) 4-3. 정수의 표현방식 4-4. 실수의 표현방식 4-5. 정수와 실수의 표현방식, 그리고 변수와의 관계 제5장 자료형(Data Type)과 변수 그리고 상수의 표현 5-1. C언어의 기본 자료형(Data Type):정수형 5-2. C언어의 기본 자료형(Data Type):실수형 5-3. 적절한 자료형의 선택 기준: 정수 자료형 기준 5-4. 적절한 자료형의 선택 기준: 실수 자료형 기준 5-5. 변수의 선언방식과 조건 5-6. 변수의 상대적인 개념 상수! 5-7. 접미사에 따른 상수의 자료형 5-8. 상수의 표현에 대한 정확한 이해 제6장 C언어의 기본 연산자 6-1. 산술 연산자를 통해서 보는 연산의 원리 6-2. 연산자들의 우선순위와 결합방향 6-3. 다양한 연산자들의 소개 6-4. 자료형 변환 연산자, sizeof 연산자 6-5. 연산의 결과가 남기는 것은? 6-6. 자동으로 자료형이 변환되는 경우 제7장 함수의 이해와 디자인 7-1. 함수란 무엇인가? 7-2. 함수를 구성하는 요소에 대한 이해 7-3. 함수의 호출 7-4. 다양한 함수를 만들어보자. 7-5. 함수의 정의와 그에 따른 원형의 선언 7-6. 함수와 관련해서 이런 내용들이 궁금하다! 제8장 실력 다지기 연습문제 01 PART 02 흐름의 컨트롤과 데이터의 표현 제9장 키보드 입력에 사용되는 scanf 함수의 이해 9-1. scanf 함수를 이용한 정수와 실수의 입력 9-2. scanf 함수의 첫 번째 문자령이 의미하는 것! 제10장 실행흐름의 컨트롤 1편! 분기(Branch) 10-1. if 그리고 else 10-2. if~else의 중첩을 대신할 수 있는 switch 10-3. 원하는 곳으로 보내주마 goto! 제11장 실행흐름의 컨트롤 2편! 반복(Loop) 11-1. 스코프(Scope)에 대한 첫 소개 11-2. while문에 의한 문장의 반복 11-3. do~while문에 의한 문장의 반복 11-4. for문에 의한 문장의 반복 11-5. 반복문의 중첩(Nested Loop) 제12장 문자의 표현 방법과 문자 관련 표준함수들 12-1. 컴퓨터는 문자를 표현할 줄 안다. 그러나 CPU는 모른다. 12-2. 문자의 표현방법 12-3. 문자 관련 함수들 제13장 메모리 구조와 변수 13-1. 하드웨어 관점에서의 메모리 공간 13-2. 특성에 따라 나뉘어지는 메모리 공간! 13-3. 변수의 종류에 따른 특성과 할당 위치 제14장 printf 함수와 scanf 함수의 서식문자 완벽 정리! 14-1. printf 함수의 기본 서식문자 14-2. printf 함수의 서식문자 조합 14-3. scanf 함수의 기본 서식문자와 서식문자의 조합 제15장 비트 연산자와 그의 활용 15-1. 비트단위 연산자들의 종류와 기능 15-2. 비트 쉬프트(Shift) 연산자 15-3. 비트 연산자들의 활용 제16장 실력 다지기 연습문제 02 PART 03 배열의 이해와 활용 제17장 1차원 배열의 이해와 활용 17-1. 배열이라는 존재가 필요한 이유 17-2. 1차원 배열의 이해와 활용 17-3. 배열의 특성과 위험성 그리고 VLA(가변 길이 배열) 제18장 문자열의 이해와 표현 18-1. 이제 상수에 대해서 결론을 내립시다. 18-2. 1차원 char형 배열을 이용한 문자열의 표현 제19장 다차원 배열의 이해와 활용 19-1. 2차원 배열의 이해와 적용 19-2. 2차원 배열의 초기화 19-3. 2차원 배열과 1차원 배열의 관계 19-4. 2차원 배열에서의 arr[0], arr[1], arr[2]를 파헤치자! 19-5. 3차원 배열에 대한 소개 제20장 배열을 함수의 인자로 전달하기 20-1. 함수의 인자로 1차원 배열 전달하기 20-2. 함수의 인자로 다차원 배열 전달하기 제21장 실력 다지기 연습문제 03 PART 04 포인터의 이해와 활용 제22장 포인터의 개념적인 이해 22-1. 포인터는 메모리의 주소와 아주 깊은 관련이 있지요 22-2. 포인터 변수 선언하기 22-3. 포인터 형(Type)과 *연산자 22-4. 잘못된 포인터 사용의 예와 널(NULL) 포인터 22-5. & 연산을 통해 얻은 주소 값은 단순한 숫자가 아닙니다. 22-6. 문자열 배열과 문자열을 참조하는 포인터 제23장 포인터의 포인터와 포인터 배열 23-1. 포인터의 포인터 23-2. 포인터 배열 제24장 배열과 포인터 그리고 포인터 연산 24-1. 제한된 형태의 포인터 연산 24-2. 배열의 이름은 상수 형태의 포인터 24-3. 다차원 배열 이름의 포인터 형 제25장 함수 중심의 포인터 활용과 메모리의 동적 할당 25-1. Call-BY-Value vs. Call-By-Reference 25-2. 자료형에 이름을 부여하는 typedef 키워드 25-3. 메모리 공간의 동적 할당 제26장 메모리 컨트롤 함수와 한정자(Type Qualifiers) 26-1. 한정자(Type Qualifiers) 그리고 const 26-2. volatile 그리고 restrict 26-3. 메모리 컨트롤 함수 26-4. main 함수로의 문자열 전달 제27장 함수 포인터와 함수 포인터 기반의 표준 함수들 27-1. 함수 포인터(Function Pointer) 27-2. 버블 정렬(Bubble sort)의 이해와 함수 포인터 기반의 함수 정의 27-3. 함수 포인터를 인자로 요구하는 표준 함수들 제28장 실력 다지기 연습문제 04 PART 05 매크로와 파일 그리고 다양한 표준함수들 제29장 문자열 관련 표준 함수 29-1. gets 함수와 puts 함수, 그리고 버퍼(Buffer) 29-2. 문자열 컨트롤 함수들 29-3. 문자열의 정보를 파헤치는 함수들 29-4. printf와 scanf의 문자열 배열 버전(sprintf & sscanf) 제30장 매크로와 전처리기(Preprocessor) 30-1. 전처리기(선행처리기)와 매크로 30-2. 대표적인 선행처리 명령문 30-3. 조건부 컴파일(Conditional Compilation)을 위한 매크로 30-4. 매개변수의 결합과 문자열화 30-5. 그밖에 매크로 제31장 구조체(Structure Types) 31-1. 데이터를 하나로 묶을 수 있으면 좋겠다. 31-2. 첫 번째 구조체의 정의 31-3. 구조체 변수로 가능한 것과 불가능한 것 31-4. 구조체의 정의에 포함되는 typedef 선언과 구조체 배열 31-5. 구조체의 추가적인 특성과 메모리 관계 제32장 공용체 그리고 열거형 32-1. 공용체의 정의와 의미 32-2. 열거형(Enumerated Types)의 정의와 의미 32-3. 지금까지 설명하지 않은 구조체, 공용체, 열거형의 공통된 특성 제33장 파일 입출력 33-1. 파일과 스트림(Stream) 그리고 기본적인 파일의 입출력 33-2. 파일의 개방 모드(mode) 33-3. 기본적인 파일 입출력 함수들의 활용 33-4. 텍스트 데이터와 바이너리 데이터의 동시 입출력 33-5. 임의 접근을 위한 파일 위치 지시자의 이동 33-6. 표준 입력 및 출력 그리고 에러의 리다이렉션 33-7. 입력과 출력을 동시에 하기 위한 r+, w+, a+의 활용 제34장 재귀 함수와 다양한 표준 함수들 34-1. 재귀의 이해와 재귀 함수의 정의 34-2. 수학 관련 함수들 34-3. 시간과 날짜 관련 함수들 34-4. 가변인자 함수의 정의와 이해 제35장 파일의 분할과 헤더파일의 디자인 35-1. 파일의 분할 35-2. 둘 이상의 파일을 컴파일하는 방법과 static에 대한 고찰 35-3. 헤더파일의 디자인과 활용 제36장 실력 다지기 연습문제 05 36-1. 명함관리 프로그램 제작 01단계 : 데이터의 입력과 조회 36-2. 명함관리 프로그램 제작 01단계의 답안 36-3. 명함관리 프로그램 제작 02단계 : 파일의 분할 36-4. 명함관리 프로그램 제작 02단계의 답안 36-5. 명함관리 프로그램 제작 03단계 : 파일 입출력을 통한 데이터 유지 36-6. 명함관리 프로그램 제작 03단계의 답안 |
'프로그래밍 책 소감' 카테고리의 다른 글
헤드 퍼스트 디자인 패턴 (0) | 2018.05.28 |
---|---|
C++로 쉽게 풀어쓴 자료구조 (0) | 2018.03.17 |
윤성우의 열혈 자료구조 (0) | 2018.02.28 |
조엘 온 소프트웨어 (Joel on software) (0) | 2018.01.26 |
프로그래머의 길, 멘토에게 묻다 (Apprenticeship Patterns) (0) | 2018.01.26 |