包郵 清華計(jì)算機(jī)圖書譯叢精通C++(第9版)
-
>
全國(guó)計(jì)算機(jī)等級(jí)考試最新真考題庫(kù)模擬考場(chǎng)及詳解·二級(jí)MSOffice高級(jí)應(yīng)用
-
>
決戰(zhàn)行測(cè)5000題(言語(yǔ)理解與表達(dá))
-
>
軟件性能測(cè)試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強(qiáng)教科書(完全版)(全彩印刷)
-
>
深度學(xué)習(xí)
清華計(jì)算機(jī)圖書譯叢精通C++(第9版) 版權(quán)信息
- ISBN:9787302503163
- 條形碼:9787302503163 ; 978-7-302-50316-3
- 裝幀:一般膠版紙
- 冊(cè)數(shù):暫無(wú)
- 重量:暫無(wú)
- 所屬分類:>>
清華計(jì)算機(jī)圖書譯叢精通C++(第9版) 本書特色
(1)知識(shí)體系完善,循序漸進(jìn),容易掌握。 (2)編寫體例適合教學(xué),充分考慮到教學(xué)的進(jìn)度和需要。 (3)圖示講解,一目了然;示例程序,精心設(shè)計(jì)。 (4)編程挑戰(zhàn)極具可擴(kuò)展性。 (5)練習(xí)題447道,復(fù)習(xí)題586道,挑戰(zhàn)編程題304道,程序362個(gè)。
清華計(jì)算機(jī)圖書譯叢精通C++(第9版) 內(nèi)容簡(jiǎn)介
本書自版出版以來(lái),就深受廣大讀者歡迎,成為學(xué)習(xí)C++的經(jīng)典教材,這是很新的第9版。本書共分19章,從計(jì)算機(jī)科學(xué)的基礎(chǔ)知識(shí)和內(nèi)容開(kāi)始,介紹C++程序的基本組成部分,C++語(yǔ)言的語(yǔ)法和結(jié)構(gòu),類與面向?qū)ο缶幊蹋募cI/O操作,遞歸的應(yīng)用,多態(tài)與虛函數(shù),異常處理,模板實(shí)現(xiàn)與標(biāo)準(zhǔn)模板庫(kù)使用,鏈表的概念與操作,棧與隊(duì)列的概念與操作,二叉樹(shù)及其操作等。 本書的知識(shí)體系完整,編寫體例充分考慮了教學(xué)的需要,全書給出了思考題447道,復(fù)習(xí)與練習(xí)題586道,挑戰(zhàn)編程題304道,完整程序362個(gè),很好適合作為高等院校計(jì)算機(jī)及相關(guān)專業(yè)程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)的教材,也是精通C++程序設(shè)計(jì)的優(yōu)選用書。
清華計(jì)算機(jī)圖書譯叢精通C++(第9版) 目錄
目??錄
第1章 計(jì)算機(jī)和編程簡(jiǎn)介 1
1.1 為什么要使用程序 1
1.2 計(jì)算機(jī)系統(tǒng):硬件和軟件 2
1.2.1 硬件 2
1.2.2 軟件 5
1.2.3 思考題 6
1.3 程序和編程語(yǔ)言 6
1.3.1 程序的定義 7
1.3.2 編程語(yǔ)言 8
1.3.3 源代碼、目標(biāo)代碼和可執(zhí)行
代碼 9
1.3.4 思考題 11
1.4 程序的組成 11
1.4.1 語(yǔ)言元素 11
1.4.2 代碼行和語(yǔ)句 13
1.4.3 變量 14
1.4.4 變量定義 14
1.5 輸入、處理和輸出 15
思考題 15
1.6 編程過(guò)程 16
1.6.1 設(shè)計(jì)和創(chuàng)建程序 16
1.6.2 軟件工程的定義 19
1.6.3 思考題 20
1.7 綜合演練:顯示個(gè)性化消息 20
1.7.1 復(fù)習(xí)和練習(xí) 21
1.7.2 編程挑戰(zhàn) 23
第2章 C++簡(jiǎn)介 24
2.1 C++程序的部件 24
思考題 27
2.2 cout對(duì)象 27
2.3 #include指令 32
思考題 33
2.4 變量和賦值語(yǔ)句 33
2.5 常數(shù) 35
2.5.1 有時(shí)數(shù)字并不是數(shù)字 36
2.5.2 思考題 36
2.6 標(biāo)識(shí)符 37
2.7 整型數(shù)據(jù)類型 39
2.7.1 整數(shù)和長(zhǎng)整型常數(shù) 42
2.7.2 十六進(jìn)制和八進(jìn)制常數(shù) 43
2.7.3 思考題 43
2.8 浮點(diǎn)數(shù)據(jù)類型 44
2.8.1 浮點(diǎn)常數(shù) 45
2.8.2 將浮點(diǎn)值分配給整型變量 46
2.8.3 思考題 47
2.9 char數(shù)據(jù)類型 47
2.10 C ++ string類 51
2.10.1 使用string類 51
2.10.2 思考題 52
2.11 bool數(shù)據(jù)類型 52
2.12 確定數(shù)據(jù)類型的大小 53
2.13 變量賦值和初始化詳解 54
2.14 作用域 56
2.15 算術(shù)運(yùn)算符 56
思考題 60
2.16 注釋 60
2.16.1 單行注釋 61
2.16.2 多行注釋 61
2.17 編程風(fēng)格 62
2.18 綜合演練:笑臉! 63
2.18.1 復(fù)習(xí)和練習(xí) 64
2.18.2 編程挑戰(zhàn) 68
第3章 表達(dá)式和交互 71
3.1 cin對(duì)象 71
3.1.1 輸入多個(gè)值 74
3.1.2 思考題 76
3.2 數(shù)學(xué)表達(dá)式 77
3.2.1 運(yùn)算符的優(yōu)先級(jí) 79
3.2.2 關(guān)聯(lián)性 80
3.2.3 用圓括號(hào)分組 80
3.2.4 將代數(shù)表達(dá)式轉(zhuǎn)換為編程
清華計(jì)算機(jī)圖書譯叢精通C++(第9版) 節(jié)選
第5章 循??環(huán) 主要內(nèi)容: 5.1 循環(huán)介紹:while循環(huán) 5.2 使用while循環(huán)驗(yàn)證輸入 5.3 遞增和遞減運(yùn)算符 5.4 計(jì)數(shù)器 5.5 保持累計(jì)匯總 5.6 標(biāo)記符號(hào) 5.7 do-while循環(huán) 5.8 for循環(huán) 5.9 關(guān)于軟件工程:決定使用哪個(gè)循環(huán) 5.10 嵌套循環(huán) 5.11 打破循環(huán) 5.12 使用文件進(jìn)行數(shù)據(jù)存儲(chǔ) 5.13 關(guān)于測(cè)試和調(diào)試:創(chuàng)建良好的測(cè)試數(shù)據(jù) 5.14 Central Mountain Credit Union案例研究 5.15 綜合演練:多彩世界 5.1 循環(huán)介紹:while循環(huán) 核心概念:循環(huán)是重復(fù)的程序的一部分。 在本書第4章中有幾個(gè)程序是根據(jù)學(xué)生的數(shù)字成績(jī)給出相應(yīng)的字母評(píng)級(jí)。但是,如果一個(gè)班有20個(gè)學(xué)生,那么要為每一個(gè)學(xué)生評(píng)級(jí)該怎么辦?豈不是要運(yùn)行程序20次。如果可以簡(jiǎn)單地指示代碼在一次運(yùn)行中重復(fù)20次,那不就是很容易了嗎?幸運(yùn)的是,確實(shí)有一個(gè)機(jī)制可以做到這一點(diǎn),那就是所謂的循環(huán)。 循環(huán)(Loop)是一個(gè)控制結(jié)構(gòu),它會(huì)導(dǎo)致語(yǔ)句或語(yǔ)句組重復(fù)。C++有3種循環(huán)控制結(jié)構(gòu):while循環(huán)、do-while循環(huán)和for循環(huán)。這些結(jié)構(gòu)之間的區(qū)別是它們控制重復(fù)的方式。 5.1.1 while循環(huán) while循環(huán)有兩個(gè)重要組成部分:①進(jìn)行true值或false值判斷的表達(dá)式,②只要表達(dá)式為true就重復(fù)執(zhí)行的語(yǔ)句或塊。圖5-1顯示了while循環(huán)的一般格式,右側(cè)流程圖直觀地描繪了其工作原理。 ? 圖5-1 while循環(huán)的語(yǔ)句結(jié)構(gòu)及流程圖 現(xiàn)在來(lái)看一看while循環(huán)的每個(gè)部分。**行,有時(shí)稱為循環(huán)頭(Loop Header),由關(guān)鍵字while組成,后跟待測(cè)試的條件(Condition),括在括號(hào)中。條件由任何可被判斷為true或false的表達(dá)式表示。接下來(lái)是循環(huán)體(Body of the Loop),它包含一個(gè)或多個(gè)C++語(yǔ)句(Statement)。 循環(huán)的工作原理如下:首先判斷條件表達(dá)式的值,如果它是真的,則循環(huán)體中的每個(gè)語(yǔ)句都被執(zhí)行;然后,再次測(cè)試條件。如果條件表達(dá)式仍然為true,則循環(huán)體中的每個(gè)語(yǔ)句將再次被執(zhí)行。如此循環(huán)往復(fù),直到條件表達(dá)式被判斷為false。 請(qǐng)注意,與if語(yǔ)句一樣,在有條件執(zhí)行的主體中的每個(gè)語(yǔ)句都以分號(hào)結(jié)尾,但在括號(hào)中的條件表達(dá)式后面沒(méi)有分號(hào),這是因?yàn)閣hile循環(huán)不完整,后面沒(méi)有跟隨的語(yǔ)句。而且,與if語(yǔ)句一樣,當(dāng)循環(huán)體包含兩個(gè)或多個(gè)語(yǔ)句時(shí),這些語(yǔ)句必須用大括號(hào)括起來(lái)。當(dāng)循環(huán)的主體只包含一個(gè)語(yǔ)句時(shí),可以省略括號(hào)。基本上,while循環(huán)就像是一個(gè)可以執(zhí)行一遍又一遍的if語(yǔ)句。只要括號(hào)中的表達(dá)式為true,則有條件執(zhí)行的語(yǔ)句將不斷重復(fù)。 程序5-1使用了while循環(huán)打印“Hello”字符串5次。 程序5-1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 // This program demonstrates a simple while loop. #include using namespace std; int main() { int count = 1; while (count { cout count = count + 1; } cout return 0; } 程序輸出結(jié)果 Hello Hello Hello Hello Hello That's all! 現(xiàn)在來(lái)仔細(xì)看一看這個(gè)程序。在第7行中,整數(shù)變量count被定義并用值1初始化。在第9行中,while循環(huán)以下面的語(yǔ)句開(kāi)頭: while (count 該語(yǔ)句測(cè)試變量count以確定其值是否小于或等于5。因?yàn)樗_實(shí)小于5,所以循環(huán)體(第11行和第12行)中的語(yǔ)句被執(zhí)行: cout count = count + 1; 第11行中的語(yǔ)句將顯示字符串“Hello”。第12行中的語(yǔ)句則給變量count加上1,使其值變成了2。這是循環(huán)體中的*后一個(gè)語(yǔ)句,因此在執(zhí)行之后循環(huán)又一次開(kāi)始。它再次測(cè)試表達(dá)式“count 圖5-2 while循環(huán)工作原理 循環(huán)的每一次執(zhí)行稱為迭代(Iteration)。以上示例中的循環(huán)將執(zhí)行5次迭代,直至表達(dá)式“count 5.1.2 while是一個(gè)預(yù)測(cè)試循環(huán) while循環(huán)是一個(gè)預(yù)測(cè)試(Pretest)循環(huán)。這意味著它會(huì)在每次迭代之前測(cè)試其狀態(tài)。如果測(cè)試表達(dá)式為false,則循環(huán)將永遠(yuǎn)不會(huì)迭代。如果要確保一個(gè)while循環(huán)至少執(zhí)行一次,則必須初始化相關(guān)的數(shù)據(jù),使測(cè)試表達(dá)式一開(kāi)始即為true。例如,注意程序5-1第7行中變量count的定義: int count = 1; count變量被初始化為值1。如果數(shù)字已經(jīng)被初始化為大于5的值,則循環(huán)將永遠(yuǎn)不會(huì)執(zhí)行,如下面的程序段所示: int count = 6; while (count { cout count = count + 1; } 5.1.3 無(wú)限循環(huán) 除極少數(shù)情況外,循環(huán)必須包括一種終止方式。這意味著循環(huán)中的某些內(nèi)容必須*終使測(cè)試表達(dá)式為false。在程序5-1中,當(dāng)表達(dá)式“count 如果循環(huán)沒(méi)有停止的方式,則稱為無(wú)限循環(huán)。無(wú)限循環(huán)將持續(xù)重復(fù),直到程序中斷,示例如下: int count = 1; while (count { cout } 這是一個(gè)無(wú)限循環(huán),因?yàn)樗话腸ount變量值的語(yǔ)句。每次測(cè)試表達(dá)式“count 小心分號(hào) 通過(guò)在while循環(huán)的**行之后意外地放置一個(gè)分號(hào)也可以創(chuàng)建無(wú)限循環(huán),示例如下: int count = 1; while (count { cout count = count + 1; } 因?yàn)榫幾g器在發(fā)現(xiàn)開(kāi)始語(yǔ)句塊的大括號(hào)之前看見(jiàn)了**行末尾的分號(hào),所以它會(huì)在分號(hào)的位置結(jié)束循環(huán)。尤其是它會(huì)將分號(hào)前面丟失的語(yǔ)句解釋為空語(yǔ)句(null statement),也就是什么都不做的語(yǔ)句,然后將while語(yǔ)句和它后面的任何內(nèi)容斷開(kāi)。對(duì)于編譯器來(lái)說(shuō),整個(gè)循環(huán)看起來(lái)就像下面這樣: while(count 這個(gè)while循環(huán)將持續(xù)執(zhí)行空語(yǔ)句,當(dāng)然它永遠(yuǎn)不會(huì)執(zhí)行任何操作。該程序似乎“陷入迷惘”,因?yàn)闆](méi)有任何屏幕輸出,也不會(huì)顯示任何活動(dòng)。 不要忘記大括號(hào) 在編寫循環(huán)語(yǔ)句時(shí),如果有條件執(zhí)行的語(yǔ)句是一個(gè)語(yǔ)句塊,則不要忘記將所有的語(yǔ)句都包含在一組大括號(hào)中。如果大括號(hào)意外被忽略,則while語(yǔ)句有條件執(zhí)行的僅僅是下一個(gè)語(yǔ)句,請(qǐng)看下面的代碼示例: int count = 1; // 該循環(huán)忘記使用大括號(hào) while (count cout count = count + 1; 在這段代碼中,只有一個(gè)語(yǔ)句,也就是cout語(yǔ)句,是在while循環(huán)的主體中。給變量count加1的語(yǔ)句不在循環(huán)體內(nèi),所以count的值保持為1,循環(huán)測(cè)試條件永遠(yuǎn)為true。循環(huán)將一遍又一遍地打印“Hello”字符串,直到用戶停止程序。 不要混淆=與== 循環(huán)的另一個(gè)常見(jiàn)陷阱是,在打算使用==運(yùn)算符時(shí),卻意外地使用了=運(yùn)算符。例如,以下示例就是一個(gè)無(wú)限循環(huán),因?yàn)樽鳛檠h(huán)條件的測(cè)試表達(dá)式每次都給remainder賦值為1,而不是測(cè)試remainder是否等于1: while (remainder = 1) // 錯(cuò)誤:條件表達(dá)式為賦值語(yǔ)句 { cout > num; remainder = num % 2; } 請(qǐng)記住,任何非零值都將被判斷為true。 5.1.4 編程風(fēng)格和while循環(huán) 雖然循環(huán)語(yǔ)句可以寫成像下面這個(gè)樣子: while (number 但是,建議不要使用這種編程風(fēng)格。在while循環(huán)中使用的編程布局風(fēng)格應(yīng)該與if語(yǔ)句類似: * 如果只有一個(gè)循環(huán)重復(fù)的語(yǔ)句,它應(yīng)該出現(xiàn)在while語(yǔ)句之后的下行上,并縮進(jìn) 一級(jí)。 * 如果循環(huán)重復(fù)一個(gè)語(yǔ)句塊,則該塊應(yīng)該從while語(yǔ)句之后的行開(kāi)始,大括號(hào)內(nèi)的每一行都應(yīng)該縮進(jìn)。 本章中介紹的其他類型的循環(huán)也將使用類似的布局風(fēng)格。 在理解了while循環(huán)之后,再來(lái)看它有多實(shí)用。程序5-2修改了第4章中的程序4-9,以便按照分?jǐn)?shù)給多個(gè)學(xué)生計(jì)算字母評(píng)級(jí)。
- >
我與地壇
- >
伯納黛特,你要去哪(2021新版)
- >
史學(xué)評(píng)論
- >
名家?guī)阕x魯迅:故事新編
- >
隨園食單
- >
莉莉和章魚
- >
中國(guó)歷史的瞬間
- >
新文學(xué)天穹兩巨星--魯迅與胡適/紅燭學(xué)術(shù)叢書(紅燭學(xué)術(shù)叢書)