C程序设计语言 第二版 英文版 pdf(非扫描版)

所需积分/C币:49 2015-06-27 11:10:42 2.35MB PDF
收藏 收藏
举报

The C Programming Language 2nd非扫描版,含封面封底
THE PROGRAMMING LANGUAGE Second edition Brian W. Kernighan Dennis M. Ritchie at&t Bell laboratories Murray Hill, New Jersey PRENTICE HALL, Englewood Cliffs, New Jersey 07632 Library of Congress Cataloging in-Publication Data Kernighan, Brian W. The c programming language Inc1 udes index。 1。c( Computer program1 anguage)I。 Ritchie Dennis m。 II。Tit1e QA76.73.c15K471988 005。1313 88-5934 ISBN C-13-110370-9 ISBN0-13-110362-8(pbk) Copyright o 1988, 1978 by Bell Telephone Laboratories, Incorporate All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopy. ing, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America. Published simultaneously in Canada UNIX is a registered trademark of at&t. This book was typeset picitblHeqnitroff -ms) in Times Roman and Courier by the 9th Edition of the UNIX operating system pesetter and the authors, using an Autologic APS-5 phototypesetter and a dEC vAX 8550 running Prentice Hall Software Series Brian Kernighan, Advisor Printed in the United States of America 10987 工SBN口-13-1103己-[PBK 工sBN囗-13-110370-号 Prentice-Hall International (UK) Limited, londo Prentice-Hall of Australia Pty. Limited, Sydney Prentice-Hall Canada Inc. Toronto Prentice-Hall Hispanoamericana, s.A., Mexico Prentice-Hall of India Private Limited New Delhi Prentice-Hall of Japan, Inc, Tokyo Simon schuster Asia Pte. Ltd, Singapore Editora prentice-Hall do brasil. Ltda, rio de janeiro Preface Preface to the first edition..………………8 Chapter 1-A Tutorial Introduction. 1.1 Getting Started 1.2 Variables and Arithmetic Expressions 3 The for statement 16 1.4 Symbolic Constants…………,…,…,…,…,…,…,…,……,…………………………,17 1.5 Character Input and Output…… 18 1.5.1 File copying… 18 1.52 Character Counting………… 20 1.5.3 Line counting.,,…………,,……………………21 1.54 Word Counting....,,,….…….………………………,2 1.6 Arrays..... 23 1.7 Functions 25 1.8Arguments-Cllbyalue.. 28 1.9 Character Arrays 29 1.10 External Variables and Scope 看·垂 31 Chapter2-Types,OperatorsandExpressions......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.........,…,,,…,…,…,,…4 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 Chapter3-Ca I flo 52 3. 1 Statements and blocks 番音番音看看 音 52 3.2 If-Else. ............................................................................................................................52 3.3Else-Ⅰf 垂垂D垂。垂 53 3. 4 Switch 54 3. 5 Loops-While and For 音看看 56 3.6 Loops-Do-While 垂D.·。音垂。垂·看看垂,音垂音,音D。。非。·非看·看垂垂垂垂音D··垂 …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 Rulcs 72 4.5 Header files 4.6 Static Variables ...........................................................................................................75 4.7 Register variables 垂非垂垂垂·垂垂牵 75 4.8 Block structurc 76 49 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 Chapter5- Pointers and arrays……………………,…,,……,………………83 5.1 Pointers and ddresses 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 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 番垂。垂看4垂非垂。音 番·.垂垂·看看垂 114 6.2 Structures and functions 116 6.3 Arrays of Structures 118 6. 4 Pointers to structures 垂·垂·看。音;4, 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 ··.···· 38 7.4 Formatted Input- Scanf. 140 7.5 Filc access∴ ····· 142 76 Error Handling-Stderr and Exit……………………… 145 7.7 Line Input and output....……,,………………………………146 7. 8 Miscellaneous Functions 147 7.8.1 String Opcrations 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 ·····4 149 Chapter8- The UNIX System Interface.……,… 151 81 File descriptors……… 15 152 8.3 Open, Creat, Close, Unlink 153 8.4 Random access - Lseek ..............................................................................................155 8.5 Example- An implementation of Fopen and 8.6 Example-Listing Directories 159 8.7 Example-A Storage Allocator ·:··:: 163 ppendix a - refere A rence manual .168 A 1 Introduction 168 A,2 Lexical conventions 看垂音垂音4 168 A. 2. 1 Tokens ..168 A.2.2 Comments..wwwwwwmwwwwwwww 168 A. 2. 3 Identifiers 168 A 2.4 Kevwords 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 ..17 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 Typcs 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 A7 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.& Shift Opcrators 182 A 7.9 Relational Operators 183 A.7.10 Equality Operators.……183 A.7.11 Bitwise AND Operator.……,…,…,…,…,…,……………183 A7 12 Bitwise ExclusiVe OR Opcrator 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 operato 184 A7.7 Assignment Expressions…… 185 A 7.18 Comma Operator 185 A.7.19 Constant Expressions.........................................186 A 8 Declarations 186 A.8.1 Storagc Class Spccificrs 187 A 8.2 Type Specif 188 A.8.3 Structure and union declarations,……18 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 A.8.9 Typedef.…,…,……,…,…,…,…,,…,………………………………………………19 A 8.10 Type equivalence A 9 Statements 199 A.9.1 Labeled Statements. 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 declaration5……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 Dcfinition and Expansion 207 A 12.4 File inclusion 00 A 12.5 Conditional Compilation.............. 210 A.12.6 Line control∴.……211 A 12. 7 Error Generation 211 A 12.8 Pragmas 翻D音音音 212 A 12.9 Null directive …212 A. 12.10 Predefined names ..........................................................................................212 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 音看番音番 25 B.1.5 Direct Input and Output Functions……………,.….……………………………25 B.1.6 File positioning Functions…...,.,,,,,,,,……,…26 B. 1. 7 Error Functions 226 B2 Character Class Tests: <ctype. h> 226 B.3 String Functions:< string.h>…,………………,27 B 4 Mathematical Functions B 5 Utility Functions: <stdlib. h> 229 B 6 Diagnostics: <assert. h>.. 231 B8 Non-local Jumps: <seimph! arg. h> B7 Variable Argument Lists: <stdarg.h> ·····4 231 .··· 232 B9 Signals: <signal. h .232 B 10 Datc and Time functions <timc.h> 233 B 11 Implementation-defined limits: <limits.h> and <float.h> 234 Appendix c -Summary of Changes …………236 Preface The computing world has undergone a revolution since the publication of The c Programming Language in 1978. Big computers arc much bigger, and personal computers have capabilities that rival mainframes of a decade ago. During this time, C has changed too although only modestly, and it has spread far beyond its origins as the language of the UNIX operating system. The growing popularity of C, the changes in the language over the years, and the creation of compilers by groups not involved in its design, combined to demonstrate a need for a more precise and more contemporary definition of the language than the first edition of this book provided. In 1983, the American National Standards Institute(ANSD) established a committee whose goal was to produce an unambiguous and machine-independent definition of the language C", while still retaining its spirit. The result is the ANSi standard for C The standard formalizes constructions that were hinted but not described in the first edition particularly structure assignment and enumerations. It provides a new form of function declaration that permits cross-checking of definition with use. It specifies a standard library with an extensive set of functions for performing input and output, memory management string manipulation, and similar tasks. It makes precise the behavior of features that were not spelled out in the original definition, and at the same time states explicitly which aspects of the language remain machine-dependent This Second Edition of The C Programming Language describes C as defined by the ANSI standard. Although we have noted the places where the language has evolved we have chosen to write exclusively in the new form. For the most part, this makes no significant difference the most visible change is the new form of function declaration and definition. Modern compilers already support most features of the standard We have tried to retain the brevity of the first edition. C is not a big language, and it is not wcll served by a big book. Wc have improved the exposition of critical fcaturcs, such as pointers, that are central to C programming. We have refined the original examples, and have added new examples in several chapters. For instance, the treatment of complicated declarations is augmented by programs that convert declarations into words and vice versa As before, all cxamples have bccn tested directly from the text, which is in machinc-rcadablc form ppendix A, the reference manual, is not the standard, but our attempt to convey the essentials of the standard in a smaller space. It is meant for easy comprehension by programmers, but not as a definition for compiler writers-- that role properly belongs to the standard itself. Appendix b is a summary of the facilities of the standard library. It too is meant for reference by programmers, not implementers Appendix C is a concise summary of the changes from the original version As we said in the preface to the first edition, C wears well as one's experience with it grows".With a decade more experience, we still feel that way. We hope that this book will help you learn C and use it wel

...展开详情
试读 127P C程序设计语言 第二版 英文版 pdf(非扫描版)
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    抢沙发
    一个资源只可评论一次,评论内容不能少于5个字
    关注 私信 TA的资源
    上传资源赚积分,得勋章
    最新推荐
    C程序设计语言 第二版 英文版 pdf(非扫描版) 49积分/C币 立即下载
    1/127
    C程序设计语言 第二版 英文版 pdf(非扫描版)第1页
    C程序设计语言 第二版 英文版 pdf(非扫描版)第2页
    C程序设计语言 第二版 英文版 pdf(非扫描版)第3页
    C程序设计语言 第二版 英文版 pdf(非扫描版)第4页
    C程序设计语言 第二版 英文版 pdf(非扫描版)第5页
    C程序设计语言 第二版 英文版 pdf(非扫描版)第6页
    C程序设计语言 第二版 英文版 pdf(非扫描版)第7页
    C程序设计语言 第二版 英文版 pdf(非扫描版)第8页
    C程序设计语言 第二版 英文版 pdf(非扫描版)第9页
    C程序设计语言 第二版 英文版 pdf(非扫描版)第10页
    C程序设计语言 第二版 英文版 pdf(非扫描版)第11页
    C程序设计语言 第二版 英文版 pdf(非扫描版)第12页
    C程序设计语言 第二版 英文版 pdf(非扫描版)第13页
    C程序设计语言 第二版 英文版 pdf(非扫描版)第14页
    C程序设计语言 第二版 英文版 pdf(非扫描版)第15页
    C程序设计语言 第二版 英文版 pdf(非扫描版)第16页
    C程序设计语言 第二版 英文版 pdf(非扫描版)第17页
    C程序设计语言 第二版 英文版 pdf(非扫描版)第18页
    C程序设计语言 第二版 英文版 pdf(非扫描版)第19页
    C程序设计语言 第二版 英文版 pdf(非扫描版)第20页

    试读已结束,剩余107页未读...

    49积分/C币 立即下载 >