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

出版時(shí)間:2009-3  出版社:機(jī)械工業(yè)出版社  作者:皮德常  頁數(shù):312  

前言

  C++是一種實(shí)用的程序設(shè)計(jì)語言,是高校學(xué)生學(xué)習(xí)程序設(shè)計(jì)的一門必修專業(yè)課程,同時(shí)也是編程人員最廣泛使用的語言。學(xué)好C++,可以很容易地觸類旁通其他語言,如Java和C#等?! ”緯饕轻槍?duì)C++初學(xué)者和自學(xué)者而編寫的,結(jié)合實(shí)例講解了C++的基本概念和方法,力求將復(fù)雜的概念用簡潔、通俗的語言描述,做到深入淺出、循序漸進(jìn)。本書適合用于大學(xué)計(jì)算機(jī)專業(yè)和非計(jì)算機(jī)專業(yè),也可供具有C語言基礎(chǔ)的自學(xué)者使用。本書的特點(diǎn)如下:  1.本書主要講解了C++程序設(shè)計(jì)的編程方法,它是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)學(xué)生的編程基礎(chǔ)?! ?.本書是作者教學(xué)經(jīng)驗(yàn)的結(jié)晶。作者10多年來一直從事程序設(shè)計(jì)方面的教學(xué)和科研工作,主講過程序設(shè)計(jì)方面的多門課程,積累了豐富的教學(xué)經(jīng)驗(yàn)?!皬膶?shí)踐到理論,再從理論到實(shí)踐,循序而漸進(jìn)”是作者教學(xué)的心得體會(huì),編寫教材也不例外。了解學(xué)生的薄弱環(huán)節(jié)和學(xué)習(xí)特點(diǎn),將自己的知識(shí)、授課方法和教學(xué)經(jīng)驗(yàn)整理成書,使更多的學(xué)生受益,是作者的夢想和追求。  3.在內(nèi)容安排上,本書盡量提前講解文件操作(許多書都是在最后講解)這部分內(nèi)容。因?yàn)槲募呛軐?shí)用、也是比較難學(xué)的一章,所以這種安排也為學(xué)生進(jìn)行課程設(shè)計(jì)和實(shí)驗(yàn)做了鋪墊?! ?.在作業(yè)安排上,從易到難,環(huán)環(huán)相扣。作者在教學(xué)中發(fā)現(xiàn),許多學(xué)生學(xué)過C++,卻不會(huì)編程。因此,本書設(shè)計(jì)了許多與實(shí)際有關(guān)的習(xí)題,并且它們彼此相關(guān)?! ?.強(qiáng)調(diào)課程設(shè)計(jì)。C++課程應(yīng)該有課程設(shè)計(jì),在本書的最后給出了一個(gè)課程設(shè)計(jì)要求,希望學(xué)生能獨(dú)立、認(rèn)真地完成。這對(duì)提高學(xué)生的編程能力,鞏固學(xué)過的知識(shí)大有裨益?! ?.力求通俗易懂。編寫本書的目的是讓學(xué)生通過自學(xué)或在教師的講授下,能夠運(yùn)用C++語言的核心要素,進(jìn)行程序設(shè)計(jì)。因此,本書圍繞著如何進(jìn)行C++編程展開。為了便于學(xué)生的學(xué)習(xí),作者力求語言通俗易懂,將復(fù)雜的概念采用淺顯的語言描述,做到易學(xué)、易用、有趣,從而便于讀者理解和掌握C++編程思想和方法。

內(nèi)容概要

  《C++程序設(shè)計(jì)教程》針對(duì)初學(xué)者和自學(xué)者的特點(diǎn),在總結(jié)過去的教學(xué)和實(shí)踐經(jīng)驗(yàn)的基礎(chǔ)上,編寫而成。寫作風(fēng)格別具一格,語言流暢,風(fēng)趣,恰如其分的舉例易于讀者理解和掌握C++程序設(shè)計(jì),同時(shí),在寫作中還特別注重培養(yǎng)學(xué)生的獨(dú)立思考能力。教材結(jié)合實(shí)例講解了C++的基本概念和方法,力求將復(fù)雜的概念用簡潔、通俗、有趣的語言描述,做到了深入淺出、循序漸進(jìn),從而使學(xué)生能體會(huì)學(xué)習(xí)的快樂,及在快樂中學(xué)習(xí)。  C++是一種實(shí)用的程序設(shè)計(jì)語言,是高校學(xué)生學(xué)習(xí)程序設(shè)計(jì)的一門必修專業(yè)課程,同時(shí)也是編程人員最廣泛使用的工具。學(xué)好C++,可以很容易地觸類旁通其他語言,如Java和C#等。  全書共11章,主要包括C++基本數(shù)據(jù)類型、流程控制、函數(shù)、數(shù)組、指針、結(jié)構(gòu)體、文件操作、類的基礎(chǔ)部分、類的高級(jí)部分、繼承、多態(tài)、虛函數(shù)、異常處理、課程設(shè)計(jì)要求等。書中列舉了數(shù)百個(gè)可供直接使用的程序示例代碼,并給出了運(yùn)行結(jié)果,使學(xué)生在學(xué)習(xí)時(shí)更為直觀?!  禖++程序設(shè)計(jì)教程》配有適當(dāng)?shù)牧?xí)題,并提供了該書的電子教案,特別適合用作大學(xué)計(jì)算機(jī)專業(yè)和非計(jì)算機(jī)專業(yè)的程序設(shè)計(jì)課程教材,也非常適合那些具有C編程經(jīng)驗(yàn),又想轉(zhuǎn)向C++編程的讀者閱讀。

書籍目錄

前言第1章 C++程序設(shè)計(jì)基礎(chǔ)1.1 為什么要學(xué)習(xí)C++程序設(shè)計(jì)1.2 簡單的C++程序舉例1.3 注釋方法1.4 編程風(fēng)格1.5 C++程序的詞法單位1.5.1 C++程序中的字符1.5.2 標(biāo)識(shí)符1.5.3 關(guān)鍵字1.6 C++的基本數(shù)據(jù)類型1.7 變量與常量1.7.1 變量1.7.2 文字常量1.7.3 符號(hào)常量1.7.4 常變量1.8 運(yùn)算符和表達(dá)式1.8.1 算術(shù)運(yùn)算符和算術(shù)表達(dá)式1.8.2 運(yùn)算符的優(yōu)先級(jí)和結(jié)合性1.8.3 賦值運(yùn)算符和賦值表達(dá)式1.8.4 自增、自減運(yùn)算1.8.5 關(guān)系運(yùn)算符和關(guān)系表達(dá)式1.8.6 邏輯運(yùn)算符和邏輯表達(dá)式1.8.7 位運(yùn)算和算術(shù)表達(dá)式1.8.8 逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式1.8.9 sizeof運(yùn)算符1.8.10 C++的運(yùn)算符、優(yōu)先級(jí)和結(jié)合性1.9 語句1.10 類型轉(zhuǎn)換1.10.1 賦值時(shí)的類型轉(zhuǎn)換1.10.2 混合運(yùn)算時(shí)的類型轉(zhuǎn)換1.10.3 強(qiáng)制類型轉(zhuǎn)換1.11 簡單的輸出和輸入方法1.11.1 cout對(duì)象和cin對(duì)象1.11.2 格式化輸出1.11.3 采用函數(shù)成員實(shí)現(xiàn)格式化輸出1.11.4 對(duì)函數(shù)成員的初步討論1.11.5 指定輸入域?qū)?.11.6 讀取一行1.11.7 讀取一個(gè)字符1.11.8 讀取字符時(shí)易出錯(cuò)的地方1.12 枚舉類型1.12.1 枚舉類型的定義1.12.2 枚舉類型的變量1.12.3 枚舉類型的應(yīng)用思考與練習(xí)第2章 C++的流程控制2.1 算法的基本概念和表示方法2.1.1 算法的基本概念2.1.2 算法的表示2.1.3 算法的三種基本結(jié)構(gòu)2.2 選擇結(jié)構(gòu)程序設(shè)計(jì)2.2.1 基本的if語句2.2.2 嵌套的if語句2.2.3 條件運(yùn)算符2.3 switCh語句2.4 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)2.4.1 while循環(huán)2.4.2 do—while循環(huán)2.4.3 for循環(huán)2.4.4 循環(huán)嵌套2.4.5 break語句2.4.6 Continue語句2.4.7 應(yīng)該少用的goto語句2.5 程序設(shè)計(jì)應(yīng)用舉例思考與練習(xí)第3章 函數(shù)3.1 函數(shù)的定義和調(diào)用3.1.1 概述3.1.2 定義函數(shù)3.1.3 調(diào)用函數(shù)3.2 函數(shù)的聲明3.3 函數(shù)的參數(shù)傳遞和返回值3.3.1 函數(shù)參數(shù)的傳遞方式3.3.2 函數(shù)的返回值3.4 局部變量和全局變量3.4.1 內(nèi)存存儲(chǔ)區(qū)的布局3.4.2 局部變量3.4.3 全局變量3.4.4 局部變量與棧3.5 變量的存儲(chǔ)類別3.5.1 auto修飾的變量3.5.2 register修飾的變量3.5.3 static修飾的變量3.5.4 extern修飾的變量3.6 默認(rèn)參數(shù)3.7 引用作參數(shù)3.8 函數(shù)重載3.9 函數(shù)模板3.9.1 從函數(shù)重載到函數(shù)模板3.9.2 定義函數(shù)模板的方法3.9.3 在函數(shù)模板中使用多種類型3.9.4 函數(shù)模板重載3.10 內(nèi)聯(lián)函數(shù)3.11 函數(shù)的遞歸調(diào)用3.12 函數(shù)的調(diào)試方法3.13 編譯預(yù)處理3.13.1 宏定義3.13.2 文件包含3.13.3 條件編譯思考與練習(xí)第4章 數(shù)組4.1 一維數(shù)組4.1.1 一維數(shù)組的定義和應(yīng)用4.1.2 引用一維數(shù)組元素4.1.3 數(shù)組無越界檢查4.1.4 數(shù)組初始化4.2 多維數(shù)組4.2.1 二維數(shù)組的定義4.2.2 二維數(shù)組的初始化4.2.3 引用二維數(shù)組元素4.3 數(shù)組作函數(shù)參數(shù)4.3.1 數(shù)組元素作函數(shù)參數(shù)4.3.2 數(shù)組名作函數(shù)參數(shù)4.4 常用算法舉例4.5 字符數(shù)組與字符串4.5.1 字符數(shù)組的定義4.5.2 字符數(shù)組的初始化4.5.3 字符串4.5.4 字符數(shù)組的輸入和輸出4.6 處理字符和字符串4.6.1 處理字符的宏4.6.2 處理c風(fēng)格字符串的函數(shù)4.6.3 自定義字符串處理的函數(shù)4.7 標(biāo)準(zhǔn)c++的string4.7.1 如何使用string類型4.7.2 string對(duì)象的比較4.7.3 string對(duì)象的初始化4.7.4 string的函數(shù)成員4.7.5 string對(duì)象應(yīng)用舉例思考與練習(xí)第5章 指針5.1 指針的概念5.2 指針變量5.2.1 定義指針變量5.2.2 運(yùn)算符&和5.2.3 引用指針變量5.3 指針與數(shù)組5.3.1 指向數(shù)組元素的指針5.3.2 指針的運(yùn)算5.3.3 二維數(shù)組與指針5.4 指針與函數(shù)5.4.1 基本類型的變量作函數(shù)形參5.4.2 引用作函數(shù)形參5.4.3 指針變量作函數(shù)形參5.4.4 返回指針的函數(shù)5.4.5 指向函數(shù)的指針5.5 指針數(shù)組與指向指針的指針5.5.1 指針數(shù)組5.5.2 main函數(shù)的參數(shù)5.5.3 指向指針的指針5.5.4 再次討論main函數(shù)的參數(shù)5.6 內(nèi)存的動(dòng)態(tài)分配和釋放5.7 void和const修飾指針變量5.7.1 void修飾指針5.7.2 const修飾指針5.8 對(duì)容易混淆概念的總結(jié)思考與練習(xí)第6章 結(jié)構(gòu)體與鏈表6.1 抽象數(shù)據(jù)類型6.2 結(jié)構(gòu)體的定義及應(yīng)用6.2.1 定義結(jié)構(gòu)體類型6.2.2 定義結(jié)構(gòu)體類型的變量6.2.3 初始化結(jié)構(gòu)體類型的變量6.2.4 結(jié)構(gòu)體類型變量及其成員的引用6.2.5 結(jié)構(gòu)體數(shù)組與指針6.3 用typedef定義類型6.4 單向鏈表6.4.1 鏈表的概念6.4.2 帶頭結(jié)點(diǎn)的單向鏈表常用算法思考與練習(xí)第7章 文件操作7.1 文件的基本概念7.1.1 文件命名的原則7.1.2 使用文件的基本過程7.1.3 文件流類型7.2 打開文件和關(guān)閉文件7.2.1 打開文件7.2.2 文件的打開模式7.2.3 定義流對(duì)象時(shí)打開文件7.2.4 測試文件打開是否成功7.2.5 關(guān)閉文件7.3 采用流操作符讀寫文件7.3.1 采用“>”從文件讀數(shù)據(jù)7.3.4 檢測文件結(jié)束7.4 流對(duì)象作參數(shù)7.5 出錯(cuò)檢測7.6 采用函數(shù)成員讀/寫文件7.6.1 采用“>>”讀文件的缺陷7.6.2 采用函數(shù)getline讀文件7.6.3 采用函數(shù)get讀文件7.6.4 采用函數(shù)put寫文件7.7 多文件操作7.8 二進(jìn)制文件7.8.1 二進(jìn)制文件的操作7.8.2 讀/寫結(jié)構(gòu)體記錄7.9 隨機(jī)訪問文件7.9.1 順序訪問文件的缺陷7.9.2 定位函數(shù)seekp和seekg7.9.3 返回位置函數(shù)tellp和tellg7.10 輸入/輸出二進(jìn)制文件綜合舉例思考與練習(xí)第8章 類的基礎(chǔ)部分8.1 面向過程的程序設(shè)計(jì)與面向?qū)ο蟪绦蛟O(shè)計(jì)的區(qū)別8.1.1 面向過程的程序設(shè)計(jì)的缺陷8.1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思想8.2 類的基本概念8.3 定義函數(shù)成員8.4 定義對(duì)象8.4.1 訪問對(duì)象的成員8.4.2 指向?qū)ο蟮闹羔?.4.3 引入私有成員的原因8.5 類的多文件組織8.6 私有函數(shù)成員的作用8.7 內(nèi)聯(lián)函數(shù)8.8 構(gòu)造函數(shù)和析構(gòu)函數(shù)8.8.1 構(gòu)造函數(shù)8.8.2 析構(gòu)函數(shù)8.8.3 帶參構(gòu)造函數(shù)8.8.4 構(gòu)造函數(shù)應(yīng)用舉例——輸入有效的對(duì)象8.8.5 重載構(gòu)造函數(shù)8.8.6 缺省構(gòu)造函數(shù)的表現(xiàn)形式8.9 對(duì)象數(shù)組8.10 類的應(yīng)用舉例8.11 抽象數(shù)組類型8.11.1 創(chuàng)建抽象數(shù)組類型8.11.2 擴(kuò)充抽象數(shù)組類型思考與練習(xí)第9章 類的高級(jí)部分9.1 靜態(tài)成員9.1.1 靜態(tài)數(shù)據(jù)成員9.1.2 靜態(tài)函數(shù)成員9.2 友元函數(shù)9.2.1 外部函數(shù)作為類的友元9.2.2 類的成員函數(shù)作為另外一個(gè)類的友元9.2.3 一個(gè)類作為另外一個(gè)類的友元9.3 對(duì)象賦值問題9.4 拷貝構(gòu)造函數(shù)9.4.1 缺省的拷貝構(gòu)造函數(shù)9.4.2 調(diào)用拷貝構(gòu)造函數(shù)的情況9.4.3 拷貝構(gòu)造函數(shù)中的常參數(shù)9.5 運(yùn)算符重載9.5.1 重載賦值運(yùn)算符9.5.2 this指針9.5.3 重載雙目算術(shù)運(yùn)算符9.5.4 重載單目算術(shù)運(yùn)算符9.5.5 重載關(guān)系運(yùn)算符9.5.6 重載流操作符“>”9.5.7 重載類型轉(zhuǎn)換運(yùn)算符9.5.8 重載操作符9.5.9 重載運(yùn)算符時(shí)要注意的問題9.5.10 運(yùn)算符重載綜合舉例——自定義string類9.6 對(duì)象組合思考與練習(xí)第10章 繼承、多態(tài)和虛函數(shù)10.1 繼承10.2 保護(hù)成員和類的訪問10.3 構(gòu)造函數(shù)和析構(gòu)函數(shù)10.3.1 缺省構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用10.3.2 向基類的構(gòu)造函數(shù)傳參數(shù)10.3.3 初始化列表的作用10.4 覆蓋基類的函數(shù)成員10.5 虛函數(shù)10.6 純虛函數(shù)和抽象類10.6.1 純虛函數(shù)10.6.2 抽象類10.6.3 指向基類的指針10.7 多重繼承10.8 多繼承10.9 類模板10.9.1 定義類模板的方法10.9.2 定義類模板的對(duì)象10.9.3 類模板與繼承思考與練習(xí)第11章 異常處理11.1 異常11.1.1 拋出異常11.1.2 處理異常11.2 基于對(duì)象的異常處理11.3 捕捉多種類型的異常11.4 通過異常對(duì)象獲取異常信息11.5 再次拋出異常思考與練習(xí)課程設(shè)計(jì)參考文獻(xiàn)

章節(jié)摘錄

  第1章 C++程序設(shè)計(jì)基礎(chǔ)  C++是在C的基礎(chǔ)上擴(kuò)充而成的,以其獨(dú)特的機(jī)制廣泛地應(yīng)用在計(jì)算機(jī)領(lǐng)域。本章主要講述C++的基本知識(shí),先主要介紹詞法單位、數(shù)據(jù)類型、運(yùn)算符、變量和常量、表達(dá)式和語句等基礎(chǔ)知識(shí),然后介紹簡單的輸入與輸出方法?! ?.1 為什么要學(xué)習(xí)C++程序設(shè)計(jì)  隨著計(jì)算機(jī)軟硬件技術(shù)的發(fā)展,計(jì)算機(jī)應(yīng)用規(guī)模不斷提高,在軟件開發(fā)語言和工具方面不斷地推陳出新,新語言、新工具層出不窮。目前,國內(nèi)許多高校,無論是計(jì)算機(jī)專業(yè)還是非計(jì)算機(jī)專業(yè),都開設(shè)了C++語言課程,并且將它作為一門專業(yè)必修課程?! ++是C的擴(kuò)充版本。C++對(duì)C的擴(kuò)充是由Bjarne Stroustrup于1980年在美國新澤西州瑪瑞惠爾的貝爾實(shí)驗(yàn)室提出來的,起初,他把這種語言稱為“帶類的C”,到1983年才改名為C++。  在計(jì)算機(jī)剛發(fā)明時(shí),人們采用打孔機(jī)直接進(jìn)行機(jī)器指令程序設(shè)計(jì),當(dāng)程序長度有幾百條指令時(shí),采用這種方法就困難了。后來人們?cè)O(shè)計(jì)了用符號(hào)表示機(jī)器指令的匯編語言,從而能夠處理更大更復(fù)雜的程序。到了20世紀(jì)60年代出現(xiàn)了結(jié)構(gòu)化程序設(shè)計(jì)方法(目前的C就采用這種方法),這使得人們能夠容易編寫較為復(fù)雜的程序。但是,一旦程序設(shè)計(jì)達(dá)到一定的程度,即使結(jié)構(gòu)化程序設(shè)計(jì)方法也變得無法控制,其復(fù)雜性超出了人的管理限度。例如,一旦C程序代碼達(dá)到T25 000~100 000行,系統(tǒng)就變得十分復(fù)雜,程序員很難控制,而C++的目的就是為了解決這個(gè)問題,其本質(zhì)就是讓程序員理解和管理更大、更復(fù)雜的程序。因此,采用支持面向?qū)ο蟮腃++是時(shí)代發(fā)展的需要?!  ?/pre>

編輯推薦

  《C++程序設(shè)計(jì)教程》以“程序設(shè)計(jì)”為主線,從材料取舍、內(nèi)容表達(dá)方式、實(shí)例選取到習(xí)題和課程設(shè)計(jì)配置都以讀者掌握“程序設(shè)計(jì)”的基本概念、方法和技巧為重點(diǎn),并融入了作者多年的C++教學(xué)經(jīng)驗(yàn)和軟件工程實(shí)踐經(jīng)驗(yàn)。  《C++程序設(shè)計(jì)教程》特色:  內(nèi)容充實(shí),取材適中。涵蓋了“C++程序設(shè)計(jì)”必要的基礎(chǔ)知識(shí),系統(tǒng)地介紹了C++程序設(shè)計(jì)的基本概念、方法和技術(shù)。而且,由于C++兼?zhèn)涿嫦蜻^程和面向?qū)ο蟮摹俺绦蛟O(shè)計(jì)”特征,涉及很多的概念和語言機(jī)制,作者選取了其中最實(shí)用的部分?! ∫越淌凇俺绦蛟O(shè)計(jì)”的基本概念、方法和技巧為主線。全書的文字表述中除了引入基本概念外,主要介紹如何編寫優(yōu)質(zhì)程序;還以“警告”、“注意”、“思考”和“知識(shí)點(diǎn)”等醒目的形式辟專欄講授編程方法、技巧和經(jīng)驗(yàn)。  在內(nèi)容安排上,盡量提前講解文件操作一,以便盡早學(xué)習(xí)這部分既實(shí)用又比較難掌握的內(nèi)容,又為學(xué)生進(jìn)行課程設(shè)計(jì)和實(shí)驗(yàn)做了輔墊;在作業(yè)安排上,從易到難,環(huán)環(huán)相扣;強(qiáng)調(diào)課程設(shè)計(jì)?! ×η笳Z言通俗易懂,將復(fù)雜的概念采用澆顯的語言描述,做到易學(xué)、易用、有趣,從而便于讀者理解和掌握C++編程?! “罅康某绦蚴纠?,并給出了運(yùn)行結(jié)果;強(qiáng)調(diào)程序的可讀性,書中的程序全部采用統(tǒng)一的程序設(shè)計(jì)風(fēng)格。

圖書封面

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


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


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

 
 

 

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

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