-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

雙語版C++程序設計(第2版)

( 簡體 字)
作者:(愛爾蘭)Paul Kelly(P. 凱利),蘇小紅類別:1. -> 程式設計 -> C++ -> C++
譯者:
出版社:電子工業出版社雙語版C++程序設計(第2版) 3dWoo書號: 44859
詢問書籍請說出此書號!

缺書
NT售價: 275

出版日:7/1/2016
頁數:352
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121293580
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

Preface


This textbook teaches the fundamentals of programming using C++, a programming language which supports the development of software using the object-oriented paradigm.
Although the book is primarily intended as a textbook for a programming module in a computer science course, it is equally suited to an individual familiar with another programming language and who now wants to learn how to program in C++.
This book focuses on core concepts and features of C++ while keeping the explanations as simple as possible. Drawing on their professional experience, the authors teach C++ programming largely by way of examples that are organized for easy step-by-step learning.
Like so many other programming languages, C++ contains numerous English technical terms that are difficult for all students, including the native English speaking student.
Learn C++ through English and Chinese explains C++ concepts and terminology in English with additional explanatory annotations in Chinese. This bi-lingual approach will be appreciated by Chinese students and will help them focus on the C++ language without being over-burdened by English technical terminology. Despite C++ being available on a wide variety of platforms, this book is not specific to any particular machine, compiler, or operating system. All programs are designed to be portable with little or no modification to a wide variety of platforms.
Learn C++ through English and Chinese
Is a comprehensive introduction to programming in C++.
Uses practical examples to explain difficult theoretical examples.
Uses a step-by-step approach with detailed explanation of programming examples.
Uses explanatory annotations written in Chinese.
Provides end-of-chapter ‘programming pitfalls’ commonly experienced by learners.
Provides a ‘quick syntax reference’ at the end of each chapter that summarises the C++ syntax covered in the chapter. This is a useful resource for experienced programmers as well as for learners.
Provides end-of-chapter exercises, allowing the learner to test and re-enforce their understanding of C++.
Is suitable for students new to programming and those familiar with some other language, such as C or Basic, and who now wish to learn C++.
Is accompanied by a web site containing the example programs, solutions to selected exercises, frequently asked questions and links to other useful resources.
Typographic Conventions
The line numbers to the left of the program examples are for reference purposes only and are not part of the C++ language.
When a new term is introduced it is in italic type.
C++ statements, keywords, program variables and values are in this font.
This font is used in examples to show values that should be typed at the keyboard by the user.


Paul Kelly
Dublin Institute of Technology




前 言


針對國內大學逐漸與國際接軌的發展趨勢,英語教學和雙語教學逐漸被人們重視起來。一方面,在教育部的大力支持下,許多課程建設成了教育部雙語教學示范課程,但是這些課程大多采用英文原版教材,而面向雙語教學的雙語版教材在國內實屬罕見。另一方面,以“國際化、工業化”為辦學理念,注重國際化、工業化人才培養的國家示范軟件學院的部分課程還邀請了一些外籍教師進行全英語授課,但是由于目前國內學生的英語水平參差不齊,導致全英語授課的教學效果不是非常理想。本書正是在此背景和需求下應運而生的。
本書的第一作者是愛爾蘭都柏林工業大學(DIT)的高級講師Paul Kelly。Kelly 老師長期從事程序設計類課程的教學工作,在程序設計類課程教學方面教學實踐經驗豐富,在國外已先后出版多本程序設計語言類書籍。自哈爾濱工業大學軟件示范學院成立以來,一直作為外聘教師在哈爾濱工業大學軟件示范學院從事程序設計方面的教學工作,對中國學生比較了解,針對其在教學中發現的問題,即初學者面臨著既不熟悉專業術語和基本概念、又不熟悉英文專業詞匯的雙重困難,提出了出版英漢對照混排式雙語版教材的思路,幫助學生在克服語言障礙的同時,能夠更快更好地熟悉和掌握計算機程序設計方面的基礎知識,為國內的雙語教學提供了一種最佳的解決方案。
本書內容共分14 章,由淺入深、全面介紹C++程序設計方法,既適合于以C++作為入門語言的讀者,也適合于學習過其他程序設計語言后想再學習C++ 的讀者。本書的特點如下:
1. 使用非常實用和貼近生活的例子以及圖示來通俗易懂地講解難于理解的概念,在介紹面向對象程序設計方法的同時,尤其強調讀者的親自參與意識。
2. 采用案例驅動和循序漸進方式,從一個應用實例出發,先利用現有知識編寫出一個較為簡單的程序,然后在此基礎上,不斷擴充,在擴充的過程中引入一個新的概念和知識點,逐漸編寫出一個較大的程序,每個例程都有詳細的講解。有的章以一個例子為中心貫穿始終講解,后面章節的例子還會重用已有的部分程序代碼,前后章節之間既有內容上的聯系,也有例程上的聯系。
3. 重點內容和段落給出了中文注解。
4. 每章后面都有一節介紹初學者編程時易犯的錯誤,以幫助初學者在程序設計中避免這些錯誤。
5. 每章后面都有快速語法索引,總結本章內容,便于讀者快速查詢相關內容。
6. 每章后面都有精心設計的、有趣的習題,便于讀者測試和強化對相關內容的理解。
7. 有相關的教學網站(華信教育資源網,網址http://www.hxedu.com.cn),方便讀者下載示例的源代碼、部分習題解答及教學課件等資料。
本書由在計算機程序設計方面有著豐富教學和實踐經驗的中外作者合作編寫。本書是國內首次出版的中英文對照混排式雙語版教材的更新版,適合低年級的學生對照閱讀,既方便初學者熟悉相關概念和內容,也便于母語不是英語的讀者熟悉英文的專業詞匯,尤其適合作為雙語教學示范課程的教材。
Paul Kelly是一位治學非常嚴謹的教師,本書的第二作者蘇小紅在與他合著過程中,經常為一個細節內容的編寫進行反復交流與討論,書稿完成后又進行了多次校對工作。本著對所有讀者負責的精神,我們真誠地歡迎讀者對教材提出寶貴意見,可以通過發送電子郵件或在網站(http://book.sunner.cn)上留言等多種方式與我們交流討論。
作者E-mail地址為Paul.Kelly@comp.dit.ie,sxh@hit.edu.cn。
蘇小紅
哈爾濱工業大學計算機科學與技術學院
內容簡介:

本書由在計算機程序設計方面有著豐富教學和實踐經驗的中外作者合作編寫。本書內容共分14章,由淺入深、全面介紹C++程序設計方法。本書通俗易懂,例子貼近生活,尤其強調讀者的親自參與意識。所有實例經過精心挑選。每章都為初學者提供了常見錯誤分析,每章結尾有很多有趣的習題,可以提高讀者上機編程的興趣。本書是國內首次出版的中英文對照混排式雙語版C++程序設計教材的更新版,既方便初學者熟悉相關概念和內容,也便于英文非母語的讀者熟悉英文專業詞匯。

目錄:

目 錄


Chapter One Typographic Conventions(緒論) 1
1.1 What is a computer program (什么是計算機程序 ) 1
1.2 Developing a computer program(開發計算機程序) 2
1.2.1 Program development cycle 2
1.3 Learning C++(學習 C++) 4
1.4 Web site for this book(本書的網站) 4
1.5 Brief history of C++(C++簡史) 4
1.6 ANSI/ISO C++ standard(ANSI/ISO C++標準) 5

Chapter Two Beginning to Program in C++(C++編程入門) 6
2.1 Constants(常量) 6
2.2 Variables(變量) 6
2.3 Simple output to the screen(簡單的屏幕輸出) 7
2.4 Comments(注釋) 9
2.5 Data types(數據類型) 10
2.5.1 Short integer data types 10
2.5.2 Long integer data types 10
2.5.3 Boolean data types 11
2.5.4 Double floating-point data types 11
2.5.5 Unsigned integer data types 11
2.6 Data type sizes(數據類型的大小) 11
2.7 Operators (運算符) 12
2.7.1 The assignment operator 12
2.7.2 Arithmetic operators 12
2.7.3 Increment and decrement operators 13
2.7.4 Combined assignment operators 15
2.8 Operator precedence(運算符的優先級) 16
2.9 Data type conversions and casts(類型轉換和強轉) 18
Programming pitfalls 20
Quick syntax reference 21
Exercises 22

Chapter Three Keyboard Input and Screen Output(鍵盤輸入和屏幕輸出) 26
3.1 Simple keyboard input(簡單的鍵盤輸入) 26
3.2 Manipulators(流操縱符) 28
3.3 Single-character input and output(單個字符的輸入和輸出) 30
Programming pitfalls 32
Quick syntax reference 32
Exercises 32

Chapter Four Selection and Iteration(選擇與循環) 34
4.1 Selection(選擇) 34
4.1.1 The if statement 34
4.1.2 The if-else statement 35
4.1.3 Compound statements 35
4.1.4 Logical operators 37
4.1.5 Nested if statements 37
4.1.6 The switch statement 37
4.1.7 The conditional operator : 39
4.2 Iteration(循環) 40
4.2.1 The while statement 40
4.2.2 The do-while loop 42
4.2.3 The for statement 43
4.2.4 Nested loops 45
Programming pitfalls 47
Quick syntax reference 49
Exercises 50

Chapter Five Arrays and Structures(數組和結構體) 53
5.1 Arrays(數組) 53
5.1.1 Introduction 53
5.1.2 Initialising an array 56
5.1.3 Two-dimensional arrays 57
5.1.4 Initialising a two-dimensional array 59
5.1.5 Multi-dimensional arrays 60
5.2 Structures(結構體) 60
5.2.1 Introduction 60
5.2.2 Declaring a structure 61
5.2.3 Initialising a structure variable 63
5.2.4 Nested structures 64
5.3 The typedef statement(typedef 語句) 65
5.4 Arrays of structures(結構體數組) 66
5.5 Enumerated data types(枚舉數據類型) 66
Programming pitfalls 68
Quick syntax reference 68
Exercises 69

Chapter Six Strings(字符串) 72
6.1 C-strings(C 風格字符串) 72
6.2 C-string input and output(C 風格字符串的輸入和輸出) 73
6.3 Accessing individual characters of a C-string(訪問C 風格字符串中的單個字符) 77
6.4 C-string functions(C 風格字符串函數) 77
6.4.1 Finding the length of a C-string 78
6.4.2 Copying a C-string 78
6.4.3 C-string concatenation 79
6.4.4 Comparing C-strings 79
6.4.5 Other C-string functions 79
6.4.6 Converting numeric C-strings to numbers 80
6.5 C++ strings(C++ 字符串) 80
6.5.1 string initialisation and assignment 82
6.5.2 string concatenation 84
6.5.3 string length, string indexing and sub-strings 85
6.5.4 string replace, erase, insert and empty strings 86
6.5.5 string searching 88
6.5.6 string comparisons 89
6.5.7 string input 91
6.5.8 string conversions 92
6.6 Arrays of strings(string 類型的數組) 93
6.7 Character classification(字符分類) 94
Programming pitfalls 96
Quick syntax reference 96
Exercises 97

Chapter Seven Functions(函數) 100
7.1 Introduction(引言) 100
7.2 Function arguments(函數實參) 102
7.3 Default parameter values(默認的形參值) 105
7.4 Returning a value from a function(從函數返回一個值) 106
7.5 Inline functions(內聯函數) 107
7.6 Passing arguments by value(按值傳遞實參) 108
7.7 Passing arguments by reference(按引用傳遞實參) 109
7.8 Passing a one-dimensional array to a function(向函數傳遞一維數組) 112
7.9 Passing a multi-dimensional array to a function(向函數傳遞多維數組) 115
7.10 Passing a structure variable to a function(向函數傳遞結構體變量) 116
7.11 Passing a string to function(向函數傳遞字符串) 118
7.11.1 Passing a C++ string to a function 118
7.11.2 Passing a C-string to a function 119
7.12 Recursion(遞歸) 120
7.13 Function overloading(函數重載) 122
7.14 Storage classes auto and static (auto 和static 存儲類型) 123
7.14.1 auto 123
7.14.2 static 124
7.15 The scope of a variable(變量的作用域) 125
7.15.1 Block scope 125
7.15.2 Global scope 126
7.15.3 Reusing a variable name 127
7.16 Mathematical functions(數學函數) 129
7.16.1 Some trigonometric functions 129
7.16.2 Pseudo-random number functions 130
Programming pitfalls 132
Quick syntax reference 132
Exercises 133

Chapter Eight Objects and Classes(對象和類) 137
8.1 What is an object (什么是對象 ) 137
8.2 What is a class (什么是類 ) 137
8.3 Further examples of classes and objects(類和對象的更進一步的示例) 140
8.3.1 A student class 140
8.3.2 A bank account class 140
8.4 Abstraction(抽象) 141
8.5 Constructing a class in C++(用C++構造一個類) 142
8.6 Using a class: defining and using objects(使用類:定義和使用對象) 144
8.7 Abstract data types(抽象數據類型) 145
8.8 Constructors(構造函數) 146
8.9 Default class constructor(默認的類構造函數) 148
8.10 Overloading class constructors(重載類構造函數) 149
8.11 Constructor initialisation lists(構造函數初始化列表) 151
8.12 Default argument values in a constructor(構造函數中的默認實參值) 152
8.13 static class data members(靜態類數據成員) 154
8.14 Using return in a member function(在成員函數中使用return) 157
8.15 Inline class member functions(內聯成員函數) 159
8.16 Class interface and class implementation(類的接口和類的實現) 160
8.16.1 Separation of class interface and class implementation 162
8.16.2 Use of namespaces in header files 164
Programming pitfalls 167
Quick syntax reference 167
Exercises 167

Chapter Nine Pointers and Dynamic Memory(指針和動態內存分配) 171
9.1 Variable addresses(變量的地址) 171
9.2 Pointer variables(指針變量) 172
9.3 The dereference operator *(解引用運算符*) 173
9.4 Using const with pointers(使用const 修飾指針變量) 174
9.5 Pointers and one-dimensional arrays(指針和一維數組) 175
9.6 Pointers and multi-dimensional arrays(指針和多維數組) 177
9.7 Pointers to structures(指向結構體的指針) 178
9.8 Pointers to class objects(指向類對象的指針) 179
9.9 Pointers as function arguments(指針變量作為函數實參) 180
9.10 Dynamic memory allocation(動態內存分配) 182
9.10.1 Allocating memory dynamically for an array 183
9.10.2 Initialisation with new 184
9.10.3 Allocating memory for multi-dimensional arrays 186
9.10.4 Out of memory error 187
Programming pitfalls 189
Quick syntax reference 190
Exercises 190

Chapter Ten Operator Overloading(運算符重載) 193
10.1 The need for operator overloading(運算符重載的必要性) 193
10.2 Overloading the addition operator +(重載加法運算符+) 193
10.3 Rules of operator overloading(運算符重載的規則) 200
10.4 Overloading ++(重載運算符++) 200
10.4.1 Overloading prefix and postfix forms of ++ 203
10.4.2 Improving the prefix ++ operator member function 206
10.5 Overloading relational operators(重載關系運算符) 206
10.6 Overloading << and >> (重載運算符<<和>>) 209
10.7 Conversion operators(轉換運算符) 214
10.8 Use of friend functions(使用友元函數) 217
10.9 Overloading the assignment operator =(重載賦值運算符=) 218
10.9.1 A class with a pointer data member 218
10.9.2 Assigning one object to another 220
10.10 The copy constructor(拷貝構造函數) 229
10.11 Overloading the index operator [](重載下標運算符[ ]) 233
Programming pitfalls 236
Quick syntax reference 237
Exercises 237

Chapter Eleven Inheritance(繼承) 240
11.1 What is inheritance (什么是繼承 ) 240
11.2 Inheritance syntax(繼承語法) 241
11.3 Passing arguments to a base class constructor(向基類的構造函數傳遞實參) 249
11.4 Protected class members(受保護的類成員) 253
11.5 Types of inheritance: public, protected and private(繼承的類型:public、
   protected和private) 256
11.6 Composition(組合) 258
11.7 Multiple inheritance(多重繼承) 259
11.8 Virtual base classes(虛基類) 262
Programming pitfalls 265
Quick syntax reference 265
Exercises 266

Chapter Twelve Polymorphism(多態) 271
12.1 What is polymorphism (什么是多態 ) 271
12.2 Virtual functions(虛函數) 274
12.2.1 When to use virtual functions 279
12.2.2 Overriding and overloading 279
12.3 Abstract base classes(抽象基類) 280
Programming pitfalls 284
Quick syntax reference 284
Exercises 285

Chapter Thirteen Templates(模板) 288
13.1 Introduction(引言) 288
13.2 Function templates(函數模板) 288
13.3 Class templates(類模板) 292
Programming pitfalls 297
Quick syntax reference 297
Exercises 297

Chapter Fourteen Files and Streams(文件和流) 300
14.1 The C++ input/output class hierarchy(C++ 輸入/ 輸出類的層次結構) 300
14.2 Opening a file(打開文件) 301
14.3 File error checking(文件出錯檢查) 303
14.4 Single character I/O and detecting the end of a file(單字符的I/O 和文件末尾
   的檢測) 304
14.5 Appending data to the end of a file(向文件末尾添加數據) 308
14.6 Reading lines from a file(從文件中讀取行) 309
14.7 Random access(隨機存取) 310
14.8 Object I/O(對象I/O) 313
14.9 Binary I/O(二進制I/O) 314
14.9.1 Serial writing of objects to a binary file 315
14.9.2 Serial reading of objects from a binary file 319
14.9.3 Binary I/O as class member functions 320
14.9.4 Binary file random access 321
Programming pitfalls 325
Quick syntax reference 325
Exercises 326
Appendix A List of C++ Keywords 329
Appendix B Precedence and Associativity of C++ Operators 330
Appendix C ASCII Character Codes 332
Appendix D Fundamental C++ Built-in Data Types 334
Appendix E Common iomanip Manipulators 335
Appendix F Escape Sequences 336
Appendix G The C++ Preprocessor 337
序: