買這商品的人也買了...
-
$1,590$1,511 -
$1,078Operating System Principles, 7/e(IE) (美國版ISBN:0471694665-Operating System Concepts, 7/e) (平裝)
-
$1,300$1,235 -
$880$695 -
$620$558 -
$880$695 -
$580$458 -
$2,052Understanding Linux Network Internals (Paperback)
-
$650$507 -
$890$757 -
$780$663 -
$650$507 -
$550$435 -
$980$774 -
$680$537 -
$620$490 -
$880$695 -
$774Concepts of Programming Languages, 8/e(美國版ISBN: 0321493621)
-
$600$480 -
$520$411 -
$540$427 -
$650$585 -
$820$648 -
$580$458 -
$890$757
商品描述
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 命令
索引