C語言編程從零開始學(視頻教學版)

C語言編程從零開始學(視頻教學版)

《C語言編程從零開始學(視頻教學版)》是2018年8月清華大學出版社出版的圖書,作者是王英英、李小威。

基本介紹

  • 書名:C語言編程從零開始學(視頻教學版)
  • 作者:王英英、李小威
  • ISBN:9787302503262
  • 定價:129元
  • 出版社:清華大學出版社
  • 出版時間:2018年8月
內容簡介,圖書目錄,

內容簡介

本書分為19章,內容包括認識C語言、C語言程式結構、算法與流程圖、基本數據類型、運算符和表達式、程式流程控制結構、函式、數組與字元串、指針、結構體、共用體、枚舉、操作檔案、編譯與預處理指令、使用庫函式、位運算、網路套接字編程、動態數據結構、數據結構進階、排序等。最後通過1個綜合項目實訓,進一步講述C語言在實際工作中的套用。本書注重實戰操作,幫助讀者循序漸進地掌握C語言中的各項技術。
本書共有400多個實例,還有大量的經典習題。隨書下載包中贈送了培訓班形式的視頻教學錄像,詳細講解了書中每一個知識點與編程方法和技巧。同時下載包中還提供了本書所有例子的原始碼,讀者可以直接查看和調用。
本書適合C語言初學者和C語言開發人員,同時也能作為高等院校和培訓學校相關專業的師生教學參考。

圖書目錄

第1章 為什麼要學習C語言——認識C語言 1
1.1 C語言概述 1
1.1.1 C語言的起源 1
1.1.2 C語言的特點 2
1.1.3 C語言的套用領域 4
1.2 C語言的常用開發環境 4
1.2.1 Visual C++ 6.0開發環境 4
1.2.2 Turbo C 2.0開發環境 10
1.2.3 Visual Studio 2017開發環境 11
1.3 C語言編譯機制 14
1.4 編寫第1個C語言程式 15
1.4.1 在Visual C++ 6.0中開發C程式 15
1.4.2 在Turbo C中開發C程式 20
1.4.3 在Visual Studio 2017中開發C程式 23
1.5 疑難解惑 25
1.6 經典習題 26
第2章 C語言程式結構 27
2.1 C語言源程式 27
2.1.1 熟悉源程式的特點 28
2.1.2 函式 28
2.2 編碼規範 29
2.2.1 版式要求 29
2.2.2 命名規則 30
2.2.3 正確性與容錯要求 30
2.3 語句 31
2.3.1 表達式語句 31
2.3.2 函式調用語句 31
2.3.3 控制語句 31
2.3.4 複合語句 32
2.3.5 空語句 32
2.4 輸入輸出對象 32
2.4.1 格式化輸入函式 32
2.4.2 格式化輸出函式 36
2.4.3 字元的輸入函式 40
2.4.4 字元的輸出函式 42
2.4.5 字元串的輸入函式 43
2.4.6 字元串的輸出函式 44
2.5 關鍵字 45
2.6 標識符 46
2.7 小試身手—格式控制符對寬度和精度的操作 47
2.8 技能提升—在printf()函式中展示各類格式控制符 48
2.9 疑難解惑 49
2.10 經典習題 50
第3章 算法與流程圖 52
3.1 算法的概念 52
3.1.1 算法的特性 53
3.1.2 衡量算法的“好”與“壞” 53
3.2 流程圖簡介 54
3.2.1 傳統流程圖 55
3.2.2 N-S流程圖 57
3.3 如何描述算法 57
3.3.1 自然語言 57
3.3.2 流程圖 59
3.3.3 三種基本結構 60
3.3.4 N-S流程圖 66
3.3.5 偽代碼 69
3.3.6 計算機語言 71
3.4 結構化程式設計方法 72
3.5 小試身手—求100以內能被3和5整除的數 73
3.6 技能提升—求奇數的階層之後再求和 74
3.7 疑難解惑 75
3.8 經典習題 76
第4章 數據類型 78
4.1 數據的表示方法 78
4.1.1 十進制 79
4.1.2 二進制 79
4.1.3 八進制 79
4.1.4 十六進制 79
4.2 基本數據類型 80
4.2.1 整數類型 80
4.2.2 字元類型 83
4.2.3 實型 85
4.2.4 布爾類型 87
4.3 數據類型的轉換 88
4.3.1 自動類型轉換 88
4.3.2 強制類型轉換 90
4.4 常量 91
4.4.1 整數常量 91
4.4.2 字元常量 93
4.4.3 字元串常量 95
4.4.4 符號常量 96
4.5 變數 97
4.5.1 變數的定義 97
4.5.2 變數的聲明 98
4.5.3 變數的初始化與賦值 99
4.5.4 變數的分類 100
4.6 變數的存儲類別 105
4.6.1 動態存儲與靜態存儲 105
4.6.2 自動(auto)變數 105
4.6.3 靜態(static)變數 107
4.6.4 暫存器(register)變數 107
4.6.5 外部(extern)變數 108
4.7 混合運算 109
4.7.1 存儲形式 109
4.7.2 範圍 109
4.4.3 混合運算原則 110
4.8 typedef與#define 111
4.9 小試身手——查詢數據類型的長度 112
4.10 技能提升——求長方體的體積及三個面的面積 114
4.11 疑難解惑 115
4.12 經典習題 116
第5章 運算符和表達式 117
5.1 運算符概述 117
5.1.1 賦值運算符 117
5.1.2 算術運算符 120
5.1.3 關係運算符 122
5.1.4 邏輯運算符 124
5.1.5 位邏輯運算符 126
5.1.6 移位運算符 127
5.1.7 條件運算符 128
5.1.8 逗號運算符 130
5.1.9 類型轉換運算符 131
5.2 運算符優先權和結合性 132
5.3 表達式概述 133
5.4 小試身手—判斷兩個變數的大小 134
5.5 技能拓展—運算符解決生活小問題 135
5.6 疑難解惑 136
5.7 經典習題 137
第6章 程式流程控制語句 138
6.1 順序語句 138
6.2 條件判斷語句 139
6.2.1 if條件 139
6.2.2 if…else條件 142
6.2.3 條件運算符 144
6.3 多重選擇語句 145
6.3.1 if…else…if語句 145
6.3.2 if的嵌套語句 147
6.3.3 switch分支結構語句 149
6.4 循環語句 151
6.4.1 while循環 152
6.4.2 do…while循環 153
6.4.3 for循環 155
6.4.4 循環語句的嵌套 157
6.5 跳出循環 158
6.5.1 break語句 158
6.5.2 continue語句 159
6.6 小試身手—判定三角形 160
6.7 技能提升—自動售貨機 161
6.8 疑難解惑 163
6.9 自我評估 164
第7章 函式 165
7.1 函式的基本結構 165
7.1.1 函式的聲明與定義 165
7.1.2 函式的調用 170
7.1.3 函式的嵌套調用 174
7.1.4 函式的遞歸調用 176
7.1.5 函式的參數 179
7.1.6 參數的傳遞方式 181
7.2 函式的返回語句 184
7.2.1 函式的返回值 184
7.2.2 函式的結束標誌 186
7.2.3 函式的返回值類型 187
7.3 變數的作用域 188
7.3.1 局部變數 189
7.3.2 全局變數 190
7.4 小試身手—倒序輸出字元 193
7.5 技能提升1—列印乘法口訣表 194
7.6 技能提升2—分析學生的成績 195
7.7 疑難解惑 197
7.8 經典習題 198
第8章 數組 200
8.1 數組的概述 200
8.2 一維數組 201
8.2.1 一維數組的定義 201
8.2.2 一維數組的引用 203
8.2.3 一維數組的初始化 204
8.2.4 數組的操作 207
8.3 二維數組和多維數組 209
8.3.1 二維數組的定義 209
8.3.2 二維數組的引用 209
8.3.3 二維數組的初始化 212
8.3.4 多維數組 215
8.3.5 數組的操作 217
8.4 數組與函式 220
8.4.1 一維數組作為函式的參數 220
8.4.2 數組名作為函式參數 221
8.4.3 形參數組和實參數組 222
8.5 字元數組 224
8.5.1 字元數組與字元串 224
8.5.2 字元數組的輸出與輸入 228
8.5.3 字元串處理函式 231
8.6 小試身手—計算字元數組的長度 237
8.7 技能提升—操作矩陣 238
8.8 疑難解惑 240
8.9 經典習題 241
第9章 指針 242
9.1 指針概述 242
9.1.1 地址與指針 242
9.1.2 指針變數的定義 245
9.1.3 指針變數的引用 248
9.2 指針與函式 251
9.2.1 指針變數作為函式參數 251
9.2.2 指針函式 253
9.2.3 函式指針 256
9.3 指針與數組 258
9.3.1 數組元素的指針 258
9.3.2 指針的運算 259
9.3.3 通過指針引用數組元素 260
9.3.4 指向數組的指針變數作為函式參數 262
9.3.5 通過指針對二維數組進行引用 268
9.4 指針與字元串 274
9.4.1 字元指針 274
9.4.2 使用字元指針做函式參數 278
9.4.3 字元數組與字元指針變數的區別 282
9.5 指針數組和多重指針 283
9.5.1 指針數組 284
9.5.2 指向指針的指針 288
9.6 小試身手—遍歷數組 294
9.7 綜合案例—尋找第一個相同元素 295
9.8 疑難解惑 297
9.9 經典習題 300
第10章 結構體、共用體和枚舉 301
10.1 結構體概述 301
10.1.1 結構體類型 301
10.1.2 定義結構體變數 303
10.1.3 初始化結構體變數 305
10.1.4 結構體變數的引用 306
10.2 結構體數組 309
10.2.1 定義結構體數組 309
10.2.2 結構體數組的初始化 311
10.2.3 結構體數組元素的引用 312
10.2.4 結構體數組套用實例 313
10.3 結構體指針 314
10.3.1 指向結構體變數的指針 314
10.3.2 指向結構體數組的指針 318
10.3.3 結構體變數作為函式參數 320
10.3.4 指向結構體變數的指針作為函式參數 321
10.3.5 結構體作為函式的返回值 323
10.4 共用體 324
10.4.1 共用體的定義 324
10.4.2 共用體變數的定義 324
10.4.3 共用體變數的初始化以及引用 326
10.5 枚 舉 329
10.5.1 定義枚舉類型 329
10.5.2 定義枚舉類型變數 330
10.6 小試身手—建立居民身份信息卡 333
10.7 技能提升—創建學生成績輸入系統 335
10.8 疑難解惑 337
10.9 經典習題 339
第11章 操作檔案 340
11.1 檔案概述 340
11.1.1 檔案類型 341
11.1.2 檔案指針 342
11.1.3 檔案的緩衝區 343
11.2 檔案的打開與關閉 343
11.2.1 檔案的打開操作 344
11.2.2 檔案的關閉 346
11.3 檔案的讀寫 347
11.3.1 字元的讀寫 347
11.3.2 字元串的讀寫 351
11.3.3 數據塊的讀寫 354
11.3.4 格式化讀寫函式 358
11.4 檔案定位與檔案的隨機讀寫 362
11.4.1 檔案頭定位函式rewind() 362
11.4.2 隨機定位函式fseek() 363
11.4.3 當前讀寫位置函式ftell() 365
11.5 檔案檢測函式 366
11.5.1 檔案結束檢測函式feof() 366
11.5.2 檔案讀寫錯誤檢測函式ferror() 367
11.5.3 檔案錯誤標誌清除函式clearerr() 369
11.6 小試身手—整理學生體檢信息 370
11.7 技能提升—製作暑期計畫表 372
11.8 疑難解惑 374
11.9 經典習題 376
第12章 編譯與預處理指令 377
12.1 預處理 377
12.2 宏定義命令—#define 380
12.2.1 無參數的宏 380
12.2.2 帶參數的宏定義 384
12.2.3 宏定義的嵌套 390
12.2.4 宏定義的作用範圍 391
12.2.5 宏定義的多行表示 392
12.3 檔案包含 393
12.4 條件編譯 394
12.4.1 條件編譯命令 395
12.4.2 調試中使用DEBUG宏 398
12.4.3 檔案的嵌套包含與條件編譯 400
12.5 小試身手—判斷閏年的宏函式 401
12.6 技能提升—大寫字母轉換 401
12.7 疑難解惑 402
12.8 經典習題 403
第13章 使用庫函式 404
13.1 標準C庫函式 404
13.2 數學函式“math.h” 405
13.2.1 求冪函式與開平方函式 405
13.2.2 指數函式與對數函式 407
13.2.3 三角函式 408
13.2.4 絕對值函式 410
13.2.5 取整函式與取余函式 411
13.3 字元串函式“string.h” 413
13.3.1 字元串長度函式 413
13.3.2 字元串連線函式 414
13.3.3 字元串複製函式 415
13.3.4 字元串大小寫轉換函式 418
13.3.5 字元串查找函式 419
13.3.6 字元串比較函式 421
13.4 字元函式“ctype.h” 424
13.4.1 字元的類型判斷函式 424
13.4.2 字元大小寫轉換函式 426
13.5 其他函式 428
13.5.1 隨機函式 428
13.5.2 日期時間函式 429
13.5.3 結束程式函式 431
13.6 小試身手—字元串首字母轉換成大寫 432
13.7 技能提升—計算任意三角形面積代碼 433
13.8 疑難解惑 434
13.9 經典習題 435
第14章 位運算 436
14.1 位(bit)與位元組(byte)的關係 436
14.2 循環移位 436
14.3 位段 439
14.3.1 位段的定義 439
14.3.2 位段結構在記憶體中的存儲方式 440
14.4 小試身手—計算段位結構的大小 442
14.5 技能提升—將十進制數轉換為二進制數 443
14.6 疑難解惑 444
14.7 經典習題 445
第15章 網路套接字編程 446
15.1 計算機網路入門 446
15.1.1 IP位址 446
15.1.2 OSI七層參考模型 447
15.1.3 地址解析 448
15.1.4 域名系統 449
15.1.5 TCP/IP協定 449
15.1.6 連線埠 451
15.1.7 網路位元組順序 452
15.2 認識套接字 452
15.2.1 套接字概述 452
15.2.2 TCP的套接字的socket編程 453
15.2.3 UDP的套接字的socket編程 453
15.3 套接字函式 454
15.4 小試身手——基於TCP協定的服務端程式 463
15.5 技能提升——基於TCP協定的客戶端程式 465
15.6 疑難解惑 467
15.7 經典習題 468
第16章 動態數據結構 469
16.1 動態存儲分配概述 469
16.1.1 malloc()函式 470
16.1.2 calloc()函式 471
16.1.3 realloc()函式 472
16.1.4 free()函式 474
16.2 鍊表概述 475
16.2.1 鍊表結點的定義 475
16.2.2 鍊表的建立 476
16.2.3 鍊表的遍歷 476
16.2.4 鍊表結點的插入 478
16.2.5 鍊表結點的刪除 482
16.3 小試身手—鍊表的建立、插入和刪除 486
16.4 綜合案例—使用鍊表添加學生信息 490
16.5 疑難解惑 493
16.6 經典習題 494
第17章 數據結構進階 495
17.1 數據結構概述 495
17.2 線性表 497
17.3 棧 499
17.3.1 棧的基本操作 500
17.3.2 順序棧 500
17.3.3 鏈式棧 503
17.4 佇列 505
17.4.1 佇列的基本運算 505
17.4.2 順序佇列 505
17.4.3 鏈式佇列 509
17.5 二叉樹 513
17.5.1 二叉樹的定義 513
17.5.2 二叉樹的遍歷 513
17.6 查找 515
17.6.1 順序查找 515
17.6.2 折半查找 516
17.7 小試身手—查找數組中指定的元素 518
17.8 綜合案例—操作佇列 520
17.9 疑難解惑 524
17.10 經典習題 525
第18章 排序 526
18.1 排序的概述 526
18.2 冒泡排序 527
18.3 快速排序 529
18.4 直接插入排序 531
18.5 希爾排序 533
18.6 簡單選擇排序 535
18.7 堆排序 537
18.8 基數排序 540
18.9 歸併排序 542
18.10 疑難解惑 545
18.11 經典習題 547
第19章 項目實訓——開發餐飲管理系統 548
19.1 需求分析 548
19.2 功能分析 549
19.3 開發前準備工作 550
19.4 系統代碼編寫 551
19.4.1 登錄管理模組 551
19.4.2 員工管理模組 554
19.4.3 用餐服務相關功能 581
19.4.4 數據組織及工具方法 597
19.4.5 主程式入口 609
19.5 系統運行 610
19.6 項目總結 616

相關詞條

熱門詞條

聯絡我們