內容介紹
《C語言自學視頻教程》 共分3篇20章,其中,第1篇為入門篇,主要包括初識C語言、編寫一個簡單的C程式、數據類型、運算符與表達式、數據的輸入與輸出、算法、選擇結構程式設計和循環結構程式設計等內容;第2篇為提高篇,主要包括數組、字元串、封裝函式、指針、構造數據類型、位運算、記憶體管理、編譯預處理、使用檔案處理數據和製作圖形圖像等內容;第3篇為實戰篇,主要包括C語言遊戲開發和窗體版圖書管理系統項目。另外本書光碟含:
21小時視頻講解/1238個編程實例/29個經典模組分析/26個項目開發案例/311個編程實踐任務/616個能力測試題目(基礎能力測試、數學及邏輯思維能力測試、面試能力測試、編程英語能力測試)/23個IT勵志故事。
目錄
本書光碟"自主學習系統"內容索引...XI
第1篇 入 門 篇
第1章 初識C語言
( 視頻講解:42分鐘) 2
1.1 C語言介紹 3
1.1.1 簡述程式語言 3
1.1.2 了解C語言發展史 3
1.1.3 C語言程式的特點 4
1.2 C語言程式的組成與格式 5
1.2.1 組成C程式的各部分 5
1.2.2 C語言的編程格式 5
1.3 編程開發環境 6
1.3.1 Visual C++ 6.0簡介 6
1.3.2 使用Visual C++ 6.0編程 13
1.3.3 使用Turbo C 2.0編程 17
1.4 綜合套用 20
1.4.1 輸出名言 20
1.4.2 求和程式 21
1.5 本章小結 21
1.6 跟我上機 22
第2章 編寫一個簡單的C程式 23
( 視頻講解:38分鐘)
2.1 自己動手創建程式 24
2.1.1 創建工程 24
2.1.2 添加源檔案 26
2.1.3 編寫代碼 26
2.1.4 編譯運行 27
2.2 分析C程式各組成部分 27
2.3 查看C程式執行過程 30
2.3.1 單步調試 30
2.3.2 斷點調試 31
2.4 綜合套用 32
2.4.1 求圓面積 32
2.4.2 求平均值 33
2.5 本章常見錯誤 33
2.5.1 提示函式沒定義 33
2.5.2 缺少分號 34
2.6 本章小結 34
2.7 跟我上機 34
第3章 數據類型 35
( 視頻講解:1小時25分鐘)
3.1 數據類型概述 36
3.1.1 數據類型的概念 36
3.1.2 數據類型的分類 36
3.2 關鍵字與標識符 38
3.2.1 解讀關鍵字 38
3.2.2 理解標識符 39
3.3 常量 40
3.3.1 整型常量 40
3.3.2 實型常量 42
3.3.3 字元型常量 42
3.3.4 轉義字元 46
3.4 變數 48
3.4.1 整型變數 48
3.4.2 實型變數 50
3.4.3 字元型變數 50
3.5 4種進制形式 52
3.5.1 進制表示形式 52
3.5.2 進制轉換 53
3.6 綜合套用 53
3.6.1 求圓的周長 53
3.6.2 求一元二次方程ax2+bx+c=0的根 54
3.6.3 進制轉換 55
3.7 本章常見錯誤 55
3.7.1 error C2143: syntax error : missing ';'before 'type' 55
3.7.2 scanf輸入數據要用地址 56
3.8 本章小結 56
3.9 跟我上機 56
第4章 運算符與表達式 57
( 視頻講解:1小時)
4.1 認識C語言運算符及表達式 58
4.1.1 賦值運算符和賦值表達式 58
4.1.2 算術運算符和算術表達式 60
4.1.3 關係運算符和關係表達式 63
4.1.4 邏輯運算符和邏輯表達式 65
4.1.5 位運算符與位邏輯表達式 67
4.1.6 逗號運算符和逗號表達式 67
4.1.7 條件運算符 69
4.1.8 運算符的優先權和結合性 69
4.2 混合運算與類型轉換 71
4.2.1 混合運算 71
4.2.2 轉換數據類型 71
4.3 綜合套用 74
4.3.1 水仙花數 74
4.3.2 可逆素數 75
4.4 本章常見錯誤 76
4.4.1 邏輯運算部分執行 76
4.4.2 表達式"a=b"和"a==b" 77
4.5 本章小結 77
4.6 跟我上機 77
第5章 數據的輸入與輸出 79
( 視頻講解:1小時12分鐘)
5.1 五類C語言語句 80
5.1.1 表達式語句 80
5.1.2 空語句 80
5.1.3 複合語句 81
5.1.4 函式調用語句 82
5.1.5 程式流程控制語句 83
5.2 輸入與輸出數據 83
5.2.1 字元數據輸入/輸出 83
5.2.2 字元串輸入/輸出 85
5.2.3 格式控制輸入/輸出 86
5.3 順序結構套用實例 92
5.4 綜合套用 93
5.4.1 用*輸出圖案 93
5.4.2 輸出一個字元的前驅字元 94
5.5 本章常見錯誤 94
5.5.1 用scanf輸入字元串不能接受空格 94
5.5.2 scanf格式控制用逗號問題 95
5.6 本章小結 95
5.7 跟我上機 95
第6章 算法 96
( 視頻講解:22分鐘)
6.1 算法概述 97
6.1.1 算法的概念 97
6.1.2 算法的特徵 97
6.2 描述算法 97
6.2.1 用流程圖描述 97
6.2.2 三種基本結構 99
6.2.3 N-S流程圖 101
6.2.4 用偽代碼描述算法 101
6.3 綜合套用 102
6.3.1 計算某日是該年第幾天 102
6.3.2 百錢百雞問題 103
6.4 本章常見錯誤 104
6.4.1 合理安排基本結構 104
6.4.2 全面考慮 104
6.5 本章小結 104
6.6 跟我上機 104
第7章 選擇結構程式設計 108
( 視頻講解:22分鐘)
7.1 if判斷語句 109
7.1.1 if語句的基本形式 109
7.1.2 嵌套多個if語句 113
7.2 switch分支語句 115
7.2.1 switch語句的基本形式 115
7.2.2 多路開關模式的switch語句 118
7.2.3 剖析if和switch語句 119
7.3 選擇程式設計舉例 120
7.4 綜合套用 123
7.4.1 判斷三角形的類型 123
7.4.2 計算增加後的工資 124
7.5 本章常見錯誤 125
7.5.1 if else的匹配問題 125
7.5.2 注意case後不要跟變數 125
7.5.3 if判斷表達式的比較問題 126
7.6 本章小結 126
7.7 跟我上機 126
第8章 循環結構程式設計 128
( 視頻講解:3小時10分鐘)
8.1 循環結構概述 129
8.2 while和do-while循環 129
8.2.1 實現while循環 129
8.2.2 編寫do-while語句 130
8.2.3 對比while和do-while語句 132
8.3 深入理解for循環 132
8.3.1 for語句的一般形式 132
8.3.2 for語句的變體 134
8.3.3 比較三種循環語句 137
8.3.4 嵌套循環 137
8.4 跳轉執行 139
8.4.1 goto語句 139
8.4.2 break語句 141
8.4.3 continue語句 142
8.4.4 比較三種轉移語句 143
8.5 循環程式設計套用 143
8.6 綜合套用 145
8.6.1 婚禮上的謊言 145
8.6.2 一元錢的兌換方案 146
8.7 本章常見錯誤 146
8.7.1 在循環中注意清零 146
8.7.2 注意循環條件 147
8.8 本章小結 147
8.9 跟我上機 147
第2篇 提 高 篇
第9章 數組 150
( 視頻講解:1小時4分鐘)
9.1 一維數組 151
9.1.1 定義及引用一維數組 151
9.1.2 初始化一維數組 152
9.1.3 一維數組套用 154
9.2 二維數組 156
9.2.1 定義及引用二維數組 156
9.2.2 初始化二維數組 157
9.2.3 二維數組套用 159
9.3 多維數組 160
9.4 綜合套用 161
9.4.1 統計學生成績 161
9.4.2 相鄰元素之和 162
9.5 本章常見錯誤 163
9.5.1 輸出數組內容時後面出現亂碼 163
9.5.2 sizeof(a)和sizeof(a+1) 163
9.6 本章小結 163
9.7 跟我上機 164
第10章 字元串 167
( 視頻講解:1小時10分鐘)
10.1 存儲字元串的數組 168
10.1.1 定義及引用字元數組 168
10.1.2 初始化字元數組 168
10.1.3 輸入/輸出字元數組 171
10.1.4 字元數組的套用 173
10.2 解析字元串處理 174
10.2.1 複製字元串 174
10.2.2 連線字元串 176
10.2.3 比較字元串 177
10.2.4 獲取字元串長度 179
10.2.5 轉換字元串大小寫 180
10.3 綜合套用 181
10.3.1 設計複製函式 181
10.3.2 名字排序 182
10.4 本章常見錯誤 183
10.4.1 不能對數組名直接賦值 183
10.4.2 注意區分數組指針和指針數組 184
10.5 本章小結 184
10.6 跟我上機 184
第11章 封裝函式 186
( 視頻講解:54分鐘)
11.1 函式概述 187
11.2 定義函式 189
11.2.1 函式定義的一般形式 189
11.2.2 定義與聲明函式 191
11.3 函式的返回 192
11.3.1 設定多個返回點 193
11.3.2 獲取返回值 193
11.3.3 return使用說明 194
11.4 函式的參數 195
11.4.1 形式參數與實際參數 195
11.4.2 數組作為參數 197
11.4.3 main函式傳參 201
11.4.4 參數校驗 202
11.5 調用函式 202
11.5.1 函式調用方式 202
11.5.2 嵌套調用函式 203
11.5.3 遞歸調用函式 204
11.6 內部函式與外部函式 207
11.7 區分局部變數與全局變數 209
11.8 綜合套用 213
11.8.1 判斷素數 213
11.8.2 最大數與最小數的差 213
11.9 本章常見錯誤 215
11.9.1 函式定義時容易犯的錯誤 215
11.9.2 函式中返回的數組地址無效 215
11.9.3 聲明函式時不要忘記加分號 216
11.10 本章小結 216
11.11 跟我上機 216
第12章 指針 218
( 視頻講解:1小時18分鐘)
12.1 指針相關概念 219
12.1.1 地址與指針 219
12.1.2 指針變數 220
12.1.3 指針的自加/自減運算 225
12.2 使用指針運算元組 227
12.2.1 一維數組與指針 227
12.2.2 二維數組與指針 230
12.2.3 比較char a[]與char *a 233
12.3 字元與指針 234
12.3.1 字元指針 234
12.3.2 字元串數組 236
12.4 在函式中傳遞指針 238
12.4.1 指針變數作函式參數 238
12.4.2 傳遞數組指針 241
12.4.3 傳遞字元指針 244
12.5 指向指針的指針 245
12.6 從函式中返回指針 247
12.7 指針數組作為main函式的參數 250
12.8 綜合套用 252
12.8.1 查找成績不及格的學生 252
12.8.2 逆序輸出數組元素 253
12.9 本章常見錯誤 254
12.9.1 通過指針修改字元串出錯 254
12.9.2 釋放記憶體提示錯誤 254
12.9.3 釋放空間以後,記得給指針賦空 254
12.10 本章小結 254
12.11 跟我上機 255
第13章 構造數據類型 257
( 視頻講解:1小時)
13.1 結構體概述 258
13.1.1 結構體的結構 258
13.1.2 定義和引用結構體 259
13.1.3 初始化結構體 261
13.2 結構體數組 262
13.2.1 定義結構體數組 262
13.2.2 初始化結構體數組 263
13.3 結構體指針 266
13.3.1 定義結構體指針 267
13.3.2 指向結構體數組的指針 269
13.3.3 結構體作為函式參數 271
13.4 建立鍊表 273
13.4.1 鍊表的概念 273
13.4.2 建立單向鍊表 274
13.4.3 鍊表的相關操作 277
13.5 共用體 286
13.5.1 理解共用體 286
13.5.2 定義和引用共用體 287
13.6 認識枚舉類型 288
13.7 typedef重命名數據類型 291
13.8 綜合套用 294
13.8.1 輸出火車票價 294
13.8.2 製作花束 295
13.9 本章常見錯誤 297
13.9.1 結構體位元組對齊問題 297
13.9.2 用指針動態申請結構體記憶體時失敗 297
13.9.3 忘記分號 298
13.10 本章小結 298
13.11 跟我上機 298
第14章 位運算 300
( 視頻講解:40分鐘)
14.1 按位運算 301
14.1.1 按位與 301
14.1.2 按位或 303
14.1.3 取反操作 304
14.1.4 按位異或 305
14.1.5 左移運算 307
14.1.6 右移運算 308
14.2 循環移位 309
14.3 位段概述 311
14.4 綜合套用 314
14.4.1 求一個數的補碼 314
14.4.2 取出給定16位二進制數的奇數位 315
14.4.3 計算如下位運算 315
14.5 本章常見錯誤 316
14.5.1 區分&&和||與&和| 316
14.5.2 注意位運算的數據類型 317
14.6 本章小結 317
14.7 跟我上機 317
第15章 記憶體管理 318
( 視頻講解:26分鐘)
15.1 記憶體結構 319
15.1.1 記憶體組織方式 319
15.1.2 堆和棧 319
15.2 動態分配記憶體 322
15.2.1 申請成塊的記憶體 322
15.2.2 重新分配記憶體 324
15.2.3 釋放記憶體 325
15.3 記憶體泄漏 326
15.4 變數的存儲類別 327
15.4.1 動態存儲與靜態存儲 327
15.4.2 auto變數 328
15.4.3 用static修飾變數 328
15.4.4 用register修飾變數 329
15.4.5 extern變數 330
15.5 綜合套用 334
15.5.1 商品信息動態存放 334
15.5.2 調用calloc函式動態分配記憶體 335
15.5.3 學生信息管理 336
15.6 本章常見錯誤 338
15.6.1 分配了一塊記憶體空間,但沒有初始化 338
15.6.2 釋放記憶體空間後繼續引用其內容 339
15.6.3 沒有保存記憶體地址,造成此記憶體不可用 339
15.6.4 指針無法訪問register變數 339
15.7 本章小結 340
15.8 跟我上機 340
第16章 編譯預處理 342
( 視頻講解:46分鐘)
16.1 宏定義 343
16.1.1 定義不帶參數的宏 343
16.1.2 定義帶參數的宏 345
16.2 #include檔案包含 346
16.3 套用條件編譯 349
16.3.1 使用#if命令 349
16.3.2 #ifdef和#ifndef命令 351
16.3.3 #undef命令 352
16.3.4 #line命令 353
16.3.5 #pragma命令 353
16.4 綜合套用 354
16.4.1 使用帶參數宏求圓面積 354
16.4.2 使用條件編譯隱藏密碼 355
16.5 本章常見錯誤 355
16.5.1 帶參數的宏最好加括弧 355
16.5.2 使用宏時的注意事項 356
16.5.3 檔案包含的嵌套 356
16.6 本章小結 356
16.7 跟我上機 357
第17章 使用檔案處理數據 358
( 視頻講解:38分鐘)
17.1 檔案概述 359
17.2 檔案基本操作 359
17.2.1 檔案指針 359
17.2.2 檔案的打開 360
17.2.3 檔案的關閉 362
17.3 檔案的讀寫 362
17.3.1 字元形式讀寫檔案 362
17.3.2 字元串形式讀寫檔案 365
17.3.3 數據塊形式讀寫檔案 367
17.3.4 格式化讀寫函式 370
17.3.5 隨機讀寫檔案 373
17.4 綜合套用 376
17.4.1 複製檔案中的數據 376
17.4.2 顯示奇數條學生信息 377
17.4.3 檔案內容加密 379
17.5 本章常見錯誤 382
17.5.1 以"a"或"a+"的方式打開檔案,
指針卻不在檔案末尾 382
17.5.2 忘記調回指針,讀不到內容 383
17.5.3 絕對路徑要用雙斜線\\ 383
17.5.4 用scanf輸入時,%s格式後面不能用逗號 383
17.6 本章小結 383
17.7 跟我上機 384
第18章 製作圖形圖像 387
( 視頻講解:1小時)
18.1 製作文本視窗 388
18.1.1 定義文本視窗 388
18.1.2 設定視窗顏色 388
18.1.3 文本的輸入和輸出 389
18.1.4 掌握螢幕操作函式 391
18.2 顯示圖形 393
18.2.1 初始化圖形模式 393
18.2.2 設定螢幕顏色 396
18.2.3 基本圖形函式 398
18.2.4 填充封閉圖形 408
18.3 繪製圖像 410
18.4 圖形模式下輸出文本 413
18.4.1 文本輸出函式 413
18.4.2 設定文本屬性 414
18.5 綜合套用 415
18.5.1 填充八邊形 415
18.5.2 以不同的字型輸出當前時間 416
18.6 本章常見錯誤 417
18.6.1 頭檔案和返回值 417
18.6.2 TC圖形庫 417
18.7 本章小結 418
18.8 跟我上機 418
第3篇 實 戰 篇
第19章 C語言遊戲開發 422
( 視頻講解:50分鐘)
19.1 推箱子遊戲 423
19.1.1 概述 423
19.1.2 設計思路 423
19.1.3 技術要點 423
19.1.4 實現過程 424
19.2 貪吃蛇遊戲 433
19.2.1 概述 433
19.2.2 設計思路 434
19.2.3 技術要點 434
19.2.4 實現過程 437
19.3 俄羅斯方塊遊戲 442
19.3.1 概述 442
19.3.2 設計思路 443
19.3.3 技術要點 443
19.3.4 實現過程 444
19.4 本章小結 451
第20章 窗體版圖書管理系統 452
( 視頻講解:2小時2分鐘)
20.1 開發背景 453
20.2 需求分析 453
20.3 系統設計 453
20.3.1 資料庫建模 453
20.3.2 系統功能結構 454
20.3.3 建立資料庫 454
20.3.4 系統預覽 456
20.4 技術指南 456
20.4.1 Win32程式的入口 456
20.4.2 WinMain函式的設計 458
20.4.3 對話框窗體的產生與銷毀 458
20.4.4 訊息回響函式 459
20.5 工具模組的設計 459
20.6 登錄模組設計 461
20.7 客戶端主界面設計 465
20.8 基本信息管理模組 470
20.9 庫存管理模組 478
20.10 查詢模組 485
20.11 本章小結 488