C++程序設(shè)計基礎(chǔ)
-
【作 者】主編 楊長興
【I S B N 】978-7-5084-9304-6
【責(zé)任編輯】李炎
【適用讀者群】高職高專
【出版時間】2011-12-27
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數(shù)】292
【千字?jǐn)?shù)】457
【印 張】18.25
【定 價】¥32
【叢 書】21世紀(jì)高職高專新概念規(guī)劃教材
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
本書以程序設(shè)計零基礎(chǔ)為起點,介紹包括面向過程和面向?qū)ο蟮腃++程序設(shè)計方法。全書共10章,主要內(nèi)容包括:C++基礎(chǔ)知識、C++數(shù)據(jù)類型與表達(dá)式、程序控制結(jié)構(gòu)、函數(shù)、數(shù)組與指針、自定義數(shù)據(jù)類型、類與對象、繼承與派生、多態(tài)性與虛函數(shù)、輸入輸出流。各章節(jié)內(nèi)容由淺入深、相互銜接、前后呼應(yīng)、循序漸進(jìn)。
為了提高讀者對程序設(shè)計思想方法的理解,本書提出了程序設(shè)計語言模型的概念,將程序設(shè)計語言模型與人類自然語言模型相比較,讓讀者對程序設(shè)計語言模型及其內(nèi)容的理解有了完整的參照對象。各章節(jié)選用大量程序設(shè)計經(jīng)典實例來講解基本概念和程序設(shè)計方法,同時配有大量習(xí)題供讀者練習(xí)。本書的配套教材《C++程序設(shè)計基礎(chǔ)實踐教程》提供了本課程的實踐內(nèi)容、上機指導(dǎo)及習(xí)題參考答案。
本書語言表達(dá)嚴(yán)謹(jǐn),文字流暢,內(nèi)容通俗易懂,重點突出,實例豐富,適合作為職業(yè)技術(shù)院校各專業(yè)程序設(shè)計課程的教材,還適合作為廣大計算機愛好者的自學(xué)參考用書。
本書配有免費電子教案,讀者可以從中國水利水電出版社網(wǎng)站及萬水書苑上下載,網(wǎng)址為:http://www.waterpub.com.cn/softdown/或http://mightybasket.cn。
編寫原則:加強基礎(chǔ)、注重實踐、突出應(yīng)用、勇于創(chuàng)新。
教學(xué)理念:教學(xué)是教思想、教方法,真正做到“授人以魚,不如授人以漁”。
本書以程序設(shè)計零基礎(chǔ)為起點,介紹包括面向過程和面向?qū)ο蟮腃++程序設(shè)計方法。內(nèi)容安排注重由淺入深、相互銜接、前后呼應(yīng)、循序漸進(jìn),語言表達(dá)嚴(yán)謹(jǐn),文字流暢,內(nèi)容通俗易懂、重點突出,實例豐富。
本書作者長期從事程序設(shè)計課程的教學(xué)工作,并利用C/C++/Visual C++開發(fā)了許多軟件項目,具有豐富的教學(xué)經(jīng)驗和較強的科學(xué)研究能力。
為了提高讀者的編程技巧,選用了大量的經(jīng)典例題,有些例題還備有多種可能的解答,以期拓展讀者的解題思路。本書所給出的程序示例均在Visual C++ 6.0環(huán)境下進(jìn)行了調(diào)試和運行。
為了幫助讀者更好地學(xué)習(xí)C++,編者還編寫了配套教材《C++程序設(shè)計基礎(chǔ)實踐教程》一書,該配套教材提供了本課程的實踐內(nèi)容、上機指導(dǎo)及習(xí)題參考答案。
目前,隨著計算機技術(shù)的普及與提高,職業(yè)技術(shù)院校計算機基礎(chǔ)教學(xué)的內(nèi)容也在不斷改革與發(fā)展。程序設(shè)計是大學(xué)生必須掌握的計算機基本技能。選用某種程序設(shè)計語言作為職業(yè)技術(shù)院校學(xué)生程序設(shè)計課程的語言環(huán)境,是各校計算機基礎(chǔ)教學(xué)工作者改革研究的課題之一。過去很長一段時間,許多高校選用C語言作為程序設(shè)計課程的語言。但隨著軟件工程技術(shù)的不斷發(fā)展,面向?qū)ο蟮某绦蛟O(shè)計方法已成為當(dāng)今軟件開發(fā)的重要手段之一,尤其是Visual C++的出現(xiàn),進(jìn)一步推動了面向?qū)ο笈c可視化編程技術(shù)的發(fā)展與應(yīng)用。因此,掌握面向?qū)ο蟮某绦蛟O(shè)計方法已經(jīng)成為職業(yè)技術(shù)院校學(xué)生計算機應(yīng)用與軟件開發(fā)能力的要求之一。由于C++兼容了C語言的功能強、效率高、風(fēng)格簡潔、滿足包括系統(tǒng)程序設(shè)計和應(yīng)用程序設(shè)計的大多數(shù)任務(wù)的特點,又?jǐn)U充了面向?qū)ο蟛糠郑粗С诸悺⒗^承、派生、多態(tài)性等,解決了其代碼的重用問題,C++實際上是既支持面向過程的結(jié)構(gòu)化程序設(shè)計又支持面向?qū)ο蟮某绦蛟O(shè)計的語言。所以,我們根據(jù)多年的實際教學(xué)經(jīng)驗,在程序設(shè)計課程教學(xué)改革研究時,選用C++作為程序設(shè)計課程的語言環(huán)境。對于本書內(nèi)容的選擇,我們力求面向讀者,以程序設(shè)計零基礎(chǔ)為起點,介紹包括面向過程和面向?qū)ο蟮腃++程序設(shè)計方法。讓讀者首先接受面向?qū)ο蟮某绦蛟O(shè)計的思想方法,并理解面向?qū)ο蟮某绦蛟O(shè)計是需要以面向過程的程序設(shè)計方法作為基礎(chǔ)的。
全書共10章,第1章介紹C++的基礎(chǔ)知識;第2章介紹C++數(shù)據(jù)類型與表達(dá)式;第3章介紹程序控制結(jié)構(gòu);第4章介紹函數(shù);第5章介紹數(shù)組與指針;第6章介紹自定義數(shù)據(jù)類型;第7章介紹類與對象;第8章介紹繼承與派生;第9章介紹多態(tài)性與虛函數(shù);第10章介紹輸入輸出流。從全書組織結(jié)構(gòu)來看,首先定位C++是兼顧面向過程和面向?qū)ο蟮某绦蛟O(shè)計語言,面向?qū)ο蟮某绦蛟O(shè)計是以面向過程的程序設(shè)計為基礎(chǔ)的。因此,在第1~6章以介紹面向過程的程序設(shè)計為主,兼顧了少量面向?qū)ο蟮某绦蛟O(shè)計內(nèi)容;在第7~10章以介紹面向?qū)ο蟮幕舅枷肱c方法為主。
本書編者長期從事程序設(shè)計課程的教學(xué)工作,并利用C/C++/Visual C++開發(fā)了許多軟件項目,具有豐富的教學(xué)經(jīng)驗和較強的科研能力。編者本著加強基礎(chǔ)、注重實踐、突出應(yīng)用、勇于創(chuàng)新的原則,力求使本書達(dá)到有較強的可讀性、適用性和先進(jìn)性。我們的教學(xué)理念是:教學(xué)是教思想、教方法,真正做到“授人以魚,不如授人以漁”。為了加強讀者對程序設(shè)計思想方法的理解,本書將程序設(shè)計語言模型與人類自然語言模型相比較,讓讀者對程序設(shè)計語言模型及其內(nèi)容的理解有了完整的參照對象。為了提高讀者的編程技巧,選用了大量的經(jīng)典例題,這些例題與相應(yīng)章節(jié)的基本內(nèi)容是完全吻合的,而且讀者對這些例題的自然解法是相當(dāng)熟悉的。例題還備有多種可能的解答,以期拓展讀者的解題思路。為了便于讀者自學(xué),在全書的內(nèi)容組織、編排上注重由淺入深、深入淺出、循序漸進(jìn)。因此,本書適合作為職業(yè)技術(shù)院校各專業(yè)程序設(shè)計課程的教材,也適合作為廣大計算機愛好者的自學(xué)參考用書。如果教師選用本書作為大學(xué)生程序設(shè)計課程的教材,可根據(jù)實際教學(xué)課時數(shù)調(diào)整或取舍內(nèi)容。
本書所給出的程序示例均在Visual C++ 6.0環(huán)境下進(jìn)行了調(diào)試和運行。為了幫助讀者更好地學(xué)習(xí)C++,編者還編寫了配套教材《C++程序設(shè)計基礎(chǔ)實踐教程》一書,該配套教材提供了本課程的實踐內(nèi)容、上機指導(dǎo)及習(xí)題參考答案。
本書由楊長興任主編,負(fù)責(zé)全書的總體策劃、統(tǒng)稿和定稿工作。各章編寫工作分工如下:第1、2章由楊長興編寫,第3章由楊長興、周春艷編寫,第4章由楊長興、朱從旭編寫,第5章由楊長興、周欣然編寫,第6章由李小蘭編寫,第7章由呂格莉、劉衛(wèi)國編寫,第8章由呂格莉編寫,第9章由李利明編寫,第10章由羅芳、蔡旭暉編寫。
在本書的編寫過程中,王小玲、田琪、嚴(yán)暉、周肆清、舒衛(wèi)真、邵自然、李力、劉雄鷹、裘嶸、溫國海、楊莉軍、曹丹等老師參與了大綱的討論和文稿校對工作,本書采納了他(她)們許多寶貴的意見,在此一并表示感謝。編者在編寫書的過程中參考了大量的文獻(xiàn)資料,在此也向這些文獻(xiàn)資料的作者表示衷心感謝。
由于本書編者水平有限,成稿時間倉促,書中如有疏漏及不妥之處,敬請讀者不吝賜教。
編 者
2011年11月
第1章 C++基礎(chǔ)知識 1
1.1 程序設(shè)計語言的發(fā)展歷程 1
1.2 C++程序的基本結(jié)構(gòu) 2
1.2.1 C++程序結(jié)構(gòu) 3
1.2.2 C++程序的書寫格式 5
1.3 C++開發(fā)環(huán)境及應(yīng)用程序的開發(fā)過程 5
1.3.1 Visual C++ 6.0開發(fā)環(huán)境 5
1.3.2 一個應(yīng)用程序的開發(fā)過程 5
習(xí)題一 10
第2章 C++數(shù)據(jù)類型與表達(dá)式 11
2.1 C++的詞法規(guī)則 11
2.1.1 C++的字符集組成 11
2.1.2 C++的單詞及其構(gòu)詞規(guī)則 12
2.2 C++基本數(shù)據(jù)類型 13
2.3 常量與變量 14
2.3.1 常量 14
2.3.2 變量 17
2.4 運算符與表達(dá)式 20
2.4.1 算術(shù)運算符與算術(shù)表達(dá)式 20
2.4.2 關(guān)系運算符與關(guān)系表達(dá)式 22
2.4.3 邏輯運算符與邏輯表達(dá)式 23
2.4.4 位運算符與位運算表達(dá)式 24
2.4.5 賦值運算符與賦值表達(dá)式 25
2.4.6 三目運算符與三目條件表達(dá)式 27
2.4.7 逗號運算符與逗號表達(dá)式 28
2.4.8 指針運算 29
2.4.9 運算符的優(yōu)先級及結(jié)合性 29
2.4.10 類型轉(zhuǎn)換 31
習(xí)題二 32
第3章 程序控制結(jié)構(gòu) 35
3.1 順序結(jié)構(gòu) 35
3.1.1 定義語句 36
3.1.2 表達(dá)式語句 36
3.1.3 復(fù)合語句 36
3.1.4 空語句 37
3.1.5 基本輸入輸出 37
3.2 選擇結(jié)構(gòu) 40
3.2.1 if語句 40
3.2.2 switch語句 44
3.3 循環(huán)結(jié)構(gòu) 46
3.3.1 循環(huán)概念的引入 46
3.3.2 while語句 46
3.3.3 do-while語句 48
3.3.4 for語句 50
3.3.5 多重循環(huán) 53
3.4 控制轉(zhuǎn)向語句 56
3.4.1 break語句 56
3.4.2 continue語句 57
3.4.3 goto語句 58
3.5 程序?qū)嵗?58
3.6 編譯預(yù)處理 63
3.6.1 宏定義 63
3.6.2 文件包含 65
3.6.3 條件編譯 66
習(xí)題三 69
第4章 函數(shù) 72
4.1 函數(shù)的定義與調(diào)用 73
4.1.1 函數(shù)的定義 73
4.1.2 函數(shù)的聲明 75
4.1.3 函數(shù)的返回值 76
4.1.4 函數(shù)的調(diào)用 77
4.2 函數(shù)的參數(shù)傳遞 78
4.2.1 參數(shù)的值傳遞 79
4.2.2 參數(shù)的地址傳遞 80
4.3 函數(shù)的嵌套調(diào)用與遞歸調(diào)用 81
4.3.1 函數(shù)的嵌套調(diào)用 81
4.3.2 函數(shù)的遞歸調(diào)用 82
4.4 內(nèi)聯(lián)函數(shù) 84
4.4.1 內(nèi)聯(lián)函數(shù)的引入 85
4.4.2 內(nèi)聯(lián)函數(shù)的定義與調(diào)用 86
4.5 變量和函數(shù)的屬性 87
4.5.1 變量的作用域 87
4.5.2 變量的生存期 91
4.5.3 內(nèi)部函數(shù)和外部函數(shù) 95
4.6 函數(shù)模板 96
4.6.1 函數(shù)模板與模板函數(shù) 97
4.6.2 函數(shù)模板的使用 98
4.7 C++常用系統(tǒng)函數(shù) 98
4.7.1 常用數(shù)學(xué)函數(shù) 99
4.7.2 常用字符串處理函數(shù) 100
習(xí)題四 101
第5章 數(shù)組與指針 105
5.1 數(shù)組及其應(yīng)用 105
5.1.1 數(shù)組的概念 105
5.1.2 一維數(shù)組 106
5.1.3 二維數(shù)組 111
5.1.4 數(shù)組作為函數(shù)的參數(shù) 114
5.2 指針及其應(yīng)用 117
5.2.1 指針的概念 117
5.2.2 指針變量的定義及初始化 118
5.2.3 指針的運算 119
5.2.4 指針作函數(shù)參數(shù) 121
5.2.5 返回指針值的函數(shù) 123
5.2.6 函數(shù)指針(指向函數(shù)的指針) 124
5.3 指針與數(shù)組 127
5.3.1 指針與一維數(shù)組 127
5.3.2 指針用作函數(shù)參數(shù) 129
5.3.3 指針與二維數(shù)組 130
5.4 字符串 134
5.4.1 字符串的概念 134
5.4.2 字符串的存儲表示法 134
5.4.3 字符串的輸入與輸出 136
5.4.4 字符串函數(shù)及其應(yīng)用 137
5.5 指針數(shù)組與多級指針 139
5.5.1 指針數(shù)組 139
5.5.2 多級指針 141
5.5.3 行指針、指針數(shù)組、多級指針的
區(qū)別 142
5.5.4 命令行參數(shù) 143
習(xí)題五 144
第6章 自定義數(shù)據(jù)類型 146
6.1 結(jié)構(gòu)體類型 146
6.1.1 結(jié)構(gòu)體類型的定義 146
6.1.2 結(jié)構(gòu)體變量的定義 147
6.1.3 結(jié)構(gòu)體變量的引用與初始化 148
6.1.4 結(jié)構(gòu)體數(shù)組 150
6.1.5 結(jié)構(gòu)體與函數(shù) 152
6.1.6 鏈表 154
6.2 共用體類型 159
6.2.1 共用體類型與變量的定義 160
6.2.2 共用體變量的引用 161
6.2.3 共用體與結(jié)構(gòu)體的聯(lián)合使用 162
6.3 枚舉類型 163
6.4 自定義類型 165
習(xí)題六 166
第7章 類與對象 169
7.1 從面向過程到面向?qū)ο?169
7.1.1 面向?qū)ο蟪绦蛟O(shè)計的基本概念 170
7.1.2 C++面向?qū)ο蟪绦虻慕Y(jié)構(gòu) 171
7.2 類的定義 172
7.2.1 類的定義 172
7.2.2 類成員的訪問控制 175
7.2.3 對象的定義與使用 177
7.3 對象的初始化 178
7.3.1 構(gòu)造函數(shù) 179
7.3.2 析構(gòu)函數(shù) 182
7.3.3 復(fù)制構(gòu)造函數(shù) 183
7.4 對象數(shù)組與對象指針 186
7.4.1 對象數(shù)組 186
7.4.2 對象指針 187
7.4.3 指向類成員的指針 188
7.4.4 this指針 190
7.5 靜態(tài)成員 191
7.5.1 靜態(tài)數(shù)據(jù)成員 191
7.5.2 靜態(tài)成員函數(shù) 193
7.6 友元 194
7.6.1 友元函數(shù) 194
7.6.2 友元類 195
7.7 常類型 196
7.7.1 常對象 196
7.7.2 常成員函數(shù) 196
7.7.3 常數(shù)據(jù)成員 197
7.8 程序?qū)嵗?198
習(xí)題七 204
第8章 繼承與派生 210
8.1 繼承與派生的概念 210
8.1.1 基類與派生類 210
8.1.2 繼承與派生的作用 211
8.1.3 派生類的聲明 212
8.2 派生類成員的訪問控制 213
8.2.1 三種派生方式的定義 213
8.2.2 派生類成員訪問控制規(guī)則 217
8.3 派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù) 218
8.3.1 派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù)的
聲明 218
8.3.2 派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù)的
構(gòu)造規(guī)則 219
8.3.3 派生類構(gòu)造函數(shù)和析構(gòu)函數(shù)的
調(diào)用順序 220
8.4 多重繼承 221
8.4.1 多重繼承的聲明與引用 221
8.4.2 虛基類 223
8.5 基類和派生類的轉(zhuǎn)換 227
8.6 繼承與組合 227
習(xí)題八 228
第9章 多態(tài)性與虛函數(shù) 230
9.1 函數(shù)重載 230
9.2 運算符重載 231
9.3 多態(tài)性 242
9.3.1 編譯時的多態(tài)性 242
9.3.2 運行時的多態(tài)性 244
9.4 虛函數(shù) 246
9.4.1 虛函數(shù)的作用 246
9.4.2 多重繼承與虛函數(shù) 249
9.4.3 虛析構(gòu)函數(shù) 250
9.5 純虛函數(shù)與抽象類 252
9.5.1 純虛函數(shù) 252
9.5.2 抽象類 253
9.6 抽象類實例 253
習(xí)題九 255
第10章 輸入輸出流 258
10.1 C++的輸入輸出流 258
10.1.1 流的概念 258
10.1.2 C++流類庫 259
10.1.3 與iostream類庫有關(guān)的頭文件 261
10.1.4 插入與提取運算符 261
10.2 標(biāo)準(zhǔn)I/O 262
10.2.1 標(biāo)準(zhǔn)流類 262
10.2.2 格式控制成員函數(shù) 263
10.2.3 字符輸入輸出成員函數(shù) 265
10.3 文件I/O 267
10.3.1 文件的概念 267
10.3.2 文本文件的讀寫 269
10.3.3 二進(jìn)制文件的讀寫 271
10.3.4 文件的隨機讀寫 274
10.4 內(nèi)存I/O 277
10.4.1 字符串流的概念 277
10.4.2 字符串流的輸出操作 278
10.4.3 字符串流的輸入操作 279
習(xí)題十 281
參考文獻(xiàn) 284
- Python程序設(shè)計案例教程(微課版) [主編 石利平 田輝平 余以勝]
- Java面向?qū)ο蟪绦蛟O(shè)計 [主編 姜春磊 陳虹潔]
- C語言程序設(shè)計實驗指導(dǎo)與實訓(xùn)(第二版) [主編 倪燃]
- 程序思維與C語言實現(xiàn) [張祎 王俊海 呂波]
- Python程序設(shè)計及實踐教程 [肖朝暉]
- C語言程序設(shè)計 [魏琴 劉祖珉 趙仕波 肖陽春]
- C語言程序設(shè)計實驗教程 [張小剛 司春景]
- 電氣控制與PLC程序設(shè)計(第二版) [胡冠山]
- Java Web項目化設(shè)計實踐教程 [邱云 曾陳萍]
- C語言程序設(shè)計(第三版) [主編 丁紅 王立新 蔡開立]
- Python數(shù)據(jù)分析 [主編 馮志輝 趙磊 李放]
- Python程序設(shè)計與應(yīng)用(第二版) [主編 張廣淵]
- C程序設(shè)計實踐教程 [劉衛(wèi)國]
- C程序設(shè)計(慕課版) [劉衛(wèi)國]
- 程序設(shè)計基礎(chǔ)實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- SwiftUI完全開發(fā) [李智威 著]
- MySQL數(shù)據(jù)庫項目式教程 [陳亞峰]
- C語言程序設(shè)計習(xí)題與實驗指導(dǎo)(第二版) [主編 甄增榮 張賓]
- C語言程序設(shè)計(第二版) [主編 甄增榮 田云霞]
- Unity3D虛擬現(xiàn)實應(yīng)用開發(fā)實踐 [主 編 劉龍]
- Python程序設(shè)計 [主編 姜春磊 陳虹潔]
- C語言程序設(shè)計實踐教程(活頁式) [主編 鄭茵 陳巍 滕泓虬]
- 面向?qū)ο蟪绦蛟O(shè)計 [主編 張勇 張平華 趙小龍]
- Python程序設(shè)計基礎(chǔ)及實戰(zhàn) [主編 劉健]
- C語言程序設(shè)計 [姜雪]
- Python程序設(shè)計實踐教程 [王鶴琴 蔡正保]
- C++程序設(shè)計實踐教程(第三版) [主編 劉衛(wèi)國 曹岳輝]
- C++程序設(shè)計(第三版) [主編 曹岳輝 劉衛(wèi)國]
- C語言程序設(shè)計項目化教程(活頁式) [主編 張利華 潘曉利]
- 經(jīng)濟(jì)數(shù)學(xué)(第三版)
- 高等數(shù)學(xué)(第三版)
- 微型計算機原理與匯編語言程序設(shè)計(第
- Photoshop圖像處理實用教程(第四版)
- 微型計算機原理與匯編語言程序設(shè)計(第
- 工廠電氣控制技術(shù)(第二版)
- 計算機網(wǎng)絡(luò)實用技術(shù)(第三版)
- 管理信息系統(tǒng)(第二版)
- Access應(yīng)用技術(shù)實驗指導(dǎo)與實訓(xùn)(第二版
- 信號與系統(tǒng)(第二版)
- 數(shù)據(jù)通信與計算機網(wǎng)絡(luò)技術(shù)(第二版)
- 概率論與數(shù)理統(tǒng)計(第二版)
- Access 應(yīng)用技術(shù)(第二版)
- 辦公自動化技術(shù)與應(yīng)用(第二版)
- 飯店計算機信息管理(第二版)
- 信息管理學(xué)基礎(chǔ)(第二版)

