定 價(jià):¥129.00
作 者: | 王英英,李小威 |
出版社: | 清華大學(xué)出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787302503262 | 出版時(shí)間: | 2018-07-01 | 包裝: | 平裝 |
開(kāi)本: | 16 | 頁(yè)數(shù): | 616 | 字?jǐn)?shù): |
第1章 為什么要學(xué)習(xí)C語(yǔ)言——認(rèn)識(shí)C語(yǔ)言 1
1.1 C語(yǔ)言概述 1
1.1.1 C語(yǔ)言的起源 1
1.1.2 C語(yǔ)言的特點(diǎn) 2
1.1.3 C語(yǔ)言的應(yīng)用領(lǐng)域 4
1.2 C語(yǔ)言的常用開(kāi)發(fā)環(huán)境 4
1.2.1 Visual C 6.0開(kāi)發(fā)環(huán)境 4
1.2.2 Turbo C 2.0開(kāi)發(fā)環(huán)境 10
1.2.3 Visual Studio 2017開(kāi)發(fā)環(huán)境 11
1.3 C語(yǔ)言編譯機(jī)制 14
1.4 編寫(xiě)第1個(gè)C語(yǔ)言程序 15
1.4.1 在Visual C 6.0中開(kāi)發(fā)C程序 15
1.4.2 在Turbo C中開(kāi)發(fā)C程序 20
1.4.3 在Visual Studio 2017中開(kāi)發(fā)C程序 23
1.5 疑難解惑 25
1.6 經(jīng)典習(xí)題 26
第2章 C語(yǔ)言程序結(jié)構(gòu) 27
2.1 C語(yǔ)言源程序 27
2.1.1 熟悉源程序的特點(diǎn) 28
2.1.2 函數(shù) 28
2.2 編碼規(guī)范 29
2.2.1 版式要求 29
2.2.2 命名規(guī)則 30
2.2.3 正確性與容錯(cuò)要求 30
2.3 語(yǔ)句 31
2.3.1 表達(dá)式語(yǔ)句 31
2.3.2 函數(shù)調(diào)用語(yǔ)句 31
2.3.3 控制語(yǔ)句 31
2.3.4 復(fù)合語(yǔ)句 32
2.3.5 空語(yǔ)句 32
2.4 輸入輸出對(duì)象 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 標(biāo)識(shí)符 46
2.7 小試身手—格式控制符對(duì)寬度和精度的操作 47
2.8 技能提升—在printf()函數(shù)中展示各類(lèi)格式控制符 48
2.9 疑難解惑 49
2.10 經(jīng)典習(xí)題 50
第3章 算法與流程圖 52
3.1 算法的概念 52
3.1.1 算法的特性 53
3.1.2 衡量算法的“好”與“壞” 53
3.2 流程圖簡(jiǎn)介 54
3.2.1 傳統(tǒng)流程圖 55
3.2.2 N-S流程圖 57
3.3 如何描述算法 57
3.3.1 自然語(yǔ)言 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 計(jì)算機(jī)語(yǔ)言 71
3.4 結(jié)構(gòu)化程序設(shè)計(jì)方法 72
3.5 小試身手—求100以?xún)?nèi)能被3和5整除的數(shù) 73
3.6 技能提升—求奇數(shù)的階層之后再求和 74
3.7 疑難解惑 75
3.8 經(jīng)典習(xí)題 76
第4章 數(shù)據(jù)類(lèi)型 78
4.1 數(shù)據(jù)的表示方法 78
4.1.1 十進(jìn)制 79
4.1.2 二進(jìn)制 79
4.1.3 八進(jìn)制 79
4.1.4 十六進(jìn)制 79
4.2 基本數(shù)據(jù)類(lèi)型 80
4.2.1 整數(shù)類(lèi)型 80
4.2.2 字符類(lèi)型 83
4.2.3 實(shí)型 85
4.2.4 布爾類(lèi)型 87
4.3 數(shù)據(jù)類(lèi)型的轉(zhuǎn)換 88
4.3.1 自動(dòng)類(lèi)型轉(zhuǎn)換 88
4.3.2 強(qiáng)制類(lèi)型轉(zhuǎn)換 90
4.4 常量 91
4.4.1 整數(shù)常量 91
4.4.2 字符常量 93
4.4.3 字符串常量 95
4.4.4 符號(hào)常量 96
4.5 變量 97
4.5.1 變量的定義 97
4.5.2 變量的聲明 98
4.5.3 變量的初始化與賦值 99
4.5.4 變量的分類(lèi) 100
4.6 變量的存儲(chǔ)類(lèi)別 105
4.6.1 動(dòng)態(tài)存儲(chǔ)與靜態(tài)存儲(chǔ) 105
4.6.2 自動(dòng)(auto)變量 105
4.6.3 靜態(tài)(static)變量 107
4.6.4 寄存器(register)變量 107
4.6.5 外部(extern)變量 108
4.7 混合運(yùn)算 109
4.7.1 存儲(chǔ)形式 109
4.7.2 范圍 109
4.4.3 混合運(yùn)算原則 110
4.8 typedef與#define 111
4.9 小試身手——查詢(xún)數(shù)據(jù)類(lèi)型的長(zhǎng)度 112
4.10 技能提升——求長(zhǎng)方體的體積及三個(gè)面的面積 114
4.11 疑難解惑 115
4.12 經(jīng)典習(xí)題 116
第5章 運(yùn)算符和表達(dá)式 117
5.1 運(yùn)算符概述 117
5.1.1 賦值運(yùn)算符 117
5.1.2 算術(shù)運(yùn)算符 120
5.1.3 關(guān)系運(yùn)算符 122
5.1.4 邏輯運(yùn)算符 124
5.1.5 位邏輯運(yùn)算符 126
5.1.6 移位運(yùn)算符 127
5.1.7 條件運(yùn)算符 128
5.1.8 逗號(hào)運(yùn)算符 130
5.1.9 類(lèi)型轉(zhuǎn)換運(yùn)算符 131
5.2 運(yùn)算符優(yōu)先級(jí)和結(jié)合性 132
5.3 表達(dá)式概述 133
5.4 小試身手—判斷兩個(gè)變量的大小 134
5.5 技能拓展—運(yùn)算符解決生活小問(wèn)題 135
5.6 疑難解惑 136
5.7 經(jīng)典習(xí)題 137
第6章 程序流程控制語(yǔ)句 138
6.1 順序語(yǔ)句 138
6.2 條件判斷語(yǔ)句 139
6.2.1 if條件 139
6.2.2 if…else條件 142
6.2.3 條件運(yùn)算符 144
6.3 多重選擇語(yǔ)句 145
6.3.1 if…else…if語(yǔ)句 145
6.3.2 if的嵌套語(yǔ)句 147
6.3.3 switch分支結(jié)構(gòu)語(yǔ)句 149
6.4 循環(huán)語(yǔ)句 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)語(yǔ)句的嵌套 157
6.5 跳出循環(huán) 158
6.5.1 break語(yǔ)句 158
6.5.2 continue語(yǔ)句 159
6.6 小試身手—判定三角形 160
6.7 技能提升—自動(dòng)售貨機(jī) 161
6.8 疑難解惑 163
6.9 自我評(píng)估 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ù)的返回語(yǔ)句 184
7.2.1 函數(shù)的返回值 184
7.2.2 函數(shù)的結(jié)束標(biāo)志 186
7.2.3 函數(shù)的返回值類(lèi)型 187
7.3 變量的作用域 188
7.3.1 局部變量 189
7.3.2 全局變量 190
7.4 小試身手—倒序輸出字符 193
7.5 技能提升1—打印乘法口訣表 194
7.6 技能提升2—分析學(xué)生的成績(jī) 195
7.7 疑難解惑 197
7.8 經(jīng)典習(xí)題 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í)參數(shù)組 222
8.5 字符數(shù)組 224
8.5.1 字符數(shù)組與字符串 224
8.5.2 字符數(shù)組的輸出與輸入 228
8.5.3 字符串處理函數(shù) 231
8.6 小試身手—計(jì)算字符數(shù)組的長(zhǎng)度 237
8.7 技能提升—操作矩陣 238
8.8 疑難解惑 240
8.9 經(jīng)典習(xí)題 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 指針的運(yùn)算 259
9.3.3 通過(guò)指針引用數(shù)組元素 260
9.3.4 指向數(shù)組的指針變量作為函數(shù)參數(shù) 262
9.3.5 通過(guò)指針對(duì)二維數(shù)組進(jìn)行引用 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 綜合案例—尋找第一個(gè)相同元素 295
9.8 疑難解惑 297
9.9 經(jīng)典習(xí)題 300
第10章 結(jié)構(gòu)體、共用體和枚舉 301
10.1 結(jié)構(gòu)體概述 301
10.1.1 結(jié)構(gòu)體類(lèi)型 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)用實(shí)例 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 定義枚舉類(lèi)型 329
10.5.2 定義枚舉類(lèi)型變量 330
10.6 小試身手—建立居民身份信息卡 333
10.7 技能提升—?jiǎng)?chuàng)建學(xué)生成績(jī)輸入系統(tǒng) 335
10.8 疑難解惑 337
10.9 經(jīng)典習(xí)題 339
第11章 操作文件 340
11.1 文件概述 340
11.1.1 文件類(lèi)型 341
11.1.2 文件指針 342
11.1.3 文件的緩沖區(qū) 343
11.2 文件的打開(kāi)與關(guān)閉 343
11.2.1 文件的打開(kāi)操作 344
11.2.2 文件的關(guān)閉 346
11.3 文件的讀寫(xiě) 347
11.3.1 字符的讀寫(xiě) 347
11.3.2 字符串的讀寫(xiě) 351
11.3.3 數(shù)據(jù)塊的讀寫(xiě) 354
11.3.4 格式化讀寫(xiě)函數(shù) 358
11.4 文件定位與文件的隨機(jī)讀寫(xiě) 362
11.4.1 文件頭定位函數(shù)rewind() 362
11.4.2 隨機(jī)定位函數(shù)fseek() 363
11.4.3 當(dāng)前讀寫(xiě)位置函數(shù)ftell() 365
11.5 文件檢測(cè)函數(shù) 366
11.5.1 文件結(jié)束檢測(cè)函數(shù)feof() 366
11.5.2 文件讀寫(xiě)錯(cuò)誤檢測(cè)函數(shù)ferror() 367
11.5.3 文件錯(cuò)誤標(biāo)志清除函數(shù)clearerr() 369
11.6 小試身手—整理學(xué)生體檢信息 370
11.7 技能提升—制作暑期計(jì)劃表 372
11.8 疑難解惑 374
11.9 經(jīng)典習(xí)題 376
第12章 編譯與預(yù)處理指令 377
12.1 預(yù)處理 377
12.2 宏定義命令—#define 380
12.2.1 無(wú)參數(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 技能提升—大寫(xiě)字母轉(zhuǎn)換 401
12.7 疑難解惑 402
12.8 經(jīng)典習(xí)題 403
第13章 使用庫(kù)函數(shù) 404
13.1 標(biāo)準(zhǔn)C庫(kù)函數(shù) 404
13.2 數(shù)學(xué)函數(shù)“math.h” 405
13.2.1 求冪函數(shù)與開(kāi)平方函數(shù) 405
13.2.2 指數(shù)函數(shù)與對(duì)數(shù)函數(shù) 407
13.2.3 三角函數(shù) 408
13.2.4 絕對(duì)值函數(shù) 410
13.2.5 取整函數(shù)與取余函數(shù) 411
13.3 字符串函數(shù)“string.h” 413
13.3.1 字符串長(zhǎng)度函數(shù) 413
13.3.2 字符串連接函數(shù) 414
13.3.3 字符串復(fù)制函數(shù) 415
13.3.4 字符串大小寫(xiě)轉(zhuǎn)換函數(shù) 418
13.3.5 字符串查找函數(shù) 419
13.3.6 字符串比較函數(shù) 421
13.4 字符函數(shù)“ctype.h” 424
13.4.1 字符的類(lèi)型判斷函數(shù) 424
13.4.2 字符大小寫(xiě)轉(zhuǎn)換函數(shù) 426
13.5 其他函數(shù) 428
13.5.1 隨機(jī)函數(shù) 428
13.5.2 日期時(shí)間函數(shù) 429
13.5.3 結(jié)束程序函數(shù) 431
13.6 小試身手—字符串首字母轉(zhuǎn)換成大寫(xiě) 432
13.7 技能提升—計(jì)算任意三角形面積代碼 433
13.8 疑難解惑 434
13.9 經(jīng)典習(xí)題 435
第14章 位運(yùn)算 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)存中的存儲(chǔ)方式 440
14.4 小試身手—計(jì)算段位結(jié)構(gòu)的大小 442
14.5 技能提升—將十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù) 443
14.6 疑難解惑 444
14.7 經(jīng)典習(xí)題 445
第15章 網(wǎng)絡(luò)套接字編程 446
15.1 計(jì)算機(jī)網(wǎng)絡(luò)入門(mén) 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 認(rèn)識(shí)套接字 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é)議的客戶(hù)端程序 465
15.6 疑難解惑 467
15.7 經(jīng)典習(xí)題 468
第16章 動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu) 469
16.1 動(dòng)態(tài)存儲(chǔ)分配概述 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é)點(diǎn)的定義 475
16.2.2 鏈表的建立 476
16.2.3 鏈表的遍歷 476
16.2.4 鏈表結(jié)點(diǎn)的插入 478
16.2.5 鏈表結(jié)點(diǎn)的刪除 482
16.3 小試身手—鏈表的建立、插入和刪除 486
16.4 綜合案例—使用鏈表添加學(xué)生信息 490
16.5 疑難解惑 493
16.6 經(jīng)典習(xí)題 494
第17章 數(shù)據(jù)結(jié)構(gòu)進(jìn)階 495
17.1 數(shù)據(jù)結(jié)構(gòu)概述 495
17.2 線(xiàn)性表 497
17.3 棧 499
17.3.1 棧的基本操作 500
17.3.2 順序棧 500
17.3.3 鏈?zhǔn)綏?nbsp; 503
17.4 隊(duì)列 505
17.4.1 隊(duì)列的基本運(yùn)算 505
17.4.2 順序隊(duì)列 505
17.4.3 鏈?zhǔn)疥?duì)列 509
17.5 二叉樹(shù) 513
17.5.1 二叉樹(shù)的定義 513
17.5.2 二叉樹(shù)的遍歷 513
17.6 查找 515
17.6.1 順序查找 515
17.6.2 折半查找 516
17.7 小試身手—查找數(shù)組中指定的元素 518
17.8 綜合案例—操作隊(duì)列 520
17.9 疑難解惑 524
17.10 經(jīng)典習(xí)題 525
第18章 排序 526
18.1 排序的概述 526
18.2 冒泡排序 527
18.3 快速排序 529
18.4 直接插入排序 531
18.5 希爾排序 533
18.6 簡(jiǎn)單選擇排序 535
18.7 堆排序 537
18.8 基數(shù)排序 540
18.9 歸并排序 542
18.10 疑難解惑 545
18.11 經(jīng)典習(xí)題 547
第19章 項(xiàng)目實(shí)訓(xùn)——開(kāi)發(fā)餐飲管理系統(tǒng) 548
19.1 需求分析 548
19.2 功能分析 549
19.3 開(kāi)發(fā)前準(zhǔn)備工作 550
19.4 系統(tǒng)代碼編寫(xiě) 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)運(yùn)行 610
19.6 項(xiàng)目總結(jié) 616