C語言自學視頻教程

C語言自學視頻教程

《C語言自學視頻教程》是2014年清華大學出版社出版的圖書,作者是軟體開發技術聯盟。 《C語言自學視頻教程》以初學者為主要對象,全面介紹了C語言程式設計的相關技術。

內容介紹

《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

相關詞條

熱門詞條

聯絡我們