본문 바로가기
Computer Science/C 언어

[C 0] C Programming: A Modern Approach (2nd Edition) 목차

by rnasterofmysea 2024. 11. 27.
반응형

https://www.amazon.com/C-Programming-Modern-Approach-2nd/dp/0393979504

Chapter 1: Introduction / 소개

1.1. What is a Program? / 프로그램이란 무엇인가?
1.2. Programming Languages / 프로그래밍 언어
1.3. The Compilation Process / 컴파일 과정
1.4. The C Programming Language / C 언어 소개
1.5. Historical Development of C / C 언어의 역사
1.6. Writing and Running Your First Program / 첫 프로그램 작성 및 실행


Chapter 2: C Fundamentals / C 기초

2.1. Variables and Constants / 변수와 상수
2.2. Data Types in C / C의 데이터 타입
2.3. Declaring and Initializing Variables / 변수 선언 및 초기화
2.4. Arithmetic Operations / 산술 연산
2.5. Basic Input/Output: printf and scanf / 기본 입출력: printf와 scanf
2.6. Comments and Coding Style / 주석과 코딩 스타일


Chapter 3: Formatted Input/Output / 서식 있는 입출력

3.1. Format Specifiers / 서식 지정자
3.2. Printing Integers and Floating-Point Numbers / 정수 및 실수 출력
3.3. Reading Data Using scanf / scanf를 사용한 데이터 입력
3.4. Field Width and Precision / 필드 너비와 소수점 자리수
3.5. Common Pitfalls in Formatted I/O / 서식 지정 입출력의 일반적인 문제


Chapter 4: Expressions / 표현식

4.1. Arithmetic Expressions / 산술 표현식
4.2. Relational and Logical Expressions / 관계 및 논리 표현식
4.3. Type Conversion in Expressions / 표현식에서의 타입 변환
4.4. Precedence and Associativity of Operators / 연산자의 우선순위와 결합 규칙


Chapter 5: Selection Statements / 선택문

5.1. The if Statement / if 문
5.2. The if-else Statement / if-else 문
5.3. Nested if Statements / 중첩 if 문
5.4. The switch Statement / switch 문
5.5. The Conditional Operator (?:) / 조건 연산자 (?:)


Chapter 6: Loops / 반복문

6.1. The while Loop / while 반복문
6.2. The for Loop / for 반복문
6.3. The do-while Loop / do-while 반복문
6.4. Nested Loops / 중첩 반복문
6.5. Using break and continue / break와 continue의 사용


Chapter 7: Basic Types / 기본 타입

7.1. Integer Types / 정수형
7.2. Floating-Point Types / 실수형
7.3. The char Type / 문자형 (char)
7.4. Type Limits and Ranges / 타입의 한계값과 범위
7.5. Enumerated Types / 열거형


Chapter 8: Arrays / 배열

8.1. Declaring and Initializing Arrays / 배열 선언 및 초기화
8.2. Accessing Array Elements / 배열 요소 접근
8.3. Multidimensional Arrays / 다차원 배열
8.4. Common Operations on Arrays / 배열에서의 일반적 연산
8.5. Arrays as Function Arguments / 함수 인자로 배열 사용


Chapter 9: Pointers / 포인터

9.1. Understanding Pointers / 포인터 이해하기
9.2. Pointer Arithmetic / 포인터 연산
9.3. Pointers and Arrays / 포인터와 배열
9.4. Null Pointers and Dangling Pointers / 널 포인터와 댕글링 포인터
9.5. Functions and Pointers / 함수와 포인터


Chapter 10: Strings / 문자열

10.1. Declaring and Initializing Strings / 문자열 선언 및 초기화
10.2. Reading and Writing Strings / 문자열 입력 및 출력
10.3. String Manipulation Functions / 문자열 조작 함수
10.4. Strings and Pointers / 문자열과 포인터


Chapter 11: Structs, Unions, and Enums / 구조체, 공용체, 열거형

11.1. Defining and Using Structures / 구조체 정의 및 사용
11.2. Nested Structures / 중첩 구조체
11.3. Unions: Sharing Memory / 공용체: 메모리 공유
11.4. Enumerated Types / 열거형
11.5. Structures as Function Arguments / 함수 인자로 구조체 사용


Chapter 12: File Input/Output / 파일 입출력

12.1. File Streams and FILE Pointers / 파일 스트림과 FILE 포인터
12.2. Opening and Closing Files / 파일 열기 및 닫기
12.3. Reading and Writing Files / 파일 읽기 및 쓰기
12.4. Random File Access / 파일의 임의 접근
12.5. Error Handling in File I/O / 파일 입출력의 에러 처리


Chapter 13: Generic Programming / 제네릭 프로그래밍

13.1. Understanding Generic Programming / 제네릭 프로그래밍 이해
13.2. Macros and Inline Functions / 매크로와 인라인 함수
13.3. Using void Pointers / void 포인터 사용
13.4. Writing Type-Independent Code / 타입에 독립적인 코드 작성


Chapter 14: The Preprocessor / 전처리기

14.1. Preprocessor Directives / 전처리기 지시문
14.2. Macros and #define / 매크로와 #define
14.3. Conditional Compilation / 조건부 컴파일
14.4. The #include Directive / #include 지시문
14.5. The Preprocessor and Portability / 전처리기와 이식성


Chapter 15: Advanced Types / 고급 타입

15.1. Typedefs and Aliases / typedef와 별칭
15.2. Pointers to Pointers / 다중 포인터
15.3. Function Pointers / 함수 포인터
15.4. Arrays of Pointers / 포인터 배열
15.5. Complex Declarations / 복잡한 선언


Chapter 16: Pointers and Arrays / 포인터와 배열

16.1. Understanding Pointer-Array Equivalence / 포인터와 배열의 등가성
16.2. Multidimensional Arrays and Pointers / 다차원 배열과 포인터
16.3. Dynamic Arrays with Pointers / 포인터를 활용한 동적 배열
16.4. Passing Arrays to Functions / 함수로 배열 전달


Chapter 17: Dynamic Memory Allocation / 동적 메모리 할당

17.1. The Need for Dynamic Memory / 동적 메모리의 필요성
17.2. Allocating Memory: malloc and calloc / 메모리 할당: malloc과 calloc
17.3. Resizing Memory: realloc / 메모리 크기 조정: realloc
17.4. Freeing Memory: free / 메모리 해제
17.5. Common Pitfalls in Dynamic Memory Allocation / 동적 메모리 할당에서의 일반적인 실수


Chapter 18: Declaring and Calling Functions / 함수 선언과 호출

18.1. Function Declarations and Definitions / 함수 선언과 정의
18.2. Variable-Length Argument Lists / 가변 인자 리스트
18.3. Recursion and Function Calls / 재귀와 함수 호출
18.4. Inline Functions and Efficiency / 인라인 함수와 효율성


Chapter 19: Program Design / 프로그램 설계

19.1. Principles of Program Design / 프로그램 설계 원칙
19.2. Debugging Techniques / 디버깅 기법
19.3. Writing Maintainable Code / 유지보수 가능한 코드 작성
19.4. Modular Programming / 모듈화 프로그래밍

PART 1: Basic Features of C / C 언어의 기본 기능

  1. Introducing C / C 소개
    • The history, strengths, and weaknesses of C
      C 언어의 역사, 강점 및 약점
  2. C Fundamentals / C 기초
    • Writing a simple program, variables, constants, input/output
      간단한 프로그램 작성, 변수 선언, 입력 및 출력
  3. Formatted Input/Output / 서식화된 입출력
    • Usage of printf and scanf
      printf와 scanf의 사용법
  4. Expressions / 표현식
    • Operators, precedence, and expression evaluation
      연산자, 우선순위, 표현식 계산
  5. Selection Statements / 선택문
    • if, switch conditional statements
      if, switch 조건문
  6. Loops / 반복문
    • while, for, do-while loops
      while, for, do-while 루프
  7. Basic Types / 기본 데이터 타입
    • Integer, floating-point, and character types
      정수, 부동소수점, 문자형 데이터
  8. Arrays / 배열
    • One-dimensional and multi-dimensional arrays
      1차원, 다차원 배열
  9. Functions / 함수
    • Defining, calling, and recursive functions
      함수 정의, 호출, 재귀 함수
  10. Program Organization / 프로그램 구성
    • Local and global variables, program structure
      지역 변수, 전역 변수, 프로그램 구조화

PART 2: Advanced Features of C / C 언어의 고급 기능

  1. Pointers / 포인터
    • Basics of pointers and their applications
      포인터의 기본 개념 및 활용
  2. Pointers and Arrays / 포인터와 배열
    • Relationship between arrays and pointers, handling multi-dimensional arrays
      배열과 포인터의 관계 및 다차원 배열 처리
  3. Strings / 문자열
    • String data and standard string library functions
      문자열 데이터 및 문자열 관련 표준 라이브러리
  4. The Preprocessor / 전처리기
    • Macros and conditional compilation
      매크로 정의, 조건부 컴파일
  5. Writing Large Programs / 대규모 프로그램 작성
    • Multi-file structure, header files
      다중 파일 구조, 헤더 파일 작성법
  6. Structures, Unions, and Enumerations / 구조체, 공용체 및 열거형
    • User-defined data types
      사용자 정의 데이터 타입
  7. Advanced Uses of Pointers / 포인터의 고급 활용
    • Dynamic memory allocation, function pointers, linked lists
      동적 메모리 할당, 함수 포인터, 링크드 리스트
  8. Declarations / 선언문
    • Complex declarations, initialization, storage classes
      복잡한 선언문, 초기화, 저장 클래스
  9. Program Design / 프로그램 설계
    • Modular design and information hiding
      모듈화, 정보 은닉
  10. Low-Level Programming / 저수준 프로그래밍
    • Bitwise operators and memory access
      비트 연산자, 메모리 접근

PART 3: The Standard C Library / C 표준 라이브러리

  1. The Standard Library / 표준 라이브러리
    • Overview of the standard library
      표준 라이브러리 개요
  2. Input/Output / 입출력
    • File I/O and stream handling
      파일 입출력, 스트림 처리
  3. Library Support for Numbers and Character Data / 숫자와 문자 데이터 라이브러리 지원
    • Math functions, character-handling functions
      수학 함수, 문자 처리 함수
  4. Error Handling / 에러 처리
    • Error management and debugging tools
      에러 관리, 디버깅 도구
  5. International Features / 국제화 기능
    • Unicode and multilingual support
      유니코드, 다국어 처리
  6. Miscellaneous Library Functions / 기타 라이브러리 함수
    • Various utility functions
      다양한 유틸리티 함수

PART 4: Reference / 참고 자료

  • Appendices / 부록
    • A. C Operators / C 연산자 우선순위
    • B. C99 versus C89 / C99와 C89의 차이점
    • C. C89 versus K&R C / C89와 K&R C의 차이점
    • D. Standard Library Functions / 표준 라이브러리 함수 목록
    • E. ASCII Character Set / ASCII 문자표
  • Bibliography / 참고 문헌
  • Index / 색인
반응형