定 價(jià):¥198.00
作 者: | (美)托尼·加迪斯,朱迪·沃爾特斯,戈德弗雷·穆甘達(dá) |
出版社: | 清華大學(xué)出版社 |
叢編項(xiàng): | 清華計(jì)算機(jī)圖書(shū)譯叢 |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787302503163 | 出版時(shí)間: | 2018-08-01 | 包裝: | 平裝 |
開(kāi)本: | 16開(kāi) | 頁(yè)數(shù): | 字?jǐn)?shù): |
第1章 計(jì)算機(jī)和編程簡(jiǎn)介 1
1.1 為什么要使用程序 1
1.2 計(jì)算機(jī)系統(tǒng):硬件和軟件 2
1.2.1 硬件 2
1.2.2 軟件 5
1.2.3 思考題 6
1.3 程序和編程語(yǔ)言 6
1.3.1 程序的定義 7
1.3.2 編程語(yǔ)言 8
1.3.3 源代碼、目標(biāo)代碼和可執(zhí)行
代碼 9
1.3.4 思考題 11
1.4 程序的組成 11
1.4.1 語(yǔ)言元素 11
1.4.2 代碼行和語(yǔ)句 13
1.4.3 變量 14
1.4.4 變量定義 14
1.5 輸入、處理和輸出 15
思考題 15
1.6 編程過(guò)程 16
1.6.1 設(shè)計(jì)和創(chuàng)建程序 16
1.6.2 軟件工程的定義 19
1.6.3 思考題 20
1.7 綜合演練:顯示個(gè)性化消息 20
1.7.1 復(fù)習(xí)和練習(xí) 21
1.7.2 編程挑戰(zhàn) 23
第2章 C 簡(jiǎn)介 24
2.1 C 程序的部件 24
思考題 27
2.2 cout對(duì)象 27
2.3 #include指令 32
思考題 33
2.4 變量和賦值語(yǔ)句 33
2.5 常數(shù) 35
2.5.1 有時(shí)數(shù)字并不是數(shù)字 36
2.5.2 思考題 36
2.6 標(biāo)識(shí)符 37
2.7 整型數(shù)據(jù)類(lèi)型 39
2.7.1 整數(shù)和長(zhǎng)整型常數(shù) 42
2.7.2 十六進(jìn)制和八進(jìn)制常數(shù) 43
2.7.3 思考題 43
2.8 浮點(diǎn)數(shù)據(jù)類(lèi)型 44
2.8.1 浮點(diǎn)常數(shù) 45
2.8.2 將浮點(diǎn)值分配給整型變量 46
2.8.3 思考題 47
2.9 char數(shù)據(jù)類(lèi)型 47
2.10 C string類(lèi) 51
2.10.1 使用string類(lèi) 51
2.10.2 思考題 52
2.11 bool數(shù)據(jù)類(lèi)型 52
2.12 確定數(shù)據(jù)類(lèi)型的大小 53
2.13 變量賦值和初始化詳解 54
2.14 作用域 56
2.15 算術(shù)運(yùn)算符 56
思考題 60
2.16 注釋 60
2.16.1 單行注釋 61
2.16.2 多行注釋 61
2.17 編程風(fēng)格 62
2.18 綜合演練:笑臉! 63
2.18.1 復(fù)習(xí)和練習(xí) 64
2.18.2 編程挑戰(zhàn) 68
第3章 表達(dá)式和交互 71
3.1 cin對(duì)象 71
3.1.1 輸入多個(gè)值 74
3.1.2 思考題 76
3.2 數(shù)學(xué)表達(dá)式 77
3.2.1 運(yùn)算符的優(yōu)先級(jí) 79
3.2.2 關(guān)聯(lián)性 80
3.2.3 用圓括號(hào)分組 80
3.2.4 將代數(shù)表達(dá)式轉(zhuǎn)換為編程
語(yǔ)句 81
3.2.5 指數(shù)問(wèn)題詳解 81
3.2.6 思考題 83
3.3 數(shù)據(jù)類(lèi)型轉(zhuǎn)換和類(lèi)型強(qiáng)制轉(zhuǎn)換 85
3.3.1 類(lèi)型強(qiáng)制轉(zhuǎn)換 86
3.3.2 思考題 89
3.4 溢出和下溢 90
3.5 命名常量 91
思考題 93
3.6 多變量和組合賦值 94
3.6.1 組合賦值運(yùn)算符 94
3.6.2 思考題 96
3.7 格式化輸出 97
3.7.1 setprecision操作符 100
3.7.2 fixed操作符 103
3.7.3 showpoint操作符 104
3.7.4 left和right操作符 105
3.7.5 思考題 107
3.8 處理字符和字符串 107
3.8.1 輸入字符串 108
3.8.2 輸入一個(gè)字符 110
3.8.3 使用cin.get 110
3.8.4 混合使用cin >>和cin.get 112
3.8.5 使用cin.ignore 112
3.8.6 實(shí)用的string成員函數(shù)和
運(yùn)算符 113
3.8.7 使用C字符串 115
3.8.8 為C字符串賦值 116
3.8.9 跟蹤一個(gè)C字符串的大小 117
3.8.10 讀取一行輸入 119
3.8.11 思考題 120
3.9 更多數(shù)學(xué)庫(kù)函數(shù) 120
3.10 隨機(jī)數(shù)字 122
3.10.1 限制隨機(jī)數(shù)的范圍 125
3.10.2 思考題 125
3.11 關(guān)于調(diào)試:手動(dòng)跟蹤程序 126
3.12 Green Fields Landscaping案例
研究——第1部分 127
3.12.1 問(wèn)題陳述 127
3.12.2 程序設(shè)計(jì) 128
3.12.3 程序 128
3.12.4 General Crates公司案例
研究 130
3.13 綜合演練:?jiǎn)卧~游戲 130
3.13.1 復(fù)習(xí)和練習(xí) 132
3.13.2 編程挑戰(zhàn) 137
第4章 條件選擇 143
4.1 關(guān)系運(yùn)算符 143
4.1.1 關(guān)系的值 144
4.1.2 真值和假值 145
4.1.3 思考題 147
4.2 if語(yǔ)句 148
4.2.1 編程風(fēng)格和if語(yǔ)句 151
4.2.2 要注意的3個(gè)常見(jiàn)錯(cuò)誤 151
4.2.3 真值詳解 153
4.2.4 標(biāo)記 154
4.2.5 整數(shù)標(biāo)記 155
4.2.6 思考題 155
4.3 if-else語(yǔ)句 156
4.3.1 使用if 或if-else的時(shí)機(jī) 157
4.3.2 比較浮點(diǎn)數(shù) 159
4.3.3 思考題 161
4.4 if-else if語(yǔ)句 161
4.4.1 使用結(jié)尾else 166
4.4.2 思考題 167
4.5 菜單驅(qū)動(dòng)程序 168
4.6 嵌套if語(yǔ)句 170
思考題 173
4.7 邏輯運(yùn)算符 174
4.7.1 &&運(yùn)算符 174
4.7.2 || 運(yùn)算符 176
4.7.3 ! 運(yùn)算符 178
4.7.4 布爾變量和?!運(yùn)算符 179
4.7.5 邏輯運(yùn)算符的優(yōu)先級(jí)和
關(guān)聯(lián)性 181
4.7.6 使用邏輯運(yùn)算符檢查數(shù)字
范圍 182
4.7.7 思考題 182
4.8 驗(yàn)證用戶(hù)輸入 183
4.9 塊和作用域詳解 185
4.9.1 同名變量 186
4.9.2 思考題 187
4.10 字符和字符串詳解 188
4.10.1 比較字符 188
4.10.2 比較string對(duì)象 189
4.10.3 測(cè)試字符 191
4.10.4 思考題 193
4.11 條件運(yùn)算符 194
4.11.1 使用條件表達(dá)式的值 195
4.11.2 思考題 197
4.12 switch語(yǔ)句 197
4.12.1 在菜單驅(qū)動(dòng)系統(tǒng)中使用
switch 203
4.12.2 思考題 205
4.13 枚舉數(shù)據(jù)類(lèi)型 206
思考題 209
4.14 關(guān)于測(cè)試和調(diào)試:驗(yàn)證輸出結(jié)果 210
4.15 Green Fields Landscaping案例研
究——第2部分 212
4.15.1 問(wèn)題陳述 212
4.15.2 程序設(shè)計(jì) 213
4.15.3 程序 214
4.15.4 Crazy A1的計(jì)算機(jī)商業(yè)
案例研究 216
4.16 綜合演練:算命游戲 217
4.16.1 復(fù)習(xí)和練習(xí) 218
4.16.2 編程挑戰(zhàn) 222
第5章 循環(huán) 228
5.1 循環(huán)介紹:while循環(huán) 228
5.1.1 while循環(huán) 228
5.1.2 while是一個(gè)預(yù)測(cè)試循環(huán) 230
5.1.3 無(wú)限循環(huán) 231
5.1.4 編程風(fēng)格和while循環(huán) 232
5.1.5 思考題 234
5.2 使用while循環(huán)驗(yàn)證輸入 235
5.3 遞增和遞減運(yùn)算符 237
5.3.1 后綴和前綴模式 239
5.3.2 在數(shù)學(xué)表達(dá)式中使用遞增
和遞減運(yùn)算符 241
5.3.3 在關(guān)系表達(dá)式中使用遞增
和遞減運(yùn)算符 241
5.3.4 思考題 242
5.4 計(jì)數(shù)器 243
5.5 保持累計(jì)匯總 245
5.6 標(biāo)記符號(hào) 247
思考題 248
5.7 do-while循環(huán) 249
5.7.1 toupper函數(shù) 251
5.7.2 與菜單一起使用do-while 252
5.7.3 思考題 254
5.8 for循環(huán) 254
5.8.1 for循環(huán)是一個(gè)預(yù)測(cè)試循環(huán) 257
5.8.2 避免修改for循環(huán)體中的
計(jì)數(shù)器變量 257
5.8.3 更新表達(dá)式的其他形式 258
5.8.4 定義for循環(huán)初始化表達(dá)式
中的變量 258
5.8.5 創(chuàng)建用戶(hù)控制的for循環(huán) 258
5.8.6 在初始化和更新表達(dá)式中
使用多個(gè)語(yǔ)句 259
5.8.7 省略for循環(huán)的表達(dá)式或
循環(huán)體 260
5.8.8 思考題 260
5.9 關(guān)于軟件工程:決定使用哪個(gè)
循環(huán) 261
5.9.1 while循環(huán) 261
5.9.2 do-while循環(huán) 262
5.9.3 for循環(huán) 262
5.10 嵌套循環(huán) 262
5.11 打破循環(huán) 265
5.11.1 在嵌套循環(huán)中使用break 266
5.11.2 continue語(yǔ)句 267
5.11.3 思考題 268
5.12 使用文件進(jìn)行數(shù)據(jù)存儲(chǔ) 269
5.12.1 文件類(lèi)型 270
5.12.2 文件訪問(wèn)方法 271
5.12.3 文件名和文件流對(duì)象 271
5.12.4 為輸入輸出文件設(shè)置
程序 272
5.12.5 創(chuàng)建文件流對(duì)象并打開(kāi)
文件 273
5.12.6 關(guān)閉文件 274
5.12.7 將數(shù)據(jù)寫(xiě)入文件 274
5.12.8 從文件讀取數(shù)據(jù) 276
5.12.9 讀取位置 278
5.12.10 讓用戶(hù)指定一個(gè)文件名 279
5.12.11 使用舊版本C 中的
c_str成員函數(shù) 280
5.12.12 檢測(cè)文件的末尾 280
5.12.13 測(cè)試文件打開(kāi)的錯(cuò)誤 282
5.12.14 思考題 284
5.13 關(guān)于測(cè)試和調(diào)試:創(chuàng)建良好的
測(cè)試數(shù)據(jù) 284
5.14 Central Mountain Credit Union
案例研究 287
5.14.1 問(wèn)題陳述 287
5.14.2 計(jì)算 287
5.14.3 變量 287
5.14.4 程序設(shè)計(jì) 288
5.14.5 詳細(xì)偽代碼 288
5.14.6 程序 289
5.14.7 測(cè)試程序 291
5.14.8 Lightening Lanes案例
研究 291
5.15 綜合演練:多彩世界 291
5.15.1 復(fù)習(xí)和練習(xí) 294
5.15.2 編程挑戰(zhàn) 299
第6章 函數(shù) 305
6.1 模塊化編程 305
6.2 定義和調(diào)用函數(shù) 306
6.2.1 空函數(shù) 307
6.2.2 調(diào)用函數(shù) 307
6.2.3 思考題 313
6.3 函數(shù)原型 314
6.4 將數(shù)據(jù)發(fā)送到函數(shù)中 315
6.5 按值傳遞數(shù)據(jù) 320
思考題 322
6.6 使用return語(yǔ)句 323
6.7 從函數(shù)返回值 325
6.7.1 定義一個(gè)返回值函數(shù) 325
6.7.2 調(diào)用返回值函數(shù) 326
6.8 返回一個(gè)布爾值 330
思考題 332
6.9 在菜單驅(qū)動(dòng)程序中使用函數(shù) 332
6.10 局部變量和全局變量 336
6.10.1 局部變量 336
6.10.2 局部變量生存期 338
6.10.3 使用形參值初始化本地
變量 338
6.10.4 全局變量 338
6.10.5 全局常數(shù) 340
6.10.6 具有相同名稱(chēng)的局部
變量和全局變量 342
6.11 靜態(tài)局部變量 343
思考題 345
6.12 默認(rèn)實(shí)參 346
6.13 使用引用變量作為形參 349
6.13.1 按引用傳遞實(shí)參和
按值傳遞實(shí)參的時(shí)機(jī) 353
6.13.2 將文件傳遞給函數(shù) 355
6.13.3 思考題 358
6.14 重載函數(shù) 359
6.15 使用exit()函數(shù) 364
思考題 365
6.16 樁模塊和驅(qū)動(dòng)模塊 366
6.17 小樂(lè)透案例研究 369
6.17.1 問(wèn)題陳述 369
6.17.2 程序設(shè)計(jì) 369
6.17.3 程序 371
6.17.4 High Adventrue Travel
Agency旅行社案例研究 374
6.18 綜合演練:發(fā)光的南瓜燈 374
6.18.1 復(fù)習(xí)和練習(xí) 378
6.18.2 編程挑戰(zhàn) 381
第7章 類(lèi)和對(duì)象簡(jiǎn)介 388
7.1 抽象數(shù)據(jù)類(lèi)型 388
7.1.1 抽象 388
7.1.2 在軟件開(kāi)發(fā)中使用抽象 389
7.1.3 抽象數(shù)據(jù)類(lèi)型 389
7.2 面向?qū)ο缶幊?nbsp; 389
7.3 關(guān)于類(lèi)的介紹 391
7.3.1 使用已經(jīng)知道的類(lèi) 391
7.3.2 創(chuàng)建自己的類(lèi) 392
7.3.3 訪問(wèn)修飾符 393
7.3.4 private和public成員的
位置 393
7.4 創(chuàng)建和使用對(duì)象 394
7.4.1 訪問(wèn)對(duì)象的成員 395
7.4.2 訪問(wèn)器和設(shè)置器 396
7.5 定義成員函數(shù) 397
7.5.1 類(lèi)成員函數(shù)的命名約定 399
7.5.2 避免陳舊數(shù)據(jù) 402
7.5.3 內(nèi)聯(lián)函數(shù)詳解 402
7.5.4 思考題 403
7.6 構(gòu)造函數(shù) 403
7.6.1 重載構(gòu)造函數(shù) 407
7.6.2 默認(rèn)構(gòu)造函數(shù) 408
7.7 析構(gòu)函數(shù) 409
思考題 410
7.8 私有成員函數(shù) 412
7.9 將對(duì)象傳遞給函數(shù) 415
7.9.1 常量引用形參 418
7.9.2 從函數(shù)返回一個(gè)對(duì)象 419
7.9.3 思考題 422
7.10 對(duì)象組合 422
思考題 425
7.11 關(guān)于軟件工程:分離類(lèi)規(guī)范、
實(shí)現(xiàn)和客戶(hù)端代碼 426
7.11.1 使用多個(gè)文件的優(yōu)點(diǎn) 431
7.11.2 在類(lèi)對(duì)象中執(zhí)行輸入
輸出 432
7.11.3 思考題 432
7.12 結(jié)構(gòu) 432
7.12.1 訪問(wèn)結(jié)構(gòu)成員 433
7.12.2 顯示和比較結(jié)構(gòu)變量 435
7.12.3 初始化結(jié)構(gòu) 436
7.12.4 嵌套結(jié)構(gòu) 437
7.12.5 思考題 440
7.12.6 將結(jié)構(gòu)傳遞給函數(shù) 441
7.12.7 從函數(shù)返回一個(gè)結(jié)構(gòu) 443
7.12.8 思考題 444
7.13 枚舉數(shù)據(jù)類(lèi)型詳解 445
7.13.1 在同一個(gè)語(yǔ)句中聲明enum
數(shù)據(jù)類(lèi)型并定義變量 445
7.13.2 將整數(shù)賦值給enum
變量 445
7.13.3 將枚舉量賦值給int
變量 446
7.13.4 使用數(shù)學(xué)運(yùn)算符改變
enum變量的值 446
7.13.5 使用枚舉量輸出值 446
7.13.6 使用枚舉量控制循環(huán) 447
7.13.7 使用C 11中的強(qiáng)類(lèi)型
enum 448
7.14 Home Software公司OOP案例
研究 449
7.14.1 私有成員變量 450
7.14.2 公共成員函數(shù) 450
7.14.3 類(lèi)聲明 450
7.14.4 withdraw會(huì)員函數(shù) 451
7.14.5 類(lèi)接口 452
7.14.6 實(shí)現(xiàn)類(lèi) 452
7.15 面向?qū)ο蠓治雠c設(shè)計(jì)介紹 456
7.15.1 尋找類(lèi) 459
7.15.2 確定類(lèi)的責(zé)任 462
7.15.3 這僅僅是個(gè)開(kāi)始 465
7.15.4 對(duì)象的可重用性 465
7.15.5 面向?qū)ο笈c基于對(duì)象的
編程 465
7.15.6 思考題 465
7.16 屏幕控制 466
7.16.1 屏幕光標(biāo)定位 466
7.16.2 創(chuàng)建一個(gè)屏幕輸入表單 469
7.17 綜合演練:溜溜球動(dòng)畫(huà) 471
7.17.1 復(fù)習(xí)和練習(xí) 473
7.17.2 編程挑戰(zhàn) 479
第8章 數(shù)組 486
8.1 保存多個(gè)值的數(shù)組 486
8.2 訪問(wèn)數(shù)組元素 488
8.3 輸入和顯示數(shù)組內(nèi)容 489
8.3.1 將數(shù)據(jù)從文件讀入數(shù)組 491
8.3.2 將數(shù)組的內(nèi)容寫(xiě)入文件 493
8.3.3 C 中沒(méi)有數(shù)組邊界檢查 493
8.3.4 注意大小差一錯(cuò)誤 495
8.3.5 思考題 496
8.4 數(shù)組初始化 497
8.4.1 從數(shù)組元素1開(kāi)始 501
8.4.2 數(shù)組部分初始化 501
8.4.3 隱式數(shù)組大小 503
8.4.4 初始化變量的新方法 503
8.5 基于范圍的for循環(huán) 504
8.6 處理數(shù)組內(nèi)容 507
8.6.1 復(fù)制一個(gè)數(shù)組到另一個(gè) 509
8.6.2 比較兩個(gè)數(shù)組 510
8.6.3 對(duì)數(shù)字?jǐn)?shù)組中的值求和 511
8.6.4 查找數(shù)字?jǐn)?shù)組中數(shù)值的
平均值 511
8.6.5 在數(shù)字?jǐn)?shù)組中查找最高值
和最低值 512
8.6.6 部分填充數(shù)組 514
8.6.7 為什么要使用數(shù)組 515
8.6.8 處理字符串 517
8.7 使用并行數(shù)組 519
思考題 521
8.8 typedef聲明 523
8.9 數(shù)組作為函數(shù)參數(shù) 523
8.9.1 使用const數(shù)組形參 529
8.9.2 一些有用的數(shù)組函數(shù) 529
8.9.3 思考題 532
8.10 二維數(shù)組 533
8.10.1 將二維數(shù)組傳遞給函數(shù) 537
8.10.2 對(duì)二維數(shù)組的所有元素
求和 539
8.10.3 對(duì)二維數(shù)組的行求和 539
8.10.4 對(duì)二維數(shù)組的列求和 540
8.11 三維或三維以上數(shù)組 541
思考題 543
8.12 矢量 544
8.12.1 定義和初始化矢量 545
8.12.2 存儲(chǔ)和檢索矢量中的值 546
8.12.3 使用C 11中基于范圍
的for循環(huán)和vector 548
8.12.4 使用push_back成員
函數(shù) 549
8.12.5 確定矢量的大小 550
8.12.6 從矢量中刪除元素 552
8.12.7 清理矢量 553
8.12.8 檢測(cè)一個(gè)空矢量 554
8.12.9 矢量成員函數(shù)匯總 556
8.12.10 思考題 556
8.13 對(duì)象數(shù)組* 557
8.13.1 思考題 562
8.13.2 結(jié)構(gòu)數(shù)組 563
8.13.3 思考題 566
8.14 National Commerce Bank案例
研究 567
8.15 綜合演練:石頭、剪刀、布 569
8.15.1 復(fù)習(xí)和練習(xí) 571
8.15.2 編程挑戰(zhàn) 575
第9章 搜索、排序和算法分析 585
9.1 搜索算法簡(jiǎn)介 585
9.1.1 線性搜索 585
9.1.2 二分搜索 588
9.2 搜索對(duì)象數(shù)組 591
思考題 595
9.3 排序算法簡(jiǎn)介 595
9.3.1 冒泡排序 595
9.3.2 選擇排序 599
9.3.3 思考題 604
9.4 對(duì)象數(shù)組排序 604
9.5 矢量排序和搜索 607
9.6 算法分析簡(jiǎn)介 609
9.6.1 計(jì)算問(wèn)題和基本步驟 610
9.6.2 算法的復(fù)雜度 611
9.6.3 算法的最壞情況下的
復(fù)雜度 613
9.6.4 平均情況下的復(fù)雜度 615
9.6.5 漸近復(fù)雜度與大O表示法 615
9.6.6 思考題 617
9.7 案例研究 617
9.8 綜合演練:秘密消息 617
9.8.1 復(fù)習(xí)和練習(xí) 622
9.8.2 編程挑戰(zhàn) 623
第10章 指針 627
10.1 指針和地址運(yùn)算符 627
10.2 指針變量 629
10.3 數(shù)組與指針之間的關(guān)系 632
10.4 指針的算術(shù)運(yùn)算 637
10.5 初始化指針 638