C in a Nutshell (Paperback)
暫譯: C語言精要 (平裝本)

Peter Prinz, Tony Crawford

  • 出版商: O'Reilly
  • 出版日期: 2005-12-26
  • 售價: $1,590
  • 貴賓價: 9.5$1,511
  • 語言: 英文
  • 頁數: 622
  • 裝訂: Paperback
  • ISBN: 0596006977
  • ISBN-13: 9780596006976
  • 相關分類: C 程式語言
  • 已絕版

買這商品的人也買了...

商品描述

Description

Learning a language--any language--involves a process wherein you learn to rely less and less on instruction and more increasingly on the aspects of the language you've mastered. Whether you're learning French, Java, or C, at some point you'll set aside the tutorial and attempt to converse on your own. It's not necessary to know every subtle facet of French in order to speak it well, especially if there's a good dictionary available. Likewise, C programmers don't need to memorize every detail of C in order to write good programs. What they need instead is a reliable, comprehensive reference that they can keep nearby. C in a Nutshell is that reference.


This long-awaited book is a complete reference to the C programming language and C runtime library. Its purpose is to serve as a convenient, reliable companion in your day-to-day work as a C programmer. C in a Nutshell covers virtually everything you need to program in C, describing all the elements of the language and illustrating their use with numerous examples.


The book is divided into three distinct parts. The first part is a fast-paced description, reminiscent of the classic Kernighan & Ritchie text on which many C programmers cut their teeth. It focuses specifically on the C language and preprocessor directives, including extensions introduced to the ANSI standard in 1999. These topics and others are covered:


  • Numeric constants
  • Implicit and explicit type conversions
  • Expressions and operators
  • Functions
  • Fixed-length and variable-length arrays
  • Pointers
  • Dynamic memory management
  • Input and output



The second part of the book is a comprehensive reference to the C runtime library; it includes an overview of the contents of the standard headers and a description of each standard library function. Part III provides the necessary knowledge of the C programmer's basic tools: the compiler, the make utility, and the debugger. The tools described here are those in the GNU software collection.

Table of Contents

Preface

I. Language

1. Language Basics

     Characteristics of C

     The Structure of C Programs

     Source Files

     Comments

     Character Sets

     Identifiers

     How the C Compiler Works

2. Types

     Typology

     Integer Types

     Floating-Point Types

     Complex Floating-Point Types (C99)

     Enumerated Types

     The Type void

3. Literals

     Integer Constants

     Floating-Point Constants

     Character Constants

     String Literals

4. Type Conversions

     Conversion of Arithmetic Types

     Conversion of Nonarithmetic Types

5. Expressions and Operators

     How Expressions Are Evaluated

     Operators in Detail

     Constant Expressions

6. Statements

     Expression Statements

     Block Statements

     Loops

     Selection Statements

     Unconditional Jumps

7. Functions

     Function Definitions

     Function Declarations

     How Functions Are Executed

     Pointers as Arguments and Return Values

     Inline Functions

     Recursive Functions

     Variable Numbers of Arguments

8. Arrays

     Defining Arrays

     Accessing Array Elements

     Initializing Arrays

     Strings

     Multidimensional Arrays

     Arrays as Arguments of Functions

9. Pointers

     Declaring Pointers

     Operations with Pointers

     Pointers and Type Qualifiers

     Pointers to Arrays and Arrays of Pointers

     Pointers to Functions

10. Structures, Unions, and Bit-Fields

     Structures

     Unions

     Bit-Fields

11. Declarations

     General Syntax

     Type Names

     typedef Declarations

     Linkage of Identifiers

     Storage Duration of Objects

     Initialization

12. Dynamic Memory Management

     Allocating Memory Dynamically

     Characteristics of Allocated Memory

     Resizing and Releasing Memory

     An All-Purpose Binary Tree

     Characteristics

     Implementation

13. Input and Output

     Streams

     Files

     Opening and Closing Files

     Reading and Writing

     Random File Access

14. Preprocessing Directives

     Inserting the Contents of Header Files

     Defining and Using Macros

     Conditional Compiling

     Defining Line Numbers

     Generating Error Messages

     The #pragma Directive

     The _Pragma Operator

     Predefined Macros

II. Standard Library

15. The Standard Headers

     Using the Standard Headers

     Contents of the Standard Headers

16. Functions at a Glance

     Input and Output

     Mathematical Functions

     Character Classification and Conversion

     String Processing

     Multibyte Characters

     Converting Between Numbers and Strings

     Searching and Sorting

     Memory Block Handling

     Dynamic Memory Management

     Date and Time

     Process Control

     Internationalization

     Nonlocal Jumps

     Debugging

     Error Messages

17. Standard Library Functions

III. Basic Tools

18. Compiling with GCC

     The GNU Compiler Collection

     Obtaining and Installing GCC

     Compiling C Programs with GCC

     C Dialects

     Compiler Warnings

     Optimization

     Debugging

     Profiling

     Option and Environment Variable Summary

19. Using make to Build C Programs

     Targets, Prerequisites, and Commands

     The Makefile

     Rules

     Comments

     Variables

     Phony Targets

     Other Target Attributes

     Macros

     Functions

     Directives

     Running make

20. Debugging C Programs with GDB

     Installing GDB

     A Sample Debugging Session

     Starting GDB

     Using GDB Commands

Index

商品描述(中文翻譯)

描述

學習一種語言——任何語言——涉及一個過程,在這個過程中,你學會越來越少依賴指導,而越來越多依賴你已掌握的語言方面。無論你是在學習法語、Java 還是 C,總有一天你會放下教程,嘗試自己進行對話。要流利地說法語並不需要了解每一個微妙的細節,尤其是當有一本好的字典可用時。同樣,C 程式設計師不需要記住 C 的每一個細節才能寫出好的程式。他們所需要的是一個可靠、全面的參考資料,可以隨時查閱。《C in a Nutshell》就是這樣的參考書。

這本期待已久的書是 C 程式語言和 C 執行時庫的完整參考。它的目的是作為 C 程式設計師日常工作中的方便、可靠的夥伴。《C in a Nutshell》幾乎涵蓋了你在 C 中編程所需的所有內容,描述了語言的所有元素,並用大量示例說明它們的用法。

這本書分為三個明確的部分。第一部分是快速的描述,讓人想起許多 C 程式設計師入門的經典 Kernighan & Ritchie 文字。它專門聚焦於 C 語言和預處理指令,包括 1999 年引入 ANSI 標準的擴展。這些主題和其他內容包括:

- 數值常數
- 隱式和顯式類型轉換
- 表達式和運算符
- 函數
- 固定長度和可變長度數組
- 指針
- 動態記憶體管理
- 輸入和輸出

書的第二部分是 C 執行時庫的全面參考;它包括標準標頭的內容概述和每個標準庫函數的描述。第三部分提供 C 程式設計師基本工具的必要知識:編譯器、make 工具和調試器。這裡描述的工具是 GNU 軟體集合中的工具。

目錄

前言

I. 語言
1. 語言基礎
- C 的特性
- C 程式的結構
- 源文件
- 註釋
- 字符集
- 標識符
- C 編譯器的工作原理

2. 類型
- 類型學
- 整數類型
- 浮點類型
- 複數浮點類型 (C99)
- 列舉類型
- void 類型

3. 字面量
- 整數常數
- 浮點常數
- 字符常數
- 字符串字面量

4. 類型轉換
- 算術類型的轉換
- 非算術類型的轉換

5. 表達式和運算符
- 表達式的評估
- 詳細的運算符
- 常量表達式

6. 語句
- 表達式語句
- 區塊語句
- 循環
- 選擇語句
- 無條件跳轉

7. 函數
- 函數定義
- 函數聲明
- 函數的執行
- 作為參數和返回值的指針
- 內聯函數
- 遞歸函數
- 可變數量的參數

8. 數組
- 定義數組
- 訪問數組元素
- 初始化數組
- 字符串
- 多維數組
- 作為函數參數的數組

9. 指針
- 聲明指針
- 與指針的操作
- 指針和類型限定符
- 指向數組的指針和指針的數組
- 指向函數的指針

10. 結構、聯合和位域
- 結構
- 聯合
- 位域

11. 聲明
- 一般語法
- 類型名稱
- typedef 聲明
- 標識符的鏈接
- 對象的存儲持續時間
- 初始化

12. 動態記憶體管理
- 動態分配記憶體
- 分配記憶體的特性
- 調整大小和釋放記憶體
- 通用二叉樹
- 特性
- 實現

13. 輸入和輸出
- 流
- 文件
- 打開和關閉文件
- 讀取和寫入
- 隨機文件訪問

14. 預處理指令
- 插入標頭文件的內容
- 定義和使用宏
- 條件編譯
- 定義行號
- 生成錯誤消息
- #pragma 指令
- _Pragma 運算符
- 預定義宏

II. 標準庫
15. 標準標頭
- 使用標準標頭
- 標準標頭的內容

16. 函數一覽
- 輸入和輸出
- 數學函數
- 字符分類和轉換
- 字符串處理
- 多字節字符
- 數字和字符串之間的轉換
- 搜索和排序
- 記憶體區塊處理
- 動態記憶體管理
- 日期和時間
- 進程控制
- 國際化
- 非局部跳轉
- 調試
- 錯誤消息

17. 標準庫函數

III. 基本工具
18. 使用 GCC 編譯
- GNU 編譯器集合
- 獲取和安裝 GCC
- 使用 GCC 編譯 C 程式
- C 方言
- 編譯器警告
- 優化
- 調試
- 性能分析
- 選項和環境變數摘要

19. 使用 make 構建 C 程式
- 目標、前提條件和命令
- Makefile
- 規則
- 註釋
- 變數
- 虛擬目標
- 其他目標屬性
- 宏
- 函數
- 指令
- 運行 make

20. 使用 GDB 調試 C 程式
- 安裝 GDB
- 一個示例調試會話
- 啟動 GDB
- 使用 GDB 命令

索引

最後瀏覽商品 (20)