C++程序设计(第2版 影印版)

C++程序设计(第2版 影印版)
作 者: 戴尔
出版社: 高等教育出版社
丛编项: 国外优秀信息科学与技术系列教学用书
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: C++
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《C++程序设计(第2版 影印版)》作者简介

内容简介

本书从实用角度出发介绍了使用C++语言进行面向对象编程的方法和技巧。内容涵盖C++语言的数据类型、控制结构、语义语法分析以及软件开发方法,同时还列举了大量的实例,帮助读者加深对所学内容的理解和上机实践能力的提高。本书在第一版基础上进行了修订,不仅在内容上进行了调整,增加了在编写第一版时认为比较超前而未选用的内容,同时还将C++版本升级为ISO/ANSI标准C++程序语言。每章在最前面提出本章学习要求,每章后配有快速测试、备考练习、编程热身练习和习题解答,便于读者把握每章重点和难点。本书可作为高等学校教材,也可供从事软件开发的技术人员学习参考。内容:1.程序设计与计算方法概述2.C++句法、语义及程序开发流程3.数值类型、表达式及输出4.程序输入及软件设计方法5.条件、逻辑表达式及分支控制结构6.循环7.函数8.作用域、生命周期及函数的相关信息9.其他控制结构10.数据类型:系统提供类型和用户自定义类型11.结构类型、数据抽象和类12.数组13.基于数组的表14.面向对象的软件开发方法15.递归

图书目录

1 Overview of Programming and Problem Solving    1

  1.1 Overview of Programming   2

     What is Programming?    2

      How Do We Write a Program?  2

  1.2 What is a Programming Language?    7

  1.3 What is a Computer?    11

  1.4   Ethics and Responsibilities in the Computer Profession    15

     Software Priacy    15

     Privacy of Data    16

     Use of Computer Resources    16

     Software Engineering    17

  1.5  Problem-Solving Techniques    17

     Ask Questions    18

     Look for Things That Are Familiar    19

     Solve by Analogy    19

     Means-Ends Analysis    19

     Divide and Conquer    20

     The Building-Block Approach    20

     Merging Solutions     21

     Algorithmic Problem Solving    22

    Summary    22

2 C++ Syntax and Semantics, and the Program development process    25

  2.1 The Elements of C++ Programs     26

     C++ Program Structure    26

     Syntax and Semantics    28

     Syntax Templates    30

     Naming Program Elements: Identifiers    31

     Data and Data Types    33

     Naming Elements: Declarations    34

     Taking Action: Executable Statements    38

     Beyond Minimalism: Adding Comments to a Program    43

  2.2 Program Construction    44

     Blocks (Compound Statements)    46

     The C++ Preprocessor    47

     An Introduction to Namespaces    49

  2.3 More About Output    50

     Creating Blank Lines    50

     Inserting Blanks Within a Line    51

  Programming Example: Contest Letter    53

  Testing and Debugging    57

  Summary    59

    Quick Check    59

    Exam Preparation Exercises    62

    Programming Warm-up Exercises    65

    Programming Problems    67

3 Numeric Type, Expressions, and Output

  3.1 Overview of C++ Data Types    70

  3.2  Numeric Data Types    70

     Integral Types    71

     Floating-Point Types   72

  3.3 Declarations for Numeric Types    73

     Named Constant Declarations    73

  3.4 Simple Arithmetic Expressions    74

     Arithmetic Operators    75

     Increment and Decrement Operators    78

  3.5 Compound Arithmetic Expressions    78

     Precedence Rules    79

     Type Coercion and Type Casting    80

  3.6 Function Calls and Library Functions    83

     Value-Returning Functions    83

     Library Functions    85

     Void Functions    86

  3.7 Formatting the Output    87

     Integers and Strings    87

     Floating-Point numbers    90

  3.8 Additional string Operations    94

     The length and size Functions    94

     The find Function    95

     The substr Function    97

  Programming Example: Map Measurements    99

  Testing and Debugging    102

  Summary    103

    Quick Check    103

    Exam Preparation Exercises    106

    Programming Warm-up Exercises    109

    Programming Problems    113

4 Program Input and the Software Design Process    115

  4.1 Getting Data into Programs     116

     Input Streams and the Extraction Operator(>>)    116

     The Reading Marker and the Newline Character    119

     Reading Character Data with the get Function    120

     Skipping Characters with the ignore Function    122

     Reading String Data    123

  4.2 Interactive Input/Output    125

  4.3 Noninteractive Input/Output    126

  4.4 File Input and Output    127

     Files    127

     Using Files  127

     An Example Program Using Files  130

      Run-Time Input of File Names    133

  4.5 Input Failure    134

  4.6 Software Design Methodologies    135

  4.7 What Are Objects?    136

  4.8 Object-Oriented Design    138

  4.9 Functional Decomposition    138

     Modules    140

     A Perspective on Design    141

  Programming Example: Stretching a Canvas    142

  Testing and Debugging    147

   Testing and Debugging Hints    148

  Summary    149

    Quick Check    150

    Exam Preparation Exercises    151

    Programming Warm-up Exercises    153

    Programming Problems    155

5 Conditions, Logical Expressions, and Selection Control Structures    157

  5.1 Flow of Control    158

     Selection    159

  5.2 Conditions and Logical Expressions    159

     The bool Data Type    159

     Logical Expressions    160

     Precedence of Operators    166

     Relational Operators with Floating-Point Types    167

  5.3 The If Statement    168

     The If-Then-Else Form    169

     Blocks (Compound Statements)    170

     The If-Then Form    172

     A Common Mistake    173

  5.4 Nested If Statements    174

     The Dangling else    176

  5.5 Testing the State of an I/O Stream    178

  Programming Example: Warning Notices    180

  Testing and Debugging    183

    Testing in the Problem-Solving Phase:The Algorithm Walk-Through    184

    Testing in the Implementation Phase    186

    The Test Plan    191

    Tests Performed Automatically During Compilation and Execution    192

    Testing and Debugging Hints    193

  Summary    195

    Quick Check    195

    Exam Preparation Exercises    196

    Programming Warm-up Exercises    199

    Programming Problems    202

  Looping

  6.1 The While Statement    206

  6.2 Phase of Loop Execution    208

  6.3 Loops Using the While Statement    208

       Count-Controlled loops    209

       Event-Controlled Loops    209

       Looping Subtasks    212

  6.4 How to Design Loops    214

       Designing the Flow of Control    215

       Designing the Process within the Loop    216

  6.5 Nested Login    217

       Designing Nested Loops    219

  Programming Example: Average Income by Gender    220

  Testing and Debugging    223

    Loop-Testing Strategy    223

    Test Plans Involving Loops    224

    Testing and Debugging Hints    225

  Summary    227

    Quick Check    227  

    Exam Preparation Exercises    228

    Programming Warm-up Exercises    231

    Programming Problems    232

7 Functions    235

  7.1 Functional Decomposition wit Void Functions    236

     Writing Modules as Void Functions    236

  7.2 An Overview of User-Defined Functions    239

     Flow of Control in Function Calls    239

     Function Parameters    240

  7.3 Syntax and Semantics of Void Functions    241

     Function Call (Invocation)    241

     Function Declarations and Definitions    242

     Local Variables     244

     The Return Statement    245

     Header Files    246

  7.4 Parameters    247

     Value Parameters    248

     Reference Parameters    249

  7.5 Designing Functions    250

     Writing Assertions as Program Comments    252

     Documenting the Direction of Data Flow    254

  Programming Example: Comparison of Furniture-Store Sales    257

  Testing and Debugging    263

    The assert Library Function    265

    Testing and Debugging Hints    266

  Summary    267

    Quick Check    268

    Exam Preparation Exercises    269

    Programming Warm-up Exercises    275

    Programming Problems    277

8 Scope, Lifetime, and More on Functions    281

  8.1 Scope of Identifiers    282

     Scope Rules    284

     Variable Declarations and Definitions    287

     Namespaces    288

  8.2 Lifetime of a Variable    291

     Initializations in Declarations    292

  8.3 Interface Design    293

     Side Effects     294

     Global Constants    294

  8.4 Value-Returning Functions    295

     Boolean Functions    299

     Interface Design for Value-Returning Functions    300

     When to Use Value-Returning Functions    300

  Programming Example: Starship Weight and Balance    302

  Testing and Debugging    310

    Stubs and Drivers    310

    Testing and Debugging Hints    311

  Summary    312

    Quick Check    312

    Exam Preparation Exercises    313

    Programming Warm-up Exercises    317

    Programming Problems    319

9 Additional Control Structures    323

  9.1 The Switch Statement    324

  9.2 The Do-While Statement    327

  9.3 The For Statement    330

  9.4 The Break and Continue Statements    332

  9.5 Guidelines for Choosing a Looping Statement    335

  Programming Example: Monthly Rainfall Averages    336

  Testing and Debugging    340

    Testing and Debugging Hints    340

  Summary    341  

    Quick Check    341

    Exam Preparation Exercises    342

    Programming Warm-up Exercises    344

    Programming Problems    346

10 Simple Data Types: Built-In and User-Defined    349

  10.1 Built-In Simple Types    350

     Integral Types     352

     Floating-Point Types    353

  10.2  Additional C++ Operators    354

     Assignment Operators and Assignment Expressions  356

     Increment and Decrement Operators    357

     Bitwise Operators    358

     The Cast Operation    358

     The sizeof Operator    358  

     The ?: Operator    359

     Operator Precedence    359

  10.3 Working with Character Data     360

     Character Sets    361

     C++ char Constants    362

     Programming Techniques    363

  10.4  More on Floating-Point Numbers    367

     Representation of Floating-Point Numbers    367

     Arithmetic with Floating-Point Numbers    370

  10.5 User-Defined Simple Types    372

     The Typedef Statement    372

     Enumeration Types    373

     Named and Anonymous Data Types    379

     User-written Header Files    380

  10.6 More on Type Coercion    380

     Type Coercion in Arithmetic and Relational Expressions    381

     Type Coercion in Assignments, Argument Passing, and Return of a Function Value    382

  Programming Example: Rock, Paper, Scissors    384

  Testing and Debugging    391

    Floating-Point Data    391

    Coping with Input Errors    391

    Testing and Debugging Hints    392

  Summary    393

    Quick Check    393

    Exam Preparation Exercises    395

    Programming Warm-up Exercises    397

    Programming Problems    398

11 Structured Types, Data Abstraction, and Classes    401

  11.1 Simple Versus Structured Data Types    402

  11.2 Records (C++ Structs)    403

     Accessing Individual Components    405

     Aggregate O