出版時間:2005-1 出版社:清華大學出版社,北京交通大學出版社 作者:趙宏 頁數(shù):289
前言
從20世紀70年代的結(jié)構(gòu)化程序設(shè)計,到90年代的面向?qū)ο蠹夹g(shù),程序設(shè)計技術(shù)在不斷發(fā)展。目前國內(nèi)各高校開設(shè)的程序設(shè)計課程種類繁多,選取的第一門程序設(shè)計課程也不相同。 教育部2003年頒發(fā)了計算機基礎(chǔ)教育白皮書“關(guān)于進一步加強高校計算機基礎(chǔ)教學的幾點意見”,在教育部1997年155號文件的基礎(chǔ)上對計算機基礎(chǔ)教學的目標重新定位,提出了適應新形勢的課程體系。按照教育部新課程體系的要求,程序設(shè)計基礎(chǔ)課程作為理工科大學生的必修課,既要講結(jié)構(gòu)化程序設(shè)計,也要講面向?qū)ο蟪绦蛟O(shè)計。 本書以解決實際問題的程序設(shè)計思想作為出發(fā)點進行編寫,并選擇C/C++語言為背景進行講解,突出程序設(shè)計方法,介紹常用的數(shù)組、鏈表等數(shù)據(jù)結(jié)構(gòu),講解了遞歸、遞推、排序、查找等算法的設(shè)計。學習目標是理解和掌握程序設(shè)計的基本概念和方法,具備運用程序設(shè)計語言、數(shù)據(jù)結(jié)構(gòu)和算法進行基本的結(jié)構(gòu)化程序設(shè)計和面向?qū)ο蟪绦蛟O(shè)計的能力。 本教材主要特色有以下幾點?! ∫弧⒔虒W內(nèi)容既注重基礎(chǔ)理論又突出實用性。突出結(jié)構(gòu)化程序設(shè)計和面向?qū)ο蟪绦蛟O(shè)計的基本原理、概念和方法,特別強調(diào)培養(yǎng)學生分析問題、解決問題和動手實踐的能力,重點突出,精選例題和習題,由淺入深逐步展開進行講解?! 《?、充分體現(xiàn)教師的教學思想。參加編寫的教師均是多年從事計算機基礎(chǔ)課教學和科研工作的一線教師,積累了一定的經(jīng)驗,教材編寫時突出程序設(shè)計方法,把教師的教學思想融入教材中,由淺入深、循序漸進,語言和語法的講解完全融會貫通在程序設(shè)計及實例中。 三、重點內(nèi)容突出。舍棄一些次要內(nèi)容,如位運算、多級指針、多維數(shù)組與指針等,使該教材通俗易懂。與該書配套的《計算機程序設(shè)計基礎(chǔ)輔導與實驗教程》中對每章都編寫了補充閱讀內(nèi)容,作為本書的擴展?! ∷?、教學資源豐富。構(gòu)建了包括教材、實驗教材、電子教案、源程序文件包、網(wǎng)絡(luò)教程等在內(nèi)的立體化教學資源?! ∪珪?2章,其中前8章為結(jié)構(gòu)化程序設(shè)計,主要包括程序設(shè)計概述、程序設(shè)計初步知識、程序的控制結(jié)構(gòu)、模塊化程序設(shè)計、構(gòu)造數(shù)據(jù)類型、指針、動態(tài)數(shù)據(jù)結(jié)構(gòu)、文件;第9章為結(jié)構(gòu)化程序設(shè)計到面向?qū)ο蟪绦蛟O(shè)計的過渡:最后3章圍繞面向?qū)ο蟪绦蛟O(shè)計的封裝性、繼承性、多態(tài)性,講解了類和對象、構(gòu)造和析構(gòu)函數(shù)、靜態(tài)成員、友元、繼承與派生、多態(tài)性與虛函數(shù)等內(nèi)容。 本書包含了大量的程序例子,并附有運行結(jié)果。凡在程序開頭帶有程序名編號的,都是完整的程序,這些程序都在VisualC++6.0環(huán)境下調(diào)試通過。
內(nèi)容概要
本書是根據(jù)教育部非計算機專業(yè)計算機基礎(chǔ)課程教學指導分委員會提出的高等學校計算機基礎(chǔ)課程教學基本要求組織編寫的。 為適應新的人才培養(yǎng)的要求,結(jié)合程序設(shè)計技術(shù)和信息技術(shù)的發(fā)展,對程序設(shè)計基礎(chǔ)課程教學內(nèi)容和體系結(jié)構(gòu)進行了重大改革。以C/C++語言為背景,全面介紹了結(jié)構(gòu)化程序設(shè)計和面向?qū)ο蟪绦蛟O(shè)計的基本原理和方法,內(nèi)容由淺入深,循序漸進,每章都有豐富的例題和習題,有配套的實驗教材指導學生上機實踐,以及豐富的數(shù)字化資源。 本書可作為高等學校各專業(yè)的程序設(shè)計基礎(chǔ)課程教材,也可用于網(wǎng)絡(luò)化教學以及培訓機構(gòu)和讀者自學程序設(shè)計課程的教材。
書籍目錄
第1篇 結(jié)構(gòu)化程序設(shè)計 第1章 概述 1.1 計算機語言和計算機程序設(shè)計 1.2 程序設(shè)計方法 1.3 程序的實現(xiàn)環(huán)境 1.4 C語言與C++的發(fā)展 1.5 本章小結(jié) 思考題 習題 第2章 程序設(shè)計初步 2.1 程序的基本結(jié)構(gòu) 2.2 數(shù)據(jù)類型 2.3 算術(shù)運算符和算術(shù)表達式 2.4 賦值運算符和賦值表達式 2.5 數(shù)據(jù)類型的轉(zhuǎn)換 2.6 數(shù)據(jù)的輸出和輸入 2.7 數(shù)學函數(shù) 2.8 簡單程序設(shè)計 2.9 本章小結(jié) 思考題 習題 第3章 程序控制結(jié)構(gòu) 3.1 選擇結(jié)構(gòu)程序設(shè)計 3.2 循環(huán)結(jié)構(gòu)程序設(shè)計 3.3 本章小結(jié) 思考題 習題 第4章 模塊化程序設(shè)計 4.1 模塊化程序設(shè)計概述 4.2 函數(shù)的聲明、定義和調(diào)用 4.3 函數(shù)的多級調(diào)用 4.4 變量的作用域和存儲類別 4.5 計算機隨機模擬方法 4.6 編譯預處理 4.7 本章小結(jié) 思考題 習題 第5章 構(gòu)造數(shù)據(jù)類型 5.1 數(shù)組概述 5.2 一維數(shù)組 5.3 數(shù)組做函數(shù)的參數(shù) 5.4 一維數(shù)組的應用 5.5 多維數(shù)組 5.6 字符數(shù)組與字符串 5.7 結(jié)構(gòu)體類型 5.8 共用體類型 5.9 本章小結(jié) 思考題 習題 第6章 指針 6.1 變量的地址和指針 6.2 指針變量的定義及引用 6.3 指針與函數(shù) 6.4 指針與數(shù)組 6.5 字符指針 6.6 指針數(shù)組 6.7 本章小結(jié) 思考題 習題 第7章 動態(tài)數(shù)據(jù)結(jié)構(gòu) 7.1 從靜態(tài)數(shù)據(jù)結(jié)構(gòu)到動態(tài)數(shù)據(jù)結(jié)構(gòu) 7.2 動態(tài)內(nèi)存分配 7.3 鏈表 …… 第8章 文件 第2篇 面向?qū)ο蟪绦蛟O(shè)計 第9章 從結(jié)構(gòu)化程序設(shè)計到面向?qū)ο蟪绦蛟O(shè)計 第10章 類和對象 第11章 繼承與派生類 第12章 多態(tài)性附錄A 運算符的優(yōu)先級和結(jié)合性附錄B ASCII字符集 附錄C 常用庫函數(shù) 參考文獻
章節(jié)摘錄
上述問題促使人們開始對程序設(shè)計方法進行研究,1969年Dilkstra首先提出了結(jié)構(gòu)化程序設(shè)計的思想與概念,強調(diào)從程序結(jié)構(gòu)上來研究與改變傳統(tǒng)的設(shè)計方法,經(jīng)計算機科學工作者的實踐,結(jié)構(gòu)化程序設(shè)計得到了普遍應用,程序設(shè)計也逐步走向規(guī)范化和工程化。面向?qū)ο蟪绦蛟O(shè)計是在結(jié)構(gòu)化程序設(shè)計基礎(chǔ)上發(fā)展起來的一種新的程序設(shè)計方法。在本章中主要介紹結(jié)構(gòu)化程序設(shè)計方法,面向?qū)ο蟪绦蛟O(shè)計將在第9-12章進行講解。1.2.1 結(jié)構(gòu)化程序設(shè)計基本思想 結(jié)構(gòu)化程序設(shè)計(面向過程程序設(shè)計)支持自頂向下、逐步細化和模塊化的結(jié)構(gòu)化分析方法?! ≡谇蠼庖粋€問題時一般不能立即寫出詳細的算法或程序,但可以很容易寫出一級算法,即求解問題的輪廓,然后對一級算法逐步求精,把它的某些步驟擴展成更詳細的步驟。細化過程中,一方面加入詳細算法,一方面明確數(shù)據(jù),直到根據(jù)這個算法可以寫出程序為止。自頂向下、逐步求精的方法符合人類解決復雜問題的思維方式,用先全局后局部、先整體后細節(jié)、先抽象后具體的逐步求精過程開發(fā)出的程序?qū)哟谓Y(jié)構(gòu)清晰,容易閱讀、理解和測試。 程序設(shè)計中還常采用模塊化的設(shè)計方法,當任務(wù)比較復雜時,往往按問題的需要,將其分解為若干個子任務(wù),這些子任務(wù)還可以劃分為更小、更簡單的子任務(wù)。這樣,對于大程序?qū)⑵浠麨榱憔帉?,由多個人共同進行程序的開發(fā),或者是獨立設(shè)計重復使用的程序段,使其可以被計算機重復執(zhí)行,而設(shè)計人員又不必重復編寫,避免了重復設(shè)計,消除了因交叉設(shè)計而產(chǎn)生的錯誤。這樣劃分的程序段落被稱為程序模塊,這種程序設(shè)計的方式被稱為模塊化程序設(shè)計。以這種方式設(shè)計的程序,可以使其達到層次分明、結(jié)構(gòu)簡潔而又嚴謹?shù)哪康?,從而提高程序設(shè)計的速度和質(zhì)量?! 〕绦蛑械淖幽K在C語言中通常用函數(shù)來實現(xiàn),一個子模塊用一個函數(shù)實現(xiàn),完成一個功能。每個子模塊的大小要適度?! ?.2 2.3 種基本結(jié)構(gòu) 結(jié)構(gòu)化程序設(shè)計用3種基本結(jié)構(gòu),通過組合和嵌套就能實現(xiàn)任何單入口、單出口的程序。這3種基本結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)?! ?.順序結(jié)構(gòu) 按照順序依次執(zhí)行A、B程序塊。順序結(jié)構(gòu)是最簡單的一種基本結(jié)構(gòu),見圖1—1。 2.選擇結(jié)構(gòu) 又稱分支結(jié)構(gòu),見圖1-2。根據(jù)給定的條件P進行判斷,由判斷的結(jié)果決定執(zhí)行兩個分支中的哪一個分支。當P為真時執(zhí)行A程序塊,否則執(zhí)行B程序塊。無論條件P是否成立,A和B程序塊只能有一個被執(zhí)行到,執(zhí)行之后就離開了該選擇結(jié)構(gòu)。當B為空,條件P為假時不執(zhí)行任何操作。
編輯推薦
《計算機程序設(shè)計基礎(chǔ)》可作為高等學校各專業(yè)的程序設(shè)計基礎(chǔ)課程教材,也可用于網(wǎng)絡(luò)化教學以及培訓機構(gòu)和讀者自學程序設(shè)計課程的教材。
圖書封面
評論、評分、閱讀與下載