程序設(shè)計(jì)教程

出版時(shí)間:2009-4  出版社:陳家駿、 鄭滔 機(jī)械工業(yè)出版社 (2009-04出版)  作者:陳家駿,鄭滔 著  頁數(shù):307  
Tag標(biāo)簽:無  

前言

本書第1版自2004年出版以來,得到了廣大讀者的熱情關(guān)注和支持,很多讀者還提出了寶貴的建議,我們深表感謝。在近幾年的教學(xué)中,我們也發(fā)現(xiàn)了本書的一些不足之處。首先,編寫該教材的初衷是介紹程序設(shè)計(jì)的基本思想、概念和技術(shù),C++語言是作為編程實(shí)現(xiàn)語言的角色出現(xiàn),然而,在教材某些內(nèi)容的表述上違背了這個(gè)初衷,教材的一些地方出現(xiàn)了C++語言“喧賓奪主”的情況。其次,教材在一些內(nèi)容的表達(dá)上過于“精煉”,使初學(xué)者有“看天書”的感覺。再次,教材對(duì)現(xiàn)在比較流行的C++標(biāo)準(zhǔn)模板庫(STL)以及它所支持的泛型程序設(shè)計(jì)沒有給出足夠的介紹,從而給讀者學(xué)習(xí)使用STL帶來了困難。此外,教材中還存在少量的錯(cuò)誤。針對(duì)上述問題,我們對(duì)教材進(jìn)行了修訂。第2版的變動(dòng)主要體現(xiàn)在以下幾個(gè)方面:1)重新組織了一些章節(jié)的內(nèi)容,并調(diào)整了相應(yīng)章節(jié)(主要是節(jié))的標(biāo)題和次序,進(jìn)一步突出了程序設(shè)計(jì)的主流思想、概念和技術(shù)。2)對(duì)教材的文字進(jìn)行了潤(rùn)色,補(bǔ)充了例子,并為例子中的程序代碼增加了注釋,使之更加容易理解。

內(nèi)容概要

  《程序設(shè)計(jì)教程:用C++語言編程(第2版)》是以C++作為實(shí)現(xiàn)語言的第一門程序設(shè)計(jì)課程的教材。以介紹基本的程序設(shè)計(jì)思想、概念和技術(shù)為中心,強(qiáng)調(diào)了數(shù)據(jù)結(jié)構(gòu)、算法、過程抽象以及數(shù)據(jù)抽象等重要的程序設(shè)計(jì)思想。全書共12章,主要內(nèi)容包括:數(shù)據(jù)類型、表達(dá)式、流程控制、子程序、遞歸、類/對(duì)象、繼承、類屬(泛型)、輸入/輸出以及異常處理等。內(nèi)容相對(duì)完整,概念力求精確?!  冻绦蛟O(shè)計(jì)教程:用C++語言編程(第2版)》在第1版的基礎(chǔ)上,相應(yīng)地增加了例子、代碼注釋和習(xí)題,便于讀者輕松且牢固地掌握程序設(shè)計(jì)的技巧??勺鳛楦叩仍盒1究粕谝婚T程序設(shè)計(jì)課程的教材,也可供程序設(shè)計(jì)的初學(xué)者參考。

作者簡(jiǎn)介

陳家駿,男,1963年生。獲南京大學(xué)博士學(xué)位,現(xiàn)為南京大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系教授,博士生導(dǎo)師。主要從事自然語言處理和軟件工程領(lǐng)域的研究工作,曾多次主持國家及省級(jí)科研項(xiàng)目的研究與開發(fā),其中包括:863“基于語義和多策略融合的日漢機(jī)器翻譯關(guān)鍵技術(shù)研究”、國家自然科學(xué)基金“基于統(tǒng)計(jì)關(guān)系學(xué)習(xí)的漢語指代消解研究”以及江蘇省自然科學(xué)基金“基于條件隨機(jī)場(chǎng)和核集成的自適應(yīng)中文信息抽取技術(shù)研究”等項(xiàng)目,研究成果多次獲得省部級(jí)科研獎(jiǎng)勵(lì)。具有多年的軟件開發(fā)和程序設(shè)計(jì)課程教學(xué)的經(jīng)歷。鄭滔,男,1966年生。獲南京大學(xué)碩士學(xué)位,現(xiàn)為南京大學(xué)軟件學(xué)院教授。主要從事軟件工程和嵌入式系統(tǒng)領(lǐng)域的研究工作。曾多次參加國家/省科技攻關(guān)項(xiàng)目、國家/省自然科學(xué)基金項(xiàng)目和國家863高科技項(xiàng)目的研究與開發(fā),研究成果兩次獲得部級(jí)科技成果二等獎(jiǎng)。具有多年軟件開發(fā)和程序設(shè)計(jì)以及編譯技術(shù)課程教學(xué)的經(jīng)歷。

書籍目錄

第2版前言第1版前言作者簡(jiǎn)介教學(xué)建議第1章 概述1.1 計(jì)算機(jī)的工作模型1.1.1 硬件1.1.2 軟件1.1.3 機(jī)內(nèi)信息表示1.2 程序設(shè)計(jì)1.2.1 程序設(shè)計(jì)范型1.2.2 程序設(shè)計(jì)步驟1.2.3 程序設(shè)計(jì)語言1.3 C++語言1.3.1 C++語言概述1.3.2 C++程序的構(gòu)成1.3.3 C++程序的運(yùn)行步驟1.3.4 C++語言的詞法1.4 小結(jié)1.5 習(xí)題第2章 數(shù)據(jù)描述(Ⅰ)——基本數(shù)據(jù)類型和表達(dá)式2.1 數(shù)據(jù)類型概述2.2 基本數(shù)據(jù)類型2.2.1 整數(shù)類型2.2.2 實(shí)數(shù)類型2.2.3 字符類型2.2.4 邏輯類型2.3 數(shù)據(jù)的表現(xiàn)形式2.3.1 常量2.3.2 變量2.3.3 變量值的輸入2.4 操作符(運(yùn)算符)2.4.1 算術(shù)操作符2.4.2 關(guān)系與邏輯操作符2.4.3 位操作符2.4.4 賦值操作符2.4.5 其他操作符2.4.6 操作數(shù)的類型轉(zhuǎn)換2.5 表達(dá)式2.5.1 表達(dá)式的構(gòu)成與分類2.5.2 操作符的優(yōu)先級(jí)和結(jié)合性2.5.3 表達(dá)式中操作數(shù)的類型轉(zhuǎn)換2.5.4 表達(dá)式結(jié)果的輸出2.5.5 表達(dá)式的副作用2.6 小結(jié)2.7 習(xí)題第3章 流程控制——語句3.1 程序流程控制概述3.2 順序控制3.2.1 表達(dá)式語句3.2.2 復(fù)合語句3.2.3 空語句3.3 選擇控制3.3.1 if語句3.3.2 switch語句3.4 循環(huán)(重復(fù))控制3.4.1 while語句3.4.2 do.while語句3.4.3 for語句3.4.4 計(jì)數(shù)循環(huán)和事件循環(huán)3.4.5 循環(huán)程序設(shè)計(jì)實(shí)例3.5 無條件轉(zhuǎn)移控制3.5.1 goto語句3.5.2 break語句3.5.3 continue語句3.6 程序設(shè)計(jì)風(fēng)格3.6.1 結(jié)構(gòu)化程序設(shè)計(jì)3.6.2 關(guān)于goto語句3.7 小結(jié)3.8 習(xí)題 第4章 過程抽象——函數(shù)4.1 基于過程抽象的程序設(shè)計(jì)4.1.1 功能分解與復(fù)合4.1.2 子程序4.1.3 子程序間的數(shù)據(jù)傳遞4.2 C++函數(shù)4.2.1 函數(shù)的定義4.2.2 函數(shù)的調(diào)用4.2.3 值作為參數(shù)傳遞4.2.4 基于函數(shù)的過程式程序設(shè)計(jì)4.3 標(biāo)識(shí)符的作用域與變量的生存期4.3.1 變量的局部性——局部變量與全局變量4.3.2 C++程序的多模塊結(jié)構(gòu)4.3.3 標(biāo)識(shí)符的作用域4.3.4 名空間4.3.5 變量的生存期(存儲(chǔ)分配)4.3.6 基于棧的函數(shù)調(diào)用的實(shí)現(xiàn)4.4 遞歸函數(shù)4.4.1 什么是遞歸函數(shù)4.4.2 “分而治之”的程序設(shè)計(jì)4.4.3 遞歸與循環(huán)的選擇4.4.4 遞歸函數(shù)應(yīng)用實(shí)例4.5 函數(shù)的進(jìn)一步討論4.5.1 內(nèi)聯(lián)函數(shù)4.5.2 帶默認(rèn)值的形式參數(shù)4.5.3 函數(shù)名重載4.6 C++標(biāo)準(zhǔn)函數(shù)庫4.7 C++的條件編譯4.7.1 條件編譯命令4.7.2 基于多環(huán)境的程序編制4.7.3 程序調(diào)試4.8 小結(jié)4.9 習(xí)題第5章 數(shù)據(jù)描述(Ⅱ)——構(gòu)造數(shù)據(jù)類型5.1 枚舉類型5.2 數(shù)組類型5.2.1 一維數(shù)組的定義與操作5.2.2 字符串類型的一種實(shí)現(xiàn)——一維字符數(shù)組5.2.3 二維數(shù)組的定義與操作5.2.4 數(shù)組類型的應(yīng)用5.3 結(jié)構(gòu)類型5.3.1 結(jié)構(gòu)類型的定義與操作5.3.2 結(jié)構(gòu)類型的應(yīng)用5.4 聯(lián)合類型5.5 指針類型5.5.1 指針類型的定義5.5.2 指針類型的基本操作5.5.3 指針作為參數(shù)傳遞5.5.4 指針與動(dòng)態(tài)變量5.5.5 函數(shù)指針5.5.6 指針與數(shù)組5.5.7 多級(jí)指針5.6 引用類型5.6.1 引用類型的定義5.6.2 引用作為參數(shù)傳遞5.6.3 引用類型與指針類型的區(qū)別5.7 小結(jié)5.8 習(xí)題第6章 數(shù)據(jù)抽象——對(duì)象與類6.1 基于數(shù)據(jù)抽象的程序設(shè)計(jì)6.1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)6.1.2 為什么要面向?qū)ο?.1.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本內(nèi)容6.2 類6.2.1 數(shù)據(jù)成員6.2.2 成員函數(shù)6.2.3 成員的訪問控制——信息隱藏6.3 對(duì)象6.3.1 對(duì)象的創(chuàng)建和標(biāo)識(shí)6.3.2 對(duì)象的操作6.3.3 this指針6.4 對(duì)象的初始化和消亡前處理6.4.1 構(gòu)造函數(shù)與析構(gòu)函數(shù)6.4.2 成員對(duì)象的初始化6.4.3 拷貝構(gòu)造函數(shù)6.5 對(duì)象與類的進(jìn)一步討論6.5.1 對(duì)常量對(duì)象的訪問——常成員函數(shù)6.5.2 對(duì)象之間的數(shù)據(jù)共享靜態(tài)數(shù)據(jù)成員6.5.3 提高對(duì)對(duì)象私有數(shù)據(jù)成員的訪問效率——友元6.6 類作為模塊6.6.1 類模塊的組成6.6.2 Demeter法則6.7 小結(jié)6.8 習(xí)題第7章 操作符重載7.1 操作符重載概述7.1.1 操作符重載的必要性7.1.2 操作符重載的方式7.1.3 操作符重載的基本原則7.2 操作符重載的實(shí)現(xiàn)7.2.1 雙目操作符重載7.2.2 單目操作符重載7.3 C++中幾個(gè)特殊操作符的重載7.3.1 賦值操作符7.3.2 數(shù)組元素訪問操作符(下標(biāo)操作符)7.3.3 類成員訪問操作符7.3.4 動(dòng)態(tài)存儲(chǔ)分配與去配操作符7.3.5 自定義類型轉(zhuǎn)換操作符7.3.6 函數(shù)調(diào)用操作符7.4 操作符重載的實(shí)例——字符串類String的一種實(shí)現(xiàn)7.5 小結(jié)7.6 習(xí)題第8章 類的繼承——派生類8.1 類之間的繼承關(guān)系——基類與派生類8.2 單繼承8.2.1 單繼承的定義8.2.2 在派生類中訪問基類成員——protected訪問控制8.2.3 派生類對(duì)基類成員的訪問控制繼承方式8.2.4 派生類對(duì)象的初始化和賦值操作8.2.5 單繼承的應(yīng)用實(shí)例8.2.6 類之間的聚集關(guān)系8.3 消息(成員函數(shù)調(diào)用)的動(dòng)態(tài)綁定8.3.1 消息的多態(tài)性8.3.2 虛函數(shù)與消息的動(dòng)態(tài)綁定8.3.3 純虛函數(shù)和抽象類8.3.4 虛函數(shù)動(dòng)態(tài)綁定的一種實(shí)現(xiàn)8.4 多繼承8.4.1 多繼承的必要性8.4.2 多繼承的定義8.4.3 名沖突8.4.4 重復(fù)繼承——虛基類8.5 小結(jié)8.6 習(xí)題第9章 類屬(泛型)機(jī)制——模板9.1 類屬(泛型)程序設(shè)計(jì)9.2 模板9.2.1 函數(shù)模板9.2.2 類模板9.2.3 模板的復(fù)用9.3 C++標(biāo)準(zhǔn)模板庫9.3.1 概述9.3.2 容器9.3.3 迭代器9.3.4 算法9.4 小結(jié)9.5 習(xí)題第10章輸入/輸出10.1 輸入/輸出概述10.2 面向控制臺(tái)的輸入/輸出10.2.1 基于函數(shù)庫的控制臺(tái)I/O10.2.2 基于類庫的控制臺(tái)。I/O10.2.3 抽?。迦氩僮鞣?>”和“

章節(jié)摘錄

插圖:第1章概述自1946年第一臺(tái)數(shù)字電子計(jì)算機(jī)(ENIAC)問世以來,計(jì)算機(jī)在理論、技術(shù)以及應(yīng)用等方面發(fā)展迅速。特別是計(jì)算機(jī)的應(yīng)用,它已從早期的數(shù)值計(jì)算應(yīng)用拓廣到現(xiàn)在的大量的非數(shù)值計(jì)算應(yīng)用,如管理信息系統(tǒng)、文字處理系統(tǒng)、基于Internet的web瀏覽器以及嵌入式應(yīng)用系統(tǒng)(如家電的電腦控制)等?,F(xiàn)在,計(jì)算機(jī)已經(jīng)滲透到人類社會(huì)活動(dòng)的各個(gè)領(lǐng)域并發(fā)揮著巨大的作用。一臺(tái)計(jì)算機(jī)由硬件和軟件兩部分構(gòu)成。硬件是指計(jì)算機(jī)的物理構(gòu)成,軟件主要是指計(jì)算機(jī)程序(指令序列)。硬件是計(jì)算機(jī)的物質(zhì)基礎(chǔ),軟件是計(jì)算機(jī)的靈魂。沒有硬件就沒有計(jì)算機(jī);但是,如果只有硬件沒有軟件,可以說計(jì)算機(jī)幾乎什么事情也做不了,要想用計(jì)算機(jī)來解決各種問題,必須要有相應(yīng)的軟件。從某種意義上講,一臺(tái)計(jì)算機(jī)的性能主要由硬件決定,而它的功能則主要由軟件來提供。隨著計(jì)算機(jī)應(yīng)用領(lǐng)域不斷擴(kuò)大、應(yīng)用層次不斷加深,社會(huì)對(duì)計(jì)算機(jī)軟件的需求急劇增長(zhǎng),從而導(dǎo)致軟件規(guī)模不斷擴(kuò)大、復(fù)雜程度不斷提高。如何設(shè)計(jì)出大量的滿足用戶需求的高質(zhì)量軟件是軟件工作者所面臨的嚴(yán)峻挑戰(zhàn)。1.1計(jì)算機(jī)的工作模型計(jì)算機(jī)程序不同于其他程序(如音樂會(huì)程序),它是由計(jì)算機(jī)來執(zhí)行的,編制計(jì)算機(jī)程序(程序設(shè)計(jì))時(shí)通常要考慮到計(jì)算機(jī)解決問題的方式和特點(diǎn)。因此,要進(jìn)行程序設(shè)計(jì),就有必要對(duì)計(jì)算機(jī)的工作模型有一定的了解。下面將分別從計(jì)算機(jī)的硬件、軟件以及計(jì)算機(jī)內(nèi)部的信息表示幾個(gè)方面來介紹計(jì)算機(jī)的工作模型。

編輯推薦

《程序設(shè)計(jì)教程:用C++語言編程(第2版)》為普通高等教育“十一五”國家級(jí)規(guī)劃教材之一。

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    程序設(shè)計(jì)教程 PDF格式下載


用戶評(píng)論 (總計(jì)13條)

 
 

  •   很少看到一本300頁左右的書能夠幾乎無所不包,從計(jì)算機(jī)硬件講到STL,DEBUG,最后連MFC也帶到了,內(nèi)容順序也很有條理,點(diǎn)出了許多易于混淆的地方。十分適合作為上課的講義,或者作為第二本教材作歸納用。對(duì)于初學(xué)者和自學(xué)者來說,學(xué)習(xí)這本書會(huì)有較大的困難。因?yàn)檠赞o過于簡(jiǎn)略,很多地方難以理解。比如第5張數(shù)據(jù)結(jié)構(gòu)的鏈表,我在自學(xué)的時(shí)候就遇到很大的困難,后來在老師的講解下才逐步能夠熟練運(yùn)用。第9張的模板沒有配備足夠的習(xí)題,我初次看時(shí)有些不知所云。第10章、第12章也十分難懂。而且本書的習(xí)題大多數(shù)是為了鍛煉語言能力而設(shè)計(jì)的,缺乏生活的實(shí)際應(yīng)用題。在這點(diǎn)上這本書和《現(xiàn)代C++程序設(shè)計(jì)》形成強(qiáng)烈反差。總而言之,這本書有濃厚的國內(nèi)教材氣息,即應(yīng)試氣息,而且具有短期速成的特點(diǎn)。如果要深入了解C++的文化,還必須延伸出去閱讀其他書籍。
  •   國內(nèi)的關(guān)于c++與編程方面難得一見的好書,一點(diǎn)也不遜色于外國的任何此類著作。本書將重點(diǎn)放在了問題解決上,而不是語言本身。不管你是編程的入門者,還是有一定經(jīng)驗(yàn)的老手,通讀這本書都會(huì)對(duì)你有所幫助的。
  •   是我們C++課的教材,精簡(jiǎn)是主要特點(diǎn),不求能和C++ PRIMER一樣面面俱到,但是可以之為大綱,配上其它詳細(xì)的書自學(xué)。印刷質(zhì)量一般。
  •   講的很細(xì)很不錯(cuò),支持,頂
  •   由于考研需要買了這本書,太贊了,講解清晰,印刷很好
  •   考試用書不多說。沒什么看頭。
  •   精簡(jiǎn)無錯(cuò),適合計(jì)算機(jī)專業(yè)學(xué)生
  •   作為南大的本科教材,個(gè)人覺得在同類書中算不錯(cuò)了,內(nèi)容安排什么都挺好的
  •   書不錯(cuò),很滿意。謝謝
  •   分析很清楚,講解到位!
  •   這本書還不錯(cuò),包括了C++的基本知識(shí),只是不太系統(tǒng)。
  •   應(yīng)試書,入門書,就能了解個(gè)C++是什么,講的不詳細(xì),不全面。c++還是的看 外國經(jīng)典,才能全面了解c++。絕不是應(yīng)試能力。
  •   值得一讀的C++教材,內(nèi)容比較全面了,講的也比較經(jīng)典.
 

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

京ICP備13047387號(hào)-7