没有合适的资源?快使用搜索试试~ 我知道了~
经典著作The C Programming Language (2nd Edition)清晰版
需积分: 10 17 下载量 35 浏览量
2009-02-17
15:34:36
上传
评论
收藏 1.18MB PDF 举报
温馨提示
试读
238页
大师的经典之作,被称作是C语言中最经典的教材,绝对的好东西。
资源推荐
资源详情
资源评论
2
Content
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
3
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............................................................................................................. 114
6.1 Basics of Structures...................................................................................................... 114
6.2 Structures and Functions..............................................................................................116
6.3 Arrays of Structures .....................................................................................................118
6.4 Pointers to Structures ................................................................................................... 122
6.5 Self-referential Structures ............................................................................................124
6.6 Table Lookup ............................................................................................................... 127
6.7 Typedef......................................................................................................................... 129
6.8 Unions ..........................................................................................................................131
6.9 Bit-fields....................................................................................................................... 132
Chapter 7 - Input and Output.................................................................................................. 135
7.1 Standard Input and Output ........................................................................................... 135
7.2 Formatted Output - printf.............................................................................................137
7.3 Variable-length Argument Lists................................................................................... 138
7.4 Formatted Input - Scanf................................................................................................ 140
7.5 File Access ................................................................................................................... 142
7.6 Error Handling - Stderr and Exit.................................................................................. 145
7.7 Line Input and Output .................................................................................................. 146
7.8 Miscellaneous Functions..............................................................................................147
7.8.1 String Operations................................................................................................... 147
7.8.2 Character Class Testing and Conversion ..............................................................148
7.8.3 Ungetc ................................................................................................................... 148
7.8.4 Command Execution.............................................................................................148
7.8.5 Storage Management............................................................................................. 148
7.8.6 Mathematical Functions........................................................................................149
7.8.7 Random Number generation ................................................................................. 149
Chapter 8 - The UNIX System Interface................................................................................ 151
8.1 File Descriptors ............................................................................................................ 151
8.2 Low Level I/O - Read and Write.................................................................................. 152
8.3 Open, Creat, Close, Unlink .......................................................................................... 153
8.4 Random Access - Lseek...............................................................................................155
8.5 Example - An implementation of Fopen and Getc....................................................... 156
8.6 Example - Listing Directories ...................................................................................... 159
8.7 Example - A Storage Allocator....................................................................................163
Appendix A - Reference Manual ...........................................................................................168
A.1 Introduction ................................................................................................................. 168
4
A.2 Lexical Conventions.................................................................................................... 168
A.2.1 Tokens .................................................................................................................. 168
A.2.2 Comments.............................................................................................................168
A.2.3 Identifiers.............................................................................................................. 168
A.2.4 Keywords.............................................................................................................. 169
A.2.5 Constants .............................................................................................................. 169
A.2.6 String Literals.......................................................................................................171
A.3 Syntax Notation...........................................................................................................171
A.4 Meaning of Identifiers................................................................................................. 171
A.4.1 Storage Class........................................................................................................171
A.4.2 Basic Types .......................................................................................................... 172
A.4.3 Derived types........................................................................................................ 173
A.4.4 Type Qualifiers..................................................................................................... 173
A.5 Objects and Lvalues .................................................................................................... 173
A.6 Conversions.................................................................................................................173
A.6.1 Integral Promotion................................................................................................ 174
A.6.2 Integral Conversions............................................................................................. 174
A.6.3 Integer and Floating.............................................................................................. 174
A.6.4 Floating Types......................................................................................................174
A.6.5 Arithmetic Conversions........................................................................................ 174
A.6.6 Pointers and Integers ............................................................................................ 175
A.6.7 Void......................................................................................................................176
A.6.8 Pointers to Void.................................................................................................... 176
A.7 Expressions.................................................................................................................. 176
A.7.1 Pointer Conversion...............................................................................................177
A.7.2 Primary Expressions............................................................................................. 177
A.7.3 Postfix Expressions ..............................................................................................177
A.7.4 Unary Operators ................................................................................................... 179
A.7.5 Casts .....................................................................................................................181
A.7.6 Multiplicative Operators....................................................................................... 181
A.7.7 Additive Operators ............................................................................................... 182
A.7.8 Shift Operators .....................................................................................................182
A.7.9 Relational Operators............................................................................................. 183
A.7.10 Equality Operators.............................................................................................. 183
A.7.11 Bitwise AND Operator....................................................................................... 183
A.7.12 Bitwise Exclusive OR Operator ......................................................................... 184
A.7.13 Bitwise Inclusive OR Operator .......................................................................... 184
A.7.14 Logical AND Operator....................................................................................... 184
A.7.15 Logical OR Operator.......................................................................................... 184
A.7.16 Conditional Operator.......................................................................................... 184
A.7.17 Assignment Expressions..................................................................................... 185
A.7.18 Comma Operator................................................................................................185
A.7.19 Constant Expressions ......................................................................................... 186
A.8 Declarations................................................................................................................. 186
A.8.1 Storage Class Specifiers.......................................................................................187
A.8.2 Type Specifiers..................................................................................................... 188
A.8.3 Structure and Union Declarations ........................................................................ 188
A.8.4 Enumerations........................................................................................................ 191
A.8.5 Declarators............................................................................................................ 192
A.8.6 Meaning of Declarators........................................................................................ 193
A.8.7 Initialization.......................................................................................................... 196
A.8.8 Type names........................................................................................................... 198
5
A.8.9 Typedef................................................................................................................. 199
A.8.10 Type Equivalence............................................................................................... 199
A.9 Statements ................................................................................................................... 199
A.9.1 Labeled Statements............................................................................................... 200
A.9.2 Expression Statement ........................................................................................... 200
A.9.3 Compound Statement ........................................................................................... 200
A.9.4 Selection Statements............................................................................................. 201
A.9.5 Iteration Statements.............................................................................................. 201
A.9.6 Jump statements ................................................................................................... 202
A.10 External Declarations ................................................................................................ 203
A.10.1 Function Definitions........................................................................................... 203
A.10.2 External Declarations ......................................................................................... 204
A.11 Scope and Linkage .................................................................................................... 205
A.11.1 Lexical Scope ..................................................................................................... 205
A.11.2 Linkage............................................................................................................... 206
A.12 Preprocessing............................................................................................................. 206
A.12.1 Trigraph Sequences............................................................................................207
A.12.2 Line Splicing ......................................................................................................207
A.12.3 Macro Definition and Expansion .......................................................................207
A.12.4 File Inclusion......................................................................................................209
A.12.5 Conditional Compilation....................................................................................210
A.12.6 Line Control ....................................................................................................... 211
A.12.7 Error Generation................................................................................................. 211
A.12.8 Pragmas .............................................................................................................. 212
A.12.9 Null directive...................................................................................................... 212
A.12.10 Predefined names .............................................................................................212
A.13 Grammar.................................................................................................................... 212
Appendix B - Standard Library.............................................................................................. 220
B.1 Input and Output: <stdio.h> ........................................................................................220
B.1.1 File Operations ..................................................................................................... 220
B.1.2 Formatted Output..................................................................................................222
B.1.3 Formatted Input ....................................................................................................223
B.1.4 Character Input and Output Functions.................................................................. 225
B.1.5 Direct Input and Output Functions.......................................................................225
B.1.6 File Positioning Functions....................................................................................226
B.1.7 Error Functions.....................................................................................................226
B.2 Character Class Tests: <ctype.h> ................................................................................226
B.3 String Functions: <string.h>........................................................................................ 227
B.4 Mathematical Functions: <math.h>............................................................................. 228
B.5 Utility Functions: <stdlib.h> .......................................................................................229
B.6 Diagnostics: <assert.h>................................................................................................ 231
B.7 Variable Argument Lists: <stdarg.h>.......................................................................... 231
B.8 Non-local Jumps: <setjmp.h>...................................................................................... 232
B.9 Signals: <signal.h> ......................................................................................................232
B.10 Date and Time Functions: <time.h>.......................................................................... 233
B.11Implementation-definedLimits:<limits.h>and<float.h>
............................................................................................................................................ 234
Appendix C - Summary of Changes ......................................................................................236
剩余237页未读,继续阅读
资源评论
jack_wq
- 粉丝: 3
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- IMG_20240425_190941.jpg
- 基于stm32的pid控制算法附带串口控制台
- 实验项目一:线性表(模板 ).docx
- 基于LM317A设计交流220V输入可调5V-12V直流输出稳压电源电路multisim10仿真源文件.zip
- Screenshot_2024-04-25-17-04-18-55_2332cb9b27b851b548ba47a91682926c.jpg
- -基于AVR单片机的LNG加液机控制器设计.pdf
- ThePowerOfNow-EckhartTolle.mobi
- BLOCK_TYPE_HEARTBEAT_D70A3465D4EE4E9_046141_dump_1st.dmp
- 项目方法测试调用接口工具
- studyupdate
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功