版權信息
書名:C和指針
作者:(美)(KennethA.Reek)
出版社:人民郵電出版社
出版時間:2008
ISBN:9787115172013
開本:16
定價:65.00元
基本内容
本書提供與c語言編程相關的全面資源和深入讨論。本書通過對指針的基礎知識和高級特性的探讨,幫助程序員把指針的強大功能融入到自己的程序中去。
全書共18章,覆蓋了數據、語句、操作符和表達式、指針、函數、數組、字符串、結構和聯合等幾乎所有重要的c編程話題。書中給出了很多編程技巧和提示,每章後面有針對性很強的練習,附錄部分則給出了部分練習的解答。n本書适合c語言初學者和初級c程序員閱讀,也可作為計算機專業學生學習c語言的參考。
目錄
第1章快速上手
1.1簡介
1.1.1空白和注釋
1.1.2預處理指令
1.1.3main函數
1.1.4read_column_numbers函數
1.1.5rearrange函數
1.2補充說明
1.3編譯
1.4總結
1.5警告的總結
1.6編程提示的總結
1.7問題
1.8編程練習
第2章基本概念
2.1環境
2.1.1翻譯
2.1.2執行
2.2詞法規則
2.2.1字符
2.2.2注釋
2.2.3自由形式的源代碼
2.2.4标識符
2.2.5程序的形式
2.3程序風格
2.4總結
2.5警告的總結
2.6編程提示的總結
2.7問題
2.8編程練習
第3章數據
3.1基本數據類型
3.1.1整型家族
3.1.2浮點類型
3.1.3指針
3.2基本聲明
3.2.1初始化
3.2.2聲明簡單數組
3.2.3聲明指針
3.2.4隐式聲明
3.3typedef
3.4常量
3.5作用域
3.5.1代碼塊作用域
3.5.2文件作用域
3.5.3原型作用域
3.5.4函數作用域
3.6鍊接屬性
3.7存儲類型
3.8static關鍵字
3.9作用域、存儲類型示例
3.10總結
3.11警告的總結
3.12編程提示的總結
3.13問題
第4章語句
4.1空語句
4.2表達式語句
4.3代碼塊
4.4if語句
4.5while語句
4.5.1break和continue語句
4.5.2while語句的執行過程
4.6for語句
4.7do語句
4.8switch語句
4.8.1switch中的break語句
4.8.2default子句
4.8.3switch語句的執行過程
4.9goto語句
4.10總結
4.11警告的總結
4.12編程提示的總結
4.13問題
4.14編程練習
第5章操作符和表達式
5.1操作符
5.1.1算術操作符
5.1.2移位操作符
5.1.3位操作符
5.1.4賦值
5.1.5單目操作符
5.1.6關系操作符
5.1.7邏輯操作符
5.1.8條件操作符
5.1.9逗号操作符
5.1.10下标引用、函數調用和結構成員
5.2布爾值
5.3左值和右值
5.4表達式求值
5.4.1隐式類型轉換
5.4.2算術轉換
5.4.3操作符的屬性
5.4.4優先級和求值的順序
5.5總結
5.6警告的總結
5.7編程提示的總結
5.8問題
5.9編程練習
第6章指針
6.1内存和地址
6.2值和類型
6.3指針變量的内容
6.4間接訪問操作符
6.5未初始化和非法的指針
6.6NULL指針
6.7指針、間接訪問和左值
6.8指針、間接訪問和變量
6.9指針常量
6.10指針的指針
6.11指針表達式
6.12實例
6.13指針運算
6.13.1算術運算
6.13.2關系運算
6.14總結
6.15警告的總結
6.16編程提示的總結
6.17問題
6.18編程練習
第7章函數
7.1函數定義
7.2函數聲明
7.2.1原型
7.2.2函數的缺省認定
7.3函數的參數
7.4ADT和黑盒
7.5遞歸
7.5.1追蹤遞歸函數
7.5.2遞歸與叠代
7.6可變參數列表
7.6.1stdarg宏
7.6.2可變參數的限制
7.7總結
7.8警告的總結
7.9編程提示的總結
7.10問題
7.11編程練習
第8章數組
8.1一維數組
8.1.1數組名
8.1.2下标引用
8.1.3指針與下标
8.1.4指針的效率
8.1.5數組和指針
8.1.6作為函數參數的數組名
8.1.7聲明數組參數
8.1.8初始化
8.1.9不完整的初始化
8.1.10自動計算數組長度
8.1.11字符數組的初始化
8.2多維數組
8.2.1存儲順序
8.2.2數組名
8.2.3下标
8.2.4指向數組的指針
8.2.5作為函數參數的多維數組
8.2.6初始化
8.2.7數組長度自動計算
8.3指針數組
8.4總結
8.5警告的總結
8.6編程提示的總結
8.7問題
8.8編程練習
第9章字符串、字符和字節
9.1字符串基礎
9.2字符串長度
9.3不受限制的字符串函數
9.3.1複制字符串
9.3.2連接字符串
9.3.3函數的返回值
9.3.4字符串比較
9.4長度受限的字符串函數
9.5字符串查找基礎
9.5.1查找一個字符
9.5.2查找任何幾個字符
9.5.3查找一個子串
9.6高級字符串查找
9.6.1查找一個字符串前綴
9.6.2查找标記
9.7錯誤信息
9.8字符操作
9.8.1字符分類
9.8.2字符轉換
9.9内存操作
9.10總結
9.11警告的總結
9.12編程提示的總結
9.13問題
9.14編程練習
第10章結構和聯合
10.1結構基礎知識
10.1.1結構聲明
10.1.2結構成員
10.1.3結構成員的直接訪問
10.1.4結構成員的間接訪問
10.1.5結構的自引用
10.1.6不完整的聲明
10.1.7結構的初始化
10.2結構、指針和成員
10.2.1訪問指針
10.2.2訪問結構
10.2.3訪問結構成員
10.2.4訪問嵌套的結構
10.2.5訪問指針成員
10.3結構的存儲分配
10.4作為函數參數的結構
10.5位段
10.6聯合
10.6.1變體記錄
10.6.2聯合的初始化
10.7總結
10.8警告的總結
10.9編程提示的總結
10.10問題
10.11編程練習
第11章動态内存分配
11.1為什麼使用動态内存分配
11.2malloc和free
11.3calloc和realloc
11.4使用動态分配的内存
11.5常見的動态内存錯誤
11.6内存分配實例
11.7總結
11.8警告的總結
11.9編程提示的總結
11.10問題
11.11編程練習
第12章使用結構和指針
12.1鍊表
12.2單鍊表
12.2.1在單鍊表中插入
12.2.2其他鍊表操作
12.3雙鍊表
12.3.1在雙鍊表中插入
12.3.2其他鍊表操作
12.4總結
12.5警告的總結
12.6編程提示的總結
12.7問題
12.8編程練習
第13章高級指針話題
13.1進一步探讨指向指針的指針
13.2高級聲明
13.3函數指針
13.3.1回調函數
13.3.2轉移表
13.4命令行參數
13.4.1傳遞命令行參數
13.4.2處理命令行參數
13.5字符串常量
13.6總結
13.7警告的總結
13.8編程提示的總結
13.9問題
13.10編程練習
第14章預處理器
14.1預定義符号
14.2#define
14.2.1宏
14.2.2#define替換
14.2.3宏與函數
14.2.4帶副作用的宏參數
14.2.5命名約定
14.2.6#undef
14.2.7命令行定義
14.3條件編譯
14.3.1是否被定義
14.3.2嵌套指令
14.4文件包含
14.4.1函數庫文件包含
14.4.2本地文件包含
14.4.3嵌套文件包含
14.5其他指令
14.6總結
14.7警告的總結
14.8編程提示的總結
14.9問題
14.10編程練習
第15章輸入/輸出函數
15.1錯誤報告
15.2終止執行
15.3标準I/O函數庫
15.4ANSII/O概念
15.4.1流
15.4.2文件
15.4.3标準I/O常量
15.5流I/O總覽
15.6打開流
15.7關閉流
15.8字符I/O
15.8.1字符I/O宏
15.8.2撤銷字符I/O
15.9未格式化的行I/O
15.10格式化的行I/O
15.10.1scanf家族
15.10.2scanf格式代碼
15.10.3printf家族
15.10.4printf格式代碼
15.11二進制I/O
15.12刷新和定位函數
15.13改變緩沖方式
15.14流錯誤函數
15.15臨時文件
15.16文件操縱函數
15.17總結
15.18警告的總結
15.19編程提示的總結
15.20問題
15.21編程練習
第16章标準函數庫
16.1整型函數
16.1.1算術
16.1.2随機數
16.1.3字符串轉換
16.2浮點型函數
16.2.1三角函數
16.2.2雙曲函數
16.2.3對數和指數函數
16.2.4浮點表示形式
16.2.5幂
16.2.6底數、頂數、絕對值和餘數
16.2.7字符串轉換
16.3日期和時間函數
16.3.1處理器時間
16.3.2當天時間
16.4非本地跳轉
16.4.1實例
16.4.2何時使用非本地跳轉
16.5信号
16.5.1信号名
16.5.2處理信号
16.5.3信号處理函數
16.6打印可變參數列表
16.7執行環境
16.7.1終止執行
16.7.2斷言
16.7.3環境
16.7.4執行系統命令
16.7.5排序和查找
16.8locale
16.8.1數值和貨币格式
16.8.2字符串和locale
16.8.3改變locale的效果
16.9總結
16.10警告的總結
16.11編程提示的總結
16.12問題
16.13編程練習
第17章經典抽象數據類型
17.1内存分配
17.2堆棧
17.2.1堆棧接口
17.2.2實現堆棧
17.3隊列
17.3.1隊列接口
17.3.2實現隊列
17.4樹
17.4.1在二叉搜索樹中插入
17.4.2從二叉搜索樹删除節點
17.4.3在二叉搜索樹中查找
17.4.4樹的遍曆
17.4.5二叉搜索樹接口
17.4.6實現二叉搜索樹
17.5實現的改進
17.5.1擁有超過一個的堆棧
17.5.2擁有超過一種的類型
17.5.3名字沖突
17.5.4标準函數庫的ADT
17.6總結
17.7警告的總結
17.8編程提示的總結
17.9問題
17.10編程練習
第18章運行時環境
18.1判斷運行時環境
18.1.1測試程序
18.1.2靜态變量和初始化
18.1.3堆棧幀
18.1.4寄存器變量
18.1.5外部标識符的長度
18.1.6判斷堆棧幀布局
18.1.7表達式的副作用
18.2C和彙編語言的接口
18.3運行時效率
18.4總結
18.5警告的總結
18.6編程提示的總結
18.7問題
18.8編程練習
附錄部分問題答案
索引
編輯推薦
《C和指針(英文版)》提供與C語言編程相關的全面資源和深入讨論,通過對指針的基礎知識和高級特性的探讨,幫助程序員把指針的強大功能融入到自己的程序中去。《C和指針(英文版)》适合C語言初學者和初級C程序員閱讀,也可作為計算機專業學生學習C語言的參考。
作者簡介
Kenneth Reek是羅徹斯特理工大學計算機科學教授。他是一位經驗豐富的C程序員,曾為多家公司擔任過技術顧問。他講授的課程有操作系統、數據通信、計算機網絡、形式語言、算法分析和交換系統等。本書正是基于他9年的編程及教學的經驗積累。
名人推薦
我竭盡全力地推薦這本我所見過的最好的C編程入門圖書。作者深知讀者所需,并為他們打下良好基礎。如果你已經開始學習C語言但始終不得要領,不妨試一試《C和指針(英文版)》。
——Francis Glassborow,ACCU主席



















