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