定 價:¥129.00
作 者: | 王英英,李小威 |
出版社: | 清華大學出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787302503262 | 出版時間: | 2018-07-01 | 包裝: | 平裝 |
開本: | 16 | 頁數(shù): | 616 | 字數(shù): |
第1章 為什么要學習C語言——認識C語言 1
1.1 C語言概述 1
1.1.1 C語言的起源 1
1.1.2 C語言的特點 2
1.1.3 C語言的應(yīng)用領(lǐng)域 4
1.2 C語言的常用開發(fā)環(huán)境 4
1.2.1 Visual C 6.0開發(fā)環(huán)境 4
1.2.2 Turbo C 2.0開發(fā)環(huán)境 10
1.2.3 Visual Studio 2017開發(fā)環(huán)境 11
1.3 C語言編譯機制 14
1.4 編寫第1個C語言程序 15
1.4.1 在Visual C 6.0中開發(fā)C程序 15
1.4.2 在Turbo C中開發(fā)C程序 20
1.4.3 在Visual Studio 2017中開發(fā)C程序 23
1.5 疑難解惑 25
1.6 經(jīng)典習題 26
第2章 C語言程序結(jié)構(gòu) 27
2.1 C語言源程序 27
2.1.1 熟悉源程序的特點 28
2.1.2 函數(shù) 28
2.2 編碼規(guī)范 29
2.2.1 版式要求 29
2.2.2 命名規(guī)則 30
2.2.3 正確性與容錯要求 30
2.3 語句 31
2.3.1 表達式語句 31
2.3.2 函數(shù)調(diào)用語句 31
2.3.3 控制語句 31
2.3.4 復合語句 32
2.3.5 空語句 32
2.4 輸入輸出對象 32
2.4.1 格式化輸入函數(shù) 32
2.4.2 格式化輸出函數(shù) 36
2.4.3 字符的輸入函數(shù) 40
2.4.4 字符的輸出函數(shù) 42
2.4.5 字符串的輸入函數(shù) 43
2.4.6 字符串的輸出函數(shù) 44
2.5 關(guān)鍵字 45
2.6 標識符 46
2.7 小試身手—格式控制符對寬度和精度的操作 47
2.8 技能提升—在printf()函數(shù)中展示各類格式控制符 48
2.9 疑難解惑 49
2.10 經(jīng)典習題 50
第3章 算法與流程圖 52
3.1 算法的概念 52
3.1.1 算法的特性 53
3.1.2 衡量算法的“好”與“壞” 53
3.2 流程圖簡介 54
3.2.1 傳統(tǒng)流程圖 55
3.2.2 N-S流程圖 57
3.3 如何描述算法 57
3.3.1 自然語言 57
3.3.2 流程圖 59
3.3.3 三種基本結(jié)構(gòu) 60
3.3.4 N-S流程圖 66
3.3.5 偽代碼 69
3.3.6 計算機語言 71
3.4 結(jié)構(gòu)化程序設(shè)計方法 72
3.5 小試身手—求100以內(nèi)能被3和5整除的數(shù) 73
3.6 技能提升—求奇數(shù)的階層之后再求和 74
3.7 疑難解惑 75
3.8 經(jīng)典習題 76
第4章 數(shù)據(jù)類型 78
4.1 數(shù)據(jù)的表示方法 78
4.1.1 十進制 79
4.1.2 二進制 79
4.1.3 八進制 79
4.1.4 十六進制 79
4.2 基本數(shù)據(jù)類型 80
4.2.1 整數(shù)類型 80
4.2.2 字符類型 83
4.2.3 實型 85
4.2.4 布爾類型 87
4.3 數(shù)據(jù)類型的轉(zhuǎn)換 88
4.3.1 自動類型轉(zhuǎn)換 88
4.3.2 強制類型轉(zhuǎn)換 90
4.4 常量 91
4.4.1 整數(shù)常量 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 動態(tài)存儲與靜態(tài)存儲 105
4.6.2 自動(auto)變量 105
4.6.3 靜態(tài)(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 小試身手——查詢數(shù)據(jù)類型的長度 112
4.10 技能提升——求長方體的體積及三個面的面積 114
4.11 疑難解惑 115
4.12 經(jīng)典習題 116
第5章 運算符和表達式 117
5.1 運算符概述 117
5.1.1 賦值運算符 117
5.1.2 算術(shù)運算符 120
5.1.3 關(guān)系運算符 122
5.1.4 邏輯運算符 124
5.1.5 位邏輯運算符 126
5.1.6 移位運算符 127
5.1.7 條件運算符 128
5.1.8 逗號運算符 130
5.1.9 類型轉(zhuǎn)換運算符 131
5.2 運算符優(yōu)先級和結(jié)合性 132
5.3 表達式概述 133
5.4 小試身手—判斷兩個變量的大小 134
5.5 技能拓展—運算符解決生活小問題 135
5.6 疑難解惑 136
5.7 經(jīng)典習題 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分支結(jié)構(gòu)語句 149
6.4 循環(huán)語句 151
6.4.1 while循環(huán) 152
6.4.2 do…while循環(huán) 153
6.4.3 for循環(huán) 155
6.4.4 循環(huán)語句的嵌套 157
6.5 跳出循環(huán) 158
6.5.1 break語句 158
6.5.2 continue語句 159
6.6 小試身手—判定三角形 160
6.7 技能提升—自動售貨機 161
6.8 疑難解惑 163
6.9 自我評估 164
第7章函數(shù) 165
7.1 函數(shù)的基本結(jié)構(gòu) 165
7.1.1 函數(shù)的聲明與定義 165
7.1.2 函數(shù)的調(diào)用 170
7.1.3 函數(shù)的嵌套調(diào)用 174
7.1.4 函數(shù)的遞歸調(diào)用 176
7.1.5 函數(shù)的參數(shù) 179
7.1.6 參數(shù)的傳遞方式 181
7.2 函數(shù)的返回語句 184
7.2.1 函數(shù)的返回值 184
7.2.2 函數(shù)的結(jié)束標志 186
7.2.3 函數(shù)的返回值類型 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 經(jīng)典習題 198
第8章 數(shù)組 200
8.1 數(shù)組的概述 200
8.2 一維數(shù)組 201
8.2.1 一維數(shù)組的定義 201
8.2.2 一維數(shù)組的引用 203
8.2.3 一維數(shù)組的初始化 204
8.2.4 數(shù)組的操作 207
8.3 二維數(shù)組和多維數(shù)組 209
8.3.1 二維數(shù)組的定義 209
8.3.2 二維數(shù)組的引用 209
8.3.3 二維數(shù)組的初始化 212
8.3.4 多維數(shù)組 215
8.3.5 數(shù)組的操作 217
8.4 數(shù)組與函數(shù) 220
8.4.1 一維數(shù)組作為函數(shù)的參數(shù) 220
8.4.2 數(shù)組名作為函數(shù)參數(shù) 221
8.4.3 形參數(shù)組和實參數(shù)組 222
8.5 字符數(shù)組 224
8.5.1 字符數(shù)組與字符串 224
8.5.2 字符數(shù)組的輸出與輸入 228
8.5.3 字符串處理函數(shù) 231
8.6 小試身手—計算字符數(shù)組的長度 237
8.7 技能提升—操作矩陣 238
8.8 疑難解惑 240
8.9 經(jīng)典習題 241
第9章 指針 242
9.1 指針概述 242
9.1.1 地址與指針 242
9.1.2 指針變量的定義 245
9.1.3 指針變量的引用 248
9.2 指針與函數(shù) 251
9.2.1 指針變量作為函數(shù)參數(shù) 251
9.2.2 指針函數(shù) 253
9.2.3 函數(shù)指針 256
9.3 指針與數(shù)組 258
9.3.1 數(shù)組元素的指針 258
9.3.2 指針的運算 259
9.3.3 通過指針引用數(shù)組元素 260
9.3.4 指向數(shù)組的指針變量作為函數(shù)參數(shù) 262
9.3.5 通過指針對二維數(shù)組進行引用 268
9.4 指針與字符串 274
9.4.1 字符指針 274
9.4.2 使用字符指針做函數(shù)參數(shù) 278
9.4.3 字符數(shù)組與字符指針變量的區(qū)別 282
9.5 指針數(shù)組和多重指針 283
9.5.1 指針數(shù)組 284
9.5.2 指向指針的指針 288
9.6 小試身手—遍歷數(shù)組 294
9.7 綜合案例—尋找第一個相同元素 295
9.8 疑難解惑 297
9.9 經(jīng)典習題 300
第10章 結(jié)構(gòu)體、共用體和枚舉 301
10.1 結(jié)構(gòu)體概述 301
10.1.1 結(jié)構(gòu)體類型 301
10.1.2 定義結(jié)構(gòu)體變量 303
10.1.3 初始化結(jié)構(gòu)體變量 305
10.1.4 結(jié)構(gòu)體變量的引用 306
10.2 結(jié)構(gòu)體數(shù)組 309
10.2.1 定義結(jié)構(gòu)體數(shù)組 309
10.2.2 結(jié)構(gòu)體數(shù)組的初始化 311
10.2.3 結(jié)構(gòu)體數(shù)組元素的引用 312
10.2.4 結(jié)構(gòu)體數(shù)組應(yīng)用實例 313
10.3 結(jié)構(gòu)體指針 314
10.3.1 指向結(jié)構(gòu)體變量的指針 314
10.3.2 指向結(jié)構(gòu)體數(shù)組的指針 318
10.3.3 結(jié)構(gòu)體變量作為函數(shù)參數(shù) 320
10.3.4 指向結(jié)構(gòu)體變量的指針作為函數(shù)參數(shù) 321
10.3.5 結(jié)構(gòu)體作為函數(shù)的返回值 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 技能提升—創(chuàng)建學生成績輸入系統(tǒng) 335
10.8 疑難解惑 337
10.9 經(jīng)典習題 339
第11章 操作文件 340
11.1 文件概述 340
11.1.1 文件類型 341
11.1.2 文件指針 342
11.1.3 文件的緩沖區(qū) 343
11.2 文件的打開與關(guān)閉 343
11.2.1 文件的打開操作 344
11.2.2 文件的關(guān)閉 346
11.3 文件的讀寫 347
11.3.1 字符的讀寫 347
11.3.2 字符串的讀寫 351
11.3.3 數(shù)據(jù)塊的讀寫 354
11.3.4 格式化讀寫函數(shù) 358
11.4 文件定位與文件的隨機讀寫 362
11.4.1 文件頭定位函數(shù)rewind() 362
11.4.2 隨機定位函數(shù)fseek() 363
11.4.3 當前讀寫位置函數(shù)ftell() 365
11.5 文件檢測函數(shù) 366
11.5.1 文件結(jié)束檢測函數(shù)feof() 366
11.5.2 文件讀寫錯誤檢測函數(shù)ferror() 367
11.5.3 文件錯誤標志清除函數(shù)clearerr() 369
11.6 小試身手—整理學生體檢信息 370
11.7 技能提升—制作暑期計劃表 372
11.8 疑難解惑 374
11.9 經(jīng)典習題 376
第12章 編譯與預處理指令 377
12.1 預處理 377
12.2 宏定義命令—#define 380
12.2.1 無參數(shù)的宏 380
12.2.2 帶參數(shù)的宏定義 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 調(diào)試中使用DEBUG宏 398
12.4.3 文件的嵌套包含與條件編譯 400
12.5 小試身手—判斷閏年的宏函數(shù) 401
12.6 技能提升—大寫字母轉(zhuǎn)換 401
12.7 疑難解惑 402
12.8 經(jīng)典習題 403
第13章 使用庫函數(shù) 404
13.1 標準C庫函數(shù) 404
13.2 數(shù)學函數(shù)“math.h” 405
13.2.1 求冪函數(shù)與開平方函數(shù) 405
13.2.2 指數(shù)函數(shù)與對數(shù)函數(shù) 407
13.2.3 三角函數(shù) 408
13.2.4 絕對值函數(shù) 410
13.2.5 取整函數(shù)與取余函數(shù) 411
13.3 字符串函數(shù)“string.h” 413
13.3.1 字符串長度函數(shù) 413
13.3.2 字符串連接函數(shù) 414
13.3.3 字符串復制函數(shù) 415
13.3.4 字符串大小寫轉(zhuǎn)換函數(shù) 418
13.3.5 字符串查找函數(shù) 419
13.3.6 字符串比較函數(shù) 421
13.4 字符函數(shù)“ctype.h” 424
13.4.1 字符的類型判斷函數(shù) 424
13.4.2 字符大小寫轉(zhuǎn)換函數(shù) 426
13.5 其他函數(shù) 428
13.5.1 隨機函數(shù) 428
13.5.2 日期時間函數(shù) 429
13.5.3 結(jié)束程序函數(shù) 431
13.6 小試身手—字符串首字母轉(zhuǎn)換成大寫 432
13.7 技能提升—計算任意三角形面積代碼 433
13.8 疑難解惑 434
13.9 經(jīng)典習題 435
第14章 位運算 436
14.1 位(bit)與字節(jié)(byte)的關(guān)系 436
14.2 循環(huán)移位 436
14.3 位段 439
14.3.1 位段的定義 439
14.3.2 位段結(jié)構(gòu)在內(nèi)存中的存儲方式 440
14.4 小試身手—計算段位結(jié)構(gòu)的大小 442
14.5 技能提升—將十進制數(shù)轉(zhuǎn)換為二進制數(shù) 443
14.6 疑難解惑 444
14.7 經(jīng)典習題 445
第15章 網(wǎng)絡(luò)套接字編程 446
15.1 計算機網(wǎng)絡(luò)入門 446
15.1.1 IP地址 446
15.1.2 OSI七層參考模型 447
15.1.3 地址解析 448
15.1.4 域名系統(tǒng) 449
15.1.5 TCP/IP協(xié)議 449
15.1.6 端口 451
15.1.7 網(wǎng)絡(luò)字節(jié)順序 452
15.2 認識套接字 452
15.2.1 套接字概述 452
15.2.2 TCP的套接字的socket編程 453
15.2.3 UDP的套接字的socket編程 453
15.3 套接字函數(shù) 454
15.4 小試身手——基于TCP協(xié)議的服務(wù)端程序 463
15.5 技能提升——基于TCP協(xié)議的客戶端程序 465
15.6 疑難解惑 467
15.7 經(jīng)典習題 468
第16章 動態(tài)數(shù)據(jù)結(jié)構(gòu) 469
16.1 動態(tài)存儲分配概述 469
16.1.1 malloc()函數(shù) 470
16.1.2 calloc()函數(shù) 471
16.1.3 realloc()函數(shù) 472
16.1.4 free()函數(shù) 474
16.2 鏈表概述 475
16.2.1 鏈表結(jié)點的定義 475
16.2.2 鏈表的建立 476
16.2.3 鏈表的遍歷 476
16.2.4 鏈表結(jié)點的插入 478
16.2.5 鏈表結(jié)點的刪除 482
16.3 小試身手—鏈表的建立、插入和刪除 486
16.4 綜合案例—使用鏈表添加學生信息 490
16.5 疑難解惑 493
16.6 經(jīng)典習題 494
第17章 數(shù)據(jù)結(jié)構(gòu)進階 495
17.1 數(shù)據(jù)結(jié)構(gòu)概述 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 小試身手—查找數(shù)組中指定的元素 518
17.8 綜合案例—操作隊列 520
17.9 疑難解惑 524
17.10 經(jīng)典習題 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 基數(shù)排序 540
18.9 歸并排序 542
18.10 疑難解惑 545
18.11 經(jīng)典習題 547
第19章 項目實訓——開發(fā)餐飲管理系統(tǒng) 548
19.1 需求分析 548
19.2 功能分析 549
19.3 開發(fā)前準備工作 550
19.4 系統(tǒng)代碼編寫 551
19.4.1 登錄管理模塊 551
19.4.2 員工管理模塊 554
19.4.3 用餐服務(wù)相關(guān)功能 581
19.4.4 數(shù)據(jù)組織及工具方法 597
19.4.5 主程序入口 609
19.5 系統(tǒng)運行 610
19.6 項目總結(jié) 616