首页 > > > The C Programming Language(2nd Edition).pdf

The C Programming Language(2nd Edition).pdf

The C Programming Language(2nd …

上传者: wangyg.personal 2011-05-09 评分1 评论0 下载26 收藏10 阅读量960 暂无简介 简介 举报

简介:本文档为《The C Programming Language(2nd Edition)pdf》,可适用于IT书籍领域,主题内容包含PrefacePrefacetothefirsteditionChapterATutorialIntroductionGettingStartedV符等。

1 2 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.........................

编辑推荐

  • 名称/格式
  • 评分
  • 下载次数
  • 资料大小
  • 上传时间

用户评论

0/200
    暂无评论
上传我的资料

相关资料

资料评价:

/ 238
所需积分:2 立即下载
返回
顶部
举报
资料
关闭

温馨提示

感谢您对爱问共享资料的支持,精彩活动将尽快为您呈现,敬请期待!