第3版影印版 标準C程式设计


第3版影印版 标準C程式设计

文章插图
标準C程式设计(第3版影印版)【第3版影印版 标準C程式设计】《标準C程式设计(第3版影印版)》是2006年清华大学出版社出版的图书,作者是(印)巴拉古鲁萨米 。
基本介绍书名:标準C程式设计(第3版影印版)
作者:(印)巴拉古鲁萨米
ISBN:7302128316
出版社:清华大学出版社
出版时间:2006年06月
内容简介本书是印度各大学使用最广的C语言程式设计教材之一 。本书旨在教授读者如何使用C语言进行程式设计 。全书贯彻了“用示例学习”的概念 。在深入介绍了C语言的每个特性之后,给出了一个完整的示例程式,用于演示说明其套用 。每章末尾的“案例学习”不仅介绍了把C语言的特性集成在一起的常用方法,而且还显示了它在实际生活中的套用 。最后一章介绍了开发高效、无错误的C程式的一些指导原则 。本书第3版融入了过去10年中採用本书的学生和老师的很多反馈意见 。总之,本书的语言简洁易懂,示例非常丰富且具有很强的实际指导意义,是一本很好的C语言程式设计的教材 。本书目录1. Overview of C 11.1 History of C 11.2 Importance of C 21.3 Sample Program 1: Printing a Message 31.4 Sample Program 2: Adding Two Numbers 61.5 Sample Program 3: Interest Calculation 71.6 Sample Program 4: Use of Subroutines 91.7 Sample Program 5: Use of Math Functions 101.8 Basic Structure of C Programs 121.9 Programming Style 131.10 Executing a ‘C’ Program 141.11 Unix System 141.12 MS-DOS System 17Review Questions 18Programming Exercises 202. Constants, Variables, and Data Types 222.1 Introduction 222.2 Character Set 222.3 C Tokens 242.4 Keywords and Identifiers 242.5 Constants 252.6 Variables 292.7 Data Types 302.8 Declaration of Variables 332.9 Declaration of Storage Class 362.10 Assigning Values to Variables 382.11 Defining Symbolic Constants 432.12 Declaring a Variable as Constant 442.13 Declaring a Variable as Volatile 452.14 Overflow and Underflow of Data 45Case Studies 46Review Questions 48Programming Exercises 503. Operators and Expressions 513.1 Introduction 513.2 Arithmetic Operators 513.3 Relational Operators 543.4 Logical Operators 553.5 Assignment Operators 563.6 Increment and Decrement Operators 583.7 Conditional Operator 593.8 Bitwise Operators 603.9 Special Operators 603.10 Arithmetic Expressions 623.11 Evaluation of Expressions 623.12 Precedence of Arithmetic Operators 643.13 Some Computational Problems 663.14 Type Conversions in Expressions 673.15 Operator Precedence and Associativity 703.16 Mathematical Functions 72Case Studies 73Review Questions 76Programming Exercises 784. Managing Input and Output Operations 804.1 Introduction 804.2 Reading a Character 814.3 Writing a Character 844.4 Formatted Input 854.5 Formatted Output 94Case Studies 103Review Questions 106Programming Exercises 1085. Decision Making and Branching 1105.1 Introduction 1105.2 Decision Making with if Statement 1105.3 Simple if Statement 111 5.4 The if.....else Statement 1155.5 Nesting of if....else Statements 1185.6 The Else if Ladder 1225.7 The Switch Statement 1255.8 The ? : Operator 1295.9 The Goto Statement 132Case Studies 135Review Questions 139Programming Exercises 1426. Decision Making and Looping 1456.1 Introduction 1456.2 The While Statement 1476.3 The do Statement 1506.4 The for Statement 1526.5 Jumps in Loops 159Case Studies 168Review Questions 174Programming Exercises 1777. Arrays 1807.1 Introduction 1807.2 One-dimensional Arrays 1827.3 Declaration of One-dimensional Arrays 1837.4 Initialization of One-dimensional Arrays 1857.5 Two-dimensional Arrays 1897.6 Initializing Two-dimensional Arrays 1937.7 Multi-dimensional Arrays 1977.8 Dynamic Arrays 1987.9 More About Arrays 199Case Studies 200Review Questions 212Programming Exercises 2148. Character Arrays and Strings 2178.1 Introduction 2178.2 Declaring and Initializing String Variables 2188.3 Reading Strings From Terminal 2198.4 Writing Strings to Screen 2248.5 Arithmetic Operations on Characters 2288.6 Putting Strings Together 2308.7 Comparison of Two Strings 231 8.8 String-handling Functions 2328.9 Table of Strings 2378.10 Other Features of Strings 239Case Studies 240Review Questions 243Programming Exercises 2459. User-defined Functions 2479.1 Introduction 2479.2 Need for User-defined Functions 2479.3 A Multi-function Program 2489.4 Elements of User-defined Functions 2519.5 Definition of Functions 2529.6 Return Values and their Types 2549.7 Function Calls 2559.8 Function Declaration 2579.9 Category of Functions 2599.10 No Arguments and No Return Values 2599.11 Arguments but No Return Values 2619.12 Arguments with Return Values 2659.13 No Arguments but Returns a Value 2699.14 Functions that Return Multiple Values 2699.15 Nesting of Functions 2719.16 Recursion 2729.17 Passing Arrays to Functions 2739.18 Passing Strings to Functions 2789.19 The Scope, Visibility and Lifetime of Variables 2799.20 Multifile Programs 289Case Study 292Review Questions 295Programming Exercises 29910. Structures and Unions 30110.1 Introduction 30110.2 Defining a Structure 30110.3 Declaring Structure Variables 30310.4 Accessing Structure Members 30410.5 Structure Initialization 306 10.6 Copying and Comparing Structure Variables 30710.7 Operations on Individual Members 30910.8 Arrays of Structures 31010.9 Arrays within Structures 31310.10 Structures within Structures 31410.11 Structures and Functions 31610.12 Unions 31910.13 Size of Structures 32010.14 Bit Fields 321Case Study 324Review Questions 328Programming Exercises 33111. Pointers 33311.1 Introduction 33311.2 Understanding Pointers 33411.3 Accessing the Address of a Variable 33611.4 Declaring Pointer Variables 33711.5 Initialization of Pointer Variables 33811.6 Accessing a Variable through its Pointer 34011.7 Chain of Pointers 34211.8 Pointer Expressions 34311.9 Pointer Increments and Scale Factor 34411.10 Pointers and Arrays 34511.11 Pointers and Character Strings 34911.12 Array of Pointers 35111.13 Pointers as Function Arguments 35211.14 Functions Returning Pointers 35511.15 Pointers to Functions 35511.16 Pointers and Structures 358Case Studies 362Review Questions 367Programming Exercises 36812. File Management in C 37012.1 Introduction 37012.2 Defining and Opening a File 37112.3 Closing a File 37212.4 Input/Output Operations on Files 373 12.5 Error Handling During I/O Operations 37912.6 Random Access to Files 38112.7 Command Line Arguments 386Review Questions 389Programming Exercises 39013. Dynamic Memory Allocation and Linked Lists 39113.1 Introduction 39113.2 Dynamic Memory Allocation 39113.3 Allocating a Block of Memory: Malloc 39213.4 Allocating Multiple Blocks of Memory: Calloc 39413.5 Releasing the Used Space: Free 39513.6 Altering the Size of a Block: Realloc 39613.7 Concepts of Linked Lists 39713.8 Advantages of Linked Lists 40013.9 Types of Linked Lists 40113.10 Pointers Revisited 40213.11 Creating a Linked List 40413.12 Inserting an Item 40713.13 Deleting an Item 41013.14 Application of Linked Lists 412Case Studies 413Review Questions 420Programming Exercises 42114. The Preprocessor 42314.1 Introduction 42314.2 Macro Substitution 42414.3 File Inclusion 42814.4 Compiler Control Directives 42914.5 ANSI Additions 432Review Questions 435Programming Exercises 43615. Developing a C Program: Some Guidelines 43715.1 Introduction 43715.2 Program Design 43715.3 Program Coding 43915.4 Common Programming Errors 44115.5 Program Testing and Debugging 448 15.6 Program Efficiency 451Review Questions 451Appendix I: Bit-level Programming 453Appendix II: ASCII Values of Characters 459Appendix III: ANSI C Library Functions 460Appendix IV: A Phone Book 464Bibliography 485Index 486