內容簡介
《C語言程式設計(第4版)英文版》全面介紹了C語言的各種特性,包括C11中增加的內容。《C語言程式設計(第4版)英文版》中包含大量完整的示例及詳細的講解。附錄中詳盡總結了C語言和C語言庫,兩者的組織形式都便於快速參考。
《C語言程式設計(第4版)英文版》通過示例來教授C語言,每個新概念都有完整的C程式做演示。你不僅可以學習這門語言的基礎知識,還能養成良好的程式設計習慣。另外,每章最後附有習題,便於課堂學習或自學。
無論是否擁有編程經驗,你都可以通過本書透徹地理解C語言。
編輯推薦
本書將向你講解如何使用C程式設計語言來編寫程式。無論是剛入門的初級程式設計師,還是經驗豐富的資深程式設計師,都可以在本書的幫助下徹底理解這門語言,它是許多面向對象程式設計語言(比如C++、Objective-C、C#和Java)的基礎。
本書通過示例來教授C語言,每個新概念都有完整的C程式做演示。Stephen Kochan逐步解釋了所有C函式。你不僅可以學習這門語言的基礎知識,還能養成良好的程式設計習慣。每章最後的習題使本書非常適於課堂學習或自學。
本書涵蓋了C語言的所有特性,包括C11標準中新增的內容。附錄中詳盡總結了C語言和C語言庫,兩者的組織形式都便於快速參考。
內容提要
《C語言程式設計(第4版)英文版》全面介紹了C語言的各種特性,包括C11中增加的內容。《C語言程式設計(第4版)英文版》中包含大量完整的示例及詳細的講解。附錄中詳盡總結了C語言和C語言庫,兩者的組織形式都便於快速參考。
《C語言程式設計(第4版)英文版》通過示例來教授C語言,每個新概念都有完整的C程式做演示。你不僅可以學習這門語言的基礎知識,還能養成良好的程式設計習慣。另外,每章最後附有習題,便於課堂學習或自學。
無論是否擁有編程經驗,你都可以通過本書透徹地理解C語言。
目錄
Introduction
1 Some Fundamentals
Programming
Higher-Level Languages
Operating Systems
Compiling Programs
Integrated Development Environments
Language Interpreters
2 Compiling and Running Your First Program
Compiling Your Program
Running Your Program
Understanding Your First Program
Displaying the Values of Variables
Comments
Exercises
3 Variables, Data Types, and Arithmetic Expressions
Understanding Data Types and Constants
The Integer Type int
The Floating Number Type float
The Extended Precision Type double
The Single Character Type char
The Boolean Data Type _Bool
Type Specifiers: long , long long , short , unsigned , and signed
Working with Variables
Working with Arithmetic Expressions
Integer Arithmetic and the Unary Minus Operator
Combining Operations with Assignment: The Assignment Operators
Types _Complex and _Imaginary
Exercises
4 Program Looping
Triangular Numbers
The for Statement
Relational Operators
Aligning Output
Program Input
Nested for Loops
for Loop Variants
The while Statement
The do Statement
The break Statement
The continue Statement
Exercises
5 Making Decisions
The if Statement
The if-else Construct
Compound Relational Tests
Nested if Statements
The else if Construct
The switch Statement
Boolean Variables
The Conditional Operator
Exercises
6 Working with Arrays
Defining an Array
Using Array Elements as Counters
Generating Fibonacci Numbers
Using an Array to Generate Prime Numbers
Initializing Arrays
Character Arrays
Base Conversion Using Arrays
The const Qualifier
Multidimensional Arrays
Variable Length Arrays
Exercises
7 Working with Functions
Defining a Function
Arguments and Local Variables
Function Prototype Declaration
Automatic Local Variables
Returning Function Results
Functions Calling Functions Calling...
Declaring Return Types and Argument Types
Checking Function Arguments
Top-Down Programming
Functions and Arrays
Assignment Operators
Sorting Arrays
Multidimensional Arrays
Global Variables
Automatic and Static Variables
Recursive Functions
Exercises
8 Working with Structures
The Basics of Structures
A Structure for Storing the Date
Using Structures in Expressions
Functions and Structures
A Structure for Storing the Time
Initializing Structures
Compound Literals
Arrays of Structures
Structures Containing Structures
Structures Containing Arrays
Structure Variants
Exercises
9 Character Strings
Revisiting the Basics of Strings
Arrays of Characters
Variable-Length Character Strings
Initializing and Displaying Character Strings
Testing Two Character Strings for Equality
Inputting Character Strings
Single-Character Input
The Null String
Escape Characters
More on Constant Strings
Character Strings, Structures, and Arrays
A Better Search Method
Character Operations
Exercises
10 Pointers
Pointers and Indirection
Defining a Pointer Variable
Using Pointers in Expressions
Working with Pointers and Structures
Structures Containing Pointers
Linked Lists
The Keyword const and Pointers
Pointers and Functions
Pointers and Arrays
A Slight Digression About Program Optimization
Is It an Array or Is It a Pointer?
Pointers to Character Strings
Constant Character Strings and Pointers
The Increment and Decrement Operators Revisited
Operations on Pointers
Pointers to Functions
Pointers and Memory Addresses
Exercises
11 Operations on Bits
The Basics of Bits
Bit Operators
The Bitwise AND Operator
The Bitwise Inclusive-OR Operator
The Bitwise Exclusive-OR Operator
The Ones Complement Operator
The Left Shift Operator
The Right Shift Operator
A Shift Function
Rotating Bits
Bit Fields
Exercises
12 The Preprocessor
The #define Statement
Program Extendability
Program Portability
More Advanced Types of Definitions
The # Operator
The ## Operator
The #include Statement
System Include Files
Conditional Compilation
The #ifdef, #endif, #else, and #ifndef Statements
The #if and #elif Preprocessor Statements
The #undef Statement
Exercises
13 Extending Data Types with the Enumerated Data Type, Type Definitions, and Data Type Conversions
Enumerated Data Types
The typedef Statement
Data Type Conversions
Sign Extension
Argument Conversion
Exercises
14 Working with Larger Programs
Dividing Your Program into Multiple Files
Compiling Multiple Source Files from the Command Line
Communication Between Modules
External Variables
Static Versus Extern Variables and Functions
Using Header Files Effectively
Other Utilities for Working with Larger Programs
The make Utility
The cvs Utility
Unix Utilities: ar, grep, sed, and so on
15 Input and Output Operations in C
Character I/O: getchar() and putchar()
Formatted I/O: printf() and scanf()
The printf() Function
The scanf() Function
Input and Output Operations with Files
Redirecting I/O to a File
End of File
Special Functions for Working with Files
The fopen Function
The getc() and putc() Functions
The fclose() Function
The feof Function
The fprintf() and fscanf() Functions
The fgets() and fputs() Functions
stdin, stdout, and stderr
The exit() Function
Renaming and Removing Files
Exercises
16 Miscellaneous and Advanced Features
Miscellaneous Language Statements
The goto Statement
The null Statement
Working with Unions
The Comma Operator
Type Qualifiers
The register Qualifier
The volatile Qualifier
The restrict Qualifier
Command-line Arguments
Dynamic Memory Allocation
The calloc() and malloc() Functions
The sizeof Operator
The free Function
Exercises
17 Debugging Programs
Debugging with the Preprocessor
Debugging Programs with gdb
Working with Variables
Source File Display
Controlling Program Execution
Getting a Stack Trace
Calling Functions and Setting Arrays and Structures
Getting Help with gdb Commands
Odds and Ends
18 Object-Oriented Programming
What Is an Object Anyway?
Instances and Methods
Writing a C Program to Work with Fractions
Defining an Objective-C Class to Work with Fractions
Defining a C++ Class to Work with Fractions
Defining a C# Class to Work with Fractions
A C Language Summary
1.0 Digraphs and Identifiers
2.0 Comments
3.0 Constants
4.0 Data Types and Declarations
5.0 Expressions
6.0 Storage Classes and Scope
7.0 Functions
8.0 Statements
9.0 The Preprocessor
B The Standard C Library
Standard Header Files
String Functions
Memory Functions
Character Functions
I/O Functions
In-Memory Format Conversion Functions
String-to-Number Conversion
Dynamic Memory Allocation Functions
Math Functions
General Utility Functions
C Compiling Programs with gcc
General Command Format
Command-Line Options
D Common Programming Mistakes
E Resources
The C Programming Language
C Compilers and Integrated Development Environments
Miscellaneous
Index
作者簡介
Stephen G. Kochan撰寫及合作撰寫了六本經典的程式設計與Unix書籍,包括Unix Shell Programming和Programming in Objective-C。他曾任AT&T貝爾實驗室的軟體顧問,從事Unix和C程式設計的開發與授課工作。
媒體評論
對於任何開始學習使用C語言編寫程式的人來說,這本書都是極好的。這是一本優秀的入門教科書,擁有豐富的示例、出色的文字……我就是用這本書來學習C語言的——這是一本超棒的書。
——Vinit S. Carpenter,Learn C/C++ Today