你好,C語言

你好,C語言

《你好,C語言》是2023年9月1日清華大學出版社出版的圖書,作者:周聖傑、林耿亮。

基本介紹

  • 中文名:你好,C語言
  • 作者:周聖傑、林耿亮
  • 出版時間:2023年9月1日
  • 出版社:清華大學出版社
  • ISBN:9787302644194
  • 定價:99.8 元
  • 印次:1-1
  • 印刷日期:2023.08.30
內容簡介,圖書目錄,

內容簡介

本書是一本全面介紹 C 語言的技術性書籍,旨在幫助讀者深入了解 C 語言的基礎知識和高級特性,以及它在實際項目中的套用。全書共 15 章,首先通過清晰易懂的語言,深入淺出地解釋了C 語言的語法和編程原理,其次重點介紹了 C 語言的指針操作、記憶體管理、檔案處理和模組化編程等關鍵概念。此外,本書還提供了主富的實例,幫助讀者加深對 C 語言的理解,並通過實踐鍛鍊讀者解決實際問題的能力本書適合作為高等院校計算機科學及相關專業的教材和教學參考書,也可作為職業開發人員的自學用書和參考手冊。無論是初學者還是有一定編程基礎的開發人員,都可以從本書中獲得實用的 C 語言編程知識和技能,提升自己在軟體開發領域的能力。

圖書目錄

第1章 初識C語言 1
1.1 C語言的發明及發展 1
1.2 C語言現狀 3
1.3 C語言開發環境的搭建 5
1.3.1 下載Visual Studio 6
1.3.2 安裝Visual Studio 7
1.3.3 激活Visual Studio 9
第2章 C語言基礎知識 10
2.1 第一個C語言程式 10
2.1.1 創建項目和源檔案 11
2.1.2 編寫並運行程式 14
2.1.3 新手常見錯誤 15
2.2 函式 16
2.2.1 主函式 16
2.2.2 函式的概念 17
2.2.3 自定義函式 18
2.2.4 調用函式 19
2.3 變數和常量 21
2.4 printf函式和include命令 23
2.4.1 printf函式 23
2.4.2 include命令 24
第3章 數據類型 25
3.1 整型數據類型 25
3.1.1 各種整型數據類型 25
3.1.2 sizeof測量大小 26
3.1.3 三位二進制的數值範圍 27
3.1.4 數值的補碼錶示法 28
3.1.5 整型的數值範圍 29
3.1.6 無符號整型 30
3.2 浮點數據類型 30
3.2.1 float 31
3.2.2 double 31
3.2.3 浮點類型占用的空間大小 32
3.3 變數 32
3.3.1 變數命名規則 34
3.3.2 初始化和賦值 34
3.4 常量 36
3.4.1 字面常量 36
3.4.2 符號常量 37
3.5 字元 38
3.5.1 字元常量 38
3.5.2 ASCII碼 40
3.5.3 字元變數 41
3.5.4 字元串常量 42
3.5.5 轉義字元 43
第4章 格式化輸入和輸出 46
4.1 printf函式 46
4.1.1 類型提升 48
4.1.2 轉換規範 50
4.1.3 轉換操作 50
4.1.4 長度指示符 56
4.1.5 精度 58
4.1.6 最小欄位寬度 59
4.1.7 標誌 60
4.2 scanf函式 62
4.2.1 Visual Studio安全報錯 62
4.2.2 scanf函式的使用公式 64
4.2.3 scanf函式的匹配規則 66
4.2.4 輸入字元 67
4.2.5 輸入字元串 68
第5章 運算符和表達式 69
5.1 表達式 69
5.2 運算符 70
5.3 類型轉換 77
5.3.1 同類型運算 78
5.3.2 不同類型運算 80
5.3.3 自動類型轉換 84
5.3.4 整型運算丟失精度 85
5.3.5 強制類型轉換 86
5.3.6 賦值造成的類型轉換 87
5.4 關係運算符 88
5.4.1 大於(>)和小於(<) 88
5.4.2 大於或等於(>=)和小於或等於(<=) 89
5.4.3 等於(==)和不等於(!=) 89
5.5 邏輯運算符 90
5.5.1 邏輯或(||)和邏輯與(&&) 91
5.5.2 邏輯非(!) 92
5.5.3 運算符優先權 92
第6章 控制流 94
6.1 分支結構 94
6.1.1 分支流程 95
6.1.2 else關鍵字 96
6.1.3 複合語句 97
6.1.4 嵌套if語句 99
6.1.5 else if語句 102
6.1.6 條件運算符 103
6.2 循環結構 104
6.2.1 while循環 105
6.2.2 for循環 107
6.2.3 do-while循環 110
6.2.4 循環嵌套 111
6.3 break和continue 112
6.3.1 break跳出循環 112
6.3.2 continue開始新一輪循環 115
6.3.3 使用break和continue 115
6.3.4 循環嵌套中使用break和continue 116
6.4 多重選擇 117
6.4.1 switch語句 118
6.4.2 在switch中使用break 120
6.4.3 連續轉換程式 121
6.4.4 break和continue的作用範圍 123
第7章 數組 125
7.1 初識數組 125
7.2 數組初始化 126
7.3 訪問數組元素 128
7.3.1 遍歷數組的循環 128
7.3.2 小心數組越界 129
7.3.3 不初始化數組會怎樣 130
7.4 數組占用空間大小 131
7.5 數組賦值 131
7.5.1 逐個元素賦值 132
7.5.2 記憶體複製 132
7.6 多維數組 133
7.6.1 使用數組作為數組的元素 133
7.6.2 二維數組 134
7.6.3 實現更高維度的數組 136
7.7 字元串與字元數組 138
7.7.1 字元數組存儲字元串 138
7.7.2 字元串結尾標記'\0' 139
7.7.3 字元數組的大小及長度 141
7.7.4 修改字元數組 142
7.7.5 從鍵盤輸入字元串到字元數組中 143
7.7.6 其他的輸入和輸出函式 144
7.8 輸入和輸出快取 146
7.8.1 輸出快取區 147
7.8.2 輸入快取區 148
7.8.3 非標準的輸入函式 151
第8章 函式 154
8.1 函式的定義 154
8.2 函式的調用 155
8.3 使用函式的意義 156
8.3.1 計算三角形面積 156
8.3.2 復用代碼 158
8.4 函式返回值 159
8.5 函式聲明 160
8.6 形參與實參 163
8.6.1 自動類型轉換 163
8.6.2 形參與實參相互獨立 164
8.6.3 不同函式的變數相互獨立 166
8.6.4 數組作為函式參數 166
8.7 函式遞歸 167
8.7.1 函式遞歸調用的示例 167
8.7.2 正確的遞歸實現 168
8.7.3 遞推和回歸 169
8.7.4 用遞歸計算階乘 170
8.7.5 遞歸計算斐波那契數列 171
8.8 調試代碼 172
8.8.1 調試模式與發布模式 172
8.8.2 調試功能在Visual Studio中的運用 174
第9章 指針 179
9.1 指針基礎 179
9.1.1 記憶體和記憶體地址 179
9.1.2 指針類型 181
9.1.3 使用指針 182
9.1.4 指針類型的大小 183
9.1.5 指針類型轉換 185
9.1.6 指針基礎例題 185
9.2 指針運算 186
9.2.1 指針與整型進行加減 186
9.2.2 指針運算的套用 188
9.2.3 同類型指針間的減法運算 189
9.2.4 其他類型的指針運算 190
9.2.5 指針運算例題 190
9.3 指針和數組 191
9.3.1 通過首元素獲取數組首地址 191
9.3.2 通過數組名獲取數組首地址 192
9.3.3 指針和數組的關係 194
9.3.4 指針與數組例題 195
9.4 指針作為函式參數傳遞 196
9.4.1 將指針作為函式參數進行傳遞 198
9.4.2 通用指針void * 199
9.4.3 將數組作為函式參數進行傳遞 200
9.4.4 將指針作為函式參數傳遞的例題 201
9.5 多級指針 202
9.5.1 指針的指針 202
9.5.2 多級指針的套用 204
9.5.3 多級指針例題 205
9.6 指針數組 205
9.6.1 定義、初始化和訪問指針數組 206
9.6.2 更複雜的例子 206
9.6.3 指針數組例題 208
9.7 函式返回指針 209
9.7.1 從函式中返回多個變數 210
9.7.2 函式返回指針例題 211
9.8 指針和多維數組 212
9.8.1 數組名的轉換規則 213
9.8.2 多維數組名和指針 213
9.8.3 移動數組指針 215
9.8.4 為數組指針取值 216
9.8.5 指針訪問與下標訪問等價 219
9.8.6 對數組名取地址 222
9.8.7 數組指針的運用 222
9.8.8 指針和多維數組例題 223
9.9 指針和三維數組 224
9.9.1 指針訪問三維數組元素 225
9.9.2 指針和三維數組例題 228
9.10 聲明器 229
9.10.1 聲明與使用形式統一 230
9.10.2 函式聲明器 230
9.10.3 聲明器中的優先權 230
9.11 函式指針和數組 233
9.11.1 函式指針 233
9.11.2 使用函式指針 234
9.11.3 函式指針數組 235
9.11.4 函式指針的運用 236
9.11.5 函式指針和數組例題 237
第10章 字元串 239
10.1 字元串和字元指針 239
10.1.1 字元數組和指針 241
10.1.2 使用指針處理字元串 242
10.2 const關鍵字 243
10.2.1 使用const修飾數組元素 244
10.2.2 使用const修飾指針所指向的數據 244
10.2.3 使用const修飾指針本身 245
10.2.4 使用const修飾基本變數 246
10.3 字元串處理函式 246
10.3.1 strlen函式:獲取字元串長度 246
10.3.2 strcat函式:拼接字元串 247
10.3.3 strcpy函式:複製字元串 248
10.3.4 strcmp函式:比較字元串 249
10.4 實現字元串處理函式 250
10.4.1 mstrlen函式 250
10.4.2 mstrcat函式 252
10.4.3 mstrcpy函式 254
10.4.4 mstrcmp函式 255
第11章 複合數據 258
11.1 結構化數據 258
11.1.1 使用數組存儲數據 259
11.1.2 互動式程式 261
11.1.3 數據聚合 263
11.2 結構體 266
11.2.1 結構體別名 267
11.2.2 初始化結構體 269
11.2.3 結構體數組 269
11.2.4 嵌套結構 270
11.2.5 指向結構體的指針 271
11.2.6 結構體在函式中傳遞 271
11.2.7 結構體例題 273
11.3 聯合體 274
11.3.1 聯合體的性質 276
11.3.2 聯合體的套用 276
11.4 枚舉 280
第12章 作用域和預處理器 283
12.1 標識符作用域 283
12.1.1 塊作用域 284
12.1.2 函式作用域 288
12.1.3 檔案作用域 289
12.2 預處理指令 290
12.2.1 預處理指令的概念 290
12.2.2 #define 預處理指令的用法 292
12.2.3 帶參數的#define 293
12.2.4 宏函式的運算符 295
12.2.5 取消宏定義 298
12.3 typedef關鍵字 299
12.3.1 typedef關鍵字的概念 299
12.3.2 typedef和struct的關係 300
12.3.3 typedef與#define的區別 301
12.3.4 提高整型可移植性 302
12.4 條件編譯 303
12.4.1 #if指令 303
12.4.2 #else指令 304
12.4.3 #elif指令 305
12.4.4 #ifdef指令和#ifndef指令 306
第13章 多檔案代碼和存儲類別 309
13.1 多檔案代碼 309
13.1.1 預處理指令#include 309
13.1.2 多檔案代碼 310
13.2 更複雜的多檔案代碼 316
13.2.1 多檔案代碼實現 316
13.2.2 頭檔案守衛 322
13.3 存儲類別 324
13.3.1 自動變數 325
13.3.2 靜態變數 326
第14章 檔案操作 332
14.1 創建和寫入檔案 332
14.1.1 fopen函式 333
14.1.2 fprintf函式 334
14.1.3 fclose函式 334
14.1.4 文本模式與二進制模式 335
14.2 讀取檔案 337
14.2.1 fscanf函式 337
14.2.2 fgetc函式 338
14.2.3 判斷檔案狀態 339
14.2.4 fgets函式 340
14.3 寫入檔案 341
14.3.1 fputc函式 342
14.3.2 fputs函式 343
14.3.3 fflush函式 345
14.3.4 檔案偏移 346
14.3.5 更新檔案 348
14.4 更多操作方式 350
14.4.1 以二進制形式保存數據 350
14.4.2 從檔案中讀取二進制數據 354
第15章 位操作、動態記憶體管理和主函式參數 357
15.1 位操作 357
15.1.1 十進制轉二進制 357
15.1.2 十進制轉二進制函式 358
15.1.3 位運算符 361
15.1.4 左移和右移 365
15.2 動態記憶體管理 366
15.2.1 變長數組 367
15.2.2 申請記憶體空間 368
15.2.3 釋放記憶體空間 370
15.2.4 從函式中返回指針 371
15.3 主函式參數 373
15.3.1 ping命令 373
15.3.2 main函式參數 375
15.3.3 使用主函式參數 375

相關詞條

熱門詞條

聯絡我們