程序設(shè)計(jì)基礎(chǔ)——以C++為例(計(jì)算機(jī)系列教材)
定 價(jià):49 元
- 作者:虞歌 著
- 出版時(shí)間:2013/12/1
- ISBN:9787302342281
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP312
- 頁(yè)碼:496
- 紙張:膠版紙
- 版次:1
- 開本:16開
《程序設(shè)計(jì)基礎(chǔ):以C++為例/普通高等教育“十一五”國(guó)家級(jí)規(guī)劃教材·計(jì)算機(jī)系列教材》是以C++語言作為入門語言的程序設(shè)計(jì)教材,以嶄新的思路進(jìn)行設(shè)計(jì)和編排。全書以程序設(shè)計(jì)零起點(diǎn)讀者為主要對(duì)象,以培養(yǎng)程序設(shè)計(jì)能力為目標(biāo),循序漸進(jìn),通過數(shù)百個(gè)例題,重點(diǎn)講解程序設(shè)計(jì)思想和方法,力圖將C++語言基礎(chǔ)知識(shí)介紹和程序設(shè)計(jì)能力培養(yǎng)完美結(jié)合。《程序設(shè)計(jì)基礎(chǔ):以C++為例/普通高等教育“十一五”國(guó)家級(jí)規(guī)劃教材·計(jì)算機(jī)系列教材》共10章,包括程序設(shè)計(jì)概述、C++基礎(chǔ)、函數(shù)、復(fù)合數(shù)據(jù)類型、對(duì)象和類、對(duì)象和類的進(jìn)一步學(xué)習(xí)、繼承和多態(tài)、文件、常用數(shù)據(jù)結(jié)構(gòu)以及標(biāo)準(zhǔn)模板庫(kù)。
《程序設(shè)計(jì)基礎(chǔ):以C++為例/普通高等教育“十一五”國(guó)家級(jí)規(guī)劃教材·計(jì)算機(jī)系列教材》可作為高等學(xué)校學(xué)生學(xué)習(xí)程序設(shè)計(jì)課程的教材,也可供程序員和編程愛好者參考使用。
《程序設(shè)計(jì)基礎(chǔ):以C++為例/普通高等教育“十一五”國(guó)家級(jí)規(guī)劃教材·計(jì)算機(jī)系列教材》特色: 1.完全遵循C++語言標(biāo)準(zhǔn)(C++03),并加入了最新C++語言標(biāo)準(zhǔn)(C++11)的部分內(nèi)容。避免程序依賴任何特定的計(jì)算機(jī)、操作系統(tǒng)和編譯器! 2.以程序設(shè)計(jì)思想和方法的培養(yǎng)為主線,按照循序漸進(jìn)的方式進(jìn)行編排,前后內(nèi)容由淺入深、相互呼應(yīng)! 3.針對(duì)C++語言語法龐雜,重點(diǎn)介紹了基本的、常用的C++語言語法知識(shí),使讀者容易理解和掌握! 4.通過數(shù)百個(gè)例題,通俗易懂地講解概念、語法和算法,尤其強(qiáng)調(diào)標(biāo)準(zhǔn)庫(kù)函數(shù)的使用。每章后面都有精心設(shè)計(jì)的實(shí)驗(yàn)題,便于讀者通過模仿、改寫、編寫的實(shí)踐過程強(qiáng)化對(duì)相關(guān)內(nèi)容的理解! 5.強(qiáng)調(diào)程序的可讀性,注重培養(yǎng)良好的編碼風(fēng)格!冻绦蛟O(shè)計(jì)基礎(chǔ):以C++為例/普通高等教育“十一五”國(guó)家級(jí)規(guī)劃教材·計(jì)算機(jī)系列教材》程序全部采用一種符合業(yè)界規(guī)范的編碼風(fēng)格。
隨著信息產(chǎn)業(yè)的迅速發(fā)展,軟件人才的需求量也越來越大。程序設(shè)計(jì)是軟件人才必備的基礎(chǔ)知識(shí)和技能。
程序設(shè)計(jì)基礎(chǔ)是一門理論與實(shí)踐密切相關(guān),以培養(yǎng)學(xué)生程序設(shè)計(jì)能力為目標(biāo)的課程。如何消除學(xué)生學(xué)習(xí)程序設(shè)計(jì)的畏難情緒,使學(xué)生順利進(jìn)入程序設(shè)計(jì)的大門,逐步掌握程序設(shè)計(jì)思想和方法,提高實(shí)踐動(dòng)手能力,是本課程教學(xué)的難題。
程序設(shè)計(jì)既是科學(xué),也是藝術(shù)。學(xué)習(xí)程序設(shè)計(jì)是一件非常辛苦的事情,要有非常強(qiáng)的耐心和實(shí)踐精神,需要花費(fèi)大量的時(shí)間,不可能一蹴而就,必須從某個(gè)起點(diǎn)開始循序漸進(jìn)。
本書就是一個(gè)很好的起點(diǎn),以程序設(shè)計(jì)零起點(diǎn)讀者為主要對(duì)象,采用標(biāo)準(zhǔn)C++語言(C++03)作為程序設(shè)計(jì)的描述語言,并加入了最新C++語言標(biāo)準(zhǔn)(C++11)的部分內(nèi)容。C++語言是目前業(yè)界使用最廣泛的程序設(shè)計(jì)語言,作者確信選用C++語言作為程序設(shè)計(jì)基礎(chǔ)課程的教學(xué)語言是正確的選擇。在多年的教學(xué)實(shí)踐中,作者深深感到C++語言的靈活和高效,能夠帶給軟件開發(fā)者無盡想象的空間,同時(shí)也深深感到講授C++語言過程中面臨的困難和挑戰(zhàn),意識(shí)到在程序設(shè)計(jì)基礎(chǔ)課程中講授C++語言并不是那么容易的。C++語言是一門復(fù)雜的程序設(shè)計(jì)語言,是為軟件開發(fā)者設(shè)計(jì)的,而非為初學(xué)者設(shè)計(jì)的,向初學(xué)者講授C++語言時(shí)必須很好地控制其固有的復(fù)雜性。
盡管目前有關(guān)學(xué)習(xí)C++語言的書籍很多,但學(xué)習(xí)C++語言仍然讓大多數(shù)初學(xué)者心存畏懼。作者一直從事程序設(shè)計(jì)方面的教學(xué)和科研工作,主講過多門程序設(shè)計(jì)課程,積累了豐富的教學(xué)經(jīng)驗(yàn)。結(jié)合自己學(xué)習(xí)和使用C++語言的經(jīng)驗(yàn)和感悟,以程序設(shè)計(jì)為主線,通過數(shù)百個(gè)例題,簡(jiǎn)潔通俗地講解程序設(shè)計(jì)思想和方法,并穿插介紹相關(guān)的語言知識(shí),循序漸進(jìn)培養(yǎng)學(xué)生的程序設(shè)計(jì)能力。本書對(duì)那些渴望掌握C++語言而又心存畏懼的初學(xué)者是一個(gè)很好的選擇。
教學(xué)改革的重點(diǎn)之一,就是要抓學(xué)生實(shí)踐動(dòng)手能力的培養(yǎng)。學(xué)生的能力是決定就業(yè)的根本,而就業(yè)率又是體現(xiàn)教育質(zhì)量的重要指標(biāo)。作為國(guó)內(nèi)首家服務(wù)外包本科學(xué)院以及教育部、商務(wù)部在江蘇、浙江兩省開展地方高校計(jì)算機(jī)學(xué)院培養(yǎng)服務(wù)外包人才試點(diǎn)工作單位,我們實(shí)施了程序設(shè)計(jì)課程的教學(xué)改革,在教學(xué)內(nèi)容、教學(xué)方法、教學(xué)手段和考核方式上,基本形成了比較完整的體系,目的就是培養(yǎng)學(xué)生的程序設(shè)計(jì)能力,適應(yīng)社會(huì)對(duì)軟件服務(wù)外包人才培養(yǎng)的需求。本書源于教學(xué)改革和教學(xué)實(shí)踐,體現(xiàn)了程序設(shè)計(jì)教學(xué)改革的成果。
全書共有10章,各章內(nèi)容安排如下: 第1章程序設(shè)計(jì)概述,介紹程序設(shè)計(jì)基本概念和C++語言的基礎(chǔ)知識(shí)。第2章C++基礎(chǔ),介紹標(biāo)識(shí)符、數(shù)據(jù)類型、運(yùn)算符、表達(dá)式、語句、標(biāo)準(zhǔn)庫(kù)函數(shù)的使用、指針、引用以及程序設(shè)計(jì)錯(cuò)誤、程序設(shè)計(jì)風(fēng)格。第3章函數(shù),內(nèi)容包括函數(shù)定義、函數(shù)調(diào)用、函數(shù)聲明、內(nèi)聯(lián)函數(shù)、函數(shù)默認(rèn)參數(shù)、函數(shù)重載、函數(shù)模板、遞歸函數(shù)、指針和函數(shù)、引用和函數(shù)、Lambda表達(dá)式以及異常處理、程序結(jié)構(gòu)。第4章復(fù)合數(shù)據(jù)類型,內(nèi)容包括數(shù)組的基本概念、數(shù)組的聲明和使用、數(shù)組作為函數(shù)參數(shù)、數(shù)組和指針的關(guān)系、排序和查找、array數(shù)組、動(dòng)態(tài)內(nèi)存分配以及字符串。第5章對(duì)象和類,內(nèi)容包括面向?qū)ο蟪绦蛟O(shè)計(jì)、類、構(gòu)造函數(shù)和析構(gòu)函數(shù)、靜態(tài)成員、類作用域、對(duì)象作為函數(shù)參數(shù)、對(duì)象數(shù)組、異常類以及編寫多文件程序。第6章對(duì)象和類的進(jìn)一步學(xué)習(xí),內(nèi)容包括拷貝構(gòu)造函數(shù)、this指針、對(duì)象組合、友元函數(shù)和友元類、運(yùn)算符重載以及類模板。第7章繼承和多態(tài),內(nèi)容包括繼承的概念、單繼承、多繼承、多態(tài)的概念、虛函數(shù)、抽象類。第8章文件,內(nèi)容包括文件的基本概念、文件操作、文件輸入輸出以及文件定位。第9章常用數(shù)據(jù)結(jié)構(gòu),內(nèi)容包括數(shù)組類Vector、棧類Stack、鏈表以及隊(duì)列類Queue。第10章標(biāo)準(zhǔn)模板庫(kù),內(nèi)容包括標(biāo)準(zhǔn)模板庫(kù)的概念、容器、容器適配器、迭代器、函數(shù)對(duì)象以及算法。
寫給教師
跟各位尊敬的老師一樣,作者從事了多年程序開發(fā)和教學(xué)工作,深知教學(xué)的艱辛,為教學(xué)方法費(fèi)勁了心機(jī),為教學(xué)效果傷透了腦筋,為學(xué)生的學(xué)習(xí)成績(jī)搖頭惋惜……所有這一切,從主觀上說,與教師素質(zhì)有關(guān)、與教學(xué)方法有關(guān)、與學(xué)生的學(xué)習(xí)態(tài)度有關(guān);而在客觀上,與教材和教學(xué)內(nèi)容組織更有著重大的關(guān)聯(lián)。編寫本書的目的,就是企圖從客觀的角度,使教師的教學(xué)熱情有更好的著力點(diǎn),從而更順利地完成既定的教學(xué)目標(biāo),讓教師和學(xué)生的辛勞能得到應(yīng)有的回報(bào)。
每章后面都有精心設(shè)計(jì)的實(shí)驗(yàn)題,可以據(jù)此來布置實(shí)驗(yàn)內(nèi)容,使學(xué)生從第1周起就練習(xí)編程,并貫穿始終。許多實(shí)驗(yàn)題與例題有關(guān)聯(lián)。實(shí)驗(yàn)題都有運(yùn)行結(jié)果,較難的實(shí)驗(yàn)題有編程提示和程序代碼,便于學(xué)生檢驗(yàn)自己編寫的程序。
實(shí)驗(yàn)所用操作系統(tǒng)可以是Windows、Mac OS X或UNIX/Linux,建議使用業(yè)界流行的C++語言集成開發(fā)工具(例如Visual Studio、Xcode或Code∷Blocks的較新版本),支持利用項(xiàng)目來實(shí)現(xiàn)程序的多文件組織。徹底拋棄非常陳舊的Visual C++ 6.0。
在講授過程中,應(yīng)該完全遵循C++語言標(biāo)準(zhǔn),避免程序依賴任何特定的計(jì)算機(jī)、操作系統(tǒng)和編譯器。要注重培養(yǎng)學(xué)生養(yǎng)成良好的編碼風(fēng)格,強(qiáng)調(diào)程序的可讀性。在編寫程序時(shí),采用一種統(tǒng)一的、良好的編碼風(fēng)格是非常重要的。本書程序全部采用一種符合業(yè)界規(guī)范的編碼風(fēng)格。
我們所面對(duì)的教學(xué)對(duì)象,絕大多數(shù)是第一次接觸程序設(shè)計(jì)的學(xué)生,很多學(xué)生對(duì)學(xué)習(xí)程序設(shè)計(jì)有較大的畏難情緒。培養(yǎng)學(xué)生程序設(shè)計(jì)能力不外乎3點(diǎn): 興趣、天賦和經(jīng)驗(yàn)。經(jīng)驗(yàn)可以通過實(shí)踐加以積累,天賦不容易改變,所以程序設(shè)計(jì)課程教學(xué)唯一能起作用的就是提高學(xué)生對(duì)編程的興趣。
以往的程序設(shè)計(jì)教學(xué)多以講授語法為主,沒有引導(dǎo)學(xué)生如何合理優(yōu)美地使用語言來解決實(shí)際問題。對(duì)初學(xué)者來說,語法內(nèi)容講得太多,難以在短時(shí)間內(nèi)理解和消化。更何況,在課堂教學(xué)中,不可能面面俱到地講授語法知識(shí)。這就造成了多數(shù)學(xué)生在學(xué)習(xí)結(jié)束后仍不會(huì)編程。這種只造磚、不蓋房的教學(xué)方式,本身就造就了學(xué)生這樣的學(xué)習(xí)態(tài)度,使學(xué)生感覺就是為了考試過關(guān)、為了學(xué)分而學(xué)習(xí),所以學(xué)習(xí)興趣不大,主觀能動(dòng)性缺乏,學(xué)過的東西也很少能對(duì)將來的就業(yè)和工作有幫助,因此,真正能夠達(dá)到課程期望目標(biāo)的學(xué)生少之又少。
本書略去過多的語法細(xì)節(jié)和實(shí)際很少使用的語言特性,通過“例題→知識(shí)點(diǎn)說明→模仿編程→實(shí)踐提高”的教學(xué)方式,讓學(xué)生首先得到成功的經(jīng)歷,盡快體驗(yàn)成功的喜悅,逐漸喜愛看似枯燥的課程,增強(qiáng)學(xué)習(xí)的信心,激發(fā)求知欲。如果不僅會(huì)造磚,而且用造好的磚瓦親手蓋起了漂亮的房子,那么,學(xué)生就不會(huì)輕易將它們丟棄,而且還會(huì)長(zhǎng)期擁有、使用和維護(hù)它們。這樣,學(xué)到的東西就會(huì)真正成為他們自己的財(cái)富,而他們也將由此長(zhǎng)期受益。那么,教師順利、圓滿地完成教學(xué)目標(biāo)也就可以期待了。
寫給學(xué)生
程序設(shè)計(jì)是一門實(shí)踐性很強(qiáng)的學(xué)科,僅靠記概念、背原理是遠(yuǎn)遠(yuǎn)不夠的。通常學(xué)生在上課時(shí)基本都能夠聽懂,可到了自己動(dòng)手編程時(shí),往往會(huì)覺得無從下手。要解決這個(gè)問題沒有捷徑可走,只有增加實(shí)踐的時(shí)間和數(shù)量,熟能生巧,經(jīng)歷的多了,就會(huì)慢慢理解程序設(shè)計(jì)的思想,用過的方法多了,遇到問題才有可能想到解決的思路。
剛開始可能會(huì)感覺程序設(shè)計(jì)很難、很痛苦,可是當(dāng)?shù)谝淮尉帉懗隽艘粋(gè)小程序,就會(huì)覺得無比欣喜,回頭看看其實(shí)也并不是那么難。解決了一個(gè)過去不能解決的問題,就是一種自我實(shí)現(xiàn),就會(huì)有成就感,就會(huì)發(fā)覺自己原來這么有潛力。反過來,這種感覺會(huì)更加激發(fā)學(xué)習(xí)的熱情,驅(qū)使自己去解決更多的難題,實(shí)現(xiàn)更多實(shí)用的任務(wù),同時(shí)這些成果還可以作為提高自己工作效率的工具,豈不兩全其美?這個(gè)過程也正是一條造就高手之路。所以學(xué)習(xí)程序設(shè)計(jì)一定要有信心、耐心和恒心,要實(shí)踐,實(shí)踐,再實(shí)踐。
教學(xué)資源
讀者要獲取本書的相關(guān)資源,請(qǐng)?jiān)L問清華大學(xué)出版社網(wǎng)站http://www.tup.com.cn。
致謝
在本書寫作過程中,參考了部分圖書資料和網(wǎng)站資料,在此向其作者表示感謝。
本書的出版得到了清華大學(xué)出版社的大力支持,在此表示衷心的感謝。
征求建議與批評(píng)
感謝讀者選擇本書。由于作者水平和經(jīng)驗(yàn)有限,書中難免有不足之處,懇請(qǐng)讀者提出寶貴意見和建議,使本書日臻完善。
第1章 程序設(shè)計(jì)概述
1.1 程序設(shè)計(jì)基礎(chǔ)
1.1.1 程序
1.1.2 程序設(shè)計(jì)語言
1.1.3 程序設(shè)計(jì)
1.2 C++語言的發(fā)展歷史與特點(diǎn)
1.2.1 C++語言的歷史
1.2.2 C++語言的特點(diǎn)
1.3 初識(shí)C++
1.3.1 基本術(shù)語
1.3.2 C++程序的開發(fā)過程
1.3.3 第一個(gè)C++程序
1.3.4 華氏溫度轉(zhuǎn)換為攝氏溫度的程序
1.3.5 兩個(gè)整數(shù)的加法程序
1.3.6 計(jì)算兩點(diǎn)之間距離的程序 第1章 程序設(shè)計(jì)概述
1.1 程序設(shè)計(jì)基礎(chǔ)
1.1.1 程序
1.1.2 程序設(shè)計(jì)語言
1.1.3 程序設(shè)計(jì)
1.2 C++語言的發(fā)展歷史與特點(diǎn)
1.2.1 C++語言的歷史
1.2.2 C++語言的特點(diǎn)
1.3 初識(shí)C++
1.3.1 基本術(shù)語
1.3.2 C++程序的開發(fā)過程
1.3.3 第一個(gè)C++程序
1.3.4 華氏溫度轉(zhuǎn)換為攝氏溫度的程序
1.3.5 兩個(gè)整數(shù)的加法程序
1.3.6 計(jì)算兩點(diǎn)之間距離的程序
1.3.7 計(jì)算圓面積的程序
小結(jié)
習(xí)題
實(shí)驗(yàn)
第2章 C++基礎(chǔ)
2.1 標(biāo)識(shí)符
2.1.1 C++程序中的基本記號(hào)
2.1.2 標(biāo)識(shí)符
2.1.3 關(guān)鍵字
2.2 數(shù)據(jù)類型
2.2.1 數(shù)據(jù)類型的基本概念
2.2.2 變量和常量
2.2.3 整數(shù)類型
2.2.4 浮點(diǎn)數(shù)類型
2.2.5 字符類型
2.2.6 布爾類型
2.2.7 枚舉類型
2.2.8 類型定義
2.3 用運(yùn)算符對(duì)數(shù)據(jù)進(jìn)行運(yùn)算
2.3.1 用表達(dá)式表達(dá)運(yùn)算意圖
2.3.2 算術(shù)運(yùn)算符和算術(shù)表達(dá)式
2.3.3 賦值運(yùn)算符和賦值表達(dá)式
2.3.4 關(guān)系運(yùn)算符和關(guān)系表達(dá)式
2.3.5 邏輯運(yùn)算符和邏輯表達(dá)式
2.3.6 條件運(yùn)算符和條件表達(dá)式
2.3.7 位運(yùn)算符
2.3.8 長(zhǎng)度運(yùn)算符
2.3.9 類型轉(zhuǎn)換
2.4 將語句編織成程序
2.4.1 什么是語句
2.4.2 簡(jiǎn)單語句
2.4.3 單入口單出口的控制結(jié)構(gòu)
2.4.4 分支結(jié)構(gòu)
2.4.5 循環(huán)結(jié)構(gòu)
2.5 使用輸入輸出標(biāo)準(zhǔn)庫(kù)
2.6 指針
2.6.1 什么是指針
2.6.2 聲明指針變量
2.6.3 取地址運(yùn)算符和解引用運(yùn)算符
2.6.4 指向指針的指針
2.6.5 指針賦值
2.6.6 通用指針
2.6.7 使用const修飾指針
2.7 引用
2.8 程序設(shè)計(jì)錯(cuò)誤
2.8.1 語法錯(cuò)誤
2.8.2 運(yùn)行時(shí)錯(cuò)誤
2.8.3 邏輯錯(cuò)誤
2.8.4 測(cè)試和調(diào)試
……
第3章 函數(shù)
第4章 復(fù)合數(shù)據(jù)類型
第5章 對(duì)象和類
第6章 對(duì)象和類的進(jìn)一步學(xué)習(xí)
第7章 繼承和多態(tài)
第8章 文件
第9章 常用數(shù)據(jù)結(jié)構(gòu)
第10章 標(biāo)準(zhǔn)模板庫(kù)