買這商品的人也買了...
-
$66230天自製操作系統【附代碼光盤30天從零開始編寫圖形操作系統】
-
$301產品經理面試攻略
-
$719$683 -
$480$379 -
$305解憂程序員—高薪編程、求職面試與成長轉型寶典
-
$354$336 -
$281程序員面試筆試真題庫
-
$332程序員面試筆試真題與解析
-
$528$502 -
$301輕松玩轉 STM32Cube
-
$505程序員面試手冊:概念、編程問題及面試題
-
$390$371 -
$352程序員面試筆試寶典(第3版)
-
$354直擊招聘 : 程序員面試筆試C++語言深度解析
-
$356直擊招聘 : 程序員面試筆試C語言深度解析
-
$374Linux 內核分析及應用
-
$594$564 -
$294$279 -
$332Python 程序員面試算法寶典
-
$556程序員代碼面試指南:IT名企算法與數據結構題目最優解, 2/e
-
$352人工智能程序員面試筆試寶典
-
$305Java 程序員面試筆試通關寶典
-
$534$507 -
$207嵌入式系統設計與應用 — 基於 ARM Cortex-A8 和 Linux, 2/e (微課視頻版)
-
$602嵌入式 C語言自我修養 — 從芯片、編譯器到操作系統
相關主題
商品描述
閱讀《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