《C++面向對象程序設計題解與上機指導(第2版)/普通高等教育“十一五”國家級規劃教材》是為已學過C語言程序設計、具有程序設計初步知識的讀者編寫的,是與作者編著的《C++面向對象程序設計(第2版)》(清華大學出版社出版)一書配套的輔助教材。《C++面向對象程序設計題解與上機指導(第2版)/普通高等教育“十一五”國家級規劃教材》包括3個部分:《C++面向對象程序設計(第2版)》一書各章中的全部習題的參考解答;C++的上機操作,這部分介紹了在3種典型的環境下運行C++程序的方法,即Visual C++6.0,Visual Studio 2010和GCC(包括RHIDE和DJGPP);上機實驗內容與安排,這部分提出了上機實驗的指導思想、內容與要求,供教學參考。
《C++面向對象程序設計題解與上機指導(第2版)/普通高等教育“十一五”國家級規劃教材》的教學資源可在清華大學出版社網站下載,包括《C++面向對象程序設計(第2版)》一書中的全部例題程序以及各章習題解答的程序。
《C++面向對象程序設計題解與上機指導(第2版)/普通高等教育“十一五”國家級規劃教材》可作為學習《C++面向對象程序設計》的輔助教材,也可供其他初學C++的讀者參考。
《C++面向對象程序設計題解與上機指導(第2版)/普通高等教育“十一五”國家級規劃教材》特色:
定位準確
取舍合理
體系得當
內容翔實
例題豐富
通俗易懂
本書是為已學過C語言程序設計、具有程序設計初步知識的讀者編寫的,是與作者編著的《C++面向對象程序設計(第2版)》(清華大學出版社出版) 一書配套使用的輔助教材。關于《C++面向對象程序設計(第2版)》一書的特點和編寫此書的初衷,作者在《C++面向對象程序設計(第2版)》的前言中作了比較詳細的說明,建議讀者抽空再認真閱讀一下,對于怎樣學好這門課是很有好處的。作者一貫認為:教材不同于專著,不能認為愈深愈好,愈全愈好,必須準確定位,要認真分析學習者的基礎和學習本門課程應當達到的基本要求,并根據教學要求合理取舍內容。對于C++這樣公認比較難學的課程尤為如此。
學習C++首先要了解和掌握C++的基本知識,學會使用C++語言編寫程序,在這個過程中了解有關面向對象程序設計方法和有關的基本概念,學習有關的算法。本書的習題就是圍繞這個目的而設計的。盡管C++是為了解決大型軟件開發工作中的問題而產生的,但是在學習時不可能一開始就接觸甚至編寫大程序,而必須從簡單的小程序開始,循序漸進,逐步深入。因此本書每一章的習題都是圍繞更好地理解該章所敘述的基本概念、基本語法的應用以及有關的算法,只有把這些基礎打好了,才能為日后的進一步學習和應用創造良好的條件。考慮到多數讀者的學習基礎,習題不要求具備較深入的數據結構方面的知識,所涉及的算法是讀者所能理解和接受的。
本書的內容包括3個部分:
1. 《C++面向對象程序設計(第2版)》一書各章中的全部習題和 參考解答。這些習題都是和教材內容緊密結合的。大部分習題是多數讀者在學習教材后能夠獨立完成的,有一些習題是對教材內容的擴展,需要補充一些知識。由于教材篇幅有限,有些很好的例子無法在教材中列出,現把它們作為習題,希望讀者自己完成,教師也可以從中選擇一些習題作為例題講授。學生除了完成教師指定的習題外,最好把習題解答中的程序全部看一遍,以更好地理解C++程序,拓寬眼界,啟迪思路,豐富知識,增長能力。
為了幫助讀者更好地理解程序,對于稍難的習題,書中都作了比較詳細的說明,或在程序中加了注釋。實際上,這部分是一個例題匯編,提供了不同類型的題目和程序,對有的題目提供了幾種不同的解法和程序,供讀者比較分析。希望讀者充分利用這些 資源。
應當說明:本書中提供的只是參考答案,并不一定是唯一的答案,甚至不一定是最好的答案,讀者完全可以舉一反三,編寫出更好的程序。
2. C++的上機操作。在這部分中介紹了在3種典型的環境下運行C++程序的方法,①種是Windows環境下的Visual C++ 6.0;②Visual Studio 2010;③GCC,GCC是自由軟件,不必購買。GCC可以在Windows環境下使用,也可以在非Windows環境(如DOS,UNIX,Linux)下使用。在第11章中將介紹如何使用RHIDE和DJGPP來調試和運行C++程序。
學習C++,不應只局限于使用一種編譯環境,希望讀者能掌握一種以上的編譯和運行C++程序的環境與工具。
3. 上機實驗內容與安排。在這部分中提出了上機實驗的指導思想和上機實驗的要求,并介紹了程序調試與測試的方法。在此基礎上,設計了9個實驗,大體上每一個實驗對應教材的一章。每個實驗一般包括4~5個題目。這只是供教師安排實驗時參考的。由于教材的每一章內容的分量不同,其對應的實驗的分量也應該有所不同。有的章內容較多,可能需要對應兩次實驗。不同的學校、不同的專業、不同程度的班級,所進行的實驗的內容和分量會有所不同。除了書中指定的實驗內容外,教師也可以根據教學需要指定其他實驗內容。這需要任課教師根據實際情況進行調整。
在指定實驗內容時,采取的原則是:習題與實驗內容一致,即教師指定學生完成的作業,不僅要求學生在紙上寫出程序或結果,而且要求學生上機調試與運行。在實驗中不能滿足于能得到正確運行結果,還應當進行分析和討論。本書在習題的基礎上會提出一些思考問題,或改變一些條件,要求學習者修改程序,分析對比運行結果。
在完成本書習題和實驗的基礎上,如果讀者希望進一步學習C++編程技術,可以參考由作者主編,陳清華、朱紅編著,清華大學出版社出版的《C++程序設計實踐指導》。
本書的教學資源可在清華大學出版社網站下載,包括以下內容:
1.《C++面向對象程序設計(第2版)》一書中的全部例題程序。文件名以c開頭,與例題號一一對應,如c5-4.cpp是第5章例5.4程序。
2. 本書第1部分中各章習題解答的程序。文件名以xt開頭,與例題號一一對應,如xt7-3.cpp是第7章習題3的程序。
本書主要由譚浩強教授完成的,譚亦峰工程師和薛淑斌高級工程師參加了部分內容的編寫工作。本書若有不足之處,敬請讀者不吝指正。
謹識
2014年5月于清華園
譚浩強,教授,我國著名計算機教育專家。1958年清華大學自動控制系畢業。青年時代曾擔任清華大學學生會主席、北京市學聯副主席、北京市人民代表、全國文教戰線先進分子。他是我國計算機普及和高校計算機基礎教育的開拓者之一。現擔任全國高等院校計算機基礎教育研究會榮譽會長、教育部全國計算機應用技術證書考試委員會主任委員、中國老教授協會常務理事。獲全國高校教學成果獎國家級獎、國家科技進步獎、北京市政府授予“有突出貢獻專家稱號”。被國家科委表彰為“全國優秀科普工作者”。獲國務院特殊津貼。
譚浩強教授創造了三個世界紀錄:(1)30年來他(以及和他人合作)共編著出版了160多本計算機著作,主編了400多本計算機書籍,是出版科技著作數量最多的人。(2)他編著和主編的書發行量超過6000萬冊,是讀者最多的科技作家。我國平均每21人、知識分子每1.2人就擁有一本譚浩強的書。(3)他和他人合著的《BASIC語言》發行1250多萬冊,他所著的《C程序設計》發行1250多萬冊,雙雙創造科技書籍發行量的最高紀錄。他曾在中央電視臺主講了BASIC,FORTRAN,COBOL,Pascal,QBASIC,C,Visual Basic七種計算機語言,觀眾超過500萬人。
譚浩強教授善于用讀者容易理解的方法和語言說明復雜的概念。許多人認為他“開創了計算機書籍貼近大眾的新風”,為我國的計算機普及事業作出重要的貢獻。21世紀初,被《計算機世界》報組織的
“世紀評選”評為我國“20世紀最有影響的十個IT人物”之一,被《電腦報》評為“我國十大IT人物”,他的功績是把千百萬群眾帶入計算機的大門。
第1部分 《C++面向對象程序設計(第2版)》習題與參考解答
第1章 C++的初步知識
第2章 類和對象的特性
第3章 怎樣使用類和對象
第4章 對運算符進行重載
第5章 繼承與派生
第6章 多態性與虛函數
第7章 輸入輸出流
第8章 C++工具
第2部分 C++的上機操作
第9章 用Visual C++6.0運行C++程序
9.1 Visual C++6.0的安裝和啟動
9.2 輸入和編輯源程序
9.2.1 新建一個C++源程序的方法
9.2.2 打開一個已有的程序
9.2.3 通過已有的程序建立一個新程序的方法
9.3 編譯、連接和運行
9.3.1 程序的編譯
9.3.2 程序的調試
9.3.3 程序的連接
9.3.4 程序的執行
9.4 建立和運行包含多個文件的程序的方法
9.4.1 由用戶建立項目工作區和項目文件
9.4.2 用戶只建立項目文件
第10章 用Visual Studio 2010運行C++程序
10.1 Visual Studio簡介
10.2 怎樣建立新項目
10.3 怎樣建立文件
10.4 怎樣進行編譯
10.5 怎樣運行程序
10.6 怎樣打開一個已有的C++文件
10.7 怎樣編輯和運行一個包含多文件的程序
10.8 關于用Visual Studio 2010運行C++程序的說明
第11章 用GCC運行C++程序
11.1 GCC簡介
11.1.1 什么是GCC
11.1.2 GCC和DJGPP
11.1.3 DJGPP與RHID
11.2 安裝DJGPP
11.3 進入DJGPP開發環境ImIDE
11.4 使用RHIDE窗口
11.4.1 RHIDE窗口
11.4.2 在RHIDE中使用鼠標
11.5 輸入一個新程序
11.6 打開已有的文件
11.7 源程序的編譯和連接
11.7.1 關于項目
11.7.2 編譯源程序
11.7.3 程序的連接
11.8 運行可執行文件
11.9 建立和運行包含多文件的項目文件的方法
11.10 程序的調試
11.11 退出RHIDE
第3部分 上機實驗內容與安排