定 價:18 元
叢書名:普通高校本科計算機專業(yè)特色教材精選·算法與程序設(shè)計
- 作者:朱金付、柏毅、鄭雪清、何鐵軍等
- 出版時間:2009/9/1
- ISBN:9787302200383
- 出 版 社:清華大學出版社
- 中圖法分類:TP312
- 頁碼:
- 紙張:膠版紙
- 版次:1
- 開本:16
本書是為學習程序設(shè)計語言C++的讀者準備的,與同期出版的《C++程序設(shè)計》一書配套使用,也可以與其他介紹C++的教材配套使用。本書旨在引導學生如何從課題(題目)出發(fā),經(jīng)過思考分析,設(shè)計出符合要求的C++程序,并且上機調(diào)試通過。書中還介紹了在Visual C++ 6.0環(huán)境下調(diào)試程序的方法和技巧。全書設(shè)計了25個實驗,每個實驗分為三個部分:概述、案例和實驗指導。概述部分簡述實驗內(nèi)容和實驗目的。案例部分詳細描述了完整的課題,包括課題內(nèi)容、課題分析、完整的源代碼和對本課題的思考。每個實驗的實驗指導部分設(shè)計了2~3個課題。這些課題的難度,所代表的概念、技巧或算法各不相同,供不同能力的讀者選做。每個實驗的案例和讀者課題都是經(jīng)過精心設(shè)計的,所構(gòu)思的對課題的分析和思考,引導讀者從不同的角度去審視課題,從而設(shè)計出不同的、各具特色的程序。
本書是為沒有學習過程序設(shè)計語言的讀者而編寫的?梢宰鳛榇髮T盒@砉た茖W生學習C++語言的教材,也可以作為計算機二級考試的參考書
計算機語言是現(xiàn)代大學生的必修課。C++是一種重要的計算機語言,它特別適合開發(fā)大型系統(tǒng)程序,它的機制獨特,功能強大,高效而實用,引導著程序設(shè)計的潮流。在計算機基礎(chǔ)教學領(lǐng)域,C++教學蓬勃發(fā)展,大有迅速取代C語言的勢頭。
Windows是當前最流行的程序設(shè)計工作平臺,而Microsoft Visual C++是最常用的Windows平臺下的C++程序設(shè)計集成環(huán)境之一。本書中的實驗就是以Visual C++為平臺展開的,當然多數(shù)課題實驗也可以在其他C++環(huán)境下進行。
本書作者都是從事高校計算機語言教學的專家,也有著大型軟件設(shè)計的經(jīng)驗。對高等教育熟悉,對C++的深刻理解,對大學生心理、思維習慣、學習困惑的了解,是編寫這本書的基礎(chǔ)。學生在學習C++課程的過程中,聽課一般聽得懂,課后看書也可以看懂,但是動手編程時,往往無從下手,不知所措。很多參加等級考試的學生未能通過,都是因為機試考不好。編寫本書的目的就是試圖幫助學生解決這一難題。
全書設(shè)置了25個實驗,涵蓋了《C++程序設(shè)計》一書從面向過程到面向?qū)ο蟛糠值娜績?nèi)容。每個實驗分為三個部分:概述、案例和實驗指導。概述部分簡述實驗內(nèi)容和實驗目的。案例部分詳細地描述了一個完整的課題,包括課題內(nèi)容、課題分析、完整的源代碼和對本課題的思考。案例向讀者展示對本類課題的認識、分析和思考,力圖使學生能舉一反三,完成其他課題。每個實驗的實驗指導部分設(shè)計了2~3個讀者課題,由讀者完成。這些課題的難度,所代表的概念、技巧或算法不同,供不同能力的讀者選做。讀者可以做其中之一,也可以全做。書中對這些課題給出了分析,作為讀者完成這些實驗的引導和啟示。每個實驗的案例和讀者課題都是經(jīng)過精心設(shè)計的,所構(gòu)思的對課題的分析和思考,引導讀者從不同的角度去審視課題,從而可以設(shè)計出不同的、各具特色的程序。
本書在第一個實驗就介紹了VC++的集成環(huán)境,從實用的角度出發(fā),略去了一些暫時用不著的部分,減輕了讀者的學習負擔。在第二個實驗介紹了VC++環(huán)境下調(diào)試程序的方法和技巧。為了增強學生的分析能力,書中還專門介紹如何將N-S圖轉(zhuǎn)換為C++程序。
在日常的教學活動和作者自己開發(fā)軟件的過程中,都遇到過不少實驗問題,學生上機所出現(xiàn)的問題以及存在的困惑,都給了作者許多有益的啟發(fā),也是編寫本書的動力。但是本書作者對C++的實驗的理解尚有局限性,加上本書成書倉促,書中難免有許多不足甚至是錯誤之處,懇請廣大讀者不吝指正,以利于在再版時修正。
本書由朱金付、柏毅、鄭雪清、何鐵軍、徐冬梅、朱萍等老師合作編寫。朱敏教授審閱了全書并做了大量的指導工作。
實驗1 熟悉Visual C++下項目文件的創(chuàng)建1
1.1 概述1
1.2 Visual C++集成開發(fā)環(huán)境介紹及項目文件的創(chuàng)建1
1.3 實驗指導6
1.3.1 表達式求解6
1.3.2 整除與求余數(shù)運算符6
1.3.3 條件運算符7
1.3.4 sizeof運算符7
實驗2 選擇結(jié)構(gòu)9
2.1 概述9
2.2 Visual C++ 6.0單步(Step Over)調(diào)試方法9
2.3 案例11
案例1 使用N-S圖分析程序11
案例2 將N-S圖轉(zhuǎn)換成C++程序11
2.4 實驗指導13
2.4.1 變量排序13
2.4.2 三角形類型判別14
2.4.3 貨價計算14
實驗3 循環(huán)結(jié)構(gòu)15
3.1 概述15
3.2 Visual C++6.0斷點設(shè)置和變量監(jiān)視15
3.3 案例17
案例3 用遞推法求階乘多項式和17
3.4 實驗指導19
3.4.1 整數(shù)的逆序轉(zhuǎn)換193.4.2 輸出圖形19
3.4.3 猴子吃桃19
3.4.4 判斷降序數(shù)20
實驗4 流程控制綜合實驗21
4.1 概述21
4.2 案例21
案例4 枚舉法示例21
案例5 遞推迭代法22
4.3 實驗指導23
4.3.1 求親密對數(shù)23
4.3.2 求滿足12+22+32+…+n2<10000的n的最大值23
4.3.3 計算分數(shù)序列之和23
4.3.4 利用級數(shù)展開式計算cosx24
4.3.5 求方程的解24
C++實驗指導書目錄 實驗5 函數(shù)的定義和調(diào)用25
5.1 概述25
5.2 Visual C++ 6.0的函數(shù)調(diào)試25
5.3 案例27
案例6 求親密對數(shù)27
5.4 實驗指導28
5.4.1 求400以內(nèi)的素數(shù)28
5.4.2 哥德巴赫猜想28
5.4.3 求質(zhì)因子之和28
5.4.4 變量排序29
實驗6 遞歸函數(shù)31
6.1 概述31
6.2 Visual C++ 6.0的Call Stack31
6.3 案例33
案例7 用遞歸法進行進制轉(zhuǎn)換33
6.4 實驗指導34
6.4.1 整數(shù)十二進制逆序輸出34
6.4.2 遞歸求公約數(shù)34
6.4.3 遞歸求級數(shù)35
6.4.4 求n階勒讓德多項式的值35
實驗7 編譯預處理實驗37
7.1 概述37
7.2 Visual C++6.0的多文件組織37
7.3 案例39
案例8 宏定義示例39
7.4 實驗指導39
7.4.1 計算梯形的面積39
7.4.2 輸出Fibonnaci數(shù)列各項的值40
7.4.3 計算圓、矩形、梯形的面積40
實驗8 一維數(shù)組的基本處理41
8.1 概述41
8.2 案例41
案例9 根據(jù)期中成績和期末成績計算學生最終成績41
8.3 實驗指導43
8.3.1 統(tǒng)計數(shù)組元素中正數(shù)、負數(shù)和零的個數(shù)43
8.3.2 統(tǒng)計學生平均成績43
8.3.3 上浮策略的冒泡排序44
實驗9 一維、二維數(shù)組應(yīng)用45
9.1 概述45
9.2 案例45
案例10 二路歸并排序45
9.3 實驗指導48
9.3.1 二維數(shù)組處理48
9.3.2 用冒泡法對二維數(shù)組排序48
9.3.3 堆棧處理50
實驗10 字符數(shù)組應(yīng)用51
10.1 概述51
10.2 案例51
案例11 字符串統(tǒng)計51
10.3 實驗指導53
10.3.1 字符串復制53
10.3.2 字符串拼接54
10.3.3 刪除相同字符55
實驗11 結(jié)構(gòu)體類型及其應(yīng)用57
11.1 概述57
11.2 案例57
案例12 學生成績統(tǒng)計57
11.3 實驗指導59
11.3.1 商品結(jié)構(gòu)體類型變量的定義和使用59
11.3.2 定義二維坐標點結(jié)構(gòu)體類型并計算矩形面積60
實驗12 類與對象的概念與設(shè)計61
12.1 概述61
12.2 案例61
案例13 定義復數(shù)類61
12.3 實驗指導63
12.3.1 定義圖書類63
12.3.2 定義商品類63
實驗13 指針的定義與使用65
13.1 概述65
13.2 案例65
案例14 查找子串65
13.3 實驗指導67
13.3.1 使用指針輸入10個實數(shù)67
13.3.2 求兩集合的交集67
13.3.3 構(gòu)造回文68
實驗14 指針算法的綜合應(yīng)用71
14.1 概述71
14.2 案例71
案例15 二叉樹遍歷71
14.3 實驗指導74
14.3.1 質(zhì)因子分解74
14.3.2 線性表處理75
實驗15 鏈表程序設(shè)計77
15.1 概述77
15.2 案例77
案例16 單向鏈表合并77
15.3 實驗指導81
15.3.1 單向鏈表應(yīng)用--插入排序81
15.3.2 單向鏈表應(yīng)用--高考錄取處理82
實驗16 構(gòu)造函數(shù)定義與使用83
16.1 概述83
16.2 案例83
案例17 學生類的聲明及其對象的初始化83
16.3 實驗指導85
16.3.1 日期類的聲明和對象的定義85
16.3.2 集合類的聲明和對象的定義85
16.3.3 職工類的聲明和對象的定義86
實驗17 構(gòu)造函數(shù)和析構(gòu)函數(shù)87
17.1 概述87
17.2 案例87
案例18 含有指針成員學生類的聲明及其對象的初始化87
17.3 實驗指導89
17.3.1 通訊錄類的聲明和對象的定義89
17.3.2 線性表類的聲明和對象的定義90
實驗18 繼承與派生的概念與設(shè)計93
18.1 概述93
18.2 案例93
案例19 由基類在校人員類派生學生類93
18.3 實驗指導95
18.3.1 由基類圓類派生圓柱體類95
18.3.2 由在校人員類作為基類派生教師類96
18.3.3 由學生類、課程類作為基類,共同派生選課類96
實驗19 繼承與派生的應(yīng)用99
19.1 概述99
19.2 案例99
案例20 由基類在校人員類派生研究生類和教師類99
案例21 虛基類的應(yīng)用101
19.3 實驗指導103
實驗20 虛函數(shù)的概念與應(yīng)用105
20.1 概述105
20.2 案例105
案例22 虛函數(shù)的定義和使用105
案例23 純虛函數(shù)的應(yīng)用108
20.3 實驗指導108
實驗21 運算符重載的概念與應(yīng)用(一)111
21.1 概述111
21.2 案例111
案例24 用函數(shù)成員實現(xiàn)圓類對象間的直接運算111
案例25 用友元函數(shù)實現(xiàn)圓類對象間的直接運算113
21.3 實驗指導114
21.3.1 三維坐標類對象間的直接運算114
21.3.2 用函數(shù)成員實現(xiàn)線性表對象間的直接運算114
21.3.3 用友元函數(shù)實現(xiàn)線性表對象間的直接運算116
實驗22 運算符重載的概念與應(yīng)用(二)117
22.1 概述117
22.2 案例117
案例26 利用友元運算符實現(xiàn)字符串類對象間的直接運算117
22.3 實驗指導120
22.3.1 用類型轉(zhuǎn)換函數(shù)計算學生類對象的平均成績120
22.3.2 利用成員運算符實現(xiàn)字符串類對象間的直接運算120
實驗23 文本文件的輸入輸出程序設(shè)計121
23.1 概述121
23.2 案例121
案例27 對磁盤文件的讀寫處理(數(shù)值數(shù)據(jù))121
案例28 對磁盤文件的讀寫處理(字符數(shù)據(jù))124
23.3 實驗指導126
23.3.1 數(shù)值數(shù)據(jù)文本文件的讀寫操作126
23.3.2 字符數(shù)據(jù)文本文件的讀寫操作127
實驗24 二進制文件的輸入輸出程序設(shè)計129
24.1 概述129
24.2 案例129
案例29 binary型學生數(shù)據(jù)文件的簡單管理129
24.3 實驗指導134
24.3.1 二進制文件與文本文件之間的轉(zhuǎn)換134
24.3.2 通過移動文件的指針來實現(xiàn)文件的隨機存取135
實驗25 模板的概念與應(yīng)用137
25.1 概述137
25.2 案例137
案例30 從二維數(shù)組中找最大元和最小元的函數(shù)模板137
案例31 結(jié)構(gòu)體模板與類模板的應(yīng)用139
25.3 實驗指導140
25.3.1 函數(shù)模板與函數(shù)重載140
25.3.2 結(jié)構(gòu)體模板與類模板141