C語言從入門到精通(第6版)
明日科技
買這商品的人也買了...
-
$1,000$980 -
$600$474 -
$750$713 -
$2,980$2,831 -
$620$484 -
$1,739$1,647 -
$560$420
相關主題
商品描述
《C語言從入門到精通(第6版)》從初學者的角度出發,以通俗易懂的語言、豐富多彩的實例,詳細介紹了使用C語言進行程序開發需要掌握的各方面知識。全書分為4篇,共20章,內容包括C語言概述、算法、數據類型、運算符與表達式、數據輸入/輸出、選擇結構、循環控制、數組、函數、指針、結構體和共享體、位運算、預處理、文件、內存管理、網絡套接字編程、單詞背記闖關游戲、學生信息管理系統、單片機基礎和GSM短信控制家庭防盜報警系統。書中所有知識都結合具體實例進行介紹,涉及的程序代碼給出了詳細的註釋,讀者可以輕松領會C語言程序開發的精髓,快速提高開發技能。
目錄大綱
第1篇 基礎知識
第1章 C語言概述 2
視頻講解:64分鐘
1.1 C語言的發展史 2
1.1.1 程序語言簡述 2
1.1.2 C語言的發展歷程 3
1.2 C語言的特點 4
1.3 一個簡單的C程序 4
1.4 一個完整的C程序 7
1.5 C語言程序的格式 10
1.6 C語言開發環境 12
1.6.1 Visual C++ 6.0 12
1.6.2 Visual Studio 2022 18
1.6.3 Dev C++ 24
1.7 實踐與練習 26
第2章 算法 27
視頻講解:16分鐘
2.1 算法的基本概念 27
2.1.1 算法的特性 27
2.1.2 算法的優劣 28
2.2 算法描述 29
2.2.1 自然語言 29
2.2.2 流程圖 30
2.2.3 N-S流程圖 33
2.3 實踐與練習 35
第3章 數據類型 36
視頻講解:42分鐘
3.1 關鍵字 36
3.2 標識符 37
3.3 數據類型 38
3.4 常量 39
3.4.1 整型常量 39
3.4.2 實型常量 40
3.4.3 字符型常量 41
3.4.4 轉義字符 43
3.4.5 符號常量 43
3.5 變量 44
3.5.1 整型變量 44
3.5.2 實型變量 47
3.5.3 字符型變量 48
3.6 混合運算 50
3.7 實踐與練習 51
第4章 運算符與表達式 52
視頻講解:50分鐘
4.1 表達式 52
4.2 賦值運算符與賦值表達式 53
4.2.1 變量賦初值 53
4.2.2 自動類型轉換 54
4.2.3 強制類型轉換 55
4.3 算術運算符與算術表達式 56
4.3.1 算術運算符 56
4.3.2 算術表達式 57
4.3.3 優先級與結合性 57
4.3.4 自增/自減運算符 58
4.4 關系運算符與關系表達式 60
4.4.1 關系運算符 60
4.4.2 關系表達式 60
4.4.3 優先級與結合性 61
4.5 邏輯運算符與邏輯表達式 62
4.5.1 邏輯運算符 62
4.5.2 邏輯表達式 63
4.5.3 優先級與結合性 63
4.6 逗號運算符與逗號表達式 64
4.7 復合賦值運算符 65
4.8 sizeof運算符 66
4.9 運算符的優先級總結 68
4.10 實踐與練習 69
第5章 數據輸入/輸出 70
視頻講解:32分鐘
5.1 字符的輸入/輸出 70
5.1.1 字符輸出 70
5.1.2 字符輸入 71
5.2 字符串的輸入/輸出 73
5.2.1 字符串輸出 73
5.2.2 字符串輸入 74
5.3 格式化輸出 76
5.4 格式化輸入 78
5.5 順序程序設計 82
5.6 實踐與練習 83
第6章 選擇結構 85
視頻講解:36分鐘
6.1 if語句 85
6.2 if語句的基本形式 85
6.2.1 簡單if語句 86
6.2.2 if…else語句 88
6.2.3 else if語句 89
6.3 if語句的嵌套應用 92
6.4 條件運算符 95
6.5 switch語句 96
6.5.1 switch語句的基本形式 96
6.5.2 多路開關模式的switch語句 99
6.6 if…else語句和switch語句的區別 101
6.7 實踐與練習 101
第7章 循環控制 104
視頻講解:47分鐘
7.1 循環語句 104
7.2 while語句 104
7.3 do…while語句 107
7.4 for語句 108
7.4.1 for循環語句 109
7.4.2 for循環的變體 111
7.4.3 for循環中的逗號應用 112
7.5 3種循環語句的比較 114
7.6 循環嵌套 114
7.6.1 循環嵌套結構 114
7.6.2 循環嵌套實例 115
7.7 轉移語句 117
7.7.1 goto語句 117
7.7.2 break語句 118
7.7.3 continue語句 119
7.8 實踐與練習 120
第2篇 基礎進階
第8章 數組 124
視頻講解:71分鐘
8.1 一維數組 124
8.1.1 一維數組的定義和引用 124
8.1.2 一維數組的初始化 126
8.1.3 一維數組的應用 127
8.2 二維數組 128
8.2.1 二維數組的定義和引用 128
8.2.2 二維數組的初始化 129
8.2.3 二維數組的應用 130
8.3 字符數組 132
8.3.1 字符數組的定義和引用 132
8.3.2 字符數組的初始化 132
8.3.3 字符數組的結束標志 133
8.3.4 字符數組的輸入和輸出 134
8.3.5 字符數組的應用 135
8.4 多維數組 136
8.5 數組的排序算法 136
8.5.1 選擇排序 136
8.5.2 冒泡排序 138
8.5.3 交換排序 139
8.5.4 插入排序 141
8.5.5 折半排序 142
8.5.6 排序算法的比較 144
8.6 數組應用 145
8.6.1 反轉輸出字符串 146
8.6.2 輸出系統日期和時間 146
8.6.3 字符串的加密和解密 148
8.7 實踐與練習 149
第9章 函數 151
視頻講解:91分鐘
9.1 函數概述 151
9.2 函數的定義和聲明 153
9.2.1 函數的定義 153
9.2.2 函數的聲明 154
9.3 函數參數 155
9.3.1 形式參數與實際參數 155
9.3.2 數組作函數參數 156
9.4 函數的調用和返回 159
9.4.1 函數的調用 159
9.4.2 函數的返回值 160
9.4.3 函數的嵌套調用 161
9.4.4 函數的遞歸調用 162
9.5 內部函數和外部函數 165
9.5.1 內部函數 165
9.5.2 外部函數 166
9.6 局部變量和全局變量 167
9.6.1 局部變量 167
9.6.2 全局變量 169
9.7 常用標準庫函數 171
9.7.1 數學函數 171
9.7.2 字符判別函數 172
9.7.3 字符串處理函數 174
9.8 實踐與練習 179
第10章 指針 181
視頻講解:64分鐘
10.1 指針的相關概念 181
10.1.1 地址與指針 181
10.1.2 變量與指針 182
10.1.3 指針變量 182
10.1.4 指針的自增、自減運算 185
10.2 數組與指針 186
10.2.1 一維數組與指針 187
10.2.2 二維數組與指針 189
10.2.3 字符串與指針 191
10.2.4 指針數組 193
10.3 指向指針的指針 194
10.4 指針變量作函數參數 197
10.5 返回指針值的函數 204
10.6 指針數組作main函數的參數 205
10.7 實踐與練習 207
第3篇 高級編程
第11章 結構體和共享體 210
視頻講解:68分鐘
11.1 結構體 210
11.1.1 結構體類型的聲明 211
11.1.2 結構體變量的定義 211
11.1.3 結構體變量的引用 213
11.1.4 結構體類型的初始化 214
11.2 結構體數組 215
11.2.1 定義結構體數組 216
11.2.2 初始化結構體數組 217
11.3 結構體指針 218
11.3.1 指向結構體變量的指針 218
11.3.2 指向結構體數組的指針 220
11.4 結構體在函數中的使用 222
11.4.1 結構體作為函數參數 222
11.4.2 使用函數返回結構體指針 224
11.5 嵌套的結構體 225
11.6 鏈表 227
11.6.1 鏈表概述 227
11.6.2 創建動態鏈表 228
11.6.3 輸出鏈表 229
11.7 鏈表的相關操作 232
11.7.1 插入結點 232
11.7.2 刪除結點 233
11.8 共享體 237
11.8.1 共享體的概念 237
11.8.2 共享體變量的引用 238
11.8.3 共享體變量的初始化 238
11.8.4 共享體類型的數據特點 239
11.9 枚舉類型 239
11.10 typedef關鍵字 241
11.11 實踐與練習 242
第12章 位運算 245
視頻講解:28分鐘
12.1 位與字節 245
12.2 位運算操作符 245
12.2.1 按位與運算符 246
12.2.2 按位或運算符 247
12.2.3 按位取反運算符 248
12.2.4 按位異或運算符 249
12.2.5 左移運算符 250
12.2.6 右移運算符 251
12.3 循環移位 252
12.4 位段 254
12.4.1 位段的概念與定義 254
12.4.2 位段相關說明 255
12.5 實踐與練習 256
第13章 預處理命令 258
視頻講解:25分鐘
13.1 宏定義 258
13.1.1 不帶參數的#define命令 258
13.1.2 帶參數的#define命令 260
13.1.3 宏定義的刪除 261
13.1.4 預定義宏簡介 261
13.2 文件包含 262
13.3 條件編譯 263
13.3.1 #if、#else、#elif、#endif命令 263
13.3.2 #ifdef、#ifndef命令 264
13.4 其他預處理命令 266
13.4.1 #line命令 266
13.4.2 #error命令 266
13.4.3 #pragma命令 267
13.5 實踐與練習 267
第14章 文件 270
視頻講解:67分鐘
14.1 文件概述 270
14.2 文件基本操作 271
14.2.1 文件指針 271
14.2.2 打開文件(fopen函數) 272
14.2.3 關閉文件(fclose函數) 272
14.3 文件的讀寫 273
14.3.1 寫入字符(fputc函數) 273
14.3.2 讀取字符(fgetc函數) 274
14.3.3 寫入字符串(fputs函數) 274
14.3.4 讀取字符串(fgets函數) 275
14.3.5 fprintf函數 276
14.3.6 fscanf函數 277
14.3.7 讀寫數據塊(fread和fwrite函數) 278
14.4 文件的定位 280
14.4.1 fseek函數 280
14.4.2 rewind函數 282
14.4.3 ftell函數 283
14.5 文件管理 285
14.5.1 刪除文件(remove函數) 285
14.5.2 重命名文件(rename函數) 286
14.5.3 復制文件 287
14.6 文件狀態檢測 288
14.6.1 文件讀取結束檢測(feof函數) 288
14.6.2 文件讀寫出錯檢測(ferror函數) 289
14.6.3 清除狀態標志(clearerr函數) 289
14.7 實踐與練習 290
第15章 內存管理 293
視頻講解:18分鐘
15.1 內存組織方式 293
15.1.1 數據的存放方式 293
15.1.2 堆與棧 294
15.2 動態管理 295
15.2.1 malloc函數 295
15.2.2 calloc函數 296
15.2.3 realloc函數 296
15.2.4 free函數 297
15.3 內存泄露與內存丟失 298
15.4 實踐與練習 299
第16章 網絡套接字編程 301
視頻講解:33分鐘
16.1 電腦網絡基礎 301
16.1.1 IP地址 301
16.1.2 OSI七層參考模型 302
16.1.3 地址解析 302
16.1.4 域名解析 303
16.1.5 TCP/IP協議 304
16.1.6 埠 305
16.1.7 套接字的引入 305
16.1.8 網絡字節順序 306
16.2 套接字基礎 306
16.2.1 套接字概述 306
16.2.2 基於TCP的socket編程 306
16.2.3 基於UDP的socket編程 307
16.3 套接字函數 308
16.3.1 套接字常用函數介紹 308
16.3.2 基於TCP的網絡聊天程序 313
16.4 實踐與練習 318
第4篇 項目實戰
第17章 單詞背記闖關游戲 324
視頻講解:7分鐘
17.1 項目概述 324
17.2 系統設計 325
17.2.1 系統功能結構 325
17.2.2 業務流程圖 326
17.3 開發準備 326
17.4 預處理模塊設計 327
17.4.1 模塊概述 327
17.4.2 代碼實現 327
17.5 游戲開始界面顯示 328
17.5.1 模塊概述 328
17.5.2 代碼實現 328
17.6 積分規則界面顯示 330
17.6.1 模塊概述 330
17.6.2 代碼實現 330
17.7 單詞背記游戲主功能實現 331
17.7.1 模塊概述 331
17.7.2 代碼實現 331
17.8 讀取和存儲游戲最高分 334
17.8.1 模塊概述 334
17.8.2 代碼實現 334
17.9 游戲結束界面顯示 334
17.9.1 模塊概述 334
17.9.2 代碼實現 335
第18章 學生信息管理系統 337
視頻講解:8分鐘
18.1 項目概述 337
18.2 系統設計 337
18.2.1 系統功能結構設計 337
18.2.2 系統界面預覽 338
18.3 預處理模塊設計 340
18.3.1 模塊概述 340
18.3.2 功能實現 340
18.4 主函數設計 341
18.4.1 功能概述 341
18.4.2 功能實現 342
18.5 錄入學生信息模塊 343
18.5.1 模塊概述 343
18.5.2 錄入時文件中無內容 344
18.5.3 錄入時文件中有內容 344
18.6 查詢學生信息模塊 345
18.6.1 模塊概述 345
18.6.2 功能實現 346
18.7 刪除學生信息模塊 347
18.7.1 模塊概述 347
18.7.2 功能實現 347
18.8 修改學生信息模塊 348
18.8.1 模塊概述 348
18.8.2 功能實現 349
18.9 插入學生信息模塊 350
18.9.1 模塊概述 350
18.9.2 功能實現 351
18.10 學生成績排序模塊 352
18.10.1 模塊概述 352
18.10.2 功能實現 352
18.11 顯示所有學生信息 353
18.11.1 模塊概述 353
18.11.2 功能實現 354
第19章 單片機基礎 355
視頻講解:41分鐘
19.1 認識單片機 355
19.1.1 單片機概述 356
19.1.2 單片機組成部分 356
19.1.3 單片機內部結構分析 357
19.1.4 單片機與外部電路 362
19.2 單片機的應用 363
19.2.1 使用Altium Designer工具設計電路 364
19.2.2 使用Keil工具編譯單片機程序 367
19.2.3 使用STC-ISP燒錄工具將程序燒錄到單片機中 372
第20章 GSM短信控制家庭防盜報警系統 375
視頻講解:6分鐘
20.1 項目概述 375
20.2 系統設計 376
20.2.1 系統功能結構 376
20.2.2 系統業務流程 376
20.3 系統開發準備 377
20.3.1 開發工具 377
20.3.2 電路原理圖 377
20.3.2 元件列表 378
20.4 LED聲光報警設計 379
20.4.1 LED燈報警設計 379
20.4.2 蜂鳴器報警設計 382
20.5 手機短信報警設計 385
20.5.1 液晶屏顯示設計 385
20.5.2 GSM模塊接收手機短信 389
20.6 獨立按鍵設計 392
20.7 其他主要功能代碼 395
附錄 ASCII碼對照表 396