內容簡介
《C語言開發實戰》從初學者的角度講述了使用Visual C++ 6.0(以及部分Turbo C)進行程式開發應該掌握的各項技術,內容突出“基礎”、“全面”、“深入”的特點,同時強調“實戰”效果(只掌握和理解技術,而沒有實際套用,等於沒有掌握技術)。本書共分為5篇22章。前3篇中,在介紹技術的同時,每一章均提供了相應的實例,同時在各章的結尾安排有實戰,通過幾個小型項目來綜合套用本章所講解的知識,做到理論聯繫實際。在第4篇中,各章都安排了範例,使讀者鞏固所學的知識。最後,在第5篇中提供了兩個完整的項目實例,講述從前期規劃、設計流程圖,到項目最終實施的整個實現過程。所有知識都結合具體實例進行介紹,對涉及的程式代碼給出了詳細的注釋,讀者可以輕鬆領會C語言程式開發的精髓,快速提高開發技能。本書特色及豐富的學習資源包如下: 黃金學習搭配、專業學習視頻、重難點精確打擊、學習經驗分享、學習測試診斷、有趣實踐任務、專業資源庫、學習排憂解難、獲取源程式、提供習題答案、贈送開發案例。本書適合有志於從事軟體開發的初學者、高校計算機相關專業學生和畢業生,也可作為軟體開發人員的參考手冊或高校的教學參考書。
圖書目錄
目 錄
第1篇 新 手 入 門
第1章 C語言開發環境 3
視頻講解:12分鐘
1.1 本章知識體系 4
1.2 程式設計師的成長之路 4
1.3 C語言的重要性 5
1.4 如何學好C語言 5
1.5 C語言常用開發工具簡介 6
1.5.1 Turbo C 6
1.5.2 Visual C++ 6.0 7
1.5.3 C++ Builder(BCB) 7
1.5.4 Cygwin 7
1.5.5 Dev-C++ 7
1.5.6 Source Insight 7
1.6 了解Visual C++集成開發環境 8
1.6.1 開發環境布局 8
1.6.2 選單欄 8
1.6.3 工具列 14
1.6.4 工作區視窗 14
1.6.5 代碼編輯視窗 14
1.6.6 輸出視窗 15
1.7 如何在Turbo C 2.0下運行C源程式 15
1.8 了解GCC開發編譯器 17
1.9 Dev-C++ 17
1.9.1 Dev-C++概述 17
1.9.2 Dev-C++的使用 17
1.10 Eclipse for C/C++ 19
1.10.1 Eclipse概述 19
1.10.2 Eclipse的使用 19
1.11 實戰 20
1.11.1 判斷三角形的類型 20
1.11.2 計算某日是該年的第幾天 22
1.11.3 婚禮上的謊言 23
1.11.4 尼科徹斯定理 24
1.11.5 猴子吃桃 25
1.11.6 陽陽買蘋果 26
1.12 疑難解惑 28
1.12.1 為什麼說C語言可移植性好 28
1.12.2 C語言的套用領域有哪些 28
1.12.3 如何提高C語言的編程效率 28
1.13 小結 29
1.14 學習成果檢驗 29
第2章 C語言開發基礎 31
視頻講解:68分鐘
2.1 本章知識體系 32
2.2 編碼規範要記牢 32
2.2.1 注釋的合理使用 32
2.2.2 程式中的{}要對齊 33
2.2.3 合理使用空格使代碼更規範 34
2.2.4 換行使代碼更清晰 34
2.3 語言要素 35
2.3.1 關鍵字 35
2.3.2 標識符 35
2.4 常量 36
2.4.1 整型常量 36
2.4.2 實型常量 38
2.4.3 字元型常量 38
2.4.4 字元串常量 39
2.5 變數 40
2.5.1 什麼是變數 40
2.5.2 變數的聲明 41
2.6 數據類型 41
2.6.1 什麼是數據類型 41
2.6.2 整型 41
2.6.3 實型 43
2.6.4 字元型 44
2.6.5 枚舉類型 45
2.7 使用typedef定義類型 47
2.8 變數的存儲類型 49
2.8.1 了解變數的存儲類型 49
2.8.2 使用auto關鍵字聲明自動變數 49
2.8.3 使用static關鍵字聲明靜態變數 50
2.8.4 使用register關鍵字聲明暫存器變數 52
2.8.5 使用extern關鍵字聲明外部變數 53
2.8.6 使用static關鍵字聲明靜態外部變數 56
2.9 混合運算 57
2.10 實戰 58
2.10.1 十進制轉換為二進制 58
2.10.2 求100~200之間的素數 60
2.10.3 利用"#"輸出圖形 61
2.10.4 列印楊輝三角 61
2.10.5 利用"*"輸出矩形 63
2.10.6 小球下落問題 63
2.10.7 巧分蘋果 64
2.11 疑難解惑 66
2.11.1 聲明變數和定義變數 66
2.11.2 限定詞const 66
2.11.3 字元串常量為什麼用"\0"作為結束符 67
2.12 小結 67
2.13 學習成果檢驗 67
第3章 運算符與表達式 69
視頻講解:34分鐘
3.1 本章知識體系 70
3.2 運算符與表達式的使用 70
3.2.1 賦值運算符與表達式 70
3.2.2 加減乘除新認識 72
3.2.3 關係源自比較 73
3.2.4 邏輯出真假 74
3.2.5 逗號運算符與表達式 76
3.2.6 運算符的優先權 77
3.3 自增、自減操作符 78
3.3.1 認識自增、自減操作符 78
3.3.2 自增、自減操作符的副作用 79
3.4 位運算 79
3.4.1 "或"運算符 80
3.4.2 "與"運算符 81
3.4.3 "取反"運算符 82
3.4.4 "異或"運算符 83
3.4.5 "左移"運算符 84
3.4.6 "右移"運算符 85
3.5 實戰 86
3.5.1 求1~10的累加和 86
3.5.2 計算學生的平均身高 86
3.5.3 求一元二次方程ax2+bx+c=0的根 87
3.5.4 阿姆斯特朗數 88
3.5.5 可逆素數 89
3.5.6 滿足abcd=(ab+cd)2的數 90
3.5.7 最大公約數及最低公倍數 91
3.5.8 循環移位 92
3.6 疑難解惑 94
3.6.1 表達式"a=b"和"a= =b"一樣嗎 94
3.6.2 如何區分","是運算符還是分隔設定 94
3.6.3 C語言中有哪些簡化的運算表達式 96
3.7 小結 96
3.8 學習成果檢驗 96
第4章 語句 99
視頻講解:100分鐘
4.1 本章知識體系 100
4.2 語句的構成 100
4.2.1 表達式語句 101
4.2.2 函式調用語句 101
4.2.3 控制語句 103
4.2.4 複合語句 103
4.2.5 空語句 103
4.3 如何實現字元數據輸入/輸出 103
4.3.1 字元數據輸出 103
4.3.2 字元數據輸入 104
4.4 格式輸入/輸出 105
4.4.1 格式輸出函式 105
4.4.2 格式輸入函式 110
4.5 程式的控制結構 112
4.5.1 順序結構 112
4.5.2 分支結構 113
4.5.3 循環結構 113
4.6 if語句 114
4.6.1 if語句的介紹 114
4.6.2 if語句的嵌套 118
4.7 條件運算符 119
4.8 switch語句 120
4.8.1 switch語句的基本形式 120
4.8.2 剖析switch和if語句 124
4.9 while與do-while語句 124
4.9.1 當型循環語句while 124
4.9.2 直到型循環語句do-while 127
4.9.3 while與do-while的異同 128
4.10 for語句 129
4.10.1 初識for語句 129
4.10.2 for語句的變體 131
4.10.3 for語句的嵌套 133
4.11 跳轉語句 135
4.11.1 continue語句跳出本次循環 135
4.11.2 break語句跳出循環 136
4.11.3 用於返回數據的return語句 137
4.11.4 goto語句 138
4.12 實戰 139
4.12.1 輸出3*3矩陣 139
4.12.2 輸出一個字元的前驅字元 140
4.12.3 根據輸入判斷能否構成三角形 141
4.12.4 求學生的最高分和最低分 142
4.12.5 整數加減法練習 142
4.12.6 一元錢兌換方案 144
4.13 疑難解惑 145
4.13.1 C語言提供的跳轉語句各有什麼特點 145
4.13.2 循環嵌套時應該注意什麼 145
4.13.3 如何提高循環語句的執行效率 145
4.14 小結 146
4.15 學習成果檢驗 146
第5章 綜合實驗(一)--模擬ATM機
界面程式 147
視頻講解:3分鐘
5.1 概述 148
5.2 需求分析 148
5.3 設計思路 148
5.4 詳細設計 148
5.5 程式代碼 153
第2篇 進 階 提 高
第6章 數組 159
視頻講解:29分鐘
6.1 本章知識體系 160
6.2 一維數組 160
6.2.1 如何定義和引用一維數組 160
6.2.2 一維數組初始化 161
6.2.3 一維數組套用 163
6.3 二維數組 164
6.3.1 如何定義和引用二維數組 164
6.3.2 二維數組初始化 164
6.3.3 二維數組套用 166
6.4 多維數組 167
6.5 字元數組 168
6.5.1 如何定義和使用字元數組 168
6.5.2 字元數組初始化 168
6.5.3 字元數組的結束標誌 171
6.5.4 字元數組的輸入和輸出 172
6.5.5 字元數組套用 174
6.6 實戰 175
6.6.1 相鄰元素之和 175
6.6.2 選票系統 176
6.6.3 統計學生成績 178
6.6.4 模擬比賽打分 179
6.6.5 矩陣的轉置 180
6.6.6 設計魔方陣 181
6.6.7 統計各種字元個數 183
6.6.8 刪除字元串中的連續字元 184
6.7 疑難解惑 185
6.7.1 數組下標必須從0開始嗎 185
6.7.2 數組名作函式參數與數組元素作函式參數有什麼不同之處 185
6.7.3 '\0'和"\0"有什麼區別 186
6.8 小結 186
6.9 學習成果檢驗 186
第7章 函式 187
視頻講解:53分鐘
7.1 本章知識體系 188
7.2 函式概述 188
7.3 函式的定義 190
7.3.1 無參函式 190
7.3.2 有參函式 191
7.3.3 空函式 191
7.4 返回語句 192
7.4.1 從函式返回 192
7.4.2 返回值 192
7.5 函式參數 193
7.5.1 形式參數與實際參數 193
7.5.2 數組作函式參數 195
7.5.3 main參數 199
7.6 函式的調用 201
7.6.1 函式調用方式 201
7.6.2 嵌套調用 202
7.6.3 遞歸調用 203
7.7 內部函式和外部函式 206
7.7.1 內部函式 206
7.7.2 外部函式 207
7.8 局部變數和全局變數 208
7.8.1 局部變數 208
7.8.2 全局變數 209
7.9 實戰 212
7.9.1 百錢百雞問題 212
7.9.2 求直角三角形斜邊 213
7.9.3 小數分離 213
7.9.4 判斷素數 214
7.9.5 遞歸解決分魚問題 215
7.9.6 字母檢索 216
7.9.7 求字元串中字元的個數 217
7.9.8 打漁曬網問題 218
7.10 疑難解惑 220
7.10.1 在調用時不使用函式的返回值會產生什麼現象 220
7.10.2 C語言中函式的調用方式有哪幾種 220
7.10.3 函式定義時容易犯哪些錯誤 221
7.11 小結 221
7.12 學習成果檢驗 222
第8章 指針 223
視頻講解:17分鐘
8.1 本章知識體系 224
8.2 指針相關概念 224
8.2.1 地址與指針 224
8.2.2 指針變數 225
8.2.3 指針的賦值 225
8.2.4 指針的引用 226
8.3 指針運算 227
8.4 一維數組與指針 230
8.5 指針訪問二維數組 234
8.6 字元和指針 237
8.6.1 使用字元指針 237
8.6.2 字元指針數組 239
8.7 指向指針的指針 240
8.8 函式型指針 242
8.9 實戰 244
8.9.1 用指針實現數據交換 244
8.9.2 使用指針實現整數排序 245
8.9.3 查找成績不及格的學生 246
8.9.4 使用指針實現冒泡排序 247
8.9.5 使用指針插入元素 248
8.9.6 實現輸入月份號輸出該月份的英文名 249
8.9.7 將若干字元串按字母順序輸出 251
8.10 疑難解惑 252
8.10.1 指針類型和指針所指向的類型是一樣的嗎 252
8.10.2 指針運算與取地址運算符有何聯繫 253
8.10.3 空指針有何意義 253
8.11 小結 254
8.12 學習成果檢驗 254
第9章 結構體和共用體 255
視頻講解:40分鐘
9.1 本章知識體系 256
9.2 結構體 256
9.2.1 結構體類型的概念 256
9.2.2 結構體變數的定義 257
9.2.3 結構體類型的幾點說明 259
9.2.4 結構體變數的引用 260
9.2.5 結構體變數的初始化 260
9.3 結構體數組 261
9.3.1 定義結構體數組 261
9.3.2 初始化結構體數組 262
9.4 結構體指針 264
9.4.1 指向結構體變數的指針 265
9.4.2 指向結構體數組的指針 265
9.4.3 結構體作函式參數 267
9.5 包含結構的結構 270
9.6 鍊表 271
9.6.1 什麼是鍊表 271
9.6.2 創建動態鍊表 272
9.6.3 鍊表相關操作 274
9.7 共用體 280
9.7.1 什麼是共用體 280
9.7.2 共用體變數的定義和引用 281
9.7.3 共用體類型的初始化 282
9.8 實戰 283
9.8.1 找出最高分 283
9.8.2 候選人選票程式 284
9.8.3 求平面上兩點距離 285
9.8.4 設計通訊錄 286
9.8.5 輸出火車票價格 288
9.8.6 鏈佇列 289
9.8.7 約瑟夫環 293
9.8.8 計算開機時間 295
9.9 疑難解惑 296
9.9.1 定義結構體對結構體成員的類型是否有限制 296
9.9.2 成員運算符(.)和指向結構體成員運算符(->)有何區別 297
9.9.3 結構體和聯合體有什麼區別和聯繫 297
9.10 小結 297
9.11 學習成果檢驗 298
第10章 綜合實驗(二)--猜數字遊戲 299
視頻講解:24分鐘
10.1 概述 300
10.2 需求分析 300
10.3 系統設計 300
10.3.1 設計目標 300
10.3.2 開發及運行環境 300
10.4 程式預覽 301
10.5 設計思路 302
10.6 檔案引用 302
10.7 主要功能實現 303
10.7.1 主函式 303
10.7.2 猜數字 304
10.7.3 游標定位 306
第3篇 高 級 應 用
第11章 檔案 311
視頻講解:29分鐘
11.1 本章知識體系 312
11.2 檔案概述 312
11.3 檔案基本操作 313
11.3.1 檔案的打開 313
11.3.2 檔案的關閉 314
11.4 檔案的讀寫 315
11.4.1 fputc函式 315
11.4.2 fgetc函式 316
11.4.3 fread函式和fwrite函式 317
11.5 檔案的定位 319
11.5.1 rewind函式 319
11.5.2 ftell函式 321
11.5.3 fseek函式 321
11.6 出錯檢測 323
11.6.1 ferror函式 323
11.6.2 clearerr函式 325
11.7 實戰 326
11.7.1 讀取磁碟檔案 326
11.7.2 將數據寫入磁碟檔案 327
11.7.3 創建檔案 328
11.7.4 刪除檔案 330
11.7.5 重命名檔案 331
11.7.6 檔案加密 333
11.7.7 格式化讀寫檔案 335
11.8 疑難解惑 337
11.8.1 標準檔案和一般檔案有什麼區別 337
11.8.2 C語言的常用庫檔案包含哪些 338
11.8.3 為什麼檔案打開以後要及時
關閉 339
11.9 小結 339
11.10 學習成果檢驗 339
第12章 預處理 341
視頻講解:29分鐘
12.1 本章知識體系 342
12.2 不帶參數的宏定義 342
12.3 帶參數的宏定義 344
12.4 #include命令 345
12.5 條件編譯 348
12.5.1 #if命令 348
12.5.2 #ifdef及#ifndef命令 350
12.5.3 #undef命令 351
12.5.4 #line命令 352
12.5.5 #pragma命令 352
12.6 實戰 353
12.6.1 利用宏計算兩個數的乘積 353
12.6.2 利用宏求3個數中的最小數 354
12.6.3 使用帶參數的宏求圓面積 354
12.6.4 利用檔案包含設計輸出格式 355
12.6.5 使用條件編譯隱藏密碼 356
12.7 疑難解惑 356
12.7.1 C語言中包括哪些預處理功能 356
12.7.2 使用宏時需要注意些什麼 357
12.7.3 檔案包含可以嵌套嗎 357
12.8 小結 358
12.9 學習成果檢驗 358
第13章 存儲管理 359
視頻講解:21分鐘
13.1 本章知識體系 360
13.2 記憶體組織方式 360
13.2.1 記憶體組織方式 360
13.2.2 堆與棧 360
13.3 分配記憶體函式(malloc和calloc) 363
13.3.1 malloc函式 363
13.3.2 calloc函式 364
13.4 修改已分配記憶體(realloc函式) 365
13.5 釋放記憶體--free函式 366
13.6 誰偷了我的記憶體 367
13.7 實戰 367
13.7.1 為具有3個元素的數組分配記憶體 367
13.7.2 為二維數組動態分配記憶體並釋放 368
13.7.3 商品信息的動態存放 369
13.8 疑難解惑 370
13.8.1 什麼是"記憶體泄露" 370
13.8.2 記憶體耗盡了怎么辦 370
13.8.3 常見的記憶體管理錯誤有哪些 370
13.9 小結 371
13.10 學習成果檢驗 371
第14章 綜合實驗(三)--商品信息管理系統 373
視頻講解:29分鐘
14.1 概述 374
14.1.1 需求分析 374
14.1.2 功能結構圖 374
14.2 預處理 374
14.2.1 檔案引用 374
14.2.2 宏定義 375
14.3 聲明結構體 375
14.4 函式聲明 375
14.5 功能選擇界面 376
14.5.1 功能概述 376
14.5.2 主函式 376
14.5.3 自定義選單功能函式 377
14.6 錄入商品信息 378
14.7 查詢商品信息 381
14.8 刪除商品信息 383
14.9 修改商品信息 385
14.10 插入商品信息 387
14.11 統計商品數 389
14.12 小結 390
第4篇 范 例 演 練
第15章 排序 393
視頻講解:36分鐘
15.1 選擇排序 394
15.1.1 範例功能演示 394
15.1.2 開發思路指引 394
15.1.3 專家難點解析 395
15.1.4 設計過程詳解 396
15.1.5 範例開發手記 397
15.1.6 進階與提高 397
15.2 冒泡排序 398
15.2.1 範例功能演示 398
15.2.2 開發思路指引 398
15.2.3 專家難點解析 399
15.2.4 設計過程詳解 400
15.2.5 範例開發手記 401
15.2.6 進階與提高 401
15.3 插入排序 402
15.3.1 範例功能演示 402
15.3.2 開發思路指引 402
15.3.3 專家難點解析 403
15.3.4 設計過程詳解 404
15.3.5 範例開發手記 405
15.3.6 進階與提高 405
15.4 希爾排序 406
15.4.1 範例功能演示 406
15.4.2 開發思路指引 406
15.4.3 專家難點解析 407
15.4.4 設計過程詳解 408
15.4.5 範例開發手記 409
15.4.6 進階與提高 409
15.5 快速排序 410
15.5.1 範例功能演示 411
15.5.2 開發思路指引 411
15.5.3 專家難點解析 412
15.5.4 設計過程詳解 413
15.5.5 範例開發手記 414
15.5.6 進階與提高 415
第16章 查找 417
16.1 順序查找 418
16.1.1 範例功能演示 418
16.1.2 開發思路指引 418
16.1.3 專家難點解析 418
16.1.4 設計過程詳解 419
16.1.5 範例開發手記 420
16.1.6 進階與提高 420
16.2 折半查找 421
16.2.1 範例功能演示 422
16.2.2 開發思路指引 422
16.2.3 專家難點解析 422
16.2.4 設計過程詳解 423
16.2.5 範例開發手記 424
16.2.6 進階與提高 424
16.3 分塊查找 426
16.3.1 範例功能演示 426
16.3.2 開發思路指引 426
16.3.3 專家難點解析 426
16.3.4 設計過程詳解 428
16.3.5 範例開發手記 429
16.3.6 進階與提高 429
16.4 哈希查找 431
16.4.1 範例功能演示 431
16.4.2 開發思路指引 431
16.4.3 專家難點解析 431
16.4.4 設計過程詳解 433
16.4.5 範例開發手記 435
16.4.6 進階與提高 436
第17章 數據壓縮 441
17.1 RLE算法實現數據壓縮 442
17.1.1 範例功能演示 442
17.1.2 開發思路指引 442
17.1.3 專家難點解析 442
17.1.4 設計過程詳解 443
17.1.5 範例開發手記 445
17.1.6 進階與提高 445
17.2 LZW算法實現數據壓縮 447
17.2.1 範例功能演示 447
17.2.2 開發思路指引 447
17.2.3 專家難點解析 447
17.2.4 設計過程詳解 448
17.2.5 範例開發手記 451
17.2.6 進階與提高 451
第18章 圖形編程 455
視頻講解:45分鐘
18.1 繪製折線圖 456
18.1.1 範例功能演示 456
18.1.2 開發思路指引 456
18.1.3 專家難點解析 456
18.1.4 設計過程詳解 458
18.1.5 範例開發手記 460
18.1.6 進階與提高 460
18.2 繪製餅狀圖 462
18.2.1 範例功能演示 462
18.2.2 開發思路指引 462
18.2.3 專家難點解析 462
18.2.4 設計過程詳解 464
18.2.5 範例開發手記 465
18.2.6 進階與提高 466
18.3 繪製條形圖 467
18.3.1 範例功能演示 467
18.3.2 開發思路指引 467
18.3.3 專家難點解析 468
18.3.4 設計過程詳解 469
18.3.5 範例開發手記 471
18.3.6 進階與提高 471
18.4 繪製玫瑰花 473
18.4.1 範例功能演示 473
18.4.2 開發思路指引 473
18.4.3 專家難點解析 473
18.4.4 設計過程詳解 474
18.4.5 範例開發手記 479
18.4.6 進階與提高 479
18.5 選單界面設計 481
18.5.1 範例功能演示 481
18.5.2 開發思路指引 481
18.5.3 專家難點解析 481
18.5.4 設計過程詳解 482
18.5.5 範例開發手記 488
18.5.6 進階與提高 489
第19章 檔案的高級套用 491
視頻講解:55分鐘
19.1 創建檔案 492
19.1.1 範例功能演示 492
19.1.2 開發思路指引 492
19.1.3 專家難點解析 492
19.1.4 設計過程詳解 493
19.1.5 範例開發手記 493
19.1.6 進階與提高 494
19.2 檔案的複製 494
19.2.1 範例功能演示 495
19.2.2 開發思路指引 495
19.2.3 專家難點解析 495
19.2.4 設計過程詳解 495
19.2.5 範例開發手記 496
19.2.6 進階與提高 497
19.3 刪除檔案 498
19.3.1 範例功能演示 498
19.3.2 開發思路指引 498
19.3.3 專家難點解析 498
19.3.4 設計過程詳解 499
19.3.5 範例開發手記 500
19.3.6 進階與提高 500
19.4 重命名檔案 503
19.4.1 範例功能演示 503
19.4.2 開發思路指引 503
19.4.3 專家難點解析 503
19.4.4 設計過程詳解 504
19.4.5 範例開發手記 504
19.4.6 進階與提高 505
19.5 檔案加密 506
19.5.1 範例功能演示 506
19.5.2 開發思路指引 506
19.5.3 專家難點解析 507
19.5.4 設計過程詳解 507
19.5.5 範例開發手記 509
19.5.6 進階與提高 509
第20章 綜合實驗(四)--五子棋遊戲開發 511
視頻講解:28分鐘
20.1 概述 512
20.2 需求分析 512
20.3 系統設計 512
20.3.1 設計目標 512
20.3.2 開發及運行環境 512
20.4 程式預覽 512
20.5 graphics.h檔案 513
20.6 設計思路 516
20.7 預處理 517
20.7.1 檔案引用 517
20.7.2 宏定義 517
20.8 聲明變數 517
20.9 函式聲明 518
20.10 主要功能實現 518
20.10.1 主函式 518
20.10.2 開始遊戲 520
20.10.3 繪製棋盤 520
20.10.4 繪製棋子 521
20.10.5 清除棋子 521
20.10.6 遊戲過程 522
20.10.7 判斷勝負結果 528
20.11 小結 530
第5篇 項 目 實 戰
第21章 網路通信系統 533
視頻講解:37分鐘
21.1 網路通信系統概述 534
21.1.1 開發背景 534
21.1.2 需求分析 534
21.1.3 功能結構圖 534
21.2 技術攻關 535
21.2.1 TCP/IP協定 535
21.2.2 IP位址 536
21.2.3 數據包格式 537
21.2.4 建立連線 538
21.2.5 套接字型檔函式 539
21.3 網路通信系統主程式 543
21.4 點對點通信 546
21.5 伺服器中轉通信 554
21.6 程式調試與錯誤處理 561
21.7 小結 564
第22章 圖書管理系統(MySQL) 567
視頻講解:32分鐘
22.1 概述 568
22.1.1 需求分析 568
22.1.2 開發工具選擇 568
22.2 系統設計 568
22.2.1 系統目標 568
22.2.2 系統功能結構 569
22.2.3 系統預覽 569
22.2.4 開發及運行環境 570
22.3 資料庫設計 570
22.3.1 安裝MySQL資料庫 570
22.3.2 啟動MySQL資料庫 574
22.3.3 創建資料庫 574
22.3.4 數據表結構 575
22.4 C語言開發資料庫程式的流程 576
22.5 C語言操作MySQL資料庫 578
22.5.1 MySQL常用資料庫操作函式 578
22.5.2 連線MySQL數據 579
22.5.3 查詢圖書表記錄 580
22.5.4 插入圖書表記錄 583
22.5.5 修改圖書表記錄 584
22.5.6 刪除圖書表記錄 585
22.6 檔案引用 586
22.7 變數和函式定義 587
22.8 主要功能模組設計 587
22.8.1 顯示主選單信息 587
22.8.2 顯示所有圖書信息 589
22.8.3 添加圖書信息 592
22.8.4 修改圖書信息 599
22.8.5 刪除圖書信息 606
22.8.6 查詢圖書信息 611
22.9 程式調試及錯誤處理 613
22.9.1 解決創建數據表為一個檔案的問題 613
22.9.2 在創建數據表時,最後一句結尾沒有標點 614
22.10 小結 61