Programming - cpueblo.com

The C Programming Language Ritchie & Kernighan (영문)


글쓴이 : 유광희 날짜 : 2006-12-05 (화) 14:48 조회 : 13256
Preface        6
Preface to the first edition        8
Chapter 1 - A Tutorial Introduction        9
1.1 Getting Started        9
1.2 Variables and Arithmetic Expressions        11
1.3 The for statement        16
1.4 Symbolic Constants        17
1.5 Character Input and Output        18
1.5.1 File Copying        18
1.5.2 Character Counting        20
1.5.3 Line Counting        21
1.5.4 Word Counting        22
1.6 Arrays        23
1.7 Functions        25
1.8 Arguments - Call by Value        28
1.9 Character Arrays        29
1.10 External Variables and Scope        31
Chapter 2 - Types, Operators and Expressions        35
2.1 Variable Names        35
2.2 Data Types and Sizes        35
2.3 Constants        36
2.4 Declarations        39
2.5 Arithmetic Operators        40
2.6 Relational and Logical Operators        40
2.7 Type Conversions        41
2.8 Increment and Decrement Operators        44
2.9 Bitwise Operators        46
2.10 Assignment Operators and Expressions        47
2.11 Conditional Expressions        49
2.12 Precedence and Order of Evaluation        49
Chapter 3 - Control Flow        52
3.1 Statements and Blocks        52
3.2 If-Else        52
3.3 Else-If        53
3.4 Switch        54
3.5 Loops - While and For        56
3.6 Loops - Do-While        58
3.7 Break and Continue        59
3.8 Goto and labels        60
Chapter 4 - Functions and Program Structure        62
4.1 Basics of Functions        62
4.2 Functions Returning Non-integers        65
4.3 External Variables        67
4.4 Scope Rules        72
4.5 Header Files        73
4.6 Static Variables        75
4.7 Register Variables        75
4.8 Block Structure        76
4.9 Initialization        76
4.10 Recursion        78
4.11 The C Preprocessor        79
4.11.1 File Inclusion        79
4.11.2 Macro Substitution        80
4.11.3 Conditional Inclusion        82
Chapter 5 - Pointers and Arrays        83
5.1 Pointers and Addresses        83
5.2 Pointers and Function Arguments        84
5.3 Pointers and Arrays        87
5.4 Address Arithmetic        90
5.5 Character Pointers and Functions        93
5.6 Pointer Arrays; Pointers to Pointers        96
5.7 Multi-dimensional Arrays        99
5.8 Initialization of Pointer Arrays        101
5.9 Pointers vs. Multi-dimensional Arrays        101
5.10 Command-line Arguments        102
5.11 Pointers to Functions        106
5.12 Complicated Declarations        108
Chapter 6 - Structures        112
6.1 Basics of Structures        112
6.2 Structures and Functions        112
6.3 Arrays of Structures        112
6.4 Pointers to Structures        112
6.5 Self-referential Structures        112
6.6 Table Lookup        112
6.7 Typedef        112
6.8 Unions        112
6.9 Bit-fields        112
Chapter 7 - Input and Output        112
7.1 Standard Input and Output        112
7.2 Formatted Output - printf        112
7.3 Variable-length Argument Lists        112
7.4 Formatted Input - Scanf        112
7.5 File Access        112
7.6 Error Handling - Stderr and Exit        112
7.7 Line Input and Output        112
7.8 Miscellaneous Functions        112
7.8.1 String Operations        112
7.8.2 Character Class Testing and Conversion        112
7.8.3 Ungetc        112
7.8.4 Command Execution        112
7.8.5 Storage Management        112
7.8.6 Mathematical Functions        112
7.8.7 Random Number generation        112
Chapter 8 - The UNIX System Interface        112
8.1 File Descriptors        112
8.2 Low Level I/O - Read and Write        112
8.3 Open, Creat, Close, Unlink        112
8.4 Random Access - Lseek        112
8.5 Example - An implementation of Fopen and Getc        112
8.6 Example - Listing Directories        112
8.7 Example - A Storage Allocator        112
Appendix A - Reference Manual        112
A.1 Introduction        112
A.2 Lexical Conventions        112
A.2.1 Tokens        112
A.2.2 Comments        112
A.2.3 Identifiers        112
A.2.4 Keywords        112
A.2.5 Constants        112
A.2.6 String Literals        112
A.3 Syntax Notation        112
A.4 Meaning of Identifiers        112
A.4.1 Storage Class        112
A.4.2 Basic Types        112
A.4.3 Derived types        112
A.4.4 Type Qualifiers        112
A.5 Objects and Lvalues        112
A.6 Conversions        112
A.6.1 Integral Promotion        112
A.6.2 Integral Conversions        112
A.6.3 Integer and Floating        112
A.6.4 Floating Types        112
A.6.5 Arithmetic Conversions        112
A.6.6 Pointers and Integers        112
A.6.7 Void        112
A.6.8 Pointers to Void        112
A.7 Expressions        112
A.7.1 Pointer Conversion        112
A.7.2 Primary Expressions        112
A.7.3 Postfix Expressions        112
A.7.4 Unary Operators        112
A.7.5 Casts        112
A.7.6 Multiplicative Operators        112
A.7.7 Additive Operators        112
A.7.8 Shift Operators        112
A.7.9 Relational Operators        112
A.7.10 Equality Operators        112
A.7.11 Bitwise AND Operator        112
A.7.12 Bitwise Exclusive OR Operator        112
A.7.13 Bitwise Inclusive OR Operator        112
A.7.14 Logical AND Operator        112
A.7.15 Logical OR Operator        112
A.7.16 Conditional Operator        112
A.7.17 Assignment Expressions        112
A.7.18 Comma Operator        112
A.7.19 Constant Expressions        112
A.8 Declarations        112
A.8.1 Storage Class Specifiers        112
A.8.2 Type Specifiers        112
A.8.3 Structure and Union Declarations        112
A.8.4 Enumerations        112
A.8.5 Declarators        112
A.8.6 Meaning of Declarators        112
A.8.7 Initialization        112
A.8.8 Type names        112
A.8.9 Typedef        112
A.8.10 Type Equivalence        112
A.9 Statements        112
A.9.1 Labeled Statements        112
A.9.2 Expression Statement        112
A.9.3 Compound Statement        112
A.9.4 Selection Statements        112
A.9.5 Iteration Statements        112
A.9.6 Jump statements        112
A.10 External Declarations        112
A.10.1 Function Definitions        112
A.10.2 External Declarations        112
A.11 Scope and Linkage        112
A.11.1 Lexical Scope        112
A.11.2 Linkage        112
A.12 Preprocessing        112
A.12.1 Trigraph Sequences        112
A.12.2 Line Splicing        112
A.12.3 Macro Definition and Expansion        112
A.12.4 File Inclusion        112
A.12.5 Conditional Compilation        112
A.12.6 Line Control        112
A.12.7 Error Generation        112
A.12.8 Pragmas        112
A.12.9 Null directive        112
A.12.10 Predefined names        112
A.13 Grammar        112
Appendix B - Standard Library        112
B.1 Input and Output: <stdio.h>        112
B.1.1 File Operations        112
B.1.2 Formatted Output        112
B.1.3 Formatted Input        112
B.1.4 Character Input and Output Functions        112
B.1.5 Direct Input and Output Functions        112
B.1.6 File Positioning Functions        112
B.1.7 Error Functions        112
B.2 Character Class Tests: <ctype.h>        112
B.3 String Functions: <string.h>        112
B.4 Mathematical Functions: <math.h>        112
B.5 Utility Functions: <stdlib.h>        112
B.6 Diagnostics: <assert.h>        112
B.7 Variable Argument Lists: <stdarg.h>        112
B.8 Non-local Jumps: <setjmp.h>        112
B.9 Signals: <signal.h>        112
B.10 Date and Time Functions: <time.h>        112
B.11 Implementation-defined Limits: <limits.h> and <float.h>        112
Appendix C - Summary of Changes        112

Downloads

  • The_C_Programming_Language_Ritchie_&_Kernighan.doc

  •