C++程序設(shè)計(jì)教程(第二版)實(shí)驗(yàn)指導(dǎo)
定 價(jià):24 元
叢書名:C++程序設(shè)計(jì)系列教材
- 作者:錢能
- 出版時(shí)間:2007/8/1
- ISBN:9787302153535
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP312
- 頁碼:
- 紙張:膠版紙
- 版次:1
- 開本:16
本書作為主教材《C++程序設(shè)計(jì)教程(第二版)》的配套教材,并對(duì)第一版的《C++程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)》做了改版,無論從內(nèi)容體系、結(jié)構(gòu)布局、實(shí)驗(yàn)環(huán)境、課程目標(biāo),還是從所描述的實(shí)驗(yàn)細(xì)節(jié)上都有了根本性的改進(jìn)。該書除了可與主教材配套使用外,還可以根據(jù)內(nèi)容的指引及網(wǎng)站的配合,進(jìn)行獨(dú)立練習(xí)。
本書配合主教材,并通過配套網(wǎng)站的使用、代碼現(xiàn)場(chǎng)提交、遠(yuǎn)程判題、反饋判題結(jié)果來衡量自身學(xué)習(xí)的效果,以實(shí)現(xiàn)初學(xué)者代碼調(diào)試和問題解決這兩種能力的實(shí)質(zhì)性提升。
書中的三大部分分別包含了五個(gè)實(shí)驗(yàn)套題和一個(gè)實(shí)戰(zhàn)套題,每部分都列有實(shí)驗(yàn)要求、目標(biāo)、難度與特點(diǎn),并提供完整的樣板實(shí)驗(yàn)。實(shí)驗(yàn)套題中所設(shè)計(jì)的問題,其求解充滿懸念,須開動(dòng)腦筋,同時(shí)還提供了提示與解答指導(dǎo)。
本書適合作為高等學(xué)!癈++程序設(shè)計(jì)”課程的輔助教材,提供教師在教學(xué)中選用其中的一部分;也適合于立志自學(xué)成才的讀者,幫助他們從零開始走向高級(jí)程序員。
第二版前言
《C++程序設(shè)計(jì)教程(第二版)實(shí)驗(yàn)指導(dǎo)》是主教材《C++程序設(shè)計(jì)教程(第二版)》的配套書。由于第二版主教材對(duì)第一版作了根本性的改版,所以對(duì)應(yīng)的實(shí)驗(yàn)指導(dǎo)的第二版也基本拋棄了第一版的成書結(jié)構(gòu),無論從內(nèi)容體系、結(jié)構(gòu)布局、實(shí)驗(yàn)環(huán)境、課程目標(biāo),還是從所描述的實(shí)驗(yàn)細(xì)節(jié)上都作了根本性的改進(jìn)。
該書從題目設(shè)計(jì),測(cè)試數(shù)據(jù)的構(gòu)造到難易的把握、整體的布局,都是圍繞C++程序設(shè)計(jì)課程教學(xué)來安排的,因而書中實(shí)驗(yàn)的設(shè)計(jì)自成一個(gè)課程知識(shí)體系。這有利于讓課堂知識(shí)的講解朝著問題驅(qū)動(dòng)的教學(xué)模式邁進(jìn),以更好地進(jìn)行師生互動(dòng),提高教學(xué)效果。
本書共分三個(gè)部分,每一部分均由“實(shí)驗(yàn)概述”、“樣板實(shí)驗(yàn)”、“實(shí)驗(yàn)內(nèi)容”和“解題指導(dǎo)”四章構(gòu)成。每個(gè)部分都包含了五個(gè)實(shí)驗(yàn)套題和一個(gè)階段測(cè)驗(yàn),以供教師和學(xué)生選擇使用。其中每個(gè)部分都有實(shí)驗(yàn)要求、目標(biāo),列出了本部分實(shí)驗(yàn)的難度與特點(diǎn),并提供樣板實(shí)驗(yàn)。同時(shí),除了階段測(cè)驗(yàn)外,各套實(shí)驗(yàn)都提供了解題指導(dǎo)。
第一部分為入門編程,目的在于掌握C++程序設(shè)計(jì)的基本操作與編程的基本描述技能,以便展開比較有深度的編程分析與邏輯描述的思考。本部分是能否學(xué)到C++編程要領(lǐng)的關(guān)鍵,如果第一部分沒有掌握,寧可重學(xué),也千萬不要跟讀后面的內(nèi)容,因?yàn)闆]有表達(dá)能力與調(diào)試經(jīng)驗(yàn),所從事的編程邏輯思考,恰似無緣之木、無源之水,雖努力撐持,最后也只能痛言放棄。
第二部分為基本編程,目的是掌握C++程序設(shè)計(jì)的基本方法,提高以編程來解決實(shí)際問題的能力。這部分內(nèi)容學(xué)得是否到位,是能否成為一個(gè)真正程序員的分水嶺。因?yàn)楦闳魏卫碚撔匝芯,都離不開抽象思維、數(shù)學(xué)和算法思想。對(duì)科學(xué)研究來說,語言編程環(huán)境只不過是個(gè)具體的描述工具而已。另一方面,搞任何系統(tǒng)開發(fā),都離不開對(duì)編程語言、編程工具、編程資源的了解,而這一切都與充分進(jìn)行的編程實(shí)踐密切相關(guān)。程序設(shè)計(jì)課程的后續(xù)課程《數(shù)據(jù)結(jié)構(gòu)與算法》也正是為了強(qiáng)化這兩個(gè)目的而開設(shè)的。
第三部分為設(shè)計(jì)與組織,它主要面向編程方法,讓讀者了解和掌握如何對(duì)程序進(jìn)行合理的布局組織與結(jié)構(gòu)劃分。編程方法有多少,程序結(jié)構(gòu)的形式就有多少,因此,學(xué)會(huì)了程序組織的不同形式,也就從實(shí)踐環(huán)節(jié)上看透了各種編程方法的差異與聯(lián)系,同時(shí)也熟悉了多文件結(jié)構(gòu)的程序工程調(diào)試,實(shí)踐過程化與對(duì)象化程序設(shè)計(jì),實(shí)踐面向?qū)ο蟪绦蛟O(shè)計(jì)及模板的設(shè)計(jì),從而從抽象設(shè)計(jì)的角度,從分析問題的角度,從設(shè)計(jì)與代碼描述一體化的角度,從系統(tǒng)實(shí)現(xiàn)的角度,來了解C++的語言描述能力,了解操作系統(tǒng)與語言系統(tǒng)的聯(lián)系。
本書的目標(biāo)是與主教材密切配合,讓讀者以自學(xué)提高為主,逐步具備自學(xué)編程的能力,即綜合分析問題、解決問題的能力與操作編程技能的同步提高,以便能夠獨(dú)立研讀算法理論和系統(tǒng)開發(fā)指導(dǎo)等書籍,輔之以網(wǎng)上討論,專家點(diǎn)撥,最終實(shí)現(xiàn)自己的價(jià)值。
本書配有一個(gè)實(shí)驗(yàn)環(huán)境網(wǎng)站,內(nèi)有一個(gè)題庫,包含了書中第一部分和第二部分的全部實(shí)驗(yàn)。網(wǎng)站上具有判題功能,讀者可以對(duì)應(yīng)實(shí)驗(yàn)的題號(hào),提交自己的代碼,驗(yàn)證正確性;測(cè)試運(yùn)行性能,看是否符合要求。同時(shí),網(wǎng)站上還會(huì)不斷進(jìn)行一些課程實(shí)驗(yàn),組織一些相關(guān)的上機(jī)考試,推出一些新的實(shí)驗(yàn)套題,并定期在清華大學(xué)出版社網(wǎng)站和C++課程教學(xué)網(wǎng)站http://kczy.zjut.edu.cn:8015(可由實(shí)驗(yàn)網(wǎng)站鏈接進(jìn)入)上提供解答及相關(guān)的教學(xué)資料。
該C++實(shí)驗(yàn)網(wǎng)站是一個(gè)可以自由訪問的實(shí)驗(yàn)提交系統(tǒng),由屢獲大學(xué)生程序設(shè)計(jì)競(jìng)賽佳績的學(xué)生經(jīng)過兩個(gè)版本的更新而成型。值得一提的是,金天鵬和金啟為同學(xué)為該系統(tǒng)做出了卓越的貢獻(xiàn)。實(shí)驗(yàn)環(huán)境使用說明見附錄C。
書中的例子,還有解答指導(dǎo)的樣本代碼,其風(fēng)格與主教材保持一致。所有書中的代碼都在Borland C++ Builder 6(簡(jiǎn)稱BCB6)上通過了測(cè)試,在清華大學(xué)出版社網(wǎng)站http://www.tup.tsinghua.edu.cn上可以下載有關(guān)的樣板實(shí)驗(yàn)代碼。為了方便讀者的學(xué)習(xí),還同時(shí)提供另一套可以在VC6上運(yùn)行通過的樣板實(shí)驗(yàn)代碼供讀者下載。
書末附有BCB6的安裝和簡(jiǎn)單操作使用介紹以及BCB6的錯(cuò)誤信息解讀。最后還介紹了實(shí)驗(yàn)教學(xué)系統(tǒng)OPS的使用說明。
在本書的寫作過程中,得到了多方面的幫助。學(xué)校網(wǎng)絡(luò)中心對(duì)實(shí)驗(yàn)教學(xué)系統(tǒng)OPS給予了多方關(guān)照,保證了其正常運(yùn)行;教務(wù)處對(duì)C++課程教學(xué)建設(shè)也一直在關(guān)心和支持;甚至教育部計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)教學(xué)指導(dǎo)分委員會(huì)指導(dǎo)下的2007年計(jì)算機(jī)專業(yè)核心課程C++程序設(shè)計(jì)教師研修班也在作者所在的浙江工業(yè)大學(xué)舉辦。作為國家“十一五”規(guī)劃教材,本書出版之際,我們的C++程序設(shè)計(jì)課程已被評(píng)為省級(jí)精品課程,整個(gè)C++課程組都在課程建設(shè)和教材建設(shè)方面發(fā)揮著積極作用。
網(wǎng)評(píng)和論壇也給了我許多啟示,甚至有些電子郵件直接就說是為了讓我寫出更好的書。因而所寫的書,似乎出自大家的手。感謝為我提供資源,為我創(chuàng)造條件,讓我靜下心來的人們!在他們的關(guān)照、呵護(hù)和鼓勵(lì)下,我的寫作過程充滿了靈感。好吧,再往前行,接著寫下一本,努力滿足讀者的要求。
作者的電子郵件地址是:qianneng@mail.hz.zj.cn
錢 能
2007年夏于杭州自在居
前 言
本書是《C++程序設(shè)計(jì)教程》的配套書,同時(shí)它也可單獨(dú)作為學(xué)習(xí)C++的上機(jī)實(shí)驗(yàn)指導(dǎo)書。C++程序設(shè)計(jì)的環(huán)境有許多,這里選擇了兩種,分別是Borland(或TURBO)C++ 3.0 for DOS版和Borland(或TURBO)C++ 5.0 for Windows版。
其中,對(duì)Borland C++ 3.0的使用方法給予了較完整的介紹,并給出了編譯和鏈接的錯(cuò)誤信息中文解釋。
書中根據(jù)C++程序設(shè)計(jì)教程的進(jìn)度,安排了十個(gè)實(shí)驗(yàn)單元。每個(gè)單元都指出了實(shí)驗(yàn)?zāi)康暮拖盗械膶?shí)驗(yàn)題目。每個(gè)實(shí)驗(yàn)題目都給出基本要求和思考問題。個(gè)別實(shí)驗(yàn)列出了測(cè)試數(shù)據(jù)和選做項(xiàng)目。還根據(jù)需要,個(gè)別地方介紹了操作過程。最后還介紹了常用標(biāo)準(zhǔn)庫函數(shù)的函數(shù)原型,并對(duì)有些復(fù)雜的函數(shù)適當(dāng)展開介紹其使用方法。
II
C++程序設(shè)計(jì)教程(第二版)實(shí)驗(yàn)指導(dǎo)
III
目 錄
目 錄
第一部分 入 門 編 程
第1章 實(shí)驗(yàn)概述2
1.1 實(shí)驗(yàn)?zāi)繕?biāo)2
1.2 實(shí)驗(yàn)環(huán)境3
1.3 實(shí)驗(yàn)安排5
1.4 做題步驟6
第2章 樣板實(shí)驗(yàn)15
2.1 實(shí)驗(yàn)內(nèi)容15
2.2 分析題意15
2.3 算法描述18
2.4 代碼編寫19
2.5 編譯調(diào)試22
2.6 算法任意性23
2.7 測(cè)試數(shù)據(jù)25
第3章 實(shí)驗(yàn)內(nèi)容27
3.1 第一套實(shí)驗(yàn)27
3.1.1 OPS歡迎您27
3.1.2 一個(gè)@字符矩形27
3.1.3 一個(gè)#字符正方形28
3.1.4 一個(gè)字符三角形28
3.1.5 正方形面積29
3.1.6 A-B29
3.2 第二套實(shí)驗(yàn)30
3.2.1 字符三角形30
3.2.2 字符菱形31
3.2.3 背靠背字符三角形31
3.2.4 交替字符倒三角形32
3.2.5 格式陣列一33
3.2.6 格式陣列二33
3.3 第三套實(shí)驗(yàn)34
3.3.1 1!到n!的和34
3.3.2 等比數(shù)列35
3.3.3 菲波那契數(shù)35
3.3.4 最大公約數(shù)36
3.3.5 最小公倍數(shù)36
3.3.6 平均數(shù)37
3.4 第四套實(shí)驗(yàn)37
3.4.1 級(jí)數(shù)求和37
3.4.2 對(duì)稱三位數(shù)素?cái)?shù)38
3.4.3 母牛問題39
3.4.4 整數(shù)內(nèi)碼39
3.4.5 整除3、5、740
3.5 第五套實(shí)驗(yàn)40
3.5.1 十-二進(jìn)制轉(zhuǎn)換40
3.5.2 均方差41
3.5.3 五位以內(nèi)的對(duì)稱素?cái)?shù)42
3.5.4 統(tǒng)計(jì)天數(shù)42
3.5.5 楊輝三角形43
3.6 階段測(cè)驗(yàn)44
3.6.1 逆反01串44
3.6.2 倒楊輝三角形44
3.6.3 “順”序列45
3.6.4 數(shù)字和46
3.6.5 組合數(shù)46
3.6.6 折紙游戲47
第4章 解題指導(dǎo)49
4.1 第一套實(shí)驗(yàn)49
4.1.1 OPS歡迎您49
4.1.2 一個(gè)@字符矩形50
4.1.3 一個(gè)#字符正方形51
4.1.4 一個(gè)字符三角形51
4.1.5 正方形面積52
4.1.6 A-B53
4.2 第二套實(shí)驗(yàn)53
4.2.1 字符三角形53
4.2.2 字符菱形54
4.2.3 背靠背字符三角形55
4.2.4 交替字符倒三角形55
4.2.5 格式陣列一56
4.2.6 格式陣列二58
4.3 第三套實(shí)驗(yàn)58
4.3.1 1!到n!的和58
4.3.2 等比數(shù)列60
4.3.3 菲波那契數(shù)61
4.3.4 最大公約數(shù)61
4.3.5 最小公倍數(shù)62
4.3.6 平均數(shù)62
4.4 第四套實(shí)驗(yàn)62
4.4.1 級(jí)數(shù)求和63
4.4.2 對(duì)稱三位數(shù)素?cái)?shù)64
4.4.3 母牛問題66
4.4.4 整數(shù)內(nèi)碼68
4.4.5 整除3、5、769
4.5 第五套實(shí)驗(yàn)70
4.5.1 十-二進(jìn)制轉(zhuǎn)換70
4.5.2 均方差71
4.5.3 五位以內(nèi)的對(duì)稱素?cái)?shù)72
4.5.4 統(tǒng)計(jì)天數(shù)73
4.5.5 楊輝三角形74
第二部分 基 本 編 程
第5章 實(shí)驗(yàn)概述78
5.1 實(shí)驗(yàn)?zāi)繕?biāo)78
5.2 實(shí)驗(yàn)規(guī)則79
5.3 實(shí)驗(yàn)成績80
第6章 樣板實(shí)驗(yàn)82
6.1 實(shí)驗(yàn)內(nèi)容82
6.2 分析與試探82
6.3 解決時(shí)空問題88
6.4 提高搜索速度91
6.5 測(cè)試數(shù)據(jù)生成93
第7章 實(shí)驗(yàn)內(nèi)容95
7.1 第一套實(shí)驗(yàn)95
7.1.1 列出完數(shù)95
7.1.2 12!配對(duì)95
7.1.3 整數(shù)的因子數(shù)96
7.1.4 浮點(diǎn)數(shù)的位碼96
7.1.5 對(duì)稱素?cái)?shù)97
7.2 第二套實(shí)驗(yàn)98
7.2.1 密鑰加密98
7.2.2 密鑰解密99
7.2.3 01串排序100
7.2.4 按績點(diǎn)排名100
7.2.5 去掉雙斜杠注釋101
7.3 第三套實(shí)驗(yàn)102
7.3.1 n!的位數(shù)102
7.3.2 排列對(duì)稱串103
7.3.3 勒讓德多項(xiàng)式表103
7.3.4 立方數(shù)與連續(xù)奇數(shù)和104
7.3.5 菲波那契數(shù)105
7.4 第四套實(shí)驗(yàn)105
7.4.1 簡(jiǎn)單四則運(yùn)算105
7.4.2 大數(shù)加106
7.4.3 大數(shù)和107
7.4.4 彼此兩點(diǎn)最近107
7.4.5 離直線最近的點(diǎn)109
7.5 第五套實(shí)驗(yàn)109
7.5.1 大數(shù)乘109
7.5.2 n!中的0110
7.5.3 整數(shù)模110
7.5.4 k個(gè)勝利者111
7.5.5 表達(dá)式個(gè)數(shù)112
7.6 階段測(cè)驗(yàn)112
7.6.1 半數(shù)跳海113
7.6.2 01串的位值113
7.6.3 勘探油田114
7.6.4 另類二進(jìn)制數(shù)115
7.6.5 不甘井底的蝸牛116
第8章 解題指導(dǎo)118
8.1 第一套實(shí)驗(yàn)118
8.1.1 列出完數(shù)118
8.1.2 12!配對(duì)119
8.1.3 整數(shù)的因子數(shù)120
8.1.4 浮點(diǎn)數(shù)的位碼122
8.1.5 對(duì)稱素?cái)?shù)123
8.2 第二套實(shí)驗(yàn)125
8.2.1 密鑰加密126
8.2.2 密鑰解密127
8.2.3 01串排序127
8.2.4 按績點(diǎn)排名129
8.2.5 去掉雙斜杠注釋130
8.3 第三套實(shí)驗(yàn)131
8.3.1 n!的位數(shù)132
8.3.2 排列對(duì)稱串133
8.3.3 勒讓德多項(xiàng)式表134
8.3.4 立方數(shù)與連續(xù)奇數(shù)和135
8.3.5 菲波那契數(shù)136
8.4 第四套實(shí)驗(yàn)136
8.4.1 簡(jiǎn)單四則運(yùn)算136
8.4.2 大數(shù)加139
8.4.3 大數(shù)和140
8.4.4 彼此兩點(diǎn)最近142
8.4.5 離直線最近的點(diǎn)143
8.5 第五套實(shí)驗(yàn)144
8.5.1 大數(shù)乘144
8.5.2 n!中的0145
8.5.3 整數(shù)模147
8.5.4 k個(gè)勝利者149
8.5.5 表達(dá)式個(gè)數(shù)149
第三部分 設(shè)計(jì)與組織
第9章 實(shí)驗(yàn)概述152
9.1 實(shí)驗(yàn)?zāi)繕?biāo)152
9.2 實(shí)驗(yàn)步驟154
9.3 實(shí)驗(yàn)報(bào)告155
第10章 樣板實(shí)驗(yàn)157
10.1 實(shí)驗(yàn)題目157
10.2 分析設(shè)計(jì)158
10.3 工程操作163
10.4 獨(dú)立運(yùn)行164
第11章 實(shí)驗(yàn)內(nèi)容166
11.1 實(shí)驗(yàn)一166
11.2 實(shí)驗(yàn)二167
11.3 實(shí)驗(yàn)三170
11.4 實(shí)驗(yàn)四174
11.5 實(shí)驗(yàn)五175
11.6 階段測(cè)驗(yàn)177
第12章 解題指導(dǎo)179
12.1 實(shí)驗(yàn)一179
12.2 實(shí)驗(yàn)二186
12.3 實(shí)驗(yàn)三195
12.4 實(shí)驗(yàn)四201
12.5 實(shí)驗(yàn)五207
附錄215
附錄A實(shí)驗(yàn)操作指南215
A.1BCB6安裝說明215
A.2BCB6操作介紹215
附錄BBCB6常見編譯錯(cuò)誤222
附錄C網(wǎng)上提交在線判題系統(tǒng)(OPS)使用說明272
VIII
C++程序設(shè)計(jì)教程(第二版)實(shí)驗(yàn)指導(dǎo)
VII
目 錄