C語言實用之道 C语言实用之道

Giulio Zambon

  • 出版商: 清華大學
  • 出版日期: 2018-04-27
  • 定價: $588
  • 售價: 8.5$500
  • 語言: 簡體中文
  • 頁數: 510
  • 裝訂: 平裝
  • ISBN: 7302499047
  • ISBN-13: 9787302499046
  • 相關分類: C 程式語言
  • 立即出貨 (庫存 < 4)

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

商品描述

閱讀《C語言實用之道》,可以學習實用的C技術,包括在可複用的函數中經常用到的算法。

在本書中,你將輕鬆獲得以下代碼和建議:代碼佈局和預處理器;控制結構、迭代和選擇;指針和結構;數據庫;可複用性;列表、數組、FIFO和棧;搜索和排序;遞歸;二叉樹;C語言中的和自建的字符串輔助功能;使用Mongoose開發Web服務;構建MathSearch迷宮的遊戲應用代碼;以及嵌入式軟件。

《C語言實用之道》除了提供可立即投入使用的模塊以外,還教你如何充分用好C語言,這是很多面向初學者的其他書籍所不能提供的。

本書特色
•避免常見的C陷阱與缺陷
•用好列表和數組
•執行搜索和排序
•利用二叉樹存儲和檢索數據
•用好遞歸
•管理異常
•訪問數據庫
•利用數值計算方法,結合實際應用計算積分
•通過一種便捷的、不出錯的方法來操縱字符串
•構建一個MathSearch遊戲應用(類似於WordSearch遊戲) 
•通過一種便捷的、不出錯的方法來操縱字符串
•處理與嵌入式應用相關的問題

作者簡介

作者:Giulio Zambon 
在Zambon的職業生涯中,他去過五個不同國家的八個城市,曾任軟件開發人員、系統顧問、過程改進經理、項目經理……。自2008年初以來,他致力於編寫軟件來生成和解決數字難題。
譯者:潘愛民
潘愛民,任職於阿里巴巴業務平台事業部。長期從事軟件和系統技術的研究與開發設計工作,撰寫了大量軟件技術文章,著譯了多部經典計算機圖書,在國內外學術刊物上發表了30多篇文章。曾任教於北京大學和清華大學(兼職),後進入工業界,先後任職於微軟亞洲研究院、盛大網絡發展有限公司和阿里巴巴集團。獲得了數學學士學位和計算機科學博士學位,主要研究領域包括軟件設計、信息安全、操作系統和互聯網技術。

目錄大綱

第1章引言1 
1.1編碼風格1 
1.1.1縮進2 
1.1.2命名和其他規範4 
1.1.3 goto的使用5 
1.2如何閱讀本書7 

第2章微妙之C 9 
2.1變量的作用域和生命週期9 
2.1.1局部變量9 
2.1.2全局變量13 
2.1.3函數14 
2.2按值調用15 
2.3預處理器宏18 
2.4布爾值19 
2.5結構打包22 
2.6字符和區域24 
2.7普通字符和寬字符27 
2.8處理數值32 
2.8.1整數32 
2.8.2浮點數34 
2.9本章小結54 

第3章迭代、遞歸和二叉樹55 
3.1迭代55 
3.2遞歸57 
3.3二叉樹59 
3.3.1圖形化顯示一棵樹65 
3.3. 2生成一棵隨機樹83 
3.3.3遍歷一棵樹88 
3.3.4更多關於二叉樹的內容93 
3.4本章小結95 

第4章列表、棧和隊列97 
4.1列表98
4.2棧99 
4.2.1基於數組的棧99 
4.2.2基於鍊錶的棧109 
4.3隊列113 
4.3.1基於數組的隊列114 
4.3.2基於數組的隊列的更多內容120 
4.3.3基於鍊錶的隊列126 
4.4本章小結130 

第5章異常處理133 
5.1長跳轉134 
5.2 THROW 135 
5.3 TRY和CATCH 136 
5.4多個CATCH 144 
5.5多個TRY 145 
5.6異常用法樣例149 
5.7本章小結152 

第6章字符串輔助功能153 
6.1字符串的分配和釋放154 
6.1.1 str_new( ) 155 
6.1.2 str_release( ) 159 
6.1.3 str_release_all( ) 161 
6.1.4 str_list( ) 162 
6.1.5一些例子163 
6.1.6多個棧166 
6.2字符串格式化169 
6.3字符串信息171 
6.4字符串更新173 
6.4.1字符串拷貝173 
6.4.2字符串轉換176 
6.4.3字符串整理177
6.4.4字符串移除179 
6.5搜索181 
6.5.1找到一個字符181 
6.5.2找到一個子串186 
6.6替換189 
6.6.1替換一個字符189 
6.6.2替換一個子串191 
6.7提取一個子串193 
6.8拼接字符串196 
6.9更多功能200 
6.10本章小結201 

第7章動態數組205 
7.1數組的分配與釋放205 
7.1.1分配一個數組206 
7.1.2釋放一個數組208 
7.1.3多個棧212 
7.2改變一個數組的大小215 
7.3數組的拷貝和復制219 
7.4選擇數組元素222 
7.5本章小結225 

第8章搜索227 
8.1比較227 
8.1.1 C語言的標準比較函數227 
8.1.2比較結構230 
8.1.3比較數組232 
8.1.4模糊化232 
8.2搜索238 
8.2.1未排序的整數數組238 
8.2.2未排序的指針數組246 
8.2.3排序的數組251 
8.2.4鍊錶與二叉搜索樹257
8.3本章小結277 

第9章排序279 
9.1插入排序279 
9.2希爾排序280 
9.3冒泡排序285 
9.4 Quicksort(快排) 286 
9.5整數數組296 
9.6標準C函數298 
9.7本章小結301 

第10章數值積分303 
10.1從單變量函數開始303 
10.2梯形規則306 
10.3 Simpson規則310 
10.4 Newton-Cotes公式313 
10.5決定何時停止317 
10.6奇點321 
10.7蒙特卡洛324 
10.8 3D積分329 
10.8.1積分域330 
10.8.2從2D的梯形到3D的棱柱331 
10.8.3改進棱柱規則336 
10.8.4將矩形規則轉換成3D 340 
10.9多重積分的最後一些考慮342 
10.10本章小結343 

第11章嵌入式軟件345 
11.1位操作346 
11.2端349 
11.3嵌入式環境351 
11.3.1裸主板351 
11.3.2實時OS(RTOS) 352
11.3.3高級OS 353 
11.4信號和中斷353 
11.5並發性365 
11.6本章小結371 

第12章數據庫373 
12.1 MySQL 374 
12.1.1使用CLI創建和填充一個數據庫374 
12.1.2 MySQL Workbench 380 
12.1.3在C程序中使用MySQL 382 
12.2 SQLite 395 
12.2.1在CLI中使用SQLite 398 
12.2.2在C程序中使用SQLite 399 
12.2.3使用動態字符串和數組404 
12.3本章小結408 

第13章使用Mongoose開發Web服務器409 
13.1 Web頁面和協議409 
13.2動態Web頁面413 
13.3最簡單的支持Web服務器的應用程序413 
13.3.1事件處理器函數415 
13.3.2主程序416 
13.4支持Web服務器的應用程序416 
13.4.1靜態變量419 
13.4 .2 main( ) 420 
13.4.3 e_handler( )、get_x( )和send_response( ) 420 
13.4.4 index.html 423 
13.5定制Mongoose 428
13.6本章小結431 

第14章遊戲應用:MathSearch 433 
14.1 MathSearch規範和設計434 
14.1.1 MathSearch規範434 
14.1.2 MathSearch設計435 
14.2實現MathSearch 437 
14.3模塊:count 456 
14.4模塊:display 457 
14.5模塊:save_html 464 
14.6模塊:save_images 470 
14.7本章小結475 
附錄A縮寫詞477 
附錄B SQL介紹483