C++程序設(shè)計(jì)實(shí)驗(yàn)教程

出版時(shí)間:2006-7  出版社:高等教育出版社  作者:李師賢/國別:中國大陸  頁數(shù):315  

前言

  在計(jì)算機(jī)科學(xué)與技術(shù)領(lǐng)域中,到處呈現(xiàn)一派“無邊落木蕭蕭下,不盡長江滾滾來”的新陳代謝景象。要想應(yīng)對如此快速發(fā)展的現(xiàn)實(shí),就要通過理論聯(lián)系實(shí)際的教學(xué),提高學(xué)生的科學(xué)素養(yǎng),培養(yǎng)學(xué)生的創(chuàng)新意識、創(chuàng)新能力和團(tuán)隊(duì)協(xié)作精神,發(fā)揮學(xué)生自身的潛能,提高學(xué)生的專業(yè)素質(zhì)技能?! 〕绦蛟O(shè)計(jì)是一門實(shí)踐性很強(qiáng)的基礎(chǔ)課程,它有助于培養(yǎng)和發(fā)展解決問題和創(chuàng)造性思維的能力,也可以培養(yǎng)運(yùn)用算法來解決實(shí)際問題的能力,這種解決問題的方式是計(jì)算機(jī)學(xué)科所獨(dú)有的,也只有通過計(jì)算機(jī)程序設(shè)計(jì)語言和程序設(shè)計(jì)方法的學(xué)習(xí)與實(shí)踐,才有可能獲得這種解決問題的能力。因此,N.wirth曾說過,程序?qū)τ趯?shí)干的人來說是個(gè)遍布黃金之地?! hristopher Strachey曾這樣說過:“……我一直在做程序設(shè)計(jì)語言方面的工作,因?yàn)橐牢铱磥?,如果一個(gè)人不能理解程序設(shè)計(jì)語言,他就不能真正地理解計(jì)算機(jī)。理解程序設(shè)計(jì)語言不僅僅意味著會使用它們,許多人能使用它們但是并不真正理解”。這也是我們組織本教程材料的依據(jù)之一?! 〕绦蛟O(shè)計(jì)實(shí)驗(yàn)教學(xué)是用實(shí)驗(yàn)的方法去學(xué)習(xí)與研究程序設(shè)計(jì)方法與技術(shù),以及理解程序設(shè)計(jì)語言的各種成分與機(jī)制。程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)的一個(gè)顯著特點(diǎn)是它的實(shí)踐性。這里所指的實(shí)踐性有三層意思:一是動手能力的培養(yǎng)和鍛煉,單憑讀書是學(xué)不會程序設(shè)計(jì)的;二是思維和判斷能力的培養(yǎng)和鍛煉;三是良好編程習(xí)慣的培養(yǎng)和鍛煉。我們必須實(shí)際動手編寫程序代碼,使用與操作各種軟件工具,在計(jì)算機(jī)上調(diào)試與運(yùn)行程序,分析和糾正所出現(xiàn)的各種錯(cuò)誤,并對所獲得的結(jié)果做出分析與判斷。本教程特別強(qiáng)調(diào)在實(shí)驗(yàn)中對問題做探索性研究,以促進(jìn)將科學(xué)研究滲入到本科教學(xué)中去。要知道,如果不去仔細(xì)琢磨程序設(shè)計(jì)過程中的各個(gè)步驟,不去仔細(xì)比較衡量程序代碼中各個(gè)構(gòu)成元素,不去做探索性研究,就不可能了解、體會到程序設(shè)計(jì)的深奧與微妙之處,也就不可能領(lǐng)悟與掌握程序設(shè)計(jì)的真諦?! 〕绦蛟O(shè)計(jì)實(shí)驗(yàn)課可以在學(xué)完第一門高級程序設(shè)計(jì)語言(c++)理論課開設(shè),也可與初學(xué)高級語言(c++)程序設(shè)計(jì)課同步開設(shè)。本教程既可以作為單獨(dú)設(shè)立的實(shí)驗(yàn)課教材,也可以作為與理論課相結(jié)合使用的教材,但我們更主張前者。

內(nèi)容概要

  《C++程序設(shè)計(jì)實(shí)驗(yàn)教程》是“面向21世紀(jì)課程教材”《面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)》(高等教育出版社出版)一書的配套實(shí)驗(yàn)教材。全書通過實(shí)驗(yàn)方式介紹C++程序設(shè)計(jì),內(nèi)容共15章:第1一3章涉及程序設(shè)計(jì)的目標(biāo)、技術(shù)與特點(diǎn),包括程序設(shè)計(jì)的目標(biāo)與準(zhǔn)則、程序設(shè)計(jì)必須遵循的一般性技術(shù)原理、程序設(shè)計(jì)風(fēng)格;第4~5章涉及程序中的基本控制結(jié)構(gòu)及結(jié)構(gòu)化程序設(shè)計(jì)的思想與措施;第6—9章涉及程序中的數(shù)據(jù)結(jié)構(gòu);第10~12章涉及控制與數(shù)據(jù)的相互作用;第13章涉及程序測試;第14章結(jié)合Booch方法介紹面向?qū)ο蟪绦蛟O(shè)計(jì);第15章為綜合實(shí)驗(yàn)。每一章包含若干具有針對性的實(shí)驗(yàn),每個(gè)實(shí)驗(yàn)分為目的要求、原理、實(shí)驗(yàn)內(nèi)容、患考要點(diǎn)四個(gè)部分,突出程序設(shè)計(jì)的思想方法和技術(shù),強(qiáng)調(diào)程序設(shè)計(jì)語言(C++)的知識要點(diǎn),提示易犯的錯(cuò)誤,引導(dǎo)讀者深入思考。書后的四個(gè)附錄分別介紹了上機(jī)編程過程、實(shí)驗(yàn)報(bào)告的書寫、集成開發(fā)環(huán)境Turbo C++3.O和Visual C++6.0?!禖++程序設(shè)計(jì)實(shí)驗(yàn)教程》內(nèi)容豐富、概念清晰、實(shí)用性強(qiáng),既可與面向?qū)ο蟪绦蛟O(shè)計(jì)課程結(jié)合使用,也可用作獨(dú)立的實(shí)驗(yàn)課程教材,還可供軟件開發(fā)人員參考。

書籍目錄

第1章 程序設(shè)計(jì)的基本目標(biāo)與準(zhǔn)則1.1 實(shí)驗(yàn):程序正確性1.2 實(shí)驗(yàn):程序健壯性1.3 實(shí)驗(yàn):程序可靠性1.4 實(shí)驗(yàn):程序可理解性1.5 實(shí)驗(yàn):程序的有效性1.6 實(shí)驗(yàn):程序可維護(hù)性1.7 實(shí)驗(yàn):程序可重用性第2章 程序設(shè)計(jì)原理2.1 實(shí)驗(yàn):抽象與分解2.2 實(shí)驗(yàn):模塊化.局部化.信息隱藏2.3 實(shí)驗(yàn):結(jié)構(gòu)化2.4 實(shí)驗(yàn):可驗(yàn)證性第3章 程序設(shè)計(jì)風(fēng)格3.1 實(shí)驗(yàn):清晰的微觀結(jié)構(gòu)3.2 實(shí)驗(yàn):程序簡明,直截了當(dāng)?shù)乇磉_(dá)意圖,不要太巧妙3.3 實(shí)驗(yàn):防御性編程技術(shù)3.4 實(shí)驗(yàn):利用數(shù)據(jù)組織程序3.5 實(shí)驗(yàn):布爾函數(shù)的應(yīng)用3.6 實(shí)驗(yàn):程序中的命名3.7 實(shí)驗(yàn):編排程序的格式3.8 實(shí)驗(yàn):注釋程序第4章 選擇結(jié)構(gòu)4.1 實(shí)驗(yàn):if語句4.2 實(shí)驗(yàn):switch語句第5章 循環(huán)結(jié)構(gòu)5.1 實(shí)驗(yàn):while語句5.2 實(shí)驗(yàn):do_while語句5.3 實(shí)驗(yàn):fnr語句5.4 實(shí)驗(yàn):break語句.continue語句和goto語句第6章 程序設(shè)計(jì)中的數(shù)據(jù)6.1 實(shí)驗(yàn):整型常數(shù)的八進(jìn)制.十進(jìn)制和十六進(jìn)制表示形式6.2 實(shí)驗(yàn):數(shù)據(jù)類型規(guī)定了該類數(shù)據(jù)所允許的操作6.3 實(shí)驗(yàn):選用合適的數(shù)據(jù)類型6.4 實(shí)驗(yàn):數(shù)據(jù)類型的轉(zhuǎn)換6.5 實(shí)驗(yàn):使用string類型表示文本數(shù)據(jù)優(yōu)于c風(fēng)格字符串第7章 類與抽象數(shù)據(jù)類型7.1 實(shí)驗(yàn):抽象數(shù)據(jù)類型的描述7.2 實(shí)驗(yàn):類的定義7.3 實(shí)驗(yàn):用不同方式實(shí)現(xiàn)同一抽象數(shù)據(jù)類型7.4 實(shí)驗(yàn):繼承的作用7.5 實(shí)驗(yàn):動態(tài)數(shù)組的抽象數(shù)據(jù)類型和實(shí)現(xiàn)——模板的應(yīng)用第8章 線性數(shù)據(jù)結(jié)構(gòu)8.1 實(shí)驗(yàn):字符串的順序存儲和鏈?zhǔn)酱鎯?.2 實(shí)驗(yàn):鏈?zhǔn)酱鎯τ欣谟行虿迦牒蛣h除8.3 實(shí)驗(yàn):有序線性表有利于數(shù)據(jù)的檢索8.4 實(shí)驗(yàn):循環(huán)隊(duì)列——隊(duì)列的有效順序表示及實(shí)現(xiàn)8.5 實(shí)驗(yàn):棧適用于求解迷宮問題第9章 非線性數(shù)據(jù)結(jié)構(gòu)9.1 實(shí)驗(yàn):家譜樹9.2 實(shí)驗(yàn):哈夫曼編碼9.3 實(shí)驗(yàn):圖的最小生成樹第10章 使用C++函數(shù)編程10.1 實(shí)驗(yàn):C++函數(shù)聲明與調(diào)用10.2 實(shí)驗(yàn):函數(shù)的參數(shù)傳遞方式——按值傳遞(非指針參數(shù))10.3 實(shí)驗(yàn):函數(shù)的參數(shù)傳遞方式——按地址傳遞(指針參數(shù))10.4 實(shí)驗(yàn):函數(shù)的參數(shù)傳遞方式——按引用傳遞10.5 實(shí)驗(yàn):函數(shù)的參數(shù)傳遞方式——按值傳遞與按引用傳遞的比較10.6 實(shí)驗(yàn):標(biāo)識符的作用域10.7 實(shí)驗(yàn):內(nèi)聯(lián)函數(shù)10.8 實(shí)驗(yàn):帶缺省參數(shù)的函數(shù)10.9 實(shí)驗(yàn):函數(shù)名的重載10.1 0實(shí)驗(yàn):輸入/輸出流的使用第11章 動態(tài)數(shù)據(jù)類型和動態(tài)數(shù)據(jù)結(jié)構(gòu)11.1 實(shí)驗(yàn):動態(tài)內(nèi)存管理——創(chuàng)建動態(tài)數(shù)組11.2 實(shí)驗(yàn):動態(tài)數(shù)據(jù)類型——鏈表的使用第12章 封裝的效應(yīng)12.1 實(shí)驗(yàn):封裝的使用——名字類12.2 實(shí)驗(yàn):封裝的使用——模擬電梯12.3 實(shí)驗(yàn):幾何形狀處理——使用結(jié)構(gòu)化設(shè)計(jì)方法12.4 實(shí)驗(yàn):幾何形狀處理——使用面向?qū)ο笤O(shè)計(jì)方法第13章 程序測試13.1 實(shí)驗(yàn):語句覆蓋測試13.2 實(shí)驗(yàn):條件相關(guān)測試13.3 實(shí)驗(yàn):路徑覆蓋測試13.4 實(shí)驗(yàn):測試用例的等價(jià)類劃分技術(shù)13.5 實(shí)驗(yàn):程序的驗(yàn)證與確認(rèn)第14章 面向?qū)ο蟮脑O(shè)計(jì)14.1 實(shí)驗(yàn):二叉樹的樹葉計(jì)數(shù)問題14.2 實(shí)驗(yàn):棋盤上馬的遍歷問題14.3 實(shí)驗(yàn):迷宮的創(chuàng)建問題第15章 綜合實(shí)驗(yàn)15.1 實(shí)驗(yàn):窮舉搜索和回溯技術(shù)15.2 實(shí)驗(yàn):算法與程序附錄A上機(jī)編程過程A.1 實(shí)驗(yàn):C++單文件程序的實(shí)現(xiàn)A.2 實(shí)驗(yàn):C++多文件程序的實(shí)現(xiàn)附錄B實(shí)驗(yàn)報(bào)告寫作指南B.1 實(shí)驗(yàn)報(bào)告的要求B.2 實(shí)驗(yàn)報(bào)告的主要內(nèi)容附錄CTurboC++3.0集成開發(fā)環(huán)境簡介C.1 TurboC++3.0編輯界面C.2 常用功能鍵及其意義C.3 部分菜單與選項(xiàng)參考C.4 TurboC++3.0的出錯(cuò)信息附錄DVisualC++6.0編程環(huán)境簡介D.1 VisualC++6.0編程窗口D.2 編制一個(gè)簡單程序的過程D.3 菜單欄D.4 調(diào)試過程和工具參考文獻(xiàn)

章節(jié)摘錄

  12.4實(shí)驗(yàn):幾何形狀處理——使用面向?qū)ο笤O(shè)計(jì)方法  【目的要求】  1.掌握面向?qū)ο蟪绦蛟O(shè)計(jì)中繼承的使用?! ?.掌握面向?qū)ο蟪绦蛟O(shè)計(jì)中多態(tài)的實(shí)現(xiàn)?! ?.理解封裝、繼承與多態(tài)結(jié)合使用以應(yīng)對需求變更的方法。  【原理】  繼承(Inheritance)機(jī)制用于刻畫現(xiàn)實(shí)世界中普遍存在的“is-a(是一種)”這種層次關(guān)系,繼承機(jī)制的使用可以簡化類的理解以及提高程序的可重用性?! ∪绻粋€(gè)給定的類封裝了某些屬性,它的任何子類將會含有同樣的屬性,再加上各個(gè)子類所特有的屬性。子類繼承其所有祖先的所有屬性,這使得對面向?qū)ο蟪绦虻睦斫鈴?fù)雜性呈線性而非幾何增長?! 《鄳B(tài)(Polymorphism)由兩個(gè)希臘詞組成:“poly”意為“多”,“morph”是代表形態(tài)的后綴。通常,它指一件東西具有很多形態(tài)。在面向?qū)ο蟪绦蛟O(shè)計(jì)中,它通常指方法和函數(shù)具有相同的名字,但有不同的行為?! τ诰哂卸鄳B(tài)性的名字,將其與它的一個(gè)含義相關(guān)聯(lián)的過程叫作綁定(Binding),根據(jù)進(jìn)行這一關(guān)聯(lián)的時(shí)間,可將多態(tài)性分為編譯時(shí)多態(tài)性和運(yùn)行時(shí)多態(tài)性。編譯時(shí)多態(tài)性,是指在編譯階段即可確定名字的含義,在C++語言中,通過函數(shù)重載和類屬機(jī)制來實(shí)現(xiàn);運(yùn)行時(shí)多態(tài)性,是指在運(yùn)行階段才可確定名字的含義,在C++語言中使用虛函數(shù)結(jié)合繼承來實(shí)現(xiàn)?! τ谲浖_發(fā)而言,需求的變化是經(jīng)常發(fā)生的,無論初期的分析做得多么好,需求都有可能發(fā)生變化。但不能因此忽略需求的重要性,也不能一味抱怨變化,而是必須改進(jìn)開發(fā)過程,使寫出的代碼能夠適應(yīng)變化,從而有效地應(yīng)對需求的變化。

圖書封面

評論、評分、閱讀與下載


    C++程序設(shè)計(jì)實(shí)驗(yàn)教程 PDF格式下載


用戶評論 (總計(jì)0條)

 
 

 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7