普通高等教育“十二五”規(guī)劃教材·高等院校計(jì)算機(jī)系列教材:C++程序設(shè)計(jì)教程
定 價(jià):25.8 元
當(dāng)前圖書(shū)已被 1 所學(xué)校薦購(gòu)過(guò)!
查看明細(xì)
- 作者:瞿紹軍 ,劉宏 著
- 出版時(shí)間:2010/8/1
- ISBN:9787560963655
- 出 版 社:華中科技大學(xué)出版社
- 中圖法分類(lèi):TP312C
- 頁(yè)碼:265
- 紙張:膠版紙
- 版次:1
- 開(kāi)本:16開(kāi)
《C++程序設(shè)計(jì)教程》緊密結(jié)合目前高等學(xué)校計(jì)算機(jī)教學(xué)的發(fā)展趨勢(shì),將ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽的相關(guān)內(nèi)容引入教材,對(duì)學(xué)生養(yǎng)成良好的編程習(xí)慣和編程思維,提高分析和解決問(wèn)題的能力大有幫助-這是《C++程序設(shè)計(jì)教程》的創(chuàng)新之處。
全書(shū)共分12章,各章節(jié)內(nèi)容由淺入深、相互銜接、前后呼應(yīng)、循序漸進(jìn)。第1~6章介紹了C+十程序設(shè)計(jì)的基礎(chǔ)、函數(shù)與程序結(jié)構(gòu)、數(shù)組與字符串、指針、結(jié)構(gòu)體與共用體、ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽相關(guān)知識(shí)和競(jìng)賽中的輸入/輸出等;第7~11章介紹了C++面向?qū)ο蟮奶匦裕?lèi)與對(duì)象及封裝性、類(lèi)的深入、運(yùn)算符重載和模板、繼承性、多態(tài)性;第12章介紹了C++輸入/輸出流和ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽中的文件輸入/輸出;附錄A列出了ASCⅡ碼對(duì)照表;附錄B列出了C/C++與標(biāo)準(zhǔn)C++頭文件對(duì)照表,方便學(xué)習(xí)和參考;附錄C介紹了Linux、Unix下編譯和調(diào)試C++程序的方法。
與《C++程序設(shè)計(jì)教程》配套的教材《C++程序設(shè)計(jì)教程習(xí)題答案和實(shí)驗(yàn)指導(dǎo)》提供了本課程的實(shí)驗(yàn)內(nèi)容、習(xí)題參考答案和模擬試卷。所有習(xí)題和程序均按照.ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽要求進(jìn)行設(shè)計(jì),并進(jìn)行了嚴(yán)格的測(cè)試,驗(yàn)證了程序的正確性。本課程設(shè)有專(zhuān)門(mén)的課程學(xué)習(xí)網(wǎng)站,具有豐富的學(xué)習(xí)參考資料,所有的習(xí)題均可在學(xué)習(xí)網(wǎng)站進(jìn)行測(cè)試。
《C++程序設(shè)計(jì)教程》特別適合用做計(jì)算機(jī)專(zhuān)業(yè)和相關(guān)專(zhuān)業(yè)的教材,作為ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽入門(mén)教材,也可作為各類(lèi)考試培訓(xùn)和C++程序設(shè)計(jì)自學(xué)教材。
C++語(yǔ)言是目前最流行的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言之一。它既支持傳統(tǒng)的面向過(guò)程的程序設(shè)計(jì)方法,也支持面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。它是Linux和Unix下編程的最主要的語(yǔ)言之一,也是嵌入式開(kāi)發(fā)最常用的編程語(yǔ)言之一。C++全面兼容C,熟悉C的程序員僅需學(xué)習(xí)C++語(yǔ)言的面向?qū)ο筇卣,就可很快地用C++編寫(xiě)程序。
本書(shū)是一本通過(guò)編程實(shí)踐引導(dǎo)學(xué)生掌握C++程序開(kāi)發(fā)的教材。我們組織了多位長(zhǎng)期從事程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο蟪绦蛟O(shè)計(jì)和計(jì)算機(jī)算法設(shè)計(jì)課程教學(xué)的老師參與本書(shū)編寫(xiě),其中部分老師還是本校的ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽集訓(xùn)隊(duì)的教練和指導(dǎo)老師,他們都有著豐富的教學(xué)和編程經(jīng)驗(yàn)。本書(shū)在編寫(xiě)過(guò)程中力求將復(fù)雜的概念用簡(jiǎn)潔、通俗的語(yǔ)言來(lái)描述,做到深入淺出、循序漸進(jìn),從而使學(xué)生能體會(huì)到學(xué)習(xí)編程的樂(lè)趣。
本書(shū)將ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽引入課程學(xué)習(xí)之中,使學(xué)生從編程入門(mén)開(kāi)始就養(yǎng)成良好的編程習(xí)慣和編程思維,強(qiáng)化學(xué)生對(duì)實(shí)際問(wèn)題分析能力和解決問(wèn)題能力的培養(yǎng),激發(fā)學(xué)生對(duì)編程的興趣,達(dá)到以教學(xué)促競(jìng)賽,以競(jìng)賽強(qiáng)化教學(xué)的目的。
ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽是由國(guó)際計(jì)算機(jī)界具有悠久歷史的權(quán)威性組織ACM學(xué)會(huì)(Association for Computing Machinery)主辦的,是目前世界上公認(rèn)的規(guī)模最大、水平最高、參與人數(shù)最多的大學(xué)生程序設(shè)計(jì)競(jìng)賽之一,其宗旨是使大學(xué)生能通過(guò)計(jì)算機(jī)充分展示自己分析問(wèn)題和解決問(wèn)題的能力,F(xiàn)在各個(gè)高校都非常重視計(jì)算機(jī)程序設(shè)計(jì)競(jìng)賽。
與本書(shū)配套的教材《C++程序設(shè)計(jì)教程習(xí)題答案和實(shí)驗(yàn)指導(dǎo)》提供了本課程的實(shí)驗(yàn)內(nèi)容、習(xí)題參考答案和模擬試卷。所有習(xí)題和程序均按照ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽要求進(jìn)行設(shè)計(jì),編者進(jìn)行了嚴(yán)格的測(cè)試,驗(yàn)證了程序的正確性。
參與本書(shū)編寫(xiě)的人員有瞿紹軍、劉宏、邱建雄、謝中科、何迎生、張楚才、戴經(jīng)國(guó)、唐贊玉、張引瓊、張歷卓、彭華。
本書(shū)吸收了國(guó)內(nèi)外近幾年出版的同類(lèi)教材的優(yōu)點(diǎn),內(nèi)容豐富,特別適合用做計(jì)算機(jī)專(zhuān)業(yè)和相關(guān)專(zhuān)業(yè)的教材,作為ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽入門(mén)教材,也可作為各類(lèi)考試培訓(xùn)和C++自學(xué)教材。
第1章 C++語(yǔ)言概述
1.1 C++語(yǔ)言簡(jiǎn)介
1.1.1 C++語(yǔ)言的發(fā)展
1.1.2 C++語(yǔ)言的特點(diǎn)
1.2 C++程序基本結(jié)構(gòu)
1.3 C++程序的開(kāi)發(fā)環(huán)境
1.3.1 Turbo C++
1.3.2 Visual C++
1.3.3 Dev-C++
1.4 ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽
1.4.1 ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽簡(jiǎn)介
1.4.2 競(jìng)賽規(guī)則
1.4.3 自動(dòng)評(píng)測(cè)系統(tǒng)
l.4.4 競(jìng)賽學(xué)習(xí)資源
習(xí)題1
第2章 C++語(yǔ)言編程基礎(chǔ)
2.1 C++語(yǔ)言詞法
2.1.1 注釋
2.1.2 關(guān)鍵字
2.1.3 標(biāo)識(shí)符
2.1.4 常量
2.1.5 變量
2。1.6 運(yùn)算符
2.1.7 分隔符
2.2 基本數(shù)據(jù)類(lèi)型
2.2.1 整型
2.2.2 浮點(diǎn)型
2.2.3 字符型
2.2.4 布爾型
2.2.5 類(lèi)型轉(zhuǎn)換
2.3 運(yùn)算符與表達(dá)式
2.3.1 算術(shù)運(yùn)算符及其表達(dá)式
2.3.2 賦值運(yùn)算符及其表達(dá)式
2.3.3 關(guān)系運(yùn)算符及其表達(dá)式
2.3.4 邏輯運(yùn)算符及其表達(dá)式
2.3.5 位運(yùn)算符
2.3.6 條件運(yùn)算符
2.3.7 運(yùn)算符的優(yōu)先級(jí)
2.4 流程控制語(yǔ)句
2.4.1 C++語(yǔ)句
2.4.2 if語(yǔ)句與條件選擇控制
2.4.3 條件表達(dá)式
2.4.4 switch語(yǔ)句與多項(xiàng)選擇
2.4.5 while語(yǔ)句
2.4.6 do while語(yǔ)句
2.4.7 for語(yǔ)句
2.4.8 break語(yǔ)句和continue語(yǔ)句
2.4.9 循環(huán)嵌套
2.4.10 return語(yǔ)句
2.4.兒程序設(shè)計(jì)綜合舉例
2.5 ACM-ICPC中的輸入/輸出
習(xí)題2
第3章 函數(shù)與程序結(jié)構(gòu)
3.1 函數(shù)與程序結(jié)構(gòu)概述
3.2 函數(shù)的定義與聲明
3.2.1 函數(shù)的定義
3.2.2 函數(shù)聲明與函數(shù)原型
3.3 函數(shù)參數(shù)和函數(shù)調(diào)用
3.3.1 函數(shù)形式參數(shù)和實(shí)際參數(shù)
3.3.2 函數(shù)的返回值
3.3.3 函數(shù)調(diào)用
3.4 函數(shù)的嵌套與遞歸調(diào)用
3.4.1 函數(shù)的嵌套調(diào)用
3.4.2 遞歸調(diào)用
3.5 變量作用域和存儲(chǔ)類(lèi)型
3.5.1 局部變量與全局變量
3.5.2 靜態(tài)存儲(chǔ)變量和動(dòng)態(tài)存儲(chǔ)變量
3.6 內(nèi)聯(lián)函數(shù)
3.7 重載函數(shù)與默認(rèn)參數(shù)函數(shù)
3.7.1 重載函數(shù)
3.7.2 默認(rèn)參數(shù)函數(shù)
3.8 編譯預(yù)處理
3.8.1 文件包含
3.8.2 宏定義
3.8.3 條件編譯
習(xí)題3
第4章 數(shù)組與字符串
4.1 數(shù)組的概念
4.2 數(shù)組的定義
4.2.1 一維數(shù)組
4.2.2 二維數(shù)組
4.3 數(shù)組作為函數(shù)的參數(shù)
4.3.1 用數(shù)組元素做函數(shù)實(shí)參
4.3.2 用數(shù)組名做函數(shù)參數(shù)
4.3.3 用多維數(shù)組名做函數(shù)參數(shù)
4.4 數(shù)組應(yīng)用舉例
4.5 字符串
4.5.1 字符串概念
4.5.2 字符串函數(shù)
4.5.3 字符串應(yīng)用舉例
習(xí)題4
第5章 指針
5.1 指針的概念
5.2 指針變量
5.2.1 指針定義
5.2.2 指針運(yùn)算符
5.2.3 引用變量
5.2.4 多級(jí)指針與指針數(shù)組
5.2.5 指針與常量限定符
5.3 指針與數(shù)組
5.3.1 指針與一維數(shù)組
5.3.2 指針與二維數(shù)組
5.3.3 指針與字符數(shù)組
5.3.4 指針與函數(shù)
5.4 指針運(yùn)算
5.5 動(dòng)態(tài)存儲(chǔ)分配
5.5.1 new操作符
5.5.2 delete操作符
習(xí)題5
第6章 結(jié)構(gòu)體與共用體
6.1 結(jié)構(gòu)體
6.1.1 結(jié)構(gòu)體的聲明
6.1.2 結(jié)構(gòu)體變量的引用及初始化賦值
6.2 嵌套結(jié)構(gòu)體
6.3 結(jié)構(gòu)體數(shù)組
6.3.1 結(jié)構(gòu)體數(shù)組的定義和初始化
6.3.2 結(jié)構(gòu)體數(shù)組成員的引用
6.4 結(jié)構(gòu)體指針
6.4.1 指向結(jié)構(gòu)體變量的指針
6.4.2 指向結(jié)構(gòu)體數(shù)組的指針
6.4.3 用結(jié)構(gòu)體變量和指向結(jié)構(gòu)體變量的指針作為函數(shù)參數(shù)
6.5 鏈表的基本操作
6.5.1 鏈表基本知識(shí)
6.5.2 內(nèi)存動(dòng)態(tài)管理函數(shù)
6.5.3 建立鏈表
6.5.4 輸出鏈表
6.5.5 對(duì)鏈表的刪除操作
6.5.6 對(duì)鏈表的插入操作
6.5.7 對(duì)鏈表的綜合操作
6.6 共用體
6.6.1 共用體的概念
6.6.2 共用型變量的定義
6.6.3 共用型變量的引用
6.6.4 共用型數(shù)據(jù)的特點(diǎn)
6.6.5 共用型變量的應(yīng)用
6.7 枚舉類(lèi)型
6.8 用typedef定義
習(xí)題6
……
第7章 類(lèi)與對(duì)象及封裝性
第8章 類(lèi)的深入
第9章 運(yùn)算符重載和模板
第10章 繼承性
第11章 多態(tài)性
第12章 輸入/輸出流
附錄A ASCⅡ碼對(duì)照表
附錄B C/C++與標(biāo)準(zhǔn)C++頭文件對(duì)照表
附錄C Linux、Unix下編譯C++程序
參考文獻(xiàn)
[本章主要內(nèi)容]本章主要介紹C++語(yǔ)言的發(fā)展、特點(diǎn),面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念,C++程序的基本結(jié)構(gòu),幾種常用的C++開(kāi)發(fā)環(huán)境,以及ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽的基本情況。
1.1 C++語(yǔ)言簡(jiǎn)介
1.1.1 C++語(yǔ)言的發(fā)展
C語(yǔ)言是貝爾實(shí)驗(yàn)室于20世紀(jì)70年代初研制出來(lái)的,后來(lái)又被多次改進(jìn),并出現(xiàn)了多種版本。C語(yǔ)言既具有高級(jí)語(yǔ)言的特點(diǎn),即表達(dá)力豐富,可移植性好,又具有低級(jí)語(yǔ)言的一些特點(diǎn),即能夠很方便地實(shí)現(xiàn)匯編級(jí)的操作,目標(biāo)程序效率較高。剛開(kāi)始形成的C語(yǔ)言受到那些想建立更快、更有效的代碼的程序員歡迎。有一位名為Bjarne Stroustrup的人卻不滿足于僅僅是快速生成代碼,他想創(chuàng)建面向?qū)ο蟮腃語(yǔ)言。他開(kāi)始對(duì)C語(yǔ)言的內(nèi)核進(jìn)行必要的修改,使其能滿足面向?qū)ο竽P偷囊,C++從此產(chǎn)生。
C++語(yǔ)言自誕生以來(lái),經(jīng)過(guò)開(kāi)發(fā)和擴(kuò)充,已成一種完全成熟的編程語(yǔ)言,F(xiàn)在C++已被ANSI、BSI、DIN、一些國(guó)家標(biāo)準(zhǔn)機(jī)構(gòu)和ISO定為標(biāo)準(zhǔn)。
C++標(biāo)準(zhǔn)演變了許多年。C++模板則是近幾年來(lái)對(duì)此語(yǔ)言的一種擴(kuò)展。模板是根據(jù)類(lèi)型參數(shù)來(lái)產(chǎn)生函數(shù)和類(lèi)的機(jī)制的,有時(shí)也稱(chēng)模板為“參數(shù)化的類(lèi)型”。使用模板,可以設(shè)計(jì)一個(gè)對(duì)許多類(lèi)型的數(shù)據(jù)進(jìn)行操作的類(lèi),而不需要為每個(gè)類(lèi)型的數(shù)據(jù)建立一個(gè)單獨(dú)的類(lèi)。標(biāo)準(zhǔn)模板庫(kù)(standardtemplate1mrary,STL)和微軟的活動(dòng)模板庫(kù)(activetem platelibrary,ATL)都是基于這個(gè)C++語(yǔ)言擴(kuò)展的。
C++標(biāo)準(zhǔn)可分為兩部分:C++語(yǔ)言本身和C++標(biāo)準(zhǔn)庫(kù)。C++標(biāo)準(zhǔn)庫(kù)提供了標(biāo)準(zhǔn)的輸入/輸出、字符串、容器(如矢量、列表和映射等)、非數(shù)值運(yùn)算(如排序、搜索和合并等)和對(duì)數(shù)值計(jì)算的支持。應(yīng)該說(shuō),C/C++包含了相對(duì)少的關(guān)鍵字,很多最有用的函數(shù)都來(lái)源于庫(kù),用C++標(biāo)準(zhǔn)庫(kù)實(shí)現(xiàn)容器和部分算法就是標(biāo)準(zhǔn)模板庫(kù)。1.1.2 C++語(yǔ)言的特點(diǎn)
C++語(yǔ)言之所以被人們廣泛認(rèn)可,是因?yàn)樗哂性S多先進(jìn)的技術(shù)特點(diǎn)。
1.優(yōu)越的性能
性能包含兩方面:算法速度和機(jī)器代碼效率。通俗地講,算法是指解決問(wèn)題的一種方法或一個(gè)過(guò)程。嚴(yán)格地定義,算法是由若干條指令組成的有窮序列。例如,一個(gè)算法定義為獲取一個(gè)字符串,計(jì)算字符串中的字符個(gè)數(shù),并作為結(jié)果返回的過(guò)程。所以在編程之前必須設(shè)計(jì)算法,編寫(xiě)一個(gè)快速程序的第一個(gè)步驟是設(shè)計(jì)良好的算法,以最少的操作步驟得出問(wèn)題的答案。第二個(gè)步驟是選擇語(yǔ)言,這也影響程序的速度。