-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
8/16 新書到! 8/9 新書到! 8/3 新書到! 7/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

C語言編程魔法書:基于C11標準

( 簡體 字)
作者:陳軼類別:1. -> 程式設計 -> C -> C
譯者:
出版社:機械工業出版社C語言編程魔法書:基于C11標準 3dWoo書號: 46798
詢問書籍請說出此書號!

有庫存
NT售價: 495

出版日:5/1/2017
頁數:504
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111565215
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

主要講解C11標準的語法內容,并且從整個編譯、連接到加載過程都會涉及。同時在后會分別介紹GCC編譯器與Clang編譯器的C語言語法擴展。通過閱讀本書,讀者能夠完全掌握新標準的C語言編程。并且對C語言設計思想、實現方式也能有個大概的了解。
目錄:

第一篇 預備知識篇
第1章C魔法概覽 /2
1.1 例說編程語言 2
1.2 用C語言編程的基本注意事項 6
1.3 主流C語言編譯器介紹 8
1.4 關于GNU規范的語法擴展 10
1.5 用C語言構建一個可執行程序的流程 11
1.6 本章小結 12
第2章學習C語言的預備知識 /14
2.1 計算機體系結構簡介 14
2.1.1 貯存器 15
2.1.2 存儲器 15
2.1.3 寄存器 16
2.1.4 計算單元 16
2.1.5 程序執行流程 16
2.2 整數在計算機中的表示 17
2.2.1 原碼表示法 18
2.2.2 補碼表示法 19
2.2.3 八進制數與十六進制數 20
2.3 浮點數在計算機中的表示 22
2.4 地址與字節對齊 24
2.5 字符編碼 25
2.6 大端與小端 28
2.7 按位邏輯運算 28
2.8 移位操作 30
2.8.1 算術左移與邏輯左移 30
2.8.2 邏輯右移 30
2.8.3 算術右移 31
2.8.4 循環右移 32
2.9 本章小結 32
第3章C語言編程的環境搭建 /33
3.1 Windows操作系統下搭建C語言編程環境 33
3.1.1 安裝Visual Studio Community 2017 34
3.1.2 安裝MinGW編譯器 40
3.1.3 安裝LLVM Clang編譯器 43
3.2 macOS系統下搭建C語言編程環境 45
3.3 本章小結 51
第二篇 基礎語法篇
第4章C語言中的基本元素 /54
4.1 C語言中的字符集 55
4.2 C語言中的token 56
4.2.1 C語言中的標識符 57
4.2.2 C語言中的關鍵字 58
4.2.3 C語言中的常量與字符串字面量 60
4.2.4 C語言中的標點符號 60
4.3 關于C語言中的“對象” 62
4.4 C語言中的“副作用” 63
4.5 C語言標準庫中的printf函數 63
4.6 本章小結 65
第5章基本數據類型 /66
5.1 整數類型 66
5.1.1 int類型 67
5.1.2 short類型 68
5.1.3 long類型 69
5.1.4 long long類型 71
5.1.5 布爾類型 72
5.1.6 字符類型 73
5.1.7 寬字符以及Unicode字符類型 77
5.1.8 size_t與ptrdiff_t類型 81
5.1.9 C語言中的標準整數類型 82
5.2 浮點類型 84
5.3 數據精度與類型轉換 86
5.3.1 整數晉升 87
5.3.2 帶符號與無符號整數之間的轉換 87
5.3.3 浮點數與浮點數的轉換以及浮點數與整數之間的轉換 90
5.4 C語言基本運算操作符 92
5.4.1 加、減、乘、除與求模運算操作符 92
5.4.2 按位邏輯操作符 93
5.4.3 自增、自減操作符 94
5.4.4 關系操作符、相等性操作符與邏輯操作符 95
5.4.5 移位操作符 96
5.4.6 圓括號操作符 97
5.5 sizeof操作符 98
5.6 投射操作符 99
5.7 本章小結 101
第6章用戶自定義類型 /102
6.1 枚舉類型 102
6.2 結構體類型 105
6.2.1 結構體概述 105
6.2.2 用結構體創建對象并訪問其成員 107
6.2.3 結構體復合字面量 110
6.3 聯合體類型 113
6.4 位域 117
6.4.1 位域的一般特性 118
6.4.2 位域成員的存放與布局 120
6.4.3 匿名位域 122
6.4.4 位域使用示例 124
6.5 字節對齊與字節填充 125
6.5.1 _Alignof操作符 125
6.5.2 _Alignas對齊說明符 126
6.5.3 結構體成員的字節對齊與字節填充 129
6.6 復數類型 133
6.7 本章小結 135
第7章C語言的數組與指針 /136
7.1 一維數組 136
7.2 多維數組 141
7.3 變長數組 145
7.4 一級指針與對象地址 147
7.4.1 地址與指針的基本概念 148
7.4.2 訪問指針對象所指對象的內容 149
7.4.3 指針對象的其他操作 150
7.5 多級指針 153
7.6 指向用戶自定義類型的指針 156
7.7 指針與數組的關系 159
7.8 指向數組的指針 162
7.9 void類型、指向void類型的指針與空指針 165
7.10 字符數組與字符串字面量 167
7.11 完整與不完整類型 170
7.12 靈活的數組成員 171
7.13 本章小結 173
第8章C語言的控制流語句 /174
8.1 逗號表達式 174
8.2 條件表達式 176
8.3 if-else語句 176
8.4 switch-case語句 179
8.5 while與do-while迭代語句 182
8.6 for迭代語句 187
8.7 goto語句 189
8.8 本章小結 192
第9章C語言的函數 /193
9.1 函數的聲明與定義 194
9.2 函數調用與實現 196
9.2.1 函數調用的順序點 197
9.2.2 函數的棧空間 200
9.2.3 函數的參數傳遞與返回 201
9.2.4 通過形參修改實參的值 204
9.3 數組類型作為函數形參 205
9.4 帶有不定參數類型及個數的函數聲明與調用 209
9.5 函數的遞歸調用 212
9.6 內聯函數 218
9.7 函數的返回類型與無返回函數 221
9.8 指向函數的指針 223
9.9 C語言中的主函數main 226
9.10 函數與函數調用作為sizeof操作符 228
9.11 本章小結 229
第10章C語言預處理器 /230
10.1 宏定義 231
10.1.1 宏的基本使用 232
10.1.2 宏定義中的#操作符 234
10.1.3 宏定義中的##操作符 236
10.1.4 宏替換 238
10.1.5 可變參數的宏定義 240
10.2 C語言中預定義的宏 243
10.2.1 C語言強制要求的預定義宏 243
10.2.2 環境宏 244
10.2.3 條件特征宏 245
10.2.4 主流編譯器及平臺預定義的宏 246
10.3 條件預編譯 247
10.4 源文件包含預處理指示符 251
10.5 #error 預處理指示符 256
10.6 #line 預處理指示符 256
10.7 #undef 預處理指示符 257
10.8 pragma預編譯指示符與操作符 258
10.9 空指示符與C語言中的程序注釋 260
10.10 本章小結 262
第11章C語言程序的編譯上下文 /263
11.1 C語言程序中的作用域和名字空間 263
11.1.1 文件作用域 264
11.1.2 函數作用域 265
11.1.3 函數原型作用域 266
11.1.4 語句塊作用域 267
11.1.5 標識符的重定義與作用域的疊交 269
11.1.6 標識符的名字空間 272
11.2 全局對象與函數 275
11.3 靜態對象與函數 277
11.4 局部對象 280
11.5 對象的存儲與生命周期 282
11.6 _Thread_local對象 285
11.7 本章小結 286
第三篇 高級語法篇
第12章C語言中的類型限定符 /290
12.1 const限定符 290
12.1.1 const限定符修飾普通對象 291
12.1.2 const限定符修飾數組元素 293
12.1.3 const限定符修飾指針類型對象 294
12.1.4 const限定符修飾函數形參類型為數組的對象 299
12.1.5 類型限定符的本質含義 301
12.2 volatile限定符 302
12.3 restrict限定符 304
12.4 _Atomic限定符 307
12.5 本章小結 314
第13章C語言的類型系統 /316
13.1 對象類型與函數類型 316
13.2 對聲明符的進一步說明 318
13.3 更復雜的聲明 322
13.3.1 將某一類型轉換為指向該類型的指針 322
13.3.2 判定當前類型屬于哪種對象類型 322
13.3.3 復雜復合類型的判斷 324
13.4 typedef類型定義 327
13.4.1 typedef的一般使用 327
13.4.2 typedef與類型限定符相結合的使用 330
13.4.3 用typedef來定義結構體與聯合體的類型 332
13.5 本章小結 335
第14章C11標準中的表達式、左值與求值順序 /336
14.1 常量表達式 338
14.2 泛型選擇表達式 340
14.3 靜態斷言 343
14.4 C語言中的左值 344
14.5 C語言中表達式的求值順序 348
14.6 C語言中的語句 352
14.7 本章小結 355
第15章函數調用約定與ABI /356
15.1 Windows操作系統環境下x86處理器的函數調用約定 357
15.1.1 Windows操作系統下32位x86執行模式的函數調用約定 357
15.1.2 Windows操作系統下64位x86執行模式的函數調用約定 363
15.2 Unix/Linux操作系統環境下x86處理器的函數調用約定 368
15.3 ARM處理器環境下的函數調用約定 370
15.3.1 AArch32架構環境下的函數調用約定 370
15.3.2 AArch64架構環境下的函數調用約定 373
15.4 本章小結 375
第16章創建靜態庫與動態庫 /376
16.1 Windows系統下創建靜態庫與動態庫 377
16.1.1 Windows系統下創建并使用靜態庫 377
16.1.2 Windows系統上創建并使用動態庫 379
16.2 macOS系統下創建靜態庫與動態庫 382
16.2.1 macOS系統下創建并使用靜態庫 383
16.2.2 macOS系統下創建并使用動態庫 386
16.3 Linux系統下創建并使用靜態庫與動態庫 390
16.3.1 Linux系統下創建并使用靜態庫文件 390
16.3.2 Linux系統下創建并使用動態庫 391
16.4 本章小結 393
第四篇 語法擴展篇
第17章GCC對C11標準的語法擴展 /396
17.1 在表達式中使用復合語句與聲明 397
17.2 聲明語句塊作用域的跳轉標簽 398
17.3 跳轉標簽作為值 401
17.4 嵌套函數 402
17.5 使用typeof來獲取對象類型 405
17.6 使用__auto_type做類型自動推導 409
17.7 對復數操作的擴展 411
17.8 半精度浮點類型 412
17.9 長度為零的數組 413
17.10 對可變參數個數的宏的語法擴展 415
17.11 case語句中使用范圍表達式 417
17.12 投射到一個聯合體類型 418
17.13 使用二進制整數字面量 419
17.14 使用__attribute__指定函數、對象與類型的屬性 420
17.14.1 __attribute__用于修飾函數的屬性 422
17.14.2 __attribute__用于修飾對象的屬性 440
17.14.3 __attribute__用于修飾類型的屬性 443
17.15 本章小結 444
第18章Clang編譯器對C11標準的擴展 /445
18.1 特征檢查宏 446
18.2 _Nullable與_Nonnull 446
18.3 函數重載 448
18.4 Blocks語法 449
18.5 本章小結 462
第19章對C語言的未來展望 /463
19.1 C語言中的屬性 465
19.2 fallthrough屬性 466
19.3 數組片段 467
19.3.1 數組片段的賦值操作 468
19.3.2 數組片段的算術計算操作 470
19.3.3 數組片段用于函數調用的情況 471
19.4 其他語法特性 472
19.5 本章小結 472
第五篇 項目實踐篇
第20章制作UTF-8與UTF-16編碼字符串的轉碼器 /474
20.1 UTF-8字符編碼格式 474
20.2 UTF-16字符編碼格式 476
20.3 代碼示例 478
20.4 本章小結 487
第21章制作控制臺計算器 /488
21.1 對數字的解析 489
21.2 對操作符的優先級處理 489
21.3 代碼示例 491
21.4 本章小結 504
序: